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

Side by Side Diff: chrome/browser/ui/views/website_settings/website_settings_popup_view.cc

Issue 197623002: [OriginChip] Show the page info bubble on the location bar icon. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix a post-merge inconsistency Created 6 years, 9 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
« no previous file with comments | « chrome/browser/ui/views/website_settings/website_settings_popup_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/website_settings/website_settings_popup_view.h " 5 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h "
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "ui/views/controls/tabbed_pane/tabbed_pane.h" 45 #include "ui/views/controls/tabbed_pane/tabbed_pane.h"
46 #include "ui/views/layout/box_layout.h" 46 #include "ui/views/layout/box_layout.h"
47 #include "ui/views/layout/grid_layout.h" 47 #include "ui/views/layout/grid_layout.h"
48 #include "ui/views/layout/layout_manager.h" 48 #include "ui/views/layout/layout_manager.h"
49 #include "ui/views/view.h" 49 #include "ui/views/view.h"
50 #include "ui/views/widget/widget.h" 50 #include "ui/views/widget/widget.h"
51 #include "url/gurl.h" 51 #include "url/gurl.h"
52 52
53 namespace { 53 namespace {
54 54
55 // NOTE(jdonnelly): This use of this process-wide variable assumes that there's
56 // never more than one website settings popup shown and that it's associated
57 // with the current window. If this assumption fails in the future, we'll need
58 // to return a weak pointer from ShowPopup so callers can associate it with the
59 // current window (or other context) and check if the popup they care about is
60 // showing.
61 bool is_popup_showing = false;
62
55 // Padding values for sections on the connection tab. 63 // Padding values for sections on the connection tab.
56 const int kConnectionSectionPaddingBottom = 16; 64 const int kConnectionSectionPaddingBottom = 16;
57 const int kConnectionSectionPaddingLeft = 18; 65 const int kConnectionSectionPaddingLeft = 18;
58 const int kConnectionSectionPaddingTop = 16; 66 const int kConnectionSectionPaddingTop = 16;
59 const int kConnectionSectionPaddingRight = 18; 67 const int kConnectionSectionPaddingRight = 18;
60 68
61 // The text color that is used for the site identity status text, if the site's 69 // The text color that is used for the site identity status text, if the site's
62 // identity was sucessfully verified. 70 // identity was sucessfully verified.
63 const int kIdentityVerifiedTextColor = 0xFF298a27; 71 const int kIdentityVerifiedTextColor = 0xFF298a27;
64 72
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 }; 141 };
134 142
135 // Website Settings are not supported for internal Chrome pages. Instead of the 143 // Website Settings are not supported for internal Chrome pages. Instead of the
136 // |WebsiteSettingsPopupView|, the |InternalPageInfoPopupView| is 144 // |WebsiteSettingsPopupView|, the |InternalPageInfoPopupView| is
137 // displayed. 145 // displayed.
138 class InternalPageInfoPopupView : public views::BubbleDelegateView { 146 class InternalPageInfoPopupView : public views::BubbleDelegateView {
139 public: 147 public:
140 explicit InternalPageInfoPopupView(views::View* anchor_view); 148 explicit InternalPageInfoPopupView(views::View* anchor_view);
141 virtual ~InternalPageInfoPopupView(); 149 virtual ~InternalPageInfoPopupView();
142 150
151 // views::BubbleDelegateView:
152 virtual void OnWidgetDestroying(views::Widget* widget) OVERRIDE;
153
143 private: 154 private:
144 DISALLOW_COPY_AND_ASSIGN(InternalPageInfoPopupView); 155 DISALLOW_COPY_AND_ASSIGN(InternalPageInfoPopupView);
145 }; 156 };
146 157
147 //////////////////////////////////////////////////////////////////////////////// 158 ////////////////////////////////////////////////////////////////////////////////
148 // Popup Header 159 // Popup Header
149 //////////////////////////////////////////////////////////////////////////////// 160 ////////////////////////////////////////////////////////////////////////////////
150 161
151 PopupHeaderView::PopupHeaderView(views::ButtonListener* close_button_listener) 162 PopupHeaderView::PopupHeaderView(views::ButtonListener* close_button_listener)
152 : name_(NULL), status_(NULL) { 163 : name_(NULL), status_(NULL) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 252 label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
242 AddChildView(label); 253 AddChildView(label);
243 254
244 views::BubbleDelegateView::CreateBubble(this)->Show(); 255 views::BubbleDelegateView::CreateBubble(this)->Show();
245 SizeToContents(); 256 SizeToContents();
246 } 257 }
247 258
248 InternalPageInfoPopupView::~InternalPageInfoPopupView() { 259 InternalPageInfoPopupView::~InternalPageInfoPopupView() {
249 } 260 }
250 261
262 void InternalPageInfoPopupView::OnWidgetDestroying(views::Widget* widget) {
263 is_popup_showing = false;
264 }
265
251 //////////////////////////////////////////////////////////////////////////////// 266 ////////////////////////////////////////////////////////////////////////////////
252 // WebsiteSettingsPopupView 267 // WebsiteSettingsPopupView
253 //////////////////////////////////////////////////////////////////////////////// 268 ////////////////////////////////////////////////////////////////////////////////
254 269
255 WebsiteSettingsPopupView::~WebsiteSettingsPopupView() { 270 WebsiteSettingsPopupView::~WebsiteSettingsPopupView() {
256 } 271 }
257 272
258 // static 273 // static
259 void WebsiteSettingsPopupView::ShowPopup(views::View* anchor_view, 274 void WebsiteSettingsPopupView::ShowPopup(views::View* anchor_view,
260 Profile* profile, 275 Profile* profile,
261 content::WebContents* web_contents, 276 content::WebContents* web_contents,
262 const GURL& url, 277 const GURL& url,
263 const content::SSLStatus& ssl, 278 const content::SSLStatus& ssl,
264 Browser* browser) { 279 Browser* browser) {
280 is_popup_showing = true;
265 if (InternalChromePage(url)) { 281 if (InternalChromePage(url)) {
266 new InternalPageInfoPopupView(anchor_view); 282 new InternalPageInfoPopupView(anchor_view);
267 } else { 283 } else {
268 new WebsiteSettingsPopupView(anchor_view, profile, web_contents, url, ssl, 284 new WebsiteSettingsPopupView(anchor_view, profile, web_contents, url, ssl,
269 browser); 285 browser);
270 } 286 }
271 } 287 }
272 288
289 // static
290 bool WebsiteSettingsPopupView::IsPopupShowing() {
291 return is_popup_showing;
292 }
293
273 WebsiteSettingsPopupView::WebsiteSettingsPopupView( 294 WebsiteSettingsPopupView::WebsiteSettingsPopupView(
274 views::View* anchor_view, 295 views::View* anchor_view,
275 Profile* profile, 296 Profile* profile,
276 content::WebContents* web_contents, 297 content::WebContents* web_contents,
277 const GURL& url, 298 const GURL& url,
278 const content::SSLStatus& ssl, 299 const content::SSLStatus& ssl,
279 Browser* browser) 300 Browser* browser)
280 : BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_LEFT), 301 : BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_LEFT),
281 web_contents_(web_contents), 302 web_contents_(web_contents),
282 browser_(browser), 303 browser_(browser),
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 } 369 }
349 370
350 void WebsiteSettingsPopupView::OnPermissionChanged( 371 void WebsiteSettingsPopupView::OnPermissionChanged(
351 PermissionSelectorView* permission_selector) { 372 PermissionSelectorView* permission_selector) {
352 DCHECK(permission_selector); 373 DCHECK(permission_selector);
353 presenter_->OnSitePermissionChanged(permission_selector->type(), 374 presenter_->OnSitePermissionChanged(permission_selector->type(),
354 permission_selector->current_setting()); 375 permission_selector->current_setting());
355 } 376 }
356 377
357 void WebsiteSettingsPopupView::OnWidgetDestroying(views::Widget* widget) { 378 void WebsiteSettingsPopupView::OnWidgetDestroying(views::Widget* widget) {
379 is_popup_showing = false;
358 presenter_->OnUIClosing(); 380 presenter_->OnUIClosing();
359 } 381 }
360 382
361 void WebsiteSettingsPopupView::ButtonPressed( 383 void WebsiteSettingsPopupView::ButtonPressed(
362 views::Button* button, 384 views::Button* button,
363 const ui::Event& event) { 385 const ui::Event& event) {
364 GetWidget()->Close(); 386 GetWidget()->Close();
365 } 387 }
366 388
367 void WebsiteSettingsPopupView::LinkClicked(views::Link* source, 389 void WebsiteSettingsPopupView::LinkClicked(views::Link* source,
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 web_contents_, signed_certificate_timestamp_ids_); 805 web_contents_, signed_certificate_timestamp_ids_);
784 } else if (source == help_center_link_) { 806 } else if (source == help_center_link_) {
785 browser_->OpenURL(content::OpenURLParams( 807 browser_->OpenURL(content::OpenURLParams(
786 GURL(chrome::kPageInfoHelpCenterURL), 808 GURL(chrome::kPageInfoHelpCenterURL),
787 content::Referrer(), 809 content::Referrer(),
788 NEW_FOREGROUND_TAB, 810 NEW_FOREGROUND_TAB,
789 content::PAGE_TRANSITION_LINK, 811 content::PAGE_TRANSITION_LINK,
790 false)); 812 false));
791 } 813 }
792 } 814 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/website_settings/website_settings_popup_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698