diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-19 21:01:27 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-19 21:01:27 +0000 |
commit | 131952c3605d1ad328ae73f71c06ca0ea1615c2c (patch) | |
tree | abfd5367826764e155af7a72b5ae416ad50fbdcb /chrome/browser/ui/views/hung_renderer_view.cc | |
parent | 01ae53417b7c0a698e48861f251167f0b6b4c872 (diff) | |
download | chromium_src-131952c3605d1ad328ae73f71c06ca0ea1615c2c.zip chromium_src-131952c3605d1ad328ae73f71c06ca0ea1615c2c.tar.gz chromium_src-131952c3605d1ad328ae73f71c06ca0ea1615c2c.tar.bz2 |
Fix DialogClientView layout, buttons, accelerators; etc.
Rename Get[Extra|Footnote]View to Create*; only call once per dialog.
Clamp 'extra view' size and align left in the button row.
Simplify 'extra view' users: remove containers/layout, init on demand.
Remove unused GetSizeExtraViewHeightToButtons / IsDialogButtonVisible / GetFootnoteViewHeight.
Remove non-functional PaintSizeBox code and broken |size_box_bounds_|.
Move meaningful StyleParams distinctions to GetInsets().
(temporarily regresses new dialog style resizing and button spacing)
Get default button text in DialogDelegateView::GetDialogButtonLabel.
Return superclass GetDialogButtonLabel in OVERRIDES, not string16().
Simplify FocusChangeListener add/remove for default button wrangling.
Add TreeView return key accelerator handling to commit pending edits.
Remove AreAcceleratorsEnabled (was for committing tree view, edits)
Fix [Dialog|Widget]Example's init; add extra/footnote views.
TODO(followup): Restore dialog resizing via frame view hit testing.
TODO(followup): Fix new dialog button spacing via layout constants.
BUG=166075
TEST=No observable dialog appearance/behavior changes (except minor button spacing change for experimental --enable-new-dialog-style)
R=sky@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12259021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183286 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/hung_renderer_view.cc')
-rw-r--r-- | chrome/browser/ui/views/hung_renderer_view.cc | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/chrome/browser/ui/views/hung_renderer_view.cc b/chrome/browser/ui/views/hung_renderer_view.cc index abb92f4..b54f77e 100644 --- a/chrome/browser/ui/views/hung_renderer_view.cc +++ b/chrome/browser/ui/views/hung_renderer_view.cc @@ -29,6 +29,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas.h" +#include "ui/views/controls/button/text_button.h" #include "ui/views/controls/image_view.h" #include "ui/views/controls/label.h" #include "ui/views/layout/grid_layout.h" @@ -221,7 +222,6 @@ void HungRendererDialogView::KillRendererProcess( HungRendererDialogView::HungRendererDialogView() : hung_pages_table_(NULL), kill_button_(NULL), - kill_button_container_(NULL), initialized_(false) { InitClass(); } @@ -301,11 +301,14 @@ string16 HungRendererDialogView::GetDialogButtonLabel( ui::DialogButton button) const { if (button == ui::DIALOG_BUTTON_OK) return l10n_util::GetStringUTF16(IDS_BROWSER_HANGMONITOR_RENDERER_WAIT); - return string16(); + return views::DialogDelegateView::GetDialogButtonLabel(button); } -views::View* HungRendererDialogView::GetExtraView() { - return kill_button_container_; +views::View* HungRendererDialogView::CreateExtraView() { + DCHECK(!kill_button_); + kill_button_ = new views::NativeTextButton(this, + l10n_util::GetStringUTF16(IDS_BROWSER_HANGMONITOR_RENDERER_END)); + return kill_button_; } bool HungRendererDialogView::Accept(bool window_closing) { @@ -372,8 +375,6 @@ void HungRendererDialogView::Init() { false, true); hung_pages_table_->SetGrouper(hung_pages_table_model_.get()); - CreateKillButtonView(); - using views::GridLayout; using views::ColumnSet; @@ -406,29 +407,6 @@ void HungRendererDialogView::Init() { initialized_ = true; } -void HungRendererDialogView::CreateKillButtonView() { - kill_button_ = new views::NativeTextButton(this, - l10n_util::GetStringUTF16(IDS_BROWSER_HANGMONITOR_RENDERER_END)); - - kill_button_container_ = new View; - - using views::GridLayout; - using views::ColumnSet; - - GridLayout* layout = new GridLayout(kill_button_container_); - kill_button_container_->SetLayoutManager(layout); - - const int single_column_set_id = 0; - ColumnSet* column_set = layout->AddColumnSet(single_column_set_id); - column_set->AddPaddingColumn(0, frozen_icon_->width() + - kCentralColumnPadding); - column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, - GridLayout::USE_PREF, 0, 0); - - layout->StartRow(0, single_column_set_id); - layout->AddView(kill_button_); -} - gfx::Rect HungRendererDialogView::GetDisplayBounds( WebContents* contents) { #if defined(USE_AURA) |