| Index: chrome/browser/ui/views/accessibility/invert_bubble_view.cc
|
| diff --git a/chrome/browser/ui/views/accessibility/invert_bubble_view.cc b/chrome/browser/ui/views/accessibility/invert_bubble_view.cc
|
| index c7445b729934c9514d5922a69ceed30c8627d50d..4e261fb076cfe93a272df61fb4b8f495ee7a6bed 100644
|
| --- a/chrome/browser/ui/views/accessibility/invert_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/accessibility/invert_bubble_view.cc
|
| @@ -7,13 +7,14 @@
|
| #include "base/prefs/pref_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/views/frame/browser_view.h"
|
| +#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "content/public/browser/page_navigator.h"
|
| #include "grit/generated_resources.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/base/window_open_disposition.h"
|
| -#include "ui/gfx/sys_color_change_listener.h"
|
| #include "ui/views/bubble/bubble_delegate.h"
|
| #include "ui/views/controls/label.h"
|
| #include "ui/views/controls/link.h"
|
| @@ -41,7 +42,6 @@ class InvertBubbleView : public views::BubbleDelegateView,
|
| private:
|
| // Overridden from views::BubbleDelegateView:
|
| virtual void Init() OVERRIDE;
|
| - virtual gfx::Rect GetAnchorRect() OVERRIDE;
|
|
|
| // Overridden from views::LinkListener:
|
| virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
|
| @@ -58,7 +58,7 @@ class InvertBubbleView : public views::BubbleDelegateView,
|
| };
|
|
|
| InvertBubbleView::InvertBubbleView(Browser* browser, views::View* anchor_view)
|
| - : views::BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_LEFT),
|
| + : views::BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT),
|
| browser_(browser),
|
| high_contrast_(NULL),
|
| dark_theme_(NULL),
|
| @@ -126,14 +126,6 @@ void InvertBubbleView::Init() {
|
| set_move_with_anchor(true);
|
| }
|
|
|
| -gfx::Rect InvertBubbleView::GetAnchorRect() {
|
| - // Set the height to 0 so we display the bubble at the top of the
|
| - // anchor rect.
|
| - gfx::Rect rect(BubbleDelegateView::GetAnchorRect());
|
| - rect.set_height(0);
|
| - return rect;
|
| -}
|
| -
|
| void InvertBubbleView::LinkClicked(views::Link* source, int event_flags) {
|
| if (source == high_contrast_)
|
| OpenLink(kHighContrastExtensionUrl, event_flags);
|
| @@ -161,12 +153,14 @@ void InvertBubbleView::OpenLink(const std::string& url, int event_flags) {
|
|
|
| namespace chrome {
|
|
|
| -void MaybeShowInvertBubbleView(Browser* browser, views::View* anchor_view) {
|
| +void MaybeShowInvertBubbleView(BrowserView* browser_view) {
|
| + Browser* browser = browser_view->browser();
|
| PrefService* pref_service = browser->profile()->GetPrefs();
|
| - if (gfx::IsInvertedColorScheme() &&
|
| + views::View* anchor = browser_view->toolbar()->app_menu();
|
| + if (gfx::IsInvertedColorScheme() && anchor && anchor->GetWidget() &&
|
| !pref_service->GetBoolean(prefs::kInvertNotificationShown)) {
|
| pref_service->SetBoolean(prefs::kInvertNotificationShown, true);
|
| - InvertBubbleView* delegate = new InvertBubbleView(browser, anchor_view);
|
| + InvertBubbleView* delegate = new InvertBubbleView(browser, anchor);
|
| views::BubbleDelegateView::CreateBubble(delegate);
|
| delegate->StartFade(true);
|
| }
|
|
|