summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/hung_renderer_view.cc
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-19 21:01:27 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-19 21:01:27 +0000
commit131952c3605d1ad328ae73f71c06ca0ea1615c2c (patch)
treeabfd5367826764e155af7a72b5ae416ad50fbdcb /chrome/browser/ui/views/hung_renderer_view.cc
parent01ae53417b7c0a698e48861f251167f0b6b4c872 (diff)
downloadchromium_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.cc36
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)