diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-18 17:04:10 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-18 17:04:10 +0000 |
commit | 7672ea9c4233a8c4380c26a11ba2ca3d6fe64f67 (patch) | |
tree | 25342847e37ffde1ed6a29ac01a284d4f062341a | |
parent | 21756fe51178ee6c662f9add3e4c34be9e44c83a (diff) | |
download | chromium_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.h | 2 | ||||
-rw-r--r-- | chrome/browser/views/clear_browsing_data.cc | 7 | ||||
-rw-r--r-- | chrome/browser/views/clear_browsing_data.h | 8 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 3 | ||||
-rw-r--r-- | chrome/chrome.gyp | 2 | ||||
-rw-r--r-- | views/views.gyp | 1 | ||||
-rw-r--r-- | views/window/dialog_client_view.cc | 8 | ||||
-rw-r--r-- | views/window/window.cc | 44 | ||||
-rwxr-xr-x | views/window/window_win.cc | 27 |
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: |