Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / athena / screen / public / screen_manager.h
index e263782..11dda1f 100644 (file)
@@ -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;