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

Side by Side Diff: chrome/browser/ui/fullscreen/fullscreen_controller.cc

Issue 202993002: Fix "unreachable code" warnings (MSVC warning 4702) in chrome/browser/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/fullscreen/fullscreen_controller.h" 5 #include "chrome/browser/ui/fullscreen/fullscreen_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "chrome/browser/app_mode/app_mode_utils.h" 10 #include "chrome/browser/app_mode/app_mode_utils.h"
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 void FullscreenController::LostMouseLock() { 448 void FullscreenController::LostMouseLock() {
449 mouse_lock_state_ = MOUSELOCK_NOT_REQUESTED; 449 mouse_lock_state_ = MOUSELOCK_NOT_REQUESTED;
450 SetMouseLockTab(NULL); 450 SetMouseLockTab(NULL);
451 NotifyMouseLockChange(); 451 NotifyMouseLockChange();
452 UpdateFullscreenExitBubbleContent(); 452 UpdateFullscreenExitBubbleContent();
453 } 453 }
454 454
455 void FullscreenController::Observe(int type, 455 void FullscreenController::Observe(int type,
456 const content::NotificationSource& source, 456 const content::NotificationSource& source,
457 const content::NotificationDetails& details) { 457 const content::NotificationDetails& details) {
458 switch (type) { 458 DCHECK_EQ(content::NOTIFICATION_NAV_ENTRY_COMMITTED, type);
459 case content::NOTIFICATION_NAV_ENTRY_COMMITTED: 459 if (content::Details<content::LoadCommittedDetails>(details)->
460 if (content::Details<content::LoadCommittedDetails>(details)-> 460 is_navigation_to_different_page())
461 is_navigation_to_different_page()) { 461 ExitTabFullscreenOrMouseLockIfNecessary();
462 ExitTabFullscreenOrMouseLockIfNecessary();
463 }
464 break;
465
466 default:
467 NOTREACHED() << "Got a notification we didn't register for.";
468 }
469 } 462 }
470 463
471 GURL FullscreenController::GetFullscreenExitBubbleURL() const { 464 GURL FullscreenController::GetFullscreenExitBubbleURL() const {
472 if (fullscreened_tab_) 465 if (fullscreened_tab_)
473 return fullscreened_tab_->GetURL(); 466 return fullscreened_tab_->GetURL();
474 else if (mouse_lock_tab_) 467 if (mouse_lock_tab_)
475 return mouse_lock_tab_->GetURL(); 468 return mouse_lock_tab_->GetURL();
476 else if (!extension_caused_fullscreen_.is_empty()) 469 return extension_caused_fullscreen_;
477 return extension_caused_fullscreen_;
478 else
479 return GURL();
480 } 470 }
481 471
482 FullscreenExitBubbleType FullscreenController::GetFullscreenExitBubbleType() 472 FullscreenExitBubbleType FullscreenController::GetFullscreenExitBubbleType()
483 const { 473 const {
484 // In kiosk and exclusive app mode we always want to be fullscreen and do not 474 // In kiosk and exclusive app mode we always want to be fullscreen and do not
485 // want to show exit instructions for browser mode fullscreen. 475 // want to show exit instructions for browser mode fullscreen.
486 bool app_mode = false; 476 bool app_mode = false;
487 #if !defined(OS_MACOSX) // App mode (kiosk) is not available on Mac yet. 477 #if !defined(OS_MACOSX) // App mode (kiosk) is not available on Mac yet.
488 app_mode = chrome::IsRunningInAppMode(); 478 app_mode = chrome::IsRunningInAppMode();
489 #endif 479 #endif
490 480
491 if (mouse_lock_state_ == MOUSELOCK_ACCEPTED_SILENTLY) { 481 if (mouse_lock_state_ == MOUSELOCK_ACCEPTED_SILENTLY)
482 return FEB_TYPE_NONE;
483
484 if (!fullscreened_tab_) {
485 if (IsMouseLocked())
486 return FEB_TYPE_MOUSELOCK_EXIT_INSTRUCTION;
487 if (IsMouseLockRequested())
488 return FEB_TYPE_MOUSELOCK_BUTTONS;
489 if (!extension_caused_fullscreen_.is_empty())
490 return FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION;
491 if (toggled_into_fullscreen_ && !app_mode)
492 return FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION;
492 return FEB_TYPE_NONE; 493 return FEB_TYPE_NONE;
493 } 494 }
494 495
495 if (fullscreened_tab_) { 496 if (tab_fullscreen_accepted_) {
496 if (tab_fullscreen_accepted_) { 497 if (IsPrivilegedFullscreenForTab())
497 if (IsPrivilegedFullscreenForTab()) { 498 return FEB_TYPE_NONE;
498 return FEB_TYPE_NONE; 499 if (IsMouseLocked())
499 } else if (IsMouseLocked()) { 500 return FEB_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION;
500 return FEB_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION; 501 if (IsMouseLockRequested())
501 } else if (IsMouseLockRequested()) {
502 return FEB_TYPE_MOUSELOCK_BUTTONS;
503 } else {
504 return FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION;
505 }
506 } else { // Full screen not yet accepted.
507 if (IsMouseLockRequested()) {
508 return FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS;
509 } else {
510 return FEB_TYPE_FULLSCREEN_BUTTONS;
511 }
512 }
513 } else { // Not tab full screen.
514 if (IsMouseLocked()) {
515 return FEB_TYPE_MOUSELOCK_EXIT_INSTRUCTION;
516 } else if (IsMouseLockRequested()) {
517 return FEB_TYPE_MOUSELOCK_BUTTONS; 502 return FEB_TYPE_MOUSELOCK_BUTTONS;
518 } else { 503 return FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION;
519 if (!extension_caused_fullscreen_.is_empty()) {
520 return FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION;
521 } else if (toggled_into_fullscreen_ && !app_mode) {
522 return FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION;
523 } else {
524 return FEB_TYPE_NONE;
525 }
526 }
527 } 504 }
528 NOTREACHED(); 505
529 return FEB_TYPE_NONE; 506 if (IsMouseLockRequested())
507 return FEB_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS;
508 return FEB_TYPE_FULLSCREEN_BUTTONS;
530 } 509 }
531 510
532 void FullscreenController::UpdateNotificationRegistrations() { 511 void FullscreenController::UpdateNotificationRegistrations() {
533 if (fullscreened_tab_ && mouse_lock_tab_) 512 if (fullscreened_tab_ && mouse_lock_tab_)
534 DCHECK(fullscreened_tab_ == mouse_lock_tab_); 513 DCHECK(fullscreened_tab_ == mouse_lock_tab_);
535 514
536 WebContents* tab = fullscreened_tab_ ? fullscreened_tab_ : mouse_lock_tab_; 515 WebContents* tab = fullscreened_tab_ ? fullscreened_tab_ : mouse_lock_tab_;
537 516
538 if (tab && registrar_.IsEmpty()) { 517 if (tab && registrar_.IsEmpty()) {
539 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED, 518 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 (fullscreened_tab_ == mouse_lock_tab_ && IsPrivilegedFullscreenForTab()) ? 769 (fullscreened_tab_ == mouse_lock_tab_ && IsPrivilegedFullscreenForTab()) ?
791 mouse_lock_tab_->GetFullscreenRenderWidgetHostView() : NULL; 770 mouse_lock_tab_->GetFullscreenRenderWidgetHostView() : NULL;
792 if (!mouse_lock_view) { 771 if (!mouse_lock_view) {
793 RenderViewHost* const rvh = mouse_lock_tab_->GetRenderViewHost(); 772 RenderViewHost* const rvh = mouse_lock_tab_->GetRenderViewHost();
794 if (rvh) 773 if (rvh)
795 mouse_lock_view = rvh->GetView(); 774 mouse_lock_view = rvh->GetView();
796 } 775 }
797 if (mouse_lock_view) 776 if (mouse_lock_view)
798 mouse_lock_view->UnlockMouse(); 777 mouse_lock_view->UnlockMouse();
799 } 778 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/app_list/app_list_service.cc ('k') | chrome/browser/ui/search/search_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698