Make sure that global variables are initialized lazily.
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / web-view / web-view-impl.h
index 6fe96ad..61834a2 100755 (executable)
@@ -40,8 +40,6 @@ namespace Toolkit
 class KeyEvent;
 class TouchEvent;
 class WebBackForwardList;
-class WebContext;
-class WebCookieManager;
 class WebSettings;
 class WebView;
 
@@ -75,19 +73,24 @@ public:
   static Toolkit::WebView New(uint32_t argc, char** argv);
 
   /**
-   * @copydoc Dali::Toolkit::WebView::GetSettings()
+   * @copydoc Dali::Toolkit::WebView::FindWebView()
    */
-  Dali::Toolkit::WebSettings* GetSettings() const;
+  static Toolkit::WebView FindWebView(Dali::WebEnginePlugin* plugin);
 
   /**
    * @copydoc Dali::Toolkit::WebView::GetContext()
    */
-  Dali::Toolkit::WebContext* GetContext() const;
+  static Dali::WebEngineContext* GetContext();
 
   /**
    * @copydoc Dali::Toolkit::WebView::GetCookieManager()
    */
-  Dali::Toolkit::WebCookieManager* GetCookieManager() const;
+  static Dali::WebEngineCookieManager* GetCookieManager();
+
+  /**
+   * @copydoc Dali::Toolkit::WebView::GetSettings()
+   */
+  Dali::Toolkit::WebSettings* GetSettings() const;
 
   /**
    * @copydoc Dali::Toolkit::WebView::GetBackForwardList()
@@ -95,6 +98,11 @@ public:
   Dali::Toolkit::WebBackForwardList* GetBackForwardList() const;
 
   /**
+   * @copydoc Dali::Toolkit::WebView::GetPlugin()
+   */
+  Dali::WebEnginePlugin* GetPlugin() const;
+
+  /**
    * @copydoc Dali::Toolkit::WebView::GetFavicon()
    */
   Dali::Toolkit::ImageView GetFavicon() const;
@@ -370,6 +378,11 @@ public:
   void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback);
 
   /**
+   * @copydoc Dali::Toolkit::WebView::RegisterNewWindowCreatedCallback()
+   */
+  void RegisterNewWindowCreatedCallback(Dali::WebEnginePlugin::WebEngineNewWindowCreatedCallback callback);
+
+  /**
    * @copydoc Dali::Toolkit::WebView::RegisterCertificateConfirmedCallback()
    */
   void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback);
@@ -584,12 +597,6 @@ private:
   bool SetVisibility(bool visible);
 
   /**
-   * @brief Update display area of web view.
-   * @param[in] source The soource triggers Notification.
-   */
-  void UpdateDisplayArea(Dali::PropertyNotification& source);
-
-  /**
    * @brief Enable/Disable video hole for video playing.
    * @param[in] enabled True if video hole is enabled, false otherwise.
    */
@@ -652,9 +659,10 @@ private:
   void OnFrameRendered();
 
   /**
-   * @brief Callback function to be called when frame is rendered. This is to check initial buffer is ready.
+   * @brief Callback for updating display area of web view.
+   * @param[in] source The soource triggers Notification.
    */
-  void OnInitialFrameRendered();
+  void OnDisplayAreaUpdated(Dali::PropertyNotification& source);
 
   /**
    * @brief Callback function to be called when visibility is changed.
@@ -680,6 +688,11 @@ protected:
 
   protected:
     /**
+     * @copydoc Dali::Accessibility::Accessible::GetAttributes()
+     */
+    Dali::Accessibility::Attributes GetAttributes() const override;
+
+    /**
      * @copydoc Dali::Accessibility::ActorAccessible::DoGetChildren()
      */
     void DoGetChildren(std::vector<Dali::Accessibility::Accessible*>& children) override;
@@ -698,8 +711,6 @@ private:
   Dali::Size                  mWebViewSize;
   Dali::WebEngine             mWebEngine;
 
-  std::unique_ptr<Dali::Toolkit::WebContext>         mWebContext;
-  std::unique_ptr<Dali::Toolkit::WebCookieManager>   mWebCookieManager;
   std::unique_ptr<Dali::Toolkit::WebSettings>        mWebSettings;
   std::unique_ptr<Dali::Toolkit::WebBackForwardList> mWebBackForwardList;