| Index: chrome/browser/ui/gtk/manage_passwords_bubble_gtk.cc
|
| diff --git a/chrome/browser/ui/gtk/manage_passwords_bubble_gtk.cc b/chrome/browser/ui/gtk/manage_passwords_bubble_gtk.cc
|
| deleted file mode 100644
|
| index c9d6b11249ae6ae4b386c429d933da2efb6367b3..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/gtk/manage_passwords_bubble_gtk.cc
|
| +++ /dev/null
|
| @@ -1,131 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/gtk/manage_passwords_bubble_gtk.h"
|
| -
|
| -#include "chrome/browser/chrome_notification_types.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_finder.h"
|
| -#include "chrome/browser/ui/browser_window.h"
|
| -#include "chrome/browser/ui/gtk/gtk_theme_service.h"
|
| -#include "chrome/browser/ui/gtk/location_bar_view_gtk.h"
|
| -#include "chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "ui/base/gtk/gtk_hig_constants.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -
|
| -namespace {
|
| -
|
| -// Pointer to singleton object (NULL if no bubble is open).
|
| -ManagePasswordsBubbleGtk* g_bubble = NULL;
|
| -
|
| -// Need to manually set anchor width and height to ensure that the bubble shows
|
| -// in the correct spot the first time it is displayed when no icon is present.
|
| -const int kBubbleAnchorWidth = 20;
|
| -const int kBubbleAnchorHeight = 25;
|
| -
|
| -} // namespace
|
| -
|
| -// static
|
| -void ManagePasswordsBubbleGtk::ShowBubble(content::WebContents* web_contents) {
|
| - Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
|
| - DCHECK(browser && browser->window() && browser->fullscreen_controller());
|
| -
|
| - LocationBar* location_bar = browser->window()->GetLocationBar();
|
| - GtkWidget* anchor = browser->window()->IsFullscreen() ?
|
| - GTK_WIDGET(browser->window()->GetNativeWindow()) :
|
| - static_cast<LocationBarViewGtk*>(location_bar)->
|
| - manage_passwords_icon_widget();
|
| -
|
| - g_bubble = new ManagePasswordsBubbleGtk(anchor,
|
| - web_contents,
|
| - browser->fullscreen_controller());
|
| -}
|
| -
|
| -// static
|
| -void ManagePasswordsBubbleGtk::CloseBubble() {
|
| - if (g_bubble)
|
| - g_bubble->Close();
|
| -}
|
| -
|
| -// static
|
| -bool ManagePasswordsBubbleGtk::IsShowing() {
|
| - return g_bubble != NULL;
|
| -}
|
| -
|
| -ManagePasswordsBubbleGtk::ManagePasswordsBubbleGtk(
|
| - GtkWidget* anchor,
|
| - content::WebContents* web_contents,
|
| - FullscreenController* fullscreen_controller)
|
| - : web_contents_(web_contents) {
|
| - GtkThemeService* theme_service = GtkThemeService::GetFrom(
|
| - Profile::FromBrowserContext(web_contents_->GetBrowserContext()));
|
| -
|
| - GtkWidget* bubble_contents_ = gtk_vbox_new(FALSE, ui::kControlSpacing);
|
| - gtk_container_set_border_width(GTK_CONTAINER(bubble_contents_),
|
| - ui::kContentAreaBorder);
|
| - GtkWidget* label = theme_service->BuildLabel(
|
| - l10n_util::GetStringUTF8(IDS_SAVE_PASSWORD), ui::kGdkBlack);
|
| - gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
|
| - gtk_box_pack_start(GTK_BOX(bubble_contents_), label, FALSE, FALSE, 0);
|
| -
|
| - GtkWidget* button_container = gtk_hbox_new(FALSE, 0);
|
| - GtkWidget* nope_button = gtk_button_new_with_label(l10n_util::GetStringUTF8(
|
| - IDS_PASSWORD_MANAGER_CANCEL_BUTTON).c_str());
|
| - g_signal_connect(nope_button, "clicked",
|
| - G_CALLBACK(OnNotNowButtonClickedThunk), this);
|
| - GtkWidget* save_button = gtk_button_new_with_label(
|
| - l10n_util::GetStringUTF8(IDS_PASSWORD_MANAGER_SAVE_BUTTON).c_str());
|
| - g_signal_connect(save_button, "clicked",
|
| - G_CALLBACK(OnSaveButtonClickedThunk), this);
|
| -
|
| - gtk_box_pack_end(GTK_BOX(button_container), save_button, FALSE, FALSE, 4);
|
| - gtk_box_pack_end(GTK_BOX(button_container), nope_button, FALSE, FALSE, 0);
|
| - gtk_box_pack_start(GTK_BOX(bubble_contents_), button_container, FALSE, FALSE,
|
| - 0);
|
| - gtk_widget_grab_focus(save_button);
|
| -
|
| - gfx::Rect rect = gfx::Rect(kBubbleAnchorWidth, kBubbleAnchorHeight);
|
| - BubbleGtk::FrameStyle frame_style = gtk_widget_is_toplevel(anchor) ?
|
| - BubbleGtk::FIXED_TOP_RIGHT : BubbleGtk::ANCHOR_TOP_RIGHT;
|
| - bubble_ = BubbleGtk::Show(anchor,
|
| - &rect,
|
| - bubble_contents_,
|
| - frame_style,
|
| - BubbleGtk::MATCH_SYSTEM_THEME |
|
| - BubbleGtk::POPUP_WINDOW |
|
| - BubbleGtk::GRAB_INPUT,
|
| - theme_service,
|
| - NULL);
|
| -
|
| - g_signal_connect(bubble_contents_, "destroy",
|
| - G_CALLBACK(&OnDestroyThunk), this);
|
| -}
|
| -
|
| -ManagePasswordsBubbleGtk::~ManagePasswordsBubbleGtk() {
|
| - DCHECK_EQ(g_bubble, this);
|
| - // Set singleton pointer to NULL.
|
| - g_bubble = NULL;
|
| -}
|
| -
|
| -void ManagePasswordsBubbleGtk::Close() {
|
| - DCHECK(bubble_);
|
| - bubble_->Close();
|
| -}
|
| -
|
| -void ManagePasswordsBubbleGtk::OnDestroy(GtkWidget* widget) {
|
| - // Listen to the destroy signal and delete this instance when it is caught.
|
| - delete this;
|
| -}
|
| -
|
| -void ManagePasswordsBubbleGtk::OnSaveButtonClicked(GtkWidget* button) {
|
| - ManagePasswordsBubbleUIController::FromWebContents(web_contents_)->
|
| - SavePassword();
|
| - Close();
|
| -}
|
| -
|
| -void ManagePasswordsBubbleGtk::OnNotNowButtonClicked(GtkWidget* button) {
|
| - Close();
|
| -}
|
|
|