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

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

Issue 2720183002: [Views] Update ink drop for omnibox icons (Closed)
Patch Set: Update the behavior Created 3 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 #include "ui/views/controls/image_view.h" 52 #include "ui/views/controls/image_view.h"
53 #include "ui/views/controls/label.h" 53 #include "ui/views/controls/label.h"
54 #include "ui/views/controls/link.h" 54 #include "ui/views/controls/link.h"
55 #include "ui/views/controls/styled_label.h" 55 #include "ui/views/controls/styled_label.h"
56 #include "ui/views/layout/box_layout.h" 56 #include "ui/views/layout/box_layout.h"
57 #include "ui/views/layout/grid_layout.h" 57 #include "ui/views/layout/grid_layout.h"
58 #include "ui/views/layout/layout_constants.h" 58 #include "ui/views/layout/layout_constants.h"
59 #include "ui/views/layout/layout_manager.h" 59 #include "ui/views/layout/layout_manager.h"
60 #include "ui/views/view.h" 60 #include "ui/views/view.h"
61 #include "ui/views/widget/widget.h" 61 #include "ui/views/widget/widget.h"
62 #include "ui/views/widget/widget_observer.h"
62 #include "url/gurl.h" 63 #include "url/gurl.h"
63 64
64 namespace { 65 namespace {
65 66
66 // NOTE(jdonnelly): This use of this process-wide variable assumes that there's 67 // NOTE(jdonnelly): This use of this process-wide variable assumes that there's
67 // never more than one website settings popup shown and that it's associated 68 // never more than one website settings popup shown and that it's associated
68 // with the current window. If this assumption fails in the future, we'll need 69 // with the current window. If this assumption fails in the future, we'll need
69 // to return a weak pointer from ShowPopup so callers can associate it with the 70 // to return a weak pointer from ShowPopup so callers can associate it with the
70 // current window (or other context) and check if the popup they care about is 71 // current window (or other context) and check if the popup they care about is
71 // showing. 72 // showing.
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 //////////////////////////////////////////////////////////////////////////////// 348 ////////////////////////////////////////////////////////////////////////////////
348 // WebsiteSettingsPopupView 349 // WebsiteSettingsPopupView
349 //////////////////////////////////////////////////////////////////////////////// 350 ////////////////////////////////////////////////////////////////////////////////
350 351
351 WebsiteSettingsPopupView::~WebsiteSettingsPopupView() { 352 WebsiteSettingsPopupView::~WebsiteSettingsPopupView() {
352 } 353 }
353 354
354 // static 355 // static
355 void WebsiteSettingsPopupView::ShowPopup( 356 void WebsiteSettingsPopupView::ShowPopup(
356 views::View* anchor_view, 357 views::View* anchor_view,
358 views::WidgetObserver* widget_observer,
357 const gfx::Rect& anchor_rect, 359 const gfx::Rect& anchor_rect,
358 Profile* profile, 360 Profile* profile,
359 content::WebContents* web_contents, 361 content::WebContents* web_contents,
360 const GURL& url, 362 const GURL& url,
361 const security_state::SecurityInfo& security_info) { 363 const security_state::SecurityInfo& security_info) {
362 gfx::NativeView parent_window = 364 gfx::NativeView parent_window =
363 anchor_view ? nullptr : web_contents->GetNativeView(); 365 anchor_view ? nullptr : web_contents->GetNativeView();
364 if (url.SchemeIs(content::kChromeUIScheme) || 366 if (url.SchemeIs(content::kChromeUIScheme) ||
365 url.SchemeIs(content::kChromeDevToolsScheme) || 367 url.SchemeIs(content::kChromeDevToolsScheme) ||
366 url.SchemeIs(extensions::kExtensionScheme) || 368 url.SchemeIs(extensions::kExtensionScheme) ||
367 url.SchemeIs(content::kViewSourceScheme)) { 369 url.SchemeIs(content::kViewSourceScheme)) {
368 // Use the concrete type so that |SetAnchorRect| can be called as a friend. 370 // Use the concrete type so that |SetAnchorRect| can be called as a friend.
369 InternalPageInfoPopupView* popup = 371 InternalPageInfoPopupView* popup =
370 new InternalPageInfoPopupView(anchor_view, parent_window, url); 372 new InternalPageInfoPopupView(anchor_view, parent_window, url);
371 if (!anchor_view) 373 if (!anchor_view)
372 popup->SetAnchorRect(anchor_rect); 374 popup->SetAnchorRect(anchor_rect);
373 popup->GetWidget()->Show(); 375 popup->GetWidget()->Show();
374 return; 376 return;
375 } 377 }
376 WebsiteSettingsPopupView* popup = new WebsiteSettingsPopupView( 378 WebsiteSettingsPopupView* popup = new WebsiteSettingsPopupView(
377 anchor_view, parent_window, profile, web_contents, url, security_info); 379 anchor_view, parent_window, profile, web_contents, url, security_info);
378 if (!anchor_view) 380 if (!anchor_view)
379 popup->SetAnchorRect(anchor_rect); 381 popup->SetAnchorRect(anchor_rect);
382
383 if (widget_observer)
384 popup->GetWidget()->AddObserver(widget_observer);
385
380 popup->GetWidget()->Show(); 386 popup->GetWidget()->Show();
381 } 387 }
382 388
383 // static 389 // static
384 WebsiteSettingsPopupView::PopupType 390 WebsiteSettingsPopupView::PopupType
385 WebsiteSettingsPopupView::GetShownPopupType() { 391 WebsiteSettingsPopupView::GetShownPopupType() {
386 return g_shown_popup_type; 392 return g_shown_popup_type;
387 } 393 }
388 394
389 WebsiteSettingsPopupView::WebsiteSettingsPopupView( 395 WebsiteSettingsPopupView::WebsiteSettingsPopupView(
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 WebsiteSettings::WEBSITE_SETTINGS_CONNECTION_HELP_OPENED); 760 WebsiteSettings::WEBSITE_SETTINGS_CONNECTION_HELP_OPENED);
755 break; 761 break;
756 case STYLED_LABEL_RESET_CERTIFICATE_DECISIONS: 762 case STYLED_LABEL_RESET_CERTIFICATE_DECISIONS:
757 presenter_->OnRevokeSSLErrorBypassButtonPressed(); 763 presenter_->OnRevokeSSLErrorBypassButtonPressed();
758 GetWidget()->Close(); 764 GetWidget()->Close();
759 break; 765 break;
760 default: 766 default:
761 NOTREACHED(); 767 NOTREACHED();
762 } 768 }
763 } 769 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698