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

Side by Side Diff: chrome/browser/notifications/fullscreen_notification_blocker.cc

Issue 100903002: Ignore fullscreen windows which are behind other windows for fullscreen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with master. Created 7 years 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 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 "chrome/browser/notifications/fullscreen_notification_blocker.h" 5 #include "chrome/browser/notifications/fullscreen_notification_blocker.h"
6 6
7 #include "base/time/time.h" 7 #include "base/time/time.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/fullscreen.h" 9 #include "chrome/browser/fullscreen.h"
10 #include "content/public/browser/notification_service.h" 10 #include "content/public/browser/notification_service.h"
(...skipping 15 matching lines...) Expand all
26 ash::internal::RootWindowController* controller = 26 ash::internal::RootWindowController* controller =
27 ash::internal::RootWindowController::ForTargetRootWindow(); 27 ash::internal::RootWindowController::ForTargetRootWindow();
28 28
29 // During shutdown |controller| can be NULL. 29 // During shutdown |controller| can be NULL.
30 if (!controller) 30 if (!controller)
31 return false; 31 return false;
32 32
33 // Block notifications if the shelf is hidden because of a fullscreen 33 // Block notifications if the shelf is hidden because of a fullscreen
34 // window. 34 // window.
35 const aura::Window* fullscreen_window = 35 const aura::Window* fullscreen_window =
36 controller->GetTopmostFullscreenWindow(); 36 controller->GetWindowForFullscreenMode();
37 if (!fullscreen_window) 37 if (!fullscreen_window)
38 return false; 38 return false;
39 return ash::wm::GetWindowState(fullscreen_window)-> 39 return ash::wm::GetWindowState(fullscreen_window)->
40 hide_shelf_when_fullscreen(); 40 hide_shelf_when_fullscreen();
41 } 41 }
42 #endif 42 #endif
43 43
44 return IsFullScreenMode(); 44 return IsFullScreenMode();
45 } 45 }
46 46
(...skipping 29 matching lines...) Expand all
76 return enabled; 76 return enabled;
77 } 77 }
78 78
79 void FullscreenNotificationBlocker::Observe( 79 void FullscreenNotificationBlocker::Observe(
80 int type, 80 int type,
81 const content::NotificationSource& source, 81 const content::NotificationSource& source,
82 const content::NotificationDetails& details) { 82 const content::NotificationDetails& details) {
83 DCHECK_EQ(chrome::NOTIFICATION_FULLSCREEN_CHANGED, type); 83 DCHECK_EQ(chrome::NOTIFICATION_FULLSCREEN_CHANGED, type);
84 CheckState(); 84 CheckState();
85 } 85 }
OLDNEW
« no previous file with comments | « chrome/browser/fullscreen_win.cc ('k') | content/browser/renderer_host/render_widget_host_view_aura.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698