Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: athena/screen/public/screen_manager.h

Issue 662763002: Support modal windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: fix leaks Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « athena/screen/modal_window_controller_unittest.cc ('k') | athena/screen/screen_accelerator_handler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/screen/public/screen_manager.h
diff --git a/athena/screen/public/screen_manager.h b/athena/screen/public/screen_manager.h
index e2637820ece499b8b7fda62bc0caa57363c268b6..11dda1f7ad87a571121a4ea91935d432d858fea4 100644
--- a/athena/screen/public/screen_manager.h
+++ b/athena/screen/public/screen_manager.h
@@ -29,11 +29,37 @@ class ATHENA_EXPORT ScreenManager {
// True if the container can activate its child window.
bool can_activate_children;
- // True if the container will grab all of input events.
- bool grab_inputs;
+ // True if the container will block evnets from containers behind it.
+ bool block_events;
// Defines the z_order priority of the container.
int z_order_priority;
+
+ // True if this container should be used as a default parent.
+ bool default_parent;
+
+ // The container priority used to open modal dialog window
+ // created with this container as a transient parent (Note: A modal window
+ // should
+ // use a trnasient parent, not a direct parent, or no transient parent.)
+ //
+ // Default is -1, and it will fallback to the container behind this
+ // container,
+ // that has the modal container proiroty.
+ //
+ // The modal container for modal window is selected as follows.
+ // 1) a window must be created with |aura::client::kModalKey| property
+ // without explicit parent set.
+ // 2.a) If aura::client::kAlwaysOnTopKey is NOT set, it uses the stand flow
+ // described above. (fallback to containers behind this).
+ // 2.b) If aura::client::kAlwaysOnTopKey is set, it searches the top most
+ // container which has |modal_container_priority| != -1.
+ // 3) Look for the container with |modal_container_priority|, and create
+ // one if it doesn't exist.
+ //
+ // Created modal container will self destruct if last modal window
+ // is deleted.
+ int modal_container_priority;
};
// Creates, returns and deletes the singleton object of the ScreenManager
@@ -44,11 +70,6 @@ class ATHENA_EXPORT ScreenManager {
virtual ~ScreenManager() {}
- // Creates the container window that is used when creating a normal
- // widget without specific parent.
- virtual aura::Window* CreateDefaultContainer(
- const ContainerParams& params) = 0;
-
// Creates the container window on the screen.
virtual aura::Window* CreateContainer(const ContainerParams& params) = 0;
« no previous file with comments | « athena/screen/modal_window_controller_unittest.cc ('k') | athena/screen/screen_accelerator_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698