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

Side by Side Diff: chrome/browser/ui/views/network_profile_bubble_view.cc

Issue 10830366: Avoid overriding Bubble's GetAnchorRect() where possible. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove a redundant DCHECK. Created 8 years, 4 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/views/network_profile_bubble_view.h" 5 #include "chrome/browser/ui/views/network_profile_bubble_view.h"
6 6
7 #include "chrome/browser/prefs/pref_service.h" 7 #include "chrome/browser/prefs/pref_service.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/network_profile_bubble.h" 10 #include "chrome/browser/ui/network_profile_bubble.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 //////////////////////////////////////////////////////////////////////////////// 53 ////////////////////////////////////////////////////////////////////////////////
54 // NetworkProfileBubbleView, public: 54 // NetworkProfileBubbleView, public:
55 55
56 NetworkProfileBubbleView::NetworkProfileBubbleView( 56 NetworkProfileBubbleView::NetworkProfileBubbleView(
57 views::View* anchor, 57 views::View* anchor,
58 content::PageNavigator* navigator, 58 content::PageNavigator* navigator,
59 Profile* profile) 59 Profile* profile)
60 : BubbleDelegateView(anchor, views::BubbleBorder::TOP_RIGHT), 60 : BubbleDelegateView(anchor, views::BubbleBorder::TOP_RIGHT),
61 navigator_(navigator), 61 navigator_(navigator),
62 profile_(profile) { 62 profile_(profile) {
63 // Compensate for built-in vertical padding in the anchor view's image.
64 set_anchor_insets(
65 gfx::Insets(kAnchorVerticalInset, 0, kAnchorVerticalInset, 0));
63 } 66 }
64 67
65 //////////////////////////////////////////////////////////////////////////////// 68 ////////////////////////////////////////////////////////////////////////////////
66 // NetworkProfileBubbleView, private: 69 // NetworkProfileBubbleView, private:
67 70
68 NetworkProfileBubbleView::~NetworkProfileBubbleView() { 71 NetworkProfileBubbleView::~NetworkProfileBubbleView() {
69 } 72 }
70 73
71 void NetworkProfileBubbleView::Init() { 74 void NetworkProfileBubbleView::Init() {
72 views::GridLayout* layout = views::GridLayout::CreatePanel(this); 75 views::GridLayout* layout = views::GridLayout::CreatePanel(this);
(...skipping 27 matching lines...) Expand all
100 new views::Link(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); 103 new views::Link(l10n_util::GetStringUTF16(IDS_LEARN_MORE));
101 learn_more->set_listener(this); 104 learn_more->set_listener(this);
102 layout->AddView(learn_more); 105 layout->AddView(learn_more);
103 106
104 views::NativeTextButton* ok_button = new views::NativeTextButton( 107 views::NativeTextButton* ok_button = new views::NativeTextButton(
105 this, l10n_util::GetStringUTF16(IDS_OK)); 108 this, l10n_util::GetStringUTF16(IDS_OK));
106 ok_button->SetIsDefault(true); 109 ok_button->SetIsDefault(true);
107 layout->AddView(ok_button); 110 layout->AddView(ok_button);
108 } 111 }
109 112
110 gfx::Rect NetworkProfileBubbleView::GetAnchorRect() {
111 // Compensate for padding in anchor.
112 gfx::Rect rect(BubbleDelegateView::GetAnchorRect());
113 rect.Inset(0, anchor_view() ? kAnchorVerticalInset : 0);
114 return rect;
115 }
116
117 void NetworkProfileBubbleView::ButtonPressed(views::Button* sender, 113 void NetworkProfileBubbleView::ButtonPressed(views::Button* sender,
118 const ui::Event& event) { 114 const ui::Event& event) {
119 NetworkProfileBubble::RecordUmaEvent( 115 NetworkProfileBubble::RecordUmaEvent(
120 NetworkProfileBubble::METRIC_ACKNOWLEDGED); 116 NetworkProfileBubble::METRIC_ACKNOWLEDGED);
121 117
122 GetWidget()->Close(); 118 GetWidget()->Close();
123 } 119 }
124 120
125 void NetworkProfileBubbleView::LinkClicked(views::Link* source, 121 void NetworkProfileBubbleView::LinkClicked(views::Link* source,
126 int event_flags) { 122 int event_flags) {
127 NetworkProfileBubble::RecordUmaEvent( 123 NetworkProfileBubble::RecordUmaEvent(
128 NetworkProfileBubble::METRIC_LEARN_MORE_CLICKED); 124 NetworkProfileBubble::METRIC_LEARN_MORE_CLICKED);
129 WindowOpenDisposition disposition = 125 WindowOpenDisposition disposition =
130 chrome::DispositionFromEventFlags(event_flags); 126 chrome::DispositionFromEventFlags(event_flags);
131 content::OpenURLParams params( 127 content::OpenURLParams params(
132 GURL("https://sites.google.com/a/chromium.org/dev/administrators/" 128 GURL("https://sites.google.com/a/chromium.org/dev/administrators/"
133 "common-problems-and-solutions#network_profile"), 129 "common-problems-and-solutions#network_profile"),
134 content::Referrer(), 130 content::Referrer(),
135 disposition == CURRENT_TAB ? NEW_FOREGROUND_TAB : disposition, 131 disposition == CURRENT_TAB ? NEW_FOREGROUND_TAB : disposition,
136 content::PAGE_TRANSITION_LINK, false); 132 content::PAGE_TRANSITION_LINK, false);
137 navigator_->OpenURL(params); 133 navigator_->OpenURL(params);
138 134
139 // If the user interacted with the bubble we don't reduce the number of 135 // If the user interacted with the bubble we don't reduce the number of
140 // warnings left. 136 // warnings left.
141 PrefService* prefs = profile_->GetPrefs(); 137 PrefService* prefs = profile_->GetPrefs();
142 int left_warnings = prefs->GetInteger(prefs::kNetworkProfileWarningsLeft); 138 int left_warnings = prefs->GetInteger(prefs::kNetworkProfileWarningsLeft);
143 prefs->SetInteger(prefs::kNetworkProfileWarningsLeft, ++left_warnings); 139 prefs->SetInteger(prefs::kNetworkProfileWarningsLeft, ++left_warnings);
144 GetWidget()->Close(); 140 GetWidget()->Close();
145 } 141 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/network_profile_bubble_view.h ('k') | chrome/browser/ui/views/page_info_bubble_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698