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

Side by Side Diff: chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc

Issue 394403003: Close the password bubble on the icon click. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added a test Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/passwords/manage_passwords_bubble_view.h" 5 #include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h"
6 6
7 #include "chrome/browser/chrome_notification_types.h" 7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/ui/browser.h" 8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/browser_finder.h" 9 #include "chrome/browser/ui/browser_finder.h"
10 #include "chrome/browser/ui/browser_window.h" 10 #include "chrome/browser/ui/browser_window.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 } 119 }
120 120
121 } // namespace 121 } // namespace
122 122
123 123
124 // Globals -------------------------------------------------------------------- 124 // Globals --------------------------------------------------------------------
125 125
126 namespace chrome { 126 namespace chrome {
127 127
128 void ShowManagePasswordsBubble(content::WebContents* web_contents) { 128 void ShowManagePasswordsBubble(content::WebContents* web_contents) {
129 if (ManagePasswordsBubbleView::IsShowing()) {
130 // IDC_MANAGE_PASSWORDS_FOR_PAGE command cann't open the bubble twice for
131 // the same tab. However, the bubble may be open in another tab.
132 DCHECK(ManagePasswordsBubbleView::Bubble()->web_contents() != web_contents);
Peter Kasting 2014/07/22 18:55:18 If this DCHECK is the only reason to expose web_co
vasilii 2014/07/23 09:22:53 Done.
133 ManagePasswordsBubbleView::CloseBubble();
134 }
129 ManagePasswordsUIController* controller = 135 ManagePasswordsUIController* controller =
130 ManagePasswordsUIController::FromWebContents(web_contents); 136 ManagePasswordsUIController::FromWebContents(web_contents);
131 ManagePasswordsBubbleView::ShowBubble( 137 ManagePasswordsBubbleView::ShowBubble(
132 web_contents, 138 web_contents,
133 controller->state() == 139 controller->state() ==
134 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE 140 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE
135 ? ManagePasswordsBubbleView::AUTOMATIC 141 ? ManagePasswordsBubbleView::AUTOMATIC
136 : ManagePasswordsBubbleView::USER_ACTION); 142 : ManagePasswordsBubbleView::USER_ACTION);
137 } 143 }
138 144
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 parent_->Close(); 433 parent_->Close();
428 } 434 }
429 435
430 // ManagePasswordsBubbleView -------------------------------------------------- 436 // ManagePasswordsBubbleView --------------------------------------------------
431 437
432 // static 438 // static
433 ManagePasswordsBubbleView* ManagePasswordsBubbleView::manage_passwords_bubble_ = 439 ManagePasswordsBubbleView* ManagePasswordsBubbleView::manage_passwords_bubble_ =
434 NULL; 440 NULL;
435 441
436 // static 442 // static
437 const ManagePasswordsBubbleView* ManagePasswordsBubbleView::Bubble() {
438 return ManagePasswordsBubbleView::manage_passwords_bubble_;
439 }
440
441 // static
442 void ManagePasswordsBubbleView::ShowBubble(content::WebContents* web_contents, 443 void ManagePasswordsBubbleView::ShowBubble(content::WebContents* web_contents,
443 DisplayReason reason) { 444 DisplayReason reason) {
444 Browser* browser = chrome::FindBrowserWithWebContents(web_contents); 445 Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
445 DCHECK(browser); 446 DCHECK(browser);
446 DCHECK(browser->window()); 447 DCHECK(browser->window());
447 DCHECK(browser->fullscreen_controller()); 448 DCHECK(browser->fullscreen_controller());
448 449
449 if (IsShowing()) 450 if (IsShowing())
450 return; 451 return;
451 452
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 manage_passwords_bubble_->Close(); 487 manage_passwords_bubble_->Close();
487 } 488 }
488 489
489 // static 490 // static
490 bool ManagePasswordsBubbleView::IsShowing() { 491 bool ManagePasswordsBubbleView::IsShowing() {
491 // The bubble may be in the process of closing. 492 // The bubble may be in the process of closing.
492 return (manage_passwords_bubble_ != NULL) && 493 return (manage_passwords_bubble_ != NULL) &&
493 manage_passwords_bubble_->GetWidget()->IsVisible(); 494 manage_passwords_bubble_->GetWidget()->IsVisible();
494 } 495 }
495 496
497 // static
498 const ManagePasswordsBubbleView* ManagePasswordsBubbleView::Bubble() {
499 return ManagePasswordsBubbleView::manage_passwords_bubble_;
500 }
501
502 content::WebContents* ManagePasswordsBubbleView::web_contents() const {
503 return model()->web_contents();
504 }
505
496 ManagePasswordsBubbleView::ManagePasswordsBubbleView( 506 ManagePasswordsBubbleView::ManagePasswordsBubbleView(
497 content::WebContents* web_contents, 507 content::WebContents* web_contents,
498 ManagePasswordsIconView* anchor_view, 508 ManagePasswordsIconView* anchor_view,
499 DisplayReason reason) 509 DisplayReason reason)
500 : ManagePasswordsBubble(web_contents, reason), 510 : ManagePasswordsBubble(web_contents, reason),
501 BubbleDelegateView(anchor_view, 511 BubbleDelegateView(anchor_view,
502 anchor_view ? views::BubbleBorder::TOP_RIGHT 512 anchor_view ? views::BubbleBorder::TOP_RIGHT
503 : views::BubbleBorder::NONE), 513 : views::BubbleBorder::NONE),
504 anchor_view_(anchor_view), 514 anchor_view_(anchor_view),
505 never_save_passwords_(false) { 515 never_save_passwords_(false) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 586
577 void ManagePasswordsBubbleView::NotifyConfirmedNeverForThisSite() { 587 void ManagePasswordsBubbleView::NotifyConfirmedNeverForThisSite() {
578 model()->OnNeverForThisSiteClicked(); 588 model()->OnNeverForThisSiteClicked();
579 Close(); 589 Close();
580 } 590 }
581 591
582 void ManagePasswordsBubbleView::NotifyUndoNeverForThisSite() { 592 void ManagePasswordsBubbleView::NotifyUndoNeverForThisSite() {
583 never_save_passwords_ = false; 593 never_save_passwords_ = false;
584 Refresh(); 594 Refresh();
585 } 595 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698