| Index: chrome/browser/ui/views/exclusive_access_bubble_views.h
|
| diff --git a/chrome/browser/ui/views/exclusive_access_bubble_views.h b/chrome/browser/ui/views/exclusive_access_bubble_views.h
|
| index 979269e15455ff5b727e8f557fa81434e4e76f9a..46d06a732e3189b37655020d2993aeeb539ad6df 100644
|
| --- a/chrome/browser/ui/views/exclusive_access_bubble_views.h
|
| +++ b/chrome/browser/ui/views/exclusive_access_bubble_views.h
|
| @@ -12,6 +12,7 @@
|
| #include "chrome/browser/ui/exclusive_access/exclusive_access_bubble.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| +#include "ui/views/controls/link_listener.h"
|
| #include "ui/views/widget/widget_observer.h"
|
|
|
| class ExclusiveAccessBubbleViewsContext;
|
| @@ -24,13 +25,16 @@ class View;
|
| class Widget;
|
| }
|
|
|
| +class SubtleNotificationView;
|
| +
|
| // ExclusiveAccessBubbleViews is responsible for showing a bubble atop the
|
| // screen in fullscreen/mouse lock mode, telling users how to exit and providing
|
| // a click target. The bubble auto-hides, and re-shows when the user moves to
|
| // the screen top.
|
| class ExclusiveAccessBubbleViews : public ExclusiveAccessBubble,
|
| public content::NotificationObserver,
|
| - public views::WidgetObserver {
|
| + public views::WidgetObserver,
|
| + public views::LinkListener {
|
| public:
|
| ExclusiveAccessBubbleViews(ExclusiveAccessBubbleViewsContext* context,
|
| const GURL& url,
|
| @@ -45,8 +49,6 @@ class ExclusiveAccessBubbleViews : public ExclusiveAccessBubble,
|
| views::View* GetView();
|
|
|
| private:
|
| - class ExclusiveAccessView;
|
| -
|
| // Starts or stops polling the mouse location based on |popup_| and
|
| // |bubble_type_|.
|
| void UpdateMouseWatcher();
|
| @@ -54,6 +56,8 @@ class ExclusiveAccessBubbleViews : public ExclusiveAccessBubble,
|
| // Updates |popup|'s bounds given |animation_| and |animated_attribute_|.
|
| void UpdateBounds();
|
|
|
| + void UpdateViewContent(ExclusiveAccessBubbleType bubble_type);
|
| +
|
| // Returns the root view containing |browser_view_|.
|
| views::View* GetBrowserRootView() const;
|
|
|
| @@ -77,6 +81,9 @@ class ExclusiveAccessBubbleViews : public ExclusiveAccessBubble,
|
| // views::WidgetObserver override:
|
| void OnWidgetVisibilityChanged(views::Widget* widget, bool visible) override;
|
|
|
| + // views::LinkListener override:
|
| + void LinkClicked(views::Link* source, int event_flags) override;
|
| +
|
| ExclusiveAccessBubbleViewsContext* const bubble_view_context_;
|
|
|
| views::Widget* popup_;
|
| @@ -85,7 +92,8 @@ class ExclusiveAccessBubbleViews : public ExclusiveAccessBubble,
|
| std::unique_ptr<gfx::SlideAnimation> animation_;
|
|
|
| // The contents of the popup.
|
| - ExclusiveAccessView* view_;
|
| + SubtleNotificationView* view_;
|
| + base::string16 browser_fullscreen_exit_accelerator_;
|
|
|
| content::NotificationRegistrar registrar_;
|
|
|
|
|