Commit 84b7a55e authored by thestig@chromium.org's avatar thestig@chromium.org

ifdef extensions code in BrowserProcess, IOThread, and ChromeNetworkDelegate.

BUG=349436

Review URL: https://codereview.chromium.org/387003008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284312 0039d316-1c4b-4281-b951-d872f2087c98
parent 5e034244
......@@ -37,8 +37,6 @@
#include "chrome/browser/download/download_request_limiter.h"
#include "chrome/browser/download/download_status_updater.h"
#include "chrome/browser/extensions/chrome_extensions_browser_client.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/first_run/upgrade_util.h"
#include "chrome/browser/gpu/gl_string_manager.h"
#include "chrome/browser/gpu/gpu_mode_manager.h"
......@@ -114,11 +112,6 @@
#include "components/gcm_driver/gcm_client_factory.h"
#endif
#if !defined(OS_ANDROID) && !defined(OS_IOS)
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "components/storage_monitor/storage_monitor.h"
#endif
#if defined(USE_AURA)
#include "ui/aura/env.h"
#endif
......@@ -129,6 +122,13 @@
#include "components/policy/core/common/policy_service_stub.h"
#endif // defined(ENABLE_CONFIGURATION_POLICY)
#if defined(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "components/storage_monitor/storage_monitor.h"
#endif
#if defined(ENABLE_PLUGIN_INSTALLATION)
#include "chrome/browser/plugins/plugins_resource_service.h"
#endif
......@@ -193,6 +193,9 @@ BrowserProcessImpl::BrowserProcessImpl(
#if defined(ENABLE_EXTENSIONS)
apps::AppsClient::Set(ChromeAppsClient::GetInstance());
extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
ExtensionRendererState::GetInstance()->Init();
#endif
extensions::ExtensionsClient::Set(
......@@ -202,9 +205,6 @@ BrowserProcessImpl::BrowserProcessImpl(
new extensions::ChromeExtensionsBrowserClient);
extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
ExtensionRendererState::GetInstance()->Init();
message_center::MessageCenter::Initialize();
omaha_query_params::OmahaQueryParams::SetDelegate(
......@@ -253,9 +253,9 @@ void BrowserProcessImpl::StartTearDown() {
remote_debugging_server_.reset();
#endif
#if defined(ENABLE_EXTENSIONS)
ExtensionRendererState::GetInstance()->Shutdown();
#if !defined(OS_ANDROID) && !defined(OS_IOS)
media_file_system_registry_.reset();
// Remove the global instance of the Storage Monitor now. Otherwise the
// FILE thread would be gone when we try to release it in the dtor and
......@@ -584,7 +584,11 @@ BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() {
extensions::EventRouterForwarder*
BrowserProcessImpl::extension_event_router_forwarder() {
#if defined(ENABLE_EXTENSIONS)
return extension_event_router_forwarder_.get();
#else
return NULL;
#endif
}
NotificationUIManager* BrowserProcessImpl::notification_ui_manager() {
......@@ -719,17 +723,17 @@ DownloadStatusUpdater* BrowserProcessImpl::download_status_updater() {
}
MediaFileSystemRegistry* BrowserProcessImpl::media_file_system_registry() {
#if defined(OS_ANDROID) || defined(OS_IOS)
return NULL;
#else
#if defined(ENABLE_EXTENSIONS)
if (!media_file_system_registry_)
media_file_system_registry_.reset(new MediaFileSystemRegistry());
return media_file_system_registry_.get();
#else
return NULL;
#endif
}
bool BrowserProcessImpl::created_local_state() const {
return created_local_state_;
return created_local_state_;
}
#if defined(ENABLE_WEBRTC)
......@@ -977,8 +981,9 @@ void BrowserProcessImpl::CreateLocalState() {
}
void BrowserProcessImpl::PreCreateThreads() {
io_thread_.reset(new IOThread(local_state(), policy_service(), net_log_.get(),
extension_event_router_forwarder_.get()));
io_thread_.reset(
new IOThread(local_state(), policy_service(), net_log_.get(),
extension_event_router_forwarder()));
}
void BrowserProcessImpl::PreMainMessageLoopRun() {
......
......@@ -195,21 +195,24 @@ class BrowserProcessImpl : public BrowserProcess,
scoped_ptr<GpuModeManager> gpu_mode_manager_;
scoped_ptr<extensions::ExtensionsBrowserClient> extensions_browser_client_;
#if defined(ENABLE_EXTENSIONS)
scoped_refptr<extensions::EventRouterForwarder>
extension_event_router_forwarder_;
#if !defined(OS_ANDROID)
scoped_ptr<RemoteDebuggingServer> remote_debugging_server_;
scoped_ptr<MediaFileSystemRegistry> media_file_system_registry_;
#endif
#if !defined(OS_ANDROID) && !defined(OS_IOS)
scoped_ptr<MediaFileSystemRegistry> media_file_system_registry_;
#if !defined(OS_ANDROID)
scoped_ptr<RemoteDebuggingServer> remote_debugging_server_;
#endif
#if defined(ENABLE_FULL_PRINTING)
scoped_refptr<printing::PrintPreviewDialogController>
print_preview_dialog_controller_;
scoped_ptr<printing::BackgroundPrintingManager> background_printing_manager_;
#endif
// Manager for desktop notification UI.
bool created_notification_ui_manager_;
......
......@@ -27,7 +27,6 @@
#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/net/async_dns_field_trial.h"
#include "chrome/browser/net/chrome_net_log.h"
#include "chrome/browser/net/chrome_network_delegate.h"
......@@ -82,6 +81,10 @@
#include "policy/policy_constants.h"
#endif
#if defined(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/event_router_forwarder.h"
#endif
#if !defined(USE_OPENSSL)
#include "net/cert/ct_log_verifier.h"
#include "net/cert/multi_log_ct_verifier.h"
......@@ -443,7 +446,9 @@ IOThread::IOThread(
ChromeNetLog* net_log,
extensions::EventRouterForwarder* extension_event_router_forwarder)
: net_log_(net_log),
#if defined(ENABLE_EXTENSIONS)
extension_event_router_forwarder_(extension_event_router_forwarder),
#endif
globals_(NULL),
is_spdy_disabled_by_policy_(false),
weak_factory_(this),
......@@ -562,15 +567,23 @@ void IOThread::InitAsync() {
// Setup the HistogramWatcher to run on the IO thread.
net::NetworkChangeNotifier::InitHistogramWatcher();
#if defined(ENABLE_EXTENSIONS)
globals_->extension_event_router_forwarder =
extension_event_router_forwarder_;
#endif
ChromeNetworkDelegate* network_delegate =
new ChromeNetworkDelegate(extension_event_router_forwarder_,
new ChromeNetworkDelegate(extension_event_router_forwarder(),
&system_enable_referrers_);
if (command_line.HasSwitch(switches::kEnableClientHints))
network_delegate->SetEnableClientHints();
#if defined(ENABLE_EXTENSIONS)
if (command_line.HasSwitch(switches::kDisableExtensionsHttpThrottling))
network_delegate->NeverThrottleRequests();
#endif
globals_->system_network_delegate.reset(network_delegate);
globals_->host_resolver = CreateGlobalHostResolver(net_log_);
UpdateDnsClientEnabled();
......@@ -579,8 +592,8 @@ void IOThread::InitAsync() {
globals_->cert_verifier.reset(new net::MultiThreadedCertVerifier(
new chromeos::CertVerifyProcChromeOS()));
#else
globals_->cert_verifier.reset(new net::MultiThreadedCertVerifier(
net::CertVerifyProc::CreateDefault()));
globals_->cert_verifier.reset(new net::MultiThreadedCertVerifier(
net::CertVerifyProc::CreateDefault()));
#endif
globals_->transport_security_state.reset(new net::TransportSecurityState());
......
......@@ -155,8 +155,10 @@ class IOThread : public content::BrowserThreadDelegate {
// |system_cookie_store| and |system_server_bound_cert_service| are shared
// between |proxy_script_fetcher_context| and |system_request_context|.
scoped_refptr<net::CookieStore> system_cookie_store;
#if defined(ENABLE_EXTENSIONS)
scoped_refptr<extensions::EventRouterForwarder>
extension_event_router_forwarder;
#endif
scoped_ptr<net::HostMappingRules> host_mapping_rules;
scoped_ptr<net::HttpUserAgentSettings> http_user_agent_settings;
bool ignore_certificate_errors;
......@@ -305,6 +307,13 @@ class IOThread : public content::BrowserThreadDelegate {
// well as the QUIC field trial group.
void ConfigureQuic(const base::CommandLine& command_line);
extensions::EventRouterForwarder* extension_event_router_forwarder() {
#if defined(ENABLE_EXTENSIONS)
return extension_event_router_forwarder_;
#else
return NULL;
#endif
}
// Configures QUIC options in |globals| based on the flags in |command_line|
// as well as the QUIC field trial group and parameters.
static void ConfigureQuicGlobals(
......@@ -379,9 +388,11 @@ class IOThread : public content::BrowserThreadDelegate {
// threads during shutdown, but is used most frequently on the IOThread.
ChromeNetLog* net_log_;
#if defined(ENABLE_EXTENSIONS)
// The extensions::EventRouterForwarder allows for sending events to
// extensions from the IOThread.
extensions::EventRouterForwarder* extension_event_router_forwarder_;
#endif
// These member variables are basically global, but their lifetimes are tied
// to the IOThread. IOThread owns them all, despite not using scoped_ptr.
......
......@@ -42,7 +42,6 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_request_info.h"
#include "extensions/common/constants.h"
#include "net/base/host_port_pair.h"
#include "net/base/net_errors.h"
#include "net/base/net_log.h"
......@@ -72,6 +71,10 @@
#include "components/policy/core/browser/url_blacklist_manager.h"
#endif
#if defined(ENABLE_EXTENSIONS)
#include "extensions/common/constants.h"
#endif
using content::BrowserThread;
using content::RenderViewHost;
using content::ResourceRequestInfo;
......@@ -85,9 +88,11 @@ bool ChromeNetworkDelegate::g_allow_file_access_ = false;
bool ChromeNetworkDelegate::g_allow_file_access_ = true;
#endif
#if defined(ENABLE_EXTENSIONS)
// This remains false unless the --disable-extensions-http-throttling
// flag is passed to the browser.
bool ChromeNetworkDelegate::g_never_throttle_requests_ = false;
#endif
namespace {
......@@ -338,9 +343,11 @@ void ChromeNetworkDelegate::SetEnableClientHints() {
}
// static
#if defined(ENABLE_EXTENSIONS)
void ChromeNetworkDelegate::NeverThrottleRequests() {
g_never_throttle_requests_ = true;
}
#endif
// static
void ChromeNetworkDelegate::InitializePrefsOnUIThread(
......@@ -789,10 +796,14 @@ bool ChromeNetworkDelegate::OnCanAccessFile(const net::URLRequest& request,
bool ChromeNetworkDelegate::OnCanThrottleRequest(
const net::URLRequest& request) const {
#if defined(ENABLE_EXTENSIONS)
if (g_never_throttle_requests_)
return false;
return request.first_party_for_cookies().scheme() ==
extensions::kExtensionScheme;
#else
return false;
#endif
}
bool ChromeNetworkDelegate::OnCanEnablePrivacyMode(
......
......@@ -9,7 +9,6 @@
#include "base/message_loop/message_loop.h"
#include "base/prefs/pref_member.h"
#include "chrome/browser/content_settings/cookie_settings.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/base/testing_pref_service_syncable.h"
......@@ -21,6 +20,11 @@
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#if defined(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/event_router_forwarder.h"
#endif
#if defined(ENABLE_EXTENSIONS)
class ChromeNetworkDelegateTest : public testing::Test {
protected:
ChromeNetworkDelegateTest()
......@@ -88,12 +92,15 @@ class ChromeNetworkDelegateTest : public testing::Test {
TEST_F(ChromeNetworkDelegateTest, NeverThrottleLogic) {
NeverThrottleLogicImpl();
}
#endif // defined(ENABLE_EXTENSIONS)
class ChromeNetworkDelegateSafeSearchTest : public testing::Test {
public:
ChromeNetworkDelegateSafeSearchTest()
: thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
forwarder_(new extensions::EventRouterForwarder()) {
: thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
#if defined(ENABLE_EXTENSIONS)
forwarder_ = new extensions::EventRouterForwarder();
#endif
}
virtual void SetUp() OVERRIDE {
......@@ -105,7 +112,7 @@ class ChromeNetworkDelegateSafeSearchTest : public testing::Test {
protected:
scoped_ptr<net::NetworkDelegate> CreateNetworkDelegate() {
scoped_ptr<ChromeNetworkDelegate> network_delegate(
new ChromeNetworkDelegate(forwarder_.get(), &enable_referrers_));
new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
network_delegate->set_force_google_safe_search(&force_google_safe_search_);
return network_delegate.PassAs<net::NetworkDelegate>();
}
......@@ -137,8 +144,18 @@ class ChromeNetworkDelegateSafeSearchTest : public testing::Test {
}
private:
extensions::EventRouterForwarder* forwarder() {
#if defined(ENABLE_EXTENSIONS)
return forwarder_.get();
#else
return NULL;
#endif
}
content::TestBrowserThreadBundle thread_bundle_;
#if defined(ENABLE_EXTENSIONS)
scoped_refptr<extensions::EventRouterForwarder> forwarder_;
#endif
TestingProfile profile_;
BooleanPrefMember enable_referrers_;
BooleanPrefMember force_google_safe_search_;
......@@ -285,7 +302,9 @@ class ChromeNetworkDelegatePrivacyModeTest : public testing::Test {
public:
ChromeNetworkDelegatePrivacyModeTest()
: thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
#if defined(ENABLE_EXTENSIONS)
forwarder_(new extensions::EventRouterForwarder()),
#endif
cookie_settings_(CookieSettings::Factory::GetForProfile(&profile_)
.get()),
kBlockedSite("http://ads.thirdparty.com"),
......@@ -302,7 +321,7 @@ class ChromeNetworkDelegatePrivacyModeTest : public testing::Test {
protected:
scoped_ptr<ChromeNetworkDelegate> CreateNetworkDelegate() {
scoped_ptr<ChromeNetworkDelegate> network_delegate(
new ChromeNetworkDelegate(forwarder_.get(), &enable_referrers_));
new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
network_delegate->set_cookie_settings(cookie_settings_);
return network_delegate.Pass();
}
......@@ -313,8 +332,18 @@ class ChromeNetworkDelegatePrivacyModeTest : public testing::Test {
}
protected:
extensions::EventRouterForwarder* forwarder() {
#if defined(ENABLE_EXTENSIONS)
return forwarder_.get();
#else
return NULL;
#endif
}
content::TestBrowserThreadBundle thread_bundle_;
#if defined(ENABLE_EXTENSIONS)
scoped_refptr<extensions::EventRouterForwarder> forwarder_;
#endif
TestingProfile profile_;
CookieSettings* cookie_settings_;
BooleanPrefMember enable_referrers_;
......
......@@ -998,7 +998,11 @@ void ProfileIOData::Init(
ChromeNetworkDelegate* network_delegate =
new ChromeNetworkDelegate(
#if defined(ENABLE_EXTENSIONS)
io_thread_globals->extension_event_router_forwarder.get(),
#else
NULL,
#endif
&enable_referrers_);
network_delegate->set_data_reduction_proxy_params(
io_thread_globals->data_reduction_proxy_params.get());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment