diff options
author | wittman@chromium.org <wittman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 22:15:35 +0000 |
---|---|---|
committer | wittman@chromium.org <wittman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 22:15:35 +0000 |
commit | 84685520948dcbf750736faa3e2bcc9dc430e861 (patch) | |
tree | 4bfc4086238f2f94355a689c142c5543b9664a09 /ui/views/test | |
parent | f84973412773063d475d1b9f91540e6f6fa6e4da (diff) | |
download | chromium_src-84685520948dcbf750736faa3e2bcc9dc430e861.zip chromium_src-84685520948dcbf750736faa3e2bcc9dc430e861.tar.gz chromium_src-84685520948dcbf750736faa3e2bcc9dc430e861.tar.bz2 |
Add synchronous Widget closing event
Adds a WidgetObserver event that is guaranteed to be invoked synchronously
when a Widget is requested to close. Rename the existing event, which
is invoked at Widget destruction time, typically via a task on the event
loop, to OnWidgetDestroying.
The new event will be used in Views-specific WebContentsModalDialogManager
functionality to get close events for Widgets, so that we don't risk
adverse interleaving of Widget close events with other relevant events
(e.g. IPC). This will allow us to avoids test flakiness observed
in https://codereview.chromium.org/12045037 due to event races in
PrintPreviewTest.PrintCommands
BUG=157161
Review URL: https://chromiumcodereview.appspot.com/12089061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180796 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/test')
-rw-r--r-- | ui/views/test/child_modal_window.cc | 2 | ||||
-rw-r--r-- | ui/views/test/child_modal_window.h | 2 | ||||
-rw-r--r-- | ui/views/test/test_widget_observer.cc | 2 | ||||
-rw-r--r-- | ui/views/test/test_widget_observer.h | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/ui/views/test/child_modal_window.cc b/ui/views/test/child_modal_window.cc index 04d5df5..0172f7d 100644 --- a/ui/views/test/child_modal_window.cc +++ b/ui/views/test/child_modal_window.cc @@ -207,7 +207,7 @@ void ChildModalParent::ButtonPressed(Button* sender, } } -void ChildModalParent::OnWidgetClosing(Widget* widget) { +void ChildModalParent::OnWidgetDestroying(Widget* widget) { if (child_) { DCHECK_EQ(child_, widget); child_ = NULL; diff --git a/ui/views/test/child_modal_window.h b/ui/views/test/child_modal_window.h index 455df7c..492f32a 100644 --- a/ui/views/test/child_modal_window.h +++ b/ui/views/test/child_modal_window.h @@ -48,7 +48,7 @@ class ChildModalParent : public WidgetDelegateView, const ui::Event& event) OVERRIDE; // Overridden from WidgetObserver: - virtual void OnWidgetClosing(Widget* widget) OVERRIDE; + virtual void OnWidgetDestroying(Widget* widget) OVERRIDE; // The button to toggle showing and hiding the child window. The child window // does not block input to this button. diff --git a/ui/views/test/test_widget_observer.cc b/ui/views/test/test_widget_observer.cc index 7d7abb6..160f25b 100644 --- a/ui/views/test/test_widget_observer.cc +++ b/ui/views/test/test_widget_observer.cc @@ -20,7 +20,7 @@ TestWidgetObserver::~TestWidgetObserver() { widget_->RemoveObserver(this); } -void TestWidgetObserver::OnWidgetClosing(Widget* widget) { +void TestWidgetObserver::OnWidgetDestroying(Widget* widget) { DCHECK_EQ(widget_, widget); widget_ = NULL; } diff --git a/ui/views/test/test_widget_observer.h b/ui/views/test/test_widget_observer.h index 51bf3d3..84bf185 100644 --- a/ui/views/test/test_widget_observer.h +++ b/ui/views/test/test_widget_observer.h @@ -24,7 +24,7 @@ class TestWidgetObserver : public WidgetObserver { private: // WidgetObserver overrides: - virtual void OnWidgetClosing(Widget* widget) OVERRIDE; + virtual void OnWidgetDestroying(Widget* widget) OVERRIDE; Widget* widget_; |