From e8e7edf0177642c0d790c42fc8dfe9381f1ff497 Mon Sep 17 00:00:00 2001 From: Milan Burda Date: Mon, 22 Oct 2018 19:04:23 +0200 Subject: [PATCH] refactor: eliminate brightray::ContentClient (#15303) --- atom/app/atom_content_client.cc | 19 ++++++ atom/app/atom_content_client.h | 8 ++- atom/app/atom_main_delegate.cc | 8 +-- atom/app/atom_main_delegate.h | 4 +- atom/browser/ui/devtools_manager_delegate.cc | 1 - brightray/BUILD.gn | 2 - brightray/common/content_client.cc | 61 -------------------- brightray/common/content_client.h | 36 ------------ brightray/common/main_delegate.cc | 7 --- brightray/common/main_delegate.h | 6 -- 10 files changed, 30 insertions(+), 122 deletions(-) delete mode 100644 brightray/common/content_client.cc delete mode 100644 brightray/common/content_client.h diff --git a/atom/app/atom_content_client.cc b/atom/app/atom_content_client.cc index 4107656c52afe..6f26eb7e3efe5 100644 --- a/atom/app/atom_content_client.cc +++ b/atom/app/atom_content_client.cc @@ -21,6 +21,7 @@ #include "electron/buildflags/buildflags.h" #include "ppapi/shared_impl/ppapi_permissions.h" #include "ui/base/l10n/l10n_util.h" +#include "ui/base/resource/resource_bundle.h" #include "url/url_constants.h" // In SHARED_INTERMEDIATE_DIR. #include "widevine_cdm_version.h" // NOLINT(build/include) @@ -193,6 +194,24 @@ base::string16 AtomContentClient::GetLocalizedString(int message_id) const { return l10n_util::GetStringUTF16(message_id); } +base::StringPiece AtomContentClient::GetDataResource( + int resource_id, + ui::ScaleFactor scale_factor) const { + return ui::ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( + resource_id, scale_factor); +} + +gfx::Image& AtomContentClient::GetNativeImageNamed(int resource_id) const { + return ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed( + resource_id); +} + +base::RefCountedMemory* AtomContentClient::GetDataResourceBytes( + int resource_id) const { + return ui::ResourceBundle::GetSharedInstance().LoadDataResourceBytes( + resource_id); +} + void AtomContentClient::AddAdditionalSchemes(Schemes* schemes) { schemes->standard_schemes.push_back("chrome-extension"); diff --git a/atom/app/atom_content_client.h b/atom/app/atom_content_client.h index b6ecc3407d0e9..bf07825c474cd 100644 --- a/atom/app/atom_content_client.h +++ b/atom/app/atom_content_client.h @@ -9,11 +9,11 @@ #include #include -#include "brightray/common/content_client.h" +#include "content/public/common/content_client.h" namespace atom { -class AtomContentClient : public brightray::ContentClient { +class AtomContentClient : public content::ContentClient { public: AtomContentClient(); ~AtomContentClient() override; @@ -23,6 +23,10 @@ class AtomContentClient : public brightray::ContentClient { std::string GetProduct() const override; std::string GetUserAgent() const override; base::string16 GetLocalizedString(int message_id) const override; + base::StringPiece GetDataResource(int resource_id, + ui::ScaleFactor) const override; + gfx::Image& GetNativeImageNamed(int resource_id) const override; + base::RefCountedMemory* GetDataResourceBytes(int resource_id) const override; void AddAdditionalSchemes(Schemes* schemes) override; void AddPepperPlugins( std::vector* plugins) override; diff --git a/atom/app/atom_main_delegate.cc b/atom/app/atom_main_delegate.cc index 668501a7c49bb..84da7cafb17a5 100644 --- a/atom/app/atom_main_delegate.cc +++ b/atom/app/atom_main_delegate.cc @@ -129,6 +129,9 @@ bool AtomMainDelegate::BasicStartupComplete(int* exit_code) { base::win::DisableHandleVerifier(); #endif + content_client_ = std::make_unique(); + SetContentClient(content_client_.get()); + return brightray::MainDelegate::BasicStartupComplete(exit_code); } @@ -212,9 +215,4 @@ bool AtomMainDelegate::DelaySandboxInitialization( } #endif -std::unique_ptr -AtomMainDelegate::CreateContentClient() { - return std::make_unique(); -} - } // namespace atom diff --git a/atom/app/atom_main_delegate.h b/atom/app/atom_main_delegate.h index 83d2c6e2ae52a..2194031b4673f 100644 --- a/atom/app/atom_main_delegate.h +++ b/atom/app/atom_main_delegate.h @@ -8,8 +8,8 @@ #include #include -#include "brightray/common/content_client.h" #include "brightray/common/main_delegate.h" +#include "content/public/common/content_client.h" namespace atom { @@ -35,7 +35,6 @@ class AtomMainDelegate : public brightray::MainDelegate { #endif // brightray::MainDelegate: - std::unique_ptr CreateContentClient() override; #if defined(OS_MACOSX) void OverrideChildProcessPath() override; void OverrideFrameworkBundlePath() override; @@ -47,6 +46,7 @@ class AtomMainDelegate : public brightray::MainDelegate { #endif std::unique_ptr browser_client_; + std::unique_ptr content_client_; std::unique_ptr renderer_client_; std::unique_ptr utility_client_; diff --git a/atom/browser/ui/devtools_manager_delegate.cc b/atom/browser/ui/devtools_manager_delegate.cc index e5dd5d7e5d530..2361dfa83c13d 100644 --- a/atom/browser/ui/devtools_manager_delegate.cc +++ b/atom/browser/ui/devtools_manager_delegate.cc @@ -13,7 +13,6 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" -#include "brightray/common/content_client.h" #include "content/public/browser/devtools_agent_host.h" #include "content/public/browser/devtools_frontend_host.h" #include "content/public/browser/devtools_socket_factory.h" diff --git a/brightray/BUILD.gn b/brightray/BUILD.gn index 7fc706f8f7f47..9db8ac0dfcd8d 100644 --- a/brightray/BUILD.gn +++ b/brightray/BUILD.gn @@ -30,8 +30,6 @@ static_library("brightray") { "common/application_info.h", "common/application_info_mac.mm", "common/application_info_win.cc", - "common/content_client.cc", - "common/content_client.h", "common/mac/main_application_bundle.h", "common/mac/main_application_bundle.mm", "common/main_delegate.cc", diff --git a/brightray/common/content_client.cc b/brightray/common/content_client.cc deleted file mode 100644 index 2a8331c53cec4..0000000000000 --- a/brightray/common/content_client.cc +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-CHROMIUM file. - -#include "brightray/common/content_client.h" - -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "brightray/common/application_info.h" -#include "content/public/common/user_agent.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/resource/resource_bundle.h" - -namespace brightray { - -std::string GetProductInternal() { - auto name = GetApplicationName(); - base::RemoveChars(name, base::kWhitespaceASCII, &name); - return base::StringPrintf("%s/%s", name.c_str(), - GetApplicationVersion().c_str()); -} - -std::string GetBrightrayUserAgent() { - return content::BuildUserAgentFromProduct(GetProductInternal()); -} - -ContentClient::ContentClient() {} - -ContentClient::~ContentClient() {} - -std::string ContentClient::GetProduct() const { - return GetProductInternal(); -} - -std::string ContentClient::GetUserAgent() const { - return GetBrightrayUserAgent(); -} - -base::string16 ContentClient::GetLocalizedString(int message_id) const { - return l10n_util::GetStringUTF16(message_id); -} - -base::StringPiece ContentClient::GetDataResource( - int resource_id, - ui::ScaleFactor scale_factor) const { - return ui::ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( - resource_id, scale_factor); -} - -gfx::Image& ContentClient::GetNativeImageNamed(int resource_id) const { - return ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed( - resource_id); -} - -base::RefCountedMemory* ContentClient::GetDataResourceBytes( - int resource_id) const { - return ui::ResourceBundle::GetSharedInstance().LoadDataResourceBytes( - resource_id); -} - -} // namespace brightray diff --git a/brightray/common/content_client.h b/brightray/common/content_client.h deleted file mode 100644 index 0089ebc9d8106..0000000000000 --- a/brightray/common/content_client.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-CHROMIUM file. - -#ifndef BRIGHTRAY_COMMON_CONTENT_CLIENT_H_ -#define BRIGHTRAY_COMMON_CONTENT_CLIENT_H_ - -#include - -#include "base/compiler_specific.h" -#include "content/public/common/content_client.h" - -namespace brightray { - -std::string GetBrightrayUserAgent(); - -class ContentClient : public content::ContentClient { - public: - ContentClient(); - ~ContentClient() override; - - private: - std::string GetProduct() const override; - std::string GetUserAgent() const override; - base::string16 GetLocalizedString(int message_id) const override; - base::StringPiece GetDataResource(int resource_id, - ui::ScaleFactor) const override; - gfx::Image& GetNativeImageNamed(int resource_id) const override; - base::RefCountedMemory* GetDataResourceBytes(int resource_id) const override; - - DISALLOW_COPY_AND_ASSIGN(ContentClient); -}; - -} // namespace brightray - -#endif // BRIGHTRAY_COMMON_CONTENT_CLIENT_H_ diff --git a/brightray/common/main_delegate.cc b/brightray/common/main_delegate.cc index 942e8b3504dd4..be1e6418640df 100644 --- a/brightray/common/main_delegate.cc +++ b/brightray/common/main_delegate.cc @@ -10,7 +10,6 @@ #include "base/mac/bundle_locations.h" #include "base/path_service.h" #include "brightray/browser/browser_client.h" -#include "brightray/common/content_client.h" #include "content/public/common/content_switches.h" #include "electron/buildflags/buildflags.h" #include "services/service_manager/embedder/switches.h" @@ -77,13 +76,7 @@ MainDelegate::MainDelegate() {} MainDelegate::~MainDelegate() {} -std::unique_ptr MainDelegate::CreateContentClient() { - return std::unique_ptr(new ContentClient); -} - bool MainDelegate::BasicStartupComplete(int* exit_code) { - content_client_ = CreateContentClient(); - SetContentClient(content_client_.get()); #if defined(OS_MACOSX) OverrideChildProcessPath(); OverrideFrameworkBundlePath(); diff --git a/brightray/common/main_delegate.h b/brightray/common/main_delegate.h index 3160f9b252cf4..569248a1bb30b 100644 --- a/brightray/common/main_delegate.h +++ b/brightray/common/main_delegate.h @@ -22,7 +22,6 @@ class ResourceBundle; namespace brightray { class BrowserClient; -class ContentClient; void LoadResourceBundle(const std::string& locale); void LoadCommonResources(); @@ -33,10 +32,6 @@ class MainDelegate : public content::ContentMainDelegate { ~MainDelegate() override; protected: - // Subclasses can override this to provide their own ContentClient - // implementation. - virtual std::unique_ptr CreateContentClient(); - // Subclasses can override this to provide their own BrowserClient // implementation. virtual std::unique_ptr CreateBrowserClient(); @@ -54,7 +49,6 @@ class MainDelegate : public content::ContentMainDelegate { private: content::ContentBrowserClient* CreateContentBrowserClient() override; - std::unique_ptr content_client_; std::unique_ptr browser_client_; DISALLOW_COPY_AND_ASSIGN(MainDelegate);