Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(632)

Unified Diff: content/shell/shell_content_browser_client.cc

Issue 23316003: [content shell] move browser process stuff into browser/ subdir (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/shell/shell_content_browser_client.h ('k') | content/shell/shell_devtools_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/shell_content_browser_client.cc
diff --git a/content/shell/shell_content_browser_client.cc b/content/shell/shell_content_browser_client.cc
deleted file mode 100644
index ac3795481de557b99add984d69dd2fbe4068b860..0000000000000000000000000000000000000000
--- a/content/shell/shell_content_browser_client.cc
+++ /dev/null
@@ -1,275 +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 file.
-
-#include "content/shell/shell_content_browser_client.h"
-
-#include "base/command_line.h"
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/notification_types.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/resource_dispatcher_host.h"
-#include "content/public/browser/storage_partition.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/common/url_constants.h"
-#include "content/shell/common/shell_messages.h"
-#include "content/shell/common/shell_switches.h"
-#include "content/shell/common/webkit_test_helpers.h"
-#include "content/shell/geolocation/shell_access_token_store.h"
-#include "content/shell/shell.h"
-#include "content/shell/shell_browser_context.h"
-#include "content/shell/shell_browser_main_parts.h"
-#include "content/shell/shell_devtools_delegate.h"
-#include "content/shell/shell_message_filter.h"
-#include "content/shell/shell_net_log.h"
-#include "content/shell/shell_quota_permission_context.h"
-#include "content/shell/shell_resource_dispatcher_host_delegate.h"
-#include "content/shell/shell_web_contents_view_delegate_creator.h"
-#include "content/shell/webkit_test_controller.h"
-#include "net/url_request/url_request_context_getter.h"
-#include "url/gurl.h"
-#include "webkit/common/webpreferences.h"
-
-#if defined(OS_ANDROID)
-#include "base/android/path_utils.h"
-#include "base/path_service.h"
-#include "base/platform_file.h"
-#include "content/shell/android/shell_descriptors.h"
-#endif
-
-namespace content {
-
-namespace {
-
-ShellContentBrowserClient* g_browser_client;
-bool g_swap_processes_for_redirect = false;
-
-} // namespace
-
-ShellContentBrowserClient* ShellContentBrowserClient::Get() {
- return g_browser_client;
-}
-
-void ShellContentBrowserClient::SetSwapProcessesForRedirect(bool swap) {
- g_swap_processes_for_redirect = swap;
-}
-
-ShellContentBrowserClient::ShellContentBrowserClient()
- : shell_browser_main_parts_(NULL) {
- DCHECK(!g_browser_client);
- g_browser_client = this;
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
- return;
- webkit_source_dir_ = GetWebKitRootDirFilePath();
-}
-
-ShellContentBrowserClient::~ShellContentBrowserClient() {
- g_browser_client = NULL;
-}
-
-BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts(
- const MainFunctionParams& parameters) {
- shell_browser_main_parts_ = new ShellBrowserMainParts(parameters);
- return shell_browser_main_parts_;
-}
-
-void ShellContentBrowserClient::RenderProcessHostCreated(
- RenderProcessHost* host) {
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
- return;
- host->GetChannel()->AddFilter(new ShellMessageFilter(
- host->GetID(),
- BrowserContext::GetDefaultStoragePartition(browser_context())
- ->GetDatabaseTracker(),
- BrowserContext::GetDefaultStoragePartition(browser_context())
- ->GetQuotaManager(),
- BrowserContext::GetDefaultStoragePartition(browser_context())
- ->GetURLRequestContext()));
- host->Send(new ShellViewMsg_SetWebKitSourceDir(webkit_source_dir_));
- registrar_.Add(this,
- NOTIFICATION_RENDERER_PROCESS_CREATED,
- Source<RenderProcessHost>(host));
- registrar_.Add(this,
- NOTIFICATION_RENDERER_PROCESS_TERMINATED,
- Source<RenderProcessHost>(host));
-}
-
-net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext(
- BrowserContext* content_browser_context,
- ProtocolHandlerMap* protocol_handlers) {
- ShellBrowserContext* shell_browser_context =
- ShellBrowserContextForBrowserContext(content_browser_context);
- return shell_browser_context->CreateRequestContext(protocol_handlers);
-}
-
-net::URLRequestContextGetter*
-ShellContentBrowserClient::CreateRequestContextForStoragePartition(
- BrowserContext* content_browser_context,
- const base::FilePath& partition_path,
- bool in_memory,
- ProtocolHandlerMap* protocol_handlers) {
- ShellBrowserContext* shell_browser_context =
- ShellBrowserContextForBrowserContext(content_browser_context);
- return shell_browser_context->CreateRequestContextForStoragePartition(
- partition_path, in_memory, protocol_handlers);
-}
-
-bool ShellContentBrowserClient::IsHandledURL(const GURL& url) {
- if (!url.is_valid())
- return false;
- DCHECK_EQ(url.scheme(), StringToLowerASCII(url.scheme()));
- // Keep in sync with ProtocolHandlers added by
- // ShellURLRequestContextGetter::GetURLRequestContext().
- static const char* const kProtocolList[] = {
- chrome::kBlobScheme,
- chrome::kFileSystemScheme,
- chrome::kChromeUIScheme,
- chrome::kChromeDevToolsScheme,
- chrome::kDataScheme,
- chrome::kFileScheme,
- };
- for (size_t i = 0; i < arraysize(kProtocolList); ++i) {
- if (url.scheme() == kProtocolList[i])
- return true;
- }
- return false;
-}
-
-void ShellContentBrowserClient::AppendExtraCommandLineSwitches(
- CommandLine* command_line, int child_process_id) {
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
- command_line->AppendSwitch(switches::kDumpRenderTree);
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kExposeInternalsForTesting))
- command_line->AppendSwitch(switches::kExposeInternalsForTesting);
-}
-
-void ShellContentBrowserClient::OverrideWebkitPrefs(
- RenderViewHost* render_view_host,
- const GURL& url,
- WebPreferences* prefs) {
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
- return;
- WebKitTestController::Get()->OverrideWebkitPrefs(prefs);
-}
-
-void ShellContentBrowserClient::ResourceDispatcherHostCreated() {
- resource_dispatcher_host_delegate_.reset(
- new ShellResourceDispatcherHostDelegate());
- ResourceDispatcherHost::Get()->SetDelegate(
- resource_dispatcher_host_delegate_.get());
-}
-
-std::string ShellContentBrowserClient::GetDefaultDownloadName() {
- return "download";
-}
-
-bool ShellContentBrowserClient::SupportsBrowserPlugin(
- content::BrowserContext* browser_context, const GURL& url) {
- return CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableBrowserPluginForAllViewTypes);
-}
-
-WebContentsViewDelegate* ShellContentBrowserClient::GetWebContentsViewDelegate(
- WebContents* web_contents) {
-#if !defined(USE_AURA)
- return CreateShellWebContentsViewDelegate(web_contents);
-#else
- return NULL;
-#endif
-}
-
-QuotaPermissionContext*
-ShellContentBrowserClient::CreateQuotaPermissionContext() {
- return new ShellQuotaPermissionContext();
-}
-
-net::NetLog* ShellContentBrowserClient::GetNetLog() {
- return shell_browser_main_parts_->net_log();
-}
-
-bool ShellContentBrowserClient::ShouldSwapProcessesForRedirect(
- ResourceContext* resource_context,
- const GURL& current_url,
- const GURL& new_url) {
- return g_swap_processes_for_redirect;
-}
-
-#if defined(OS_ANDROID)
-void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
- const CommandLine& command_line,
- int child_process_id,
- std::vector<content::FileDescriptorInfo>* mappings) {
- int flags = base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ;
- base::FilePath pak_file;
- bool r = PathService::Get(base::DIR_ANDROID_APP_DATA, &pak_file);
- CHECK(r);
- pak_file = pak_file.Append(FILE_PATH_LITERAL("paks"));
- pak_file = pak_file.Append(FILE_PATH_LITERAL("content_shell.pak"));
-
- base::PlatformFile f =
- base::CreatePlatformFile(pak_file, flags, NULL, NULL);
- if (f == base::kInvalidPlatformFileValue) {
- NOTREACHED() << "Failed to open file when creating renderer process: "
- << "content_shell.pak";
- }
- mappings->push_back(
- content::FileDescriptorInfo(kShellPakDescriptor,
- base::FileDescriptor(f, true)));
-}
-#endif
-
-void ShellContentBrowserClient::Observe(int type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- switch (type) {
- case NOTIFICATION_RENDERER_PROCESS_CREATED: {
- registrar_.Remove(this,
- NOTIFICATION_RENDERER_PROCESS_CREATED,
- source);
- registrar_.Remove(this,
- NOTIFICATION_RENDERER_PROCESS_TERMINATED,
- source);
- break;
- }
-
- case NOTIFICATION_RENDERER_PROCESS_TERMINATED: {
- registrar_.Remove(this,
- NOTIFICATION_RENDERER_PROCESS_CREATED,
- source);
- registrar_.Remove(this,
- NOTIFICATION_RENDERER_PROCESS_TERMINATED,
- source);
- break;
- }
-
- default:
- NOTREACHED();
- }
-}
-
-ShellBrowserContext* ShellContentBrowserClient::browser_context() {
- return shell_browser_main_parts_->browser_context();
-}
-
-ShellBrowserContext*
- ShellContentBrowserClient::off_the_record_browser_context() {
- return shell_browser_main_parts_->off_the_record_browser_context();
-}
-
-AccessTokenStore* ShellContentBrowserClient::CreateAccessTokenStore() {
- return new ShellAccessTokenStore(browser_context());
-}
-
-ShellBrowserContext*
-ShellContentBrowserClient::ShellBrowserContextForBrowserContext(
- BrowserContext* content_browser_context) {
- if (content_browser_context == browser_context())
- return browser_context();
- DCHECK_EQ(content_browser_context, off_the_record_browser_context());
- return off_the_record_browser_context();
-}
-
-} // namespace content
« no previous file with comments | « content/shell/shell_content_browser_client.h ('k') | content/shell/shell_devtools_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698