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

Side by Side Diff: content/shell/browser/shell.cc

Issue 1763113002: Move layout-test-specific switches from shell_switches to layout_test_switches.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove-line-box-and-debug-from-flags-struct
Patch Set: Fix accidental condition reversal in Shell::ToggleFullscreenModeForTab. Created 4 years, 9 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/shell/browser/shell.h" 5 #include "content/shell/browser/shell.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 Shell::Shell(WebContents* web_contents) 71 Shell::Shell(WebContents* web_contents)
72 : WebContentsObserver(web_contents), 72 : WebContentsObserver(web_contents),
73 devtools_frontend_(NULL), 73 devtools_frontend_(NULL),
74 is_fullscreen_(false), 74 is_fullscreen_(false),
75 window_(NULL), 75 window_(NULL),
76 #if defined(OS_MACOSX) 76 #if defined(OS_MACOSX)
77 url_edit_view_(NULL), 77 url_edit_view_(NULL),
78 #endif 78 #endif
79 headless_(false) { 79 headless_(false) {
80 const base::CommandLine& command_line = 80 if (switches::IsRunLayoutTestSwitchPresent())
81 *base::CommandLine::ForCurrentProcess();
82 if (command_line.HasSwitch(switches::kRunLayoutTest))
83 headless_ = true; 81 headless_ = true;
84 windows_.push_back(this); 82 windows_.push_back(this);
85 83
86 if (!shell_created_callback_.is_null()) { 84 if (!shell_created_callback_.is_null()) {
87 shell_created_callback_.Run(this); 85 shell_created_callback_.Run(this);
88 shell_created_callback_.Reset(); 86 shell_created_callback_.Reset();
89 } 87 }
90 } 88 }
91 89
92 Shell::~Shell() { 90 Shell::~Shell() {
(...skipping 22 matching lines...) Expand all
115 shell->web_contents_.reset(web_contents); 113 shell->web_contents_.reset(web_contents);
116 web_contents->SetDelegate(shell); 114 web_contents->SetDelegate(shell);
117 115
118 shell->PlatformSetContents(); 116 shell->PlatformSetContents();
119 117
120 shell->PlatformResizeSubViews(); 118 shell->PlatformResizeSubViews();
121 119
122 // Note: Do not make RenderFrameHost or RenderViewHost specific state changes 120 // Note: Do not make RenderFrameHost or RenderViewHost specific state changes
123 // here, because they will be forgotten after a cross-process navigation. Use 121 // here, because they will be forgotten after a cross-process navigation. Use
124 // RenderFrameCreated or RenderViewCreated instead. 122 // RenderFrameCreated or RenderViewCreated instead.
125 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 123 if (switches::IsRunLayoutTestSwitchPresent()) {
126 if (command_line->HasSwitch(switches::kRunLayoutTest)) {
127 web_contents->GetMutableRendererPrefs()->use_custom_colors = false; 124 web_contents->GetMutableRendererPrefs()->use_custom_colors = false;
128 web_contents->GetRenderViewHost()->SyncRendererPrefs(); 125 web_contents->GetRenderViewHost()->SyncRendererPrefs();
129 } 126 }
130 127
131 #if defined(ENABLE_WEBRTC) 128 #if defined(ENABLE_WEBRTC)
129 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
132 if (command_line->HasSwitch(switches::kForceWebRtcIPHandlingPolicy)) { 130 if (command_line->HasSwitch(switches::kForceWebRtcIPHandlingPolicy)) {
133 web_contents->GetMutableRendererPrefs()->webrtc_ip_handling_policy = 131 web_contents->GetMutableRendererPrefs()->webrtc_ip_handling_policy =
134 command_line->GetSwitchValueASCII( 132 command_line->GetSwitchValueASCII(
135 switches::kForceWebRtcIPHandlingPolicy); 133 switches::kForceWebRtcIPHandlingPolicy);
136 } 134 }
137 #endif 135 #endif
138 136
139 return shell; 137 return shell;
140 } 138 }
141 139
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 web_contents_->Focus(); 244 web_contents_->Focus();
247 } 245 }
248 246
249 void Shell::AddNewContents(WebContents* source, 247 void Shell::AddNewContents(WebContents* source,
250 WebContents* new_contents, 248 WebContents* new_contents,
251 WindowOpenDisposition disposition, 249 WindowOpenDisposition disposition,
252 const gfx::Rect& initial_rect, 250 const gfx::Rect& initial_rect,
253 bool user_gesture, 251 bool user_gesture,
254 bool* was_blocked) { 252 bool* was_blocked) {
255 CreateShell(new_contents, AdjustWindowSize(initial_rect.size())); 253 CreateShell(new_contents, AdjustWindowSize(initial_rect.size()));
256 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 254 if (switches::IsRunLayoutTestSwitchPresent())
257 switches::kRunLayoutTest))
258 NotifyDoneForwarder::CreateForWebContents(new_contents); 255 NotifyDoneForwarder::CreateForWebContents(new_contents);
259 } 256 }
260 257
261 void Shell::GoBackOrForward(int offset) { 258 void Shell::GoBackOrForward(int offset) {
262 web_contents_->GetController().GoToOffset(offset); 259 web_contents_->GetController().GoToOffset(offset);
263 web_contents_->Focus(); 260 web_contents_->Focus();
264 } 261 }
265 262
266 void Shell::Reload() { 263 void Shell::Reload() {
267 web_contents_->GetController().Reload(false); 264 web_contents_->GetController().Reload(false);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 345
349 void Shell::ExitFullscreenModeForTab(WebContents* web_contents) { 346 void Shell::ExitFullscreenModeForTab(WebContents* web_contents) {
350 ToggleFullscreenModeForTab(web_contents, false); 347 ToggleFullscreenModeForTab(web_contents, false);
351 } 348 }
352 349
353 void Shell::ToggleFullscreenModeForTab(WebContents* web_contents, 350 void Shell::ToggleFullscreenModeForTab(WebContents* web_contents,
354 bool enter_fullscreen) { 351 bool enter_fullscreen) {
355 #if defined(OS_ANDROID) 352 #if defined(OS_ANDROID)
356 PlatformToggleFullscreenModeForTab(web_contents, enter_fullscreen); 353 PlatformToggleFullscreenModeForTab(web_contents, enter_fullscreen);
357 #endif 354 #endif
358 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 355 if (!switches::IsRunLayoutTestSwitchPresent())
359 switches::kRunLayoutTest))
360 return; 356 return;
361 if (is_fullscreen_ != enter_fullscreen) { 357 if (is_fullscreen_ != enter_fullscreen) {
362 is_fullscreen_ = enter_fullscreen; 358 is_fullscreen_ = enter_fullscreen;
363 web_contents->GetRenderViewHost()->GetWidget()->WasResized(); 359 web_contents->GetRenderViewHost()->GetWidget()->WasResized();
364 } 360 }
365 } 361 }
366 362
367 bool Shell::IsFullscreenForTabOrPending(const WebContents* web_contents) const { 363 bool Shell::IsFullscreenForTabOrPending(const WebContents* web_contents) const {
368 #if defined(OS_ANDROID) 364 #if defined(OS_ANDROID)
369 return PlatformIsFullscreenForTabOrPending(web_contents); 365 return PlatformIsFullscreenForTabOrPending(web_contents);
(...skipping 29 matching lines...) Expand all
399 #endif 395 #endif
400 } 396 }
401 397
402 void Shell::DidNavigateMainFramePostCommit(WebContents* web_contents) { 398 void Shell::DidNavigateMainFramePostCommit(WebContents* web_contents) {
403 PlatformSetAddressBarURL(web_contents->GetLastCommittedURL()); 399 PlatformSetAddressBarURL(web_contents->GetLastCommittedURL());
404 } 400 }
405 401
406 JavaScriptDialogManager* Shell::GetJavaScriptDialogManager( 402 JavaScriptDialogManager* Shell::GetJavaScriptDialogManager(
407 WebContents* source) { 403 WebContents* source) {
408 if (!dialog_manager_) { 404 if (!dialog_manager_) {
409 const base::CommandLine& command_line = 405 dialog_manager_.reset(switches::IsRunLayoutTestSwitchPresent()
410 *base::CommandLine::ForCurrentProcess(); 406 ? new LayoutTestJavaScriptDialogManager
411 dialog_manager_.reset(command_line.HasSwitch(switches::kRunLayoutTest) 407 : new ShellJavaScriptDialogManager);
412 ? new LayoutTestJavaScriptDialogManager
413 : new ShellJavaScriptDialogManager);
414 } 408 }
415 return dialog_manager_.get(); 409 return dialog_manager_.get();
416 } 410 }
417 411
418 scoped_ptr<BluetoothChooser> Shell::RunBluetoothChooser( 412 scoped_ptr<BluetoothChooser> Shell::RunBluetoothChooser(
419 RenderFrameHost* frame, 413 RenderFrameHost* frame,
420 const BluetoothChooser::EventHandler& event_handler) { 414 const BluetoothChooser::EventHandler& event_handler) {
421 const base::CommandLine& command_line = 415 if (switches::IsRunLayoutTestSwitchPresent()) {
422 *base::CommandLine::ForCurrentProcess();
423 if (command_line.HasSwitch(switches::kRunLayoutTest)) {
424 return BlinkTestController::Get()->RunBluetoothChooser(frame, 416 return BlinkTestController::Get()->RunBluetoothChooser(frame,
425 event_handler); 417 event_handler);
426 } 418 }
427 return nullptr; 419 return nullptr;
428 } 420 }
429 421
430 bool Shell::AddMessageToConsole(WebContents* source, 422 bool Shell::AddMessageToConsole(WebContents* source,
431 int32_t level, 423 int32_t level,
432 const base::string16& message, 424 const base::string16& message,
433 int32_t line_no, 425 int32_t line_no,
434 const base::string16& source_id) { 426 const base::string16& source_id) {
435 return base::CommandLine::ForCurrentProcess()->HasSwitch( 427 return switches::IsRunLayoutTestSwitchPresent();
436 switches::kRunLayoutTest);
437 } 428 }
438 429
439 void Shell::RendererUnresponsive(WebContents* source) { 430 void Shell::RendererUnresponsive(WebContents* source) {
440 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 431 if (switches::IsRunLayoutTestSwitchPresent())
441 switches::kRunLayoutTest)) 432 BlinkTestController::Get()->RendererUnresponsive();
442 return;
443 BlinkTestController::Get()->RendererUnresponsive();
444 } 433 }
445 434
446 void Shell::ActivateContents(WebContents* contents) { 435 void Shell::ActivateContents(WebContents* contents) {
447 contents->GetRenderViewHost()->GetWidget()->Focus(); 436 contents->GetRenderViewHost()->GetWidget()->Focus();
448 } 437 }
449 438
450 bool Shell::HandleContextMenu(const content::ContextMenuParams& params) { 439 bool Shell::HandleContextMenu(const content::ContextMenuParams& params) {
451 return PlatformHandleContextMenu(params); 440 return PlatformHandleContextMenu(params);
452 } 441 }
453 442
(...skipping 10 matching lines...) Expand all
464 default_shell_size = gfx::Size(width, height); 453 default_shell_size = gfx::Size(width, height);
465 } else { 454 } else {
466 default_shell_size = gfx::Size( 455 default_shell_size = gfx::Size(
467 kDefaultTestWindowWidthDip, kDefaultTestWindowHeightDip); 456 kDefaultTestWindowWidthDip, kDefaultTestWindowHeightDip);
468 } 457 }
469 return default_shell_size; 458 return default_shell_size;
470 } 459 }
471 460
472 void Shell::RenderViewCreated(RenderViewHost* render_view_host) { 461 void Shell::RenderViewCreated(RenderViewHost* render_view_host) {
473 // All RenderViewHosts in layout tests should get Mojo bindings. 462 // All RenderViewHosts in layout tests should get Mojo bindings.
474 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 463 if (switches::IsRunLayoutTestSwitchPresent())
475 if (command_line->HasSwitch(switches::kRunLayoutTest))
476 render_view_host->AllowBindings(BINDINGS_POLICY_MOJO); 464 render_view_host->AllowBindings(BINDINGS_POLICY_MOJO);
477 } 465 }
478 466
479 void Shell::TitleWasSet(NavigationEntry* entry, bool explicit_set) { 467 void Shell::TitleWasSet(NavigationEntry* entry, bool explicit_set) {
480 if (entry) 468 if (entry)
481 PlatformSetTitle(entry->GetTitle()); 469 PlatformSetTitle(entry->GetTitle());
482 } 470 }
483 471
484 void Shell::InnerShowDevTools() { 472 void Shell::InnerShowDevTools() {
485 if (!devtools_frontend_) { 473 if (!devtools_frontend_) {
486 devtools_frontend_ = ShellDevToolsFrontend::Show(web_contents()); 474 devtools_frontend_ = ShellDevToolsFrontend::Show(web_contents());
487 devtools_observer_.reset(new DevToolsWebContentsObserver( 475 devtools_observer_.reset(new DevToolsWebContentsObserver(
488 this, devtools_frontend_->frontend_shell()->web_contents())); 476 this, devtools_frontend_->frontend_shell()->web_contents()));
489 } 477 }
490 478
491 devtools_frontend_->Activate(); 479 devtools_frontend_->Activate();
492 devtools_frontend_->Focus(); 480 devtools_frontend_->Focus();
493 } 481 }
494 482
495 void Shell::OnDevToolsWebContentsDestroyed() { 483 void Shell::OnDevToolsWebContentsDestroyed() {
496 devtools_observer_.reset(); 484 devtools_observer_.reset();
497 devtools_frontend_ = NULL; 485 devtools_frontend_ = NULL;
498 } 486 }
499 487
500 } // namespace content 488 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698