summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-18 17:04:10 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-18 17:04:10 +0000
commit7672ea9c4233a8c4380c26a11ba2ca3d6fe64f67 (patch)
tree25342847e37ffde1ed6a29ac01a284d4f062341a
parent21756fe51178ee6c662f9add3e4c34be9e44c83a (diff)
downloadchromium_src-7672ea9c4233a8c4380c26a11ba2ca3d6fe64f67.zip
chromium_src-7672ea9c4233a8c4380c26a11ba2ca3d6fe64f67.tar.gz
chromium_src-7672ea9c4233a8c4380c26a11ba2ca3d6fe64f67.tar.bz2
Hook up "clear browsing data" dialog. It looks like ass right now. The intent is to be able to debug problems with NativeControls under Gtk.
BUG=none TEST=none Review URL: http://codereview.chromium.org/131027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18715 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/views/browser_dialogs.h2
-rw-r--r--chrome/browser/views/clear_browsing_data.cc7
-rw-r--r--chrome/browser/views/clear_browsing_data.h8
-rw-r--r--chrome/browser/views/frame/browser_view.cc3
-rw-r--r--chrome/chrome.gyp2
-rw-r--r--views/views.gyp1
-rw-r--r--views/window/dialog_client_view.cc8
-rw-r--r--views/window/window.cc44
-rwxr-xr-xviews/window/window_win.cc27
9 files changed, 65 insertions, 37 deletions
diff --git a/chrome/browser/views/browser_dialogs.h b/chrome/browser/views/browser_dialogs.h
index bfd70ef..ebd532a 100644
--- a/chrome/browser/views/browser_dialogs.h
+++ b/chrome/browser/views/browser_dialogs.h
@@ -38,7 +38,7 @@ void ShowBugReportView(views::Widget* parent,
TabContents* tab);
// Shows the "Clear browsing data" dialog box. See ClearBrowsingDataView.
-void ShowClearBrowsingDataView(views::Widget* parent,
+void ShowClearBrowsingDataView(gfx::NativeWindow parent,
Profile* profile);
// Shows the "Select profile" dialog. See SelectProfileDialog.
diff --git a/chrome/browser/views/clear_browsing_data.cc b/chrome/browser/views/clear_browsing_data.cc
index f6da40f..9b8cf76 100644
--- a/chrome/browser/views/clear_browsing_data.cc
+++ b/chrome/browser/views/clear_browsing_data.cc
@@ -29,11 +29,10 @@ static const int kExtraMarginForTimePeriodLabel = 3;
namespace browser {
// Defined in browser_dialogs.h for creation of the view.
-void ShowClearBrowsingDataView(views::Widget* parent,
+void ShowClearBrowsingDataView(gfx::NativeWindow parent,
Profile* profile) {
- views::Window::CreateChromeWindow(
- parent->GetNativeView(), gfx::Rect(),
- new ClearBrowsingDataView(profile))->Show();
+ views::Window::CreateChromeWindow(parent, gfx::Rect(),
+ new ClearBrowsingDataView(profile))->Show();
}
} // namespace browser
diff --git a/chrome/browser/views/clear_browsing_data.h b/chrome/browser/views/clear_browsing_data.h
index f188478..bae65b4 100644
--- a/chrome/browser/views/clear_browsing_data.h
+++ b/chrome/browser/views/clear_browsing_data.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H__
-#define CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H__
+#ifndef CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H_
+#define CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H_
#include "chrome/browser/browsing_data_remover.h"
#include "views/controls/button/button.h"
@@ -111,7 +111,7 @@ class ClearBrowsingDataView : public views::View,
// of deleting itself when done.
BrowsingDataRemover* remover_;
- DISALLOW_EVIL_CONSTRUCTORS(ClearBrowsingDataView);
+ DISALLOW_COPY_AND_ASSIGN(ClearBrowsingDataView);
};
-#endif // CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H__
+#endif // CHROME_BROWSER_VIEWS_CLEAR_BROWSING_DATA_H_
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc
index b9c8c40..50780f5 100644
--- a/chrome/browser/views/frame/browser_view.cc
+++ b/chrome/browser/views/frame/browser_view.cc
@@ -867,7 +867,8 @@ void BrowserView::ShowReportBugDialog() {
}
void BrowserView::ShowClearBrowsingDataDialog() {
- browser::ShowClearBrowsingDataView(GetWidget(), browser_->profile());
+ browser::ShowClearBrowsingDataView(GetWindow()->GetNativeWindow(),
+ browser_->profile());
}
void BrowserView::ShowImportDialog() {
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index 7f0a661..e3b614f 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -1860,6 +1860,8 @@
['include', '^browser/views/browser_bubble.cc'],
['include', '^browser/views/browser_bubble.h'],
['include', '^browser/views/chrome_views_delegate.cc'],
+ ['include', '^browser/views/clear_browsing_data.cc'],
+ ['include', '^browser/views/clear_browsing_data.h'],
['include', '^browser/views/dialog_stubs_gtk.cc'],
['include', '^browser/views/download_item_view.cc'],
['include', '^browser/views/download_item_view.h'],
diff --git a/views/views.gyp b/views/views.gyp
index 2faa58a..b83ccae 100644
--- a/views/views.gyp
+++ b/views/views.gyp
@@ -232,6 +232,7 @@
'window/native_frame_view.h',
'window/non_client_view.cc',
'window/non_client_view.h',
+ 'window/window.cc',
'window/window.h',
'window/window_delegate.h',
'window/window_delegate.cc',
diff --git a/views/window/dialog_client_view.cc b/views/window/dialog_client_view.cc
index b81e75f..fc872f0 100644
--- a/views/window/dialog_client_view.cc
+++ b/views/window/dialog_client_view.cc
@@ -258,10 +258,14 @@ bool DialogClientView::CanClose() const {
}
void DialogClientView::WindowClosing() {
+#if !defined(TOOLKIT_VIEWS)
FocusManager* focus_manager = GetFocusManager();
DCHECK(focus_manager);
if (focus_manager)
focus_manager->RemoveFocusChangeListener(this);
+#else
+ NOTIMPLEMENTED();
+#endif
ClientView::WindowClosing();
}
@@ -304,12 +308,16 @@ void DialogClientView::ViewHierarchyChanged(bool is_add, View* parent,
ShowDialogButtons();
ClientView::ViewHierarchyChanged(is_add, parent, child);
+#if !defined(TOOLKIT_VIEWS)
FocusManager* focus_manager = GetFocusManager();
// Listen for focus change events so we can update the default button.
DCHECK(focus_manager); // bug #1291225: crash reports seem to indicate it
// can be NULL.
if (focus_manager)
focus_manager->AddFocusChangeListener(this);
+#else
+ NOTIMPLEMENTED();
+#endif
// The "extra view" must be created and installed after the contents view
// has been inserted into the view hierarchy.
diff --git a/views/window/window.cc b/views/window/window.cc
new file mode 100644
index 0000000..5a41c4f
--- /dev/null
+++ b/views/window/window.cc
@@ -0,0 +1,44 @@
+// Copyright (c) 2009 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 "views/window/window.h"
+
+#include "app/gfx/font.h"
+#include "app/l10n_util.h"
+#include "app/resource_bundle.h"
+#include "base/gfx/size.h"
+#include "base/string_util.h"
+
+namespace views {
+
+// static
+int Window::GetLocalizedContentsWidth(int col_resource_id) {
+ double chars = 0;
+ StringToDouble(WideToUTF8(l10n_util::GetString(col_resource_id)), &chars);
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ gfx::Font font = rb.GetFont(ResourceBundle::BaseFont);
+ int width = font.GetExpectedTextWidth(static_cast<int>(chars));
+ DCHECK(width > 0);
+ return width;
+}
+
+// static
+int Window::GetLocalizedContentsHeight(int row_resource_id) {
+ double lines = 0;
+ StringToDouble(WideToUTF8(l10n_util::GetString(row_resource_id)), &lines);
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ gfx::Font font = rb.GetFont(ResourceBundle::BaseFont);
+ int height = static_cast<int>(font.height() * lines);
+ DCHECK(height > 0);
+ return height;
+}
+
+// static
+gfx::Size Window::GetLocalizedContentsSize(int col_resource_id,
+ int row_resource_id) {
+ return gfx::Size(GetLocalizedContentsWidth(col_resource_id),
+ GetLocalizedContentsHeight(row_resource_id));
+}
+
+} // namespace views
diff --git a/views/window/window_win.cc b/views/window/window_win.cc
index f683822..fc809932 100755
--- a/views/window/window_win.cc
+++ b/views/window/window_win.cc
@@ -232,33 +232,6 @@ void WindowWin::FrameTypeChanged() {
EnumChildWindows(GetNativeView(), &SendDwmCompositionChanged, NULL);
}
-// static
-int Window::GetLocalizedContentsWidth(int col_resource_id) {
- double chars = _wtof(l10n_util::GetString(col_resource_id).c_str());
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- gfx::Font font = rb.GetFont(ResourceBundle::BaseFont);
- int width = font.GetExpectedTextWidth(static_cast<int>(chars));
- DCHECK(width > 0);
- return width;
-}
-
-// static
-int Window::GetLocalizedContentsHeight(int row_resource_id) {
- double lines = _wtof(l10n_util::GetString(row_resource_id).c_str());
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- gfx::Font font = rb.GetFont(ResourceBundle::BaseFont);
- int height = static_cast<int>(font.height() * lines);
- DCHECK(height > 0);
- return height;
-}
-
-// static
-gfx::Size Window::GetLocalizedContentsSize(int col_resource_id,
- int row_resource_id) {
- return gfx::Size(GetLocalizedContentsWidth(col_resource_id),
- GetLocalizedContentsHeight(row_resource_id));
-}
-
////////////////////////////////////////////////////////////////////////////////
// WindowWin, Window implementation: