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

Side by Side Diff: extensions/shell/browser/shell_browser_main_parts.cc

Issue 2300703005: DevTools: merge devtools_http_handler into content - it is used in all the embedders anyways. (Closed)
Patch Set: for_landing! Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « extensions/shell/browser/shell_browser_main_parts.h ('k') | headless/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/shell/browser/shell_browser_main_parts.h" 5 #include "extensions/shell/browser/shell_browser_main_parts.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "components/devtools_http_handler/devtools_http_handler.h"
13 #include "components/keyed_service/content/browser_context_dependency_manager.h" 12 #include "components/keyed_service/content/browser_context_dependency_manager.h"
14 #include "components/prefs/pref_service.h" 13 #include "components/prefs/pref_service.h"
15 #include "components/storage_monitor/storage_monitor.h" 14 #include "components/storage_monitor/storage_monitor.h"
16 #include "components/update_client/update_query_params.h" 15 #include "components/update_client/update_query_params.h"
17 #include "content/public/browser/child_process_security_policy.h" 16 #include "content/public/browser/child_process_security_policy.h"
18 #include "content/public/browser/context_factory.h" 17 #include "content/public/browser/context_factory.h"
18 #include "content/public/browser/devtools_agent_host.h"
19 #include "content/public/common/result_codes.h" 19 #include "content/public/common/result_codes.h"
20 #include "content/shell/browser/shell_devtools_manager_delegate.h" 20 #include "content/shell/browser/shell_devtools_manager_delegate.h"
21 #include "extensions/browser/app_window/app_window_client.h" 21 #include "extensions/browser/app_window/app_window_client.h"
22 #include "extensions/browser/browser_context_keyed_service_factories.h" 22 #include "extensions/browser/browser_context_keyed_service_factories.h"
23 #include "extensions/browser/extension_system.h" 23 #include "extensions/browser/extension_system.h"
24 #include "extensions/browser/updater/update_service.h" 24 #include "extensions/browser/updater/update_service.h"
25 #include "extensions/common/constants.h" 25 #include "extensions/common/constants.h"
26 #include "extensions/common/switches.h" 26 #include "extensions/common/switches.h"
27 #include "extensions/shell/browser/shell_browser_context.h" 27 #include "extensions/shell/browser/shell_browser_context.h"
28 #include "extensions/shell/browser/shell_browser_context_keyed_service_factories .h" 28 #include "extensions/shell/browser/shell_browser_context_keyed_service_factories .h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 #if !defined(DISABLE_NACL) 73 #if !defined(DISABLE_NACL)
74 using content::BrowserThread; 74 using content::BrowserThread;
75 #endif 75 #endif
76 76
77 namespace extensions { 77 namespace extensions {
78 78
79 ShellBrowserMainParts::ShellBrowserMainParts( 79 ShellBrowserMainParts::ShellBrowserMainParts(
80 const content::MainFunctionParams& parameters, 80 const content::MainFunctionParams& parameters,
81 ShellBrowserMainDelegate* browser_main_delegate) 81 ShellBrowserMainDelegate* browser_main_delegate)
82 : devtools_http_handler_(nullptr), 82 : extension_system_(nullptr),
83 extension_system_(nullptr),
84 parameters_(parameters), 83 parameters_(parameters),
85 run_message_loop_(true), 84 run_message_loop_(true),
86 browser_main_delegate_(browser_main_delegate) { 85 browser_main_delegate_(browser_main_delegate) {
87 } 86 }
88 87
89 ShellBrowserMainParts::~ShellBrowserMainParts() { 88 ShellBrowserMainParts::~ShellBrowserMainParts() {
90 DCHECK(!devtools_http_handler_);
91 } 89 }
92 90
93 void ShellBrowserMainParts::PreMainMessageLoopStart() { 91 void ShellBrowserMainParts::PreMainMessageLoopStart() {
94 // TODO(jamescook): Initialize touch here? 92 // TODO(jamescook): Initialize touch here?
95 #if defined(OS_MACOSX) 93 #if defined(OS_MACOSX)
96 MainPartsPreMainMessageLoopStartMac(); 94 MainPartsPreMainMessageLoopStartMac();
97 #endif 95 #endif
98 } 96 }
99 97
100 void ShellBrowserMainParts::PostMainMessageLoopStart() { 98 void ShellBrowserMainParts::PostMainMessageLoopStart() {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 // Takes ownership. 201 // Takes ownership.
204 nacl::NaClBrowser::SetDelegate( 202 nacl::NaClBrowser::SetDelegate(
205 new ShellNaClBrowserDelegate(browser_context_.get())); 203 new ShellNaClBrowserDelegate(browser_context_.get()));
206 // Track the task so it can be canceled if app_shell shuts down very quickly, 204 // Track the task so it can be canceled if app_shell shuts down very quickly,
207 // such as in browser tests. 205 // such as in browser tests.
208 task_tracker_.PostTask( 206 task_tracker_.PostTask(
209 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO).get(), FROM_HERE, 207 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO).get(), FROM_HERE,
210 base::Bind(nacl::NaClProcessHost::EarlyStartup)); 208 base::Bind(nacl::NaClProcessHost::EarlyStartup));
211 #endif 209 #endif
212 210
213 devtools_http_handler_.reset( 211 content::ShellDevToolsManagerDelegate::StartHttpHandler(
214 content::ShellDevToolsManagerDelegate::CreateHttpHandler( 212 browser_context_.get());
215 browser_context_.get()));
216 if (parameters_.ui_task) { 213 if (parameters_.ui_task) {
217 // For running browser tests. 214 // For running browser tests.
218 parameters_.ui_task->Run(); 215 parameters_.ui_task->Run();
219 delete parameters_.ui_task; 216 delete parameters_.ui_task;
220 run_message_loop_ = false; 217 run_message_loop_ = false;
221 } else { 218 } else {
222 browser_main_delegate_->Start(browser_context_.get()); 219 browser_main_delegate_->Start(browser_context_.get());
223 } 220 }
224 } 221 }
225 222
226 bool ShellBrowserMainParts::MainMessageLoopRun(int* result_code) { 223 bool ShellBrowserMainParts::MainMessageLoopRun(int* result_code) {
227 if (!run_message_loop_) 224 if (!run_message_loop_)
228 return true; 225 return true;
229 // TODO(yoz): just return false here? 226 // TODO(yoz): just return false here?
230 base::RunLoop run_loop; 227 base::RunLoop run_loop;
231 run_loop.Run(); 228 run_loop.Run();
232 *result_code = content::RESULT_CODE_NORMAL_EXIT; 229 *result_code = content::RESULT_CODE_NORMAL_EXIT;
233 return true; 230 return true;
234 } 231 }
235 232
236 void ShellBrowserMainParts::PostMainMessageLoopRun() { 233 void ShellBrowserMainParts::PostMainMessageLoopRun() {
237 // NOTE: Please destroy objects in the reverse order of their creation. 234 // NOTE: Please destroy objects in the reverse order of their creation.
238 browser_main_delegate_->Shutdown(); 235 browser_main_delegate_->Shutdown();
239 devtools_http_handler_.reset(); 236 content::ShellDevToolsManagerDelegate::StopHttpHandler();
240 237
241 #if !defined(DISABLE_NACL) 238 #if !defined(DISABLE_NACL)
242 task_tracker_.TryCancelAll(); 239 task_tracker_.TryCancelAll();
243 nacl::NaClBrowser::SetDelegate(nullptr); 240 nacl::NaClBrowser::SetDelegate(nullptr);
244 #endif 241 #endif
245 242
246 oauth2_token_service_.reset(); 243 oauth2_token_service_.reset();
247 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( 244 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices(
248 browser_context_.get()); 245 browser_context_.get());
249 extension_system_ = NULL; 246 extension_system_ = NULL;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 } 286 }
290 287
291 void ShellBrowserMainParts::CreateExtensionSystem() { 288 void ShellBrowserMainParts::CreateExtensionSystem() {
292 DCHECK(browser_context_); 289 DCHECK(browser_context_);
293 extension_system_ = static_cast<ShellExtensionSystem*>( 290 extension_system_ = static_cast<ShellExtensionSystem*>(
294 ExtensionSystem::Get(browser_context_.get())); 291 ExtensionSystem::Get(browser_context_.get()));
295 extension_system_->InitForRegularProfile(true); 292 extension_system_->InitForRegularProfile(true);
296 } 293 }
297 294
298 } // namespace extensions 295 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/shell/browser/shell_browser_main_parts.h ('k') | headless/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698