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

Unified Diff: chrome/browser/ui/views/location_bar/zoom_bubble_view.h

Issue 795053003: [Password Manager] Close the bubble when fullscreen state gets change. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses Peter's review comments. Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/location_bar/zoom_bubble_view.h
diff --git a/chrome/browser/ui/views/location_bar/zoom_bubble_view.h b/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
index 0f1752c44aab0e2eafc93ffc72cbd34d79199496..1f347d37b5daea76281d90c1516eaf0e3f1ac99b 100644
--- a/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
+++ b/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
@@ -9,6 +9,7 @@
#include "base/gtest_prod_util.h"
#include "base/timer/timer.h"
#include "chrome/browser/ui/views/frame/immersive_mode_controller.h"
+#include "chrome/browser/ui/views/managed_full_screen_bubble_delegate_view.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "extensions/browser/extension_icon_image.h"
@@ -29,9 +30,8 @@ class ImageButton;
} // namespace views
// View used to display the zoom percentage when it has changed.
-class ZoomBubbleView : public views::BubbleDelegateView,
+class ZoomBubbleView : public ManagedFullScreenBubbleDelegateView,
public views::ButtonListener,
- public content::NotificationObserver,
public ImmersiveModeController::Observer,
public extensions::IconImage::Observer {
public:
@@ -53,25 +53,6 @@ class ZoomBubbleView : public views::BubbleDelegateView,
private:
FRIEND_TEST_ALL_PREFIXES(ZoomBubbleBrowserTest, ImmersiveFullscreen);
- // Stores information about the extension that initiated the zoom change, if
- // any.
- struct ZoomBubbleExtensionInfo {
- ZoomBubbleExtensionInfo();
- ~ZoomBubbleExtensionInfo();
-
- // The unique id of the extension, which is used to find the correct
- // extension after clicking on the image button in the zoom bubble.
- std::string id;
-
- // The name of the extension, which appears in the tooltip of the image
- // button in the zoom bubble.
- std::string name;
-
- // An image of the extension's icon, which appears in the zoom bubble as an
- // image button.
- scoped_ptr<const extensions::IconImage> icon_image;
- };
-
ZoomBubbleView(views::View* anchor_view,
content::WebContents* web_contents,
bool auto_close,
@@ -79,18 +60,35 @@ class ZoomBubbleView : public views::BubbleDelegateView,
FullscreenController* fullscreen_controller);
~ZoomBubbleView() override;
- // If the bubble is not anchored to a view, places the bubble in the top
- // right (left in RTL) of the |screen_bounds| that contain |web_contents_|'s
- // browser window. Because the positioning is based on the size of the
- // bubble, this must be called after the bubble is created.
- void AdjustForFullscreen(const gfx::Rect& screen_bounds);
+ // views::View methods.
Peter Kasting 2014/12/23 00:49:02 Since you're trying to clean this stuff up anyway,
Pritam Nikam 2014/12/23 06:22:29 Done.
+ void OnMouseEntered(const ui::MouseEvent& event) override;
+ void OnMouseExited(const ui::MouseEvent& event) override;
+
+ // views::BubbleDelegateView method.
+ void Init() override;
+ void WindowClosing() override;
+
+ // ManagedFullScreenBubbleDelegateView:
+ using ManagedFullScreenBubbleDelegateView::AdjustForFullscreen;
Peter Kasting 2014/12/23 00:49:02 Don't do this, just make the method public in the
Pritam Nikam 2014/12/23 06:22:29 Done.
+ void Close() override;
+
+ // ui::EventHandler method.
+ void OnGestureEvent(ui::GestureEvent* event) override;
+
+ // views::ButtonListener method.
+ void ButtonPressed(views::Button* sender, const ui::Event& event) override;
+
+ // ImmersiveModeController::Observer methods.
+ void OnImmersiveRevealStarted() override;
+ void OnImmersiveModeControllerDestroyed() override;
+
+ // extensions::IconImage::Observer overrides:
+ void OnExtensionIconImageChanged(extensions::IconImage* /* image */) override;
// Refreshes the bubble by changing the zoom percentage appropriately and
// resetting the timer if necessary.
void Refresh();
- void Close();
-
// Sets information about the extension that initiated the zoom change.
// Calling this method asserts that the extension |extension| did initiate
// the zoom change.
@@ -102,31 +100,24 @@ class ZoomBubbleView : public views::BubbleDelegateView,
// Stops the auto-close timer.
void StopTimer();
- // extensions::IconImage::Observer overrides:
- void OnExtensionIconImageChanged(extensions::IconImage* /* image */) override;
-
- // views::View methods.
- void OnMouseEntered(const ui::MouseEvent& event) override;
- void OnMouseExited(const ui::MouseEvent& event) override;
-
- // ui::EventHandler method.
- void OnGestureEvent(ui::GestureEvent* event) override;
-
- // views::ButtonListener method.
- void ButtonPressed(views::Button* sender, const ui::Event& event) override;
+ // Stores information about the extension that initiated the zoom change, if
+ // any.
+ struct ZoomBubbleExtensionInfo {
Peter Kasting 2014/12/23 00:49:02 Member structs/classes should probably go above me
Pritam Nikam 2014/12/23 06:22:29 Done.
+ ZoomBubbleExtensionInfo();
+ ~ZoomBubbleExtensionInfo();
- // views::BubbleDelegateView method.
- void Init() override;
- void WindowClosing() override;
+ // The unique id of the extension, which is used to find the correct
+ // extension after clicking on the image button in the zoom bubble.
+ std::string id;
- // content::NotificationObserver method.
- void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) override;
+ // The name of the extension, which appears in the tooltip of the image
+ // button in the zoom bubble.
+ std::string name;
- // ImmersiveModeController::Observer methods.
- void OnImmersiveRevealStarted() override;
- void OnImmersiveModeControllerDestroyed() override;
+ // An image of the extension's icon, which appears in the zoom bubble as an
+ // image button.
+ scoped_ptr<const extensions::IconImage> icon_image;
+ };
ZoomBubbleExtensionInfo extension_info_;
@@ -157,9 +148,6 @@ class ZoomBubbleView : public views::BubbleDelegateView,
// Not owned.
ImmersiveModeController* immersive_mode_controller_;
- // Used to register for fullscreen change notifications.
- content::NotificationRegistrar registrar_;
-
DISALLOW_COPY_AND_ASSIGN(ZoomBubbleView);
};

Powered by Google App Engine
This is Rietveld 408576698