Merge branch 'devel/master' into tizen accepted/tizen/unified/20210902.131429 accepted/tizen/unified/20210906.123744 submit/tizen/20210901.082233 submit/tizen/20210906.031407 submit/tizen/20210906.034743
authorjykeon <jykeon@samsung.com>
Tue, 31 Aug 2021 08:10:47 +0000 (17:10 +0900)
committerjykeon <jykeon@samsung.com>
Tue, 31 Aug 2021 08:12:39 +0000 (17:12 +0900)
Change-Id: I990e1495d67fa82620c46a69d9070775269aa65f

61 files changed:
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-buffer.cpp
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-native-image.h
automated-tests/src/dali-adaptor/utc-Dali-Window.cpp
dali/devel-api/adaptor-framework/atspi-accessibility.cpp
dali/devel-api/adaptor-framework/atspi-accessibility.h
dali/devel-api/adaptor-framework/native-image-source-queue.cpp
dali/devel-api/adaptor-framework/native-image-source-queue.h
dali/devel-api/adaptor-framework/web-engine-context.h
dali/devel-api/adaptor-framework/web-engine-hit-test.h
dali/devel-api/adaptor-framework/web-engine-plugin.h
dali/devel-api/adaptor-framework/web-engine-request-interceptor.h
dali/devel-api/adaptor-framework/web-engine.cpp
dali/devel-api/adaptor-framework/web-engine.h
dali/devel-api/adaptor-framework/window-devel.cpp
dali/devel-api/adaptor-framework/window-devel.h
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/adaptor/common/application-impl.cpp
dali/internal/graphics/gles-impl/gles-graphics-buffer.cpp
dali/internal/graphics/gles-impl/gles2-graphics-memory.cpp
dali/internal/graphics/gles-impl/gles3-graphics-memory.cpp
dali/internal/imaging/android/native-image-source-impl-android.cpp
dali/internal/imaging/android/native-image-source-impl-android.h
dali/internal/imaging/android/native-image-source-queue-impl-android.cpp
dali/internal/imaging/android/native-image-source-queue-impl-android.h
dali/internal/imaging/common/native-bitmap-buffer-impl.cpp
dali/internal/imaging/common/native-bitmap-buffer-impl.h
dali/internal/imaging/common/native-image-source-impl.h
dali/internal/imaging/common/native-image-source-queue-impl.h
dali/internal/imaging/macos/native-image-source-impl-mac.cpp
dali/internal/imaging/macos/native-image-source-impl-mac.h
dali/internal/imaging/tizen/native-image-source-impl-tizen.cpp
dali/internal/imaging/tizen/native-image-source-impl-tizen.h
dali/internal/imaging/tizen/native-image-source-queue-impl-tizen.cpp
dali/internal/imaging/tizen/native-image-source-queue-impl-tizen.h
dali/internal/imaging/ubuntu-x11/native-image-source-impl-x.cpp
dali/internal/imaging/ubuntu-x11/native-image-source-impl-x.h
dali/internal/imaging/ubuntu-x11/native-image-source-queue-impl-x.cpp
dali/internal/imaging/ubuntu-x11/native-image-source-queue-impl-x.h
dali/internal/imaging/windows/native-image-source-impl-win.cpp
dali/internal/imaging/windows/native-image-source-impl-win.h
dali/internal/web-engine/common/web-engine-impl.cpp
dali/internal/web-engine/common/web-engine-impl.h
dali/internal/window-system/android/window-base-android.cpp
dali/internal/window-system/android/window-base-android.h
dali/internal/window-system/common/window-base.h
dali/internal/window-system/common/window-impl.cpp
dali/internal/window-system/common/window-impl.h
dali/internal/window-system/macos/window-base-mac.h
dali/internal/window-system/macos/window-base-mac.mm
dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.h
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h
dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp
dali/internal/window-system/ubuntu-x11/window-base-ecore-x.h
dali/internal/window-system/windows/window-base-win.cpp
dali/internal/window-system/windows/window-base-win.h
dali/public-api/adaptor-framework/native-image-source.cpp
dali/public-api/adaptor-framework/native-image-source.h
dali/public-api/dali-adaptor-version.cpp
packaging/dali-adaptor.spec

index 21eecf4..83b7899 100644 (file)
@@ -65,7 +65,7 @@ void TestGraphicsBuffer::Upload(uint32_t offset, uint32_t size)
   }
   else
   {
-    mGl.BufferData(GetTarget(), size, &memory[0], GL_STATIC_DRAW); //@todo Query - do we need other usages?
+    mGl.BufferData(GetTarget(), GLsizeiptr(size), &memory[0], GL_STATIC_DRAW); //@todo Query - do we need other usages?
     mCreated = true;
   }
 }
index fb9451c..bd1bfcc 100644 (file)
@@ -78,11 +78,6 @@ public:
     mCallStack.PushCall("GetTextureTarget", "");
     return GL_TEXTURE_EXTERNAL_OES;
   };
-  inline virtual const char* GetCustomFragmentPrefix() const
-  {
-    mCallStack.PushCall("GetCustomFragmentPrefix", "");
-    return "#extension GL_OES_EGL_image_external:require\n";
-  };
   inline virtual bool ApplyNativeFragmentShader(std::string& shader)
   {
     mCallStack.PushCall("ApplyNativeFragmentShader", "");
index e0580d0..cab5d0a 100644 (file)
@@ -1350,3 +1350,39 @@ int UtcDaliWindowSetParentNegative(void)
   }
   END_TEST;
 }
+
+int UtcDaliWindowAddInputRegion(void)
+{
+  Dali::Window instance;
+  try
+  {
+    Rect<int> includedInputRegion(0,0,720,640);
+    DevelWindow::IncludeInputRegion(instance, includedInputRegion);
+    DALI_TEST_CHECK(false); // Should not get here
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true); // We expect an assert
+  }
+  END_TEST;
+}
+
+int UtcDaliWindowSubtractInputRegion(void)
+{
+  Dali::Window instance;
+  try
+  {
+    Rect<int> includedInputRegion(0,0,720,1280);
+    DevelWindow::IncludeInputRegion(instance, includedInputRegion);
+
+    Rect<int> excludedInputRegion(0,641,720,640);
+    DevelWindow::ExcludeInputRegion(instance, excludedInputRegion);
+
+    DALI_TEST_CHECK(false); // Should not get here
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true); // We expect an assert
+  }
+  END_TEST;
+}
index 64ee565..481aec8 100644 (file)
@@ -113,3 +113,8 @@ int Dali::AtspiAccessibility::GetStatus()
   }
   return -1;
 }
+
+bool Dali::AtspiAccessibility::IsEnabled()
+{
+  return Dali::Accessibility::IsUp();
+}
index 7e52419..16f1e37 100644 (file)
@@ -65,7 +65,7 @@ DALI_ADAPTOR_API void StopReading(bool alsoNonDiscardable = false);
 DALI_ADAPTOR_API bool SuppressScreenReader(bool suppress);
 
 /**
- * @brief Set ATSPI to be turned On or Off forcibly.
+ * @brief Sets ATSPI to be turned On or Off forcibly.
  *
  * @param[in] turnOn true to turn on, false to turn off.
  * @return The status of ATSPI : 0(ATSPI OFF, ScreenReader OFF), 1(ATSPI ON, ScreenReader OFF),
@@ -74,12 +74,19 @@ DALI_ADAPTOR_API bool SuppressScreenReader(bool suppress);
 DALI_ADAPTOR_API int SetForcefully(bool turnOn);
 
 /**
- * @brief Get ATSPI status.
+ * @brief Gets ATSPI status.
  * @return Status of ATSPI : 0(ATSPI OFF, ScreenReader OFF), 1(ATSPI ON, ScreenReader OFF),
  * 2 (ATSPI OFF, ScreenReader ON), 3(ATSPI ON, ScreenReader ON)
  */
 DALI_ADAPTOR_API int GetStatus();
 
+/**
+ * @brief Returns whether the state of Accessibility is enabled or not.
+ *
+ * @return True if Accessibility is enabled, false otherwise.
+ */
+DALI_ADAPTOR_API bool IsEnabled();
+
 } //namespace AtspiAccessibility
 } //namespace Dali
 
index b148c1b..d55e178 100644 (file)
@@ -116,11 +116,6 @@ int NativeImageSourceQueue::GetTextureTarget() const
   return mImpl->GetTextureTarget();
 }
 
-const char* NativeImageSourceQueue::GetCustomFragmentPrefix() const
-{
-  return mImpl->GetCustomFragmentPrefix();
-}
-
 bool NativeImageSourceQueue::ApplyNativeFragmentShader(std::string& shader)
 {
   return mImpl->ApplyNativeFragmentShader(shader);
index 0666d0e..cb62fc1 100644 (file)
@@ -146,11 +146,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 4db0aba..3f9a36d 100755 (executable)
@@ -25,6 +25,7 @@
 #include <vector>
 
 // INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/web-engine-request-interceptor.h>
 #include <dali/devel-api/adaptor-framework/web-engine-security-origin.h>
 
 namespace Dali
@@ -36,6 +37,11 @@ class WebEngineContext
 {
 public:
   /**
+   * @brief WebView callback related with http request interceptor.
+   */
+  using WebEngineRequestInterceptedCallback = std::function<void(Dali::WebEngineRequestInterceptorPtr)>;
+
+  /**
    * @brief Callback for getting web database origins.
    */
   using WebEngineSecurityOriginAcquiredCallback = std::function<void(std::vector<std::unique_ptr<Dali::WebEngineSecurityOrigin>>&)>;
@@ -276,6 +282,13 @@ public:
   virtual void RegisterMimeOverriddenCallback(WebEngineMimeOverriddenCallback callback) = 0;
 
   /**
+   * @brief Callback to be called when http request need be intercepted.
+   *
+   * @param[in] callback
+   */
+  virtual void RegisterRequestInterceptedCallback(WebEngineRequestInterceptedCallback callback) = 0;
+
+  /**
    * @brief Toggle the cache to be enabled or disabled
    * Function works asynchronously.
    *
index 356fec8..62dbcfa 100755 (executable)
@@ -128,7 +128,7 @@ public:
    *
    * @return the attribute data of the hit element in the coordinates of the hit test
    */
-  virtual Dali::Property::Map& GetAttributes() const = 0;
+  virtual Dali::Property::Map GetAttributes() const = 0;
 
   /**
    * @brief Get the image file name extension of hit element of the hit test.
index 07daee3..5ac59fd 100755 (executable)
@@ -45,7 +45,6 @@ class WebEngineHitTest;
 class WebEngineHttpAuthHandler;
 class WebEngineLoadError;
 class WebEnginePolicyDecision;
-class WebEngineRequestInterceptor;
 class WebEngineSettings;
 class HoverEvent;
 class WheelEvent;
@@ -104,11 +103,6 @@ public:
   using VideoPlayingCallback = std::function<void(bool)>;
 
   /**
-   * @brief WebView callback related with http request interceptor.
-   */
-  using WebEngineRequestInterceptorCallback = std::function<void(std::unique_ptr<Dali::WebEngineRequestInterceptor>)>;
-
-  /**
    * @brief WebView callback related with console message logged.
    */
   using WebEngineConsoleMessageReceivedCallback = std::function<void(std::unique_ptr<Dali::WebEngineConsoleMessage>)>;
@@ -819,13 +813,6 @@ public:
   virtual void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) = 0;
 
   /**
-   * @brief Callback to be called when http request need be intercepted.
-   *
-   * @param[in] callback
-   */
-  virtual void RegisterRequestInterceptorCallback(WebEngineRequestInterceptorCallback callback) = 0;
-
-  /**
    * @brief Callback to be called when console message will be logged.
    *
    * @param[in] callback
index dc20661..d777c63 100755 (executable)
  */
 
 // EXTERNAL INCLUDES
+#include <dali/public-api/common/intrusive-ptr.h>
+#include <dali/public-api/object/property-map.h>
+#include <dali/public-api/object/ref-object.h>
+
 #include <string>
 
 namespace Dali
@@ -26,7 +30,7 @@ namespace Dali
 /**
  * @brief A class WebEngineRequestInterceptor for intercepting http request.
  */
-class WebEngineRequestInterceptor
+class WebEngineRequestInterceptor : public RefObject
 {
 public:
   /**
@@ -42,14 +46,30 @@ public:
   /**
    * @brief Returns request url.
    *
-   * @return url on success or empty on failure
+   * @return url if succeeded or empty otherwise
    */
   virtual std::string GetUrl() const = 0;
 
   /**
+   * @brief Returns http headers.
+   *
+   * @return headers if succeeded or empty otherwise
+   */
+  virtual Dali::Property::Map GetHeaders() const = 0;
+
+  /**
+   * @brief Returns http method.
+   *
+   * @return method if succeeded or empty otherwise
+   */
+  virtual std::string GetMethod() const = 0;
+
+  /**
    * @brief Ignores request.
+   * @note After this call, any further calls result in undefined behavior.
+   *       This function can be called only INSIDE Dali::WebEngineContext::WebEngineRequestInterceptedCallback.
    *
-   * @return true on success or false on failure
+   * @return true if succeeded or false otherwise
    */
   virtual bool Ignore() = 0;
 
@@ -59,7 +79,7 @@ public:
    * @param[in] statusCode Status code of response
    * @param[in] customStatusText Status code of response
    *
-   * @return true if succeeded or false if failed
+   * @return true if succeeded or false otherwise
    */
   virtual bool SetResponseStatus(int statusCode, const std::string& customStatusText) = 0;
 
@@ -69,21 +89,58 @@ public:
    * @param[in] fieldName Key of response header
    * @param[in] fieldValue Value of response header
    *
-   * @return true if succeeded or false if failed
+   * @return true if succeeded or false otherwise
    */
   virtual bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) = 0;
 
   /**
+   * @brief Adds HTTP headers to response.
+   *
+   * @param[in] headers Headers of response
+   *
+   * @return true if succeeded or false otherwise
+   */
+  virtual bool AddResponseHeaders(const Dali::Property::Map& headers) = 0;
+
+  /**
    * @brief Writes whole response body at once.
    *
    * @param[in] body Contents of response
-   * @param[in] length Length of Contents of response
+   * @param[in] length Length of contents of response
    *
-   * @return true if succeeded or false if failed
+   * @return true if succeeded or false otherwise
    */
   virtual bool AddResponseBody(const std::string& body, uint32_t length) = 0;
+
+  /**
+   * @brief Writes whole response at once.
+   *
+   * @param[in] headers Headers of response
+   * @param[in] body Contents of response
+   * @param[in] length Length of contents of response
+   *
+   * @return true if succeeded or false otherwise
+   */
+  virtual bool AddResponse(const std::string& headers, const std::string& body, uint32_t length) = 0;
+
+  /**
+   * @brief Writes a part of response body.
+   * @note If this function returns false, handling the request is done.
+   *       Any further calls result in undefined behavior.
+   *       User should always check return value, because response to this request might not be needed any more,
+   *       and function can return false even though user still has data to write.
+   *       This function can be called only OUTSIDE Dali::WebEngineContext::WebEngineRequestInterceptedCallback.
+   *
+   * @param[in] chunk Chunks of response
+   * @param[in] length Length of chunks of response
+   *
+   * @return true if succeeded or false otherwise
+   */
+  virtual bool WriteResponseChunk(const std::string& chunk, uint32_t length) = 0;
 };
 
+using WebEngineRequestInterceptorPtr = Dali::IntrusivePtr<WebEngineRequestInterceptor>;
+
 } // namespace Dali
 
 #endif // DALI_WEB_ENGINE_REQUEST_INTERCEPTOR_H
index 86f67f1..db92561 100755 (executable)
@@ -29,7 +29,6 @@
 #include <dali/devel-api/adaptor-framework/web-engine-http-auth-handler.h>
 #include <dali/devel-api/adaptor-framework/web-engine-load-error.h>
 #include <dali/devel-api/adaptor-framework/web-engine-policy-decision.h>
-#include <dali/devel-api/adaptor-framework/web-engine-request-interceptor.h>
 #include <dali/devel-api/adaptor-framework/web-engine-settings.h>
 #include <dali/internal/web-engine/common/web-engine-impl.h>
 
@@ -517,11 +516,6 @@ void WebEngine::RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngi
   GetImplementation(*this).RegisterFormRepostDecidedCallback(callback);
 }
 
-void WebEngine::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
-{
-  GetImplementation(*this).RegisterRequestInterceptorCallback(callback);
-}
-
 void WebEngine::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
 {
   GetImplementation(*this).RegisterConsoleMessageReceivedCallback(callback);
index 4ba8cbf..7bd2ea2 100755 (executable)
@@ -688,13 +688,6 @@ public:
   void RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback callback);
 
   /**
-   * @brief Callback to be called when http request need be intercepted.
-   *
-   * @param[in] callback
-   */
-  void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback);
-
-  /**
    * @brief Callback to be called when console message will be logged.
    *
    * @param[in] callback
index 886d56b..908a8ae 100644 (file)
@@ -171,6 +171,16 @@ void EnableFloatingMode(Window window, bool enable)
   GetImplementation(window).EnableFloatingMode(enable);
 }
 
+void IncludeInputRegion(Window window, const Rect<int>& inputRegion)
+{
+  GetImplementation(window).IncludeInputRegion(inputRegion);
+}
+
+void ExcludeInputRegion(Window window, const Rect<int>& inputRegion)
+{
+  GetImplementation(window).ExcludeInputRegion(inputRegion);
+}
+
 } // namespace DevelWindow
 
 } // namespace Dali
index 20adb92..108b4f4 100644 (file)
@@ -308,6 +308,39 @@ DALI_ADAPTOR_API void RequestResizeToServer(Window window, WindowResizeDirection
  */
 DALI_ADAPTOR_API void EnableFloatingMode(Window window, bool enable);
 
+/**
+ * @brief Includes input region.
+ *
+ * This function inlcudes input regions.
+ * It can be used multiple times and supports multiple regions.
+ * It means input region will be extended.
+ *
+ * This input is related to mouse and touch event.
+ * If device has touch screen, this function is useful.
+ * Otherwise device does not have that, we can use it after connecting mouse to the device.
+ *
+ * @param[in] window The window instance.
+ * @param[in] inputRegion The added region to accept input events.
+ */
+DALI_ADAPTOR_API void IncludeInputRegion(Window window, const Rect<int>& inputRegion);
+
+/**
+ * @brief Excludes input region.
+ *
+ * This function excludes input regions.
+ * It can be used multiple times and supports multiple regions.
+ * It means input region will be reduced.
+ * Nofice, should be set input area by IncludeInputRegion() before this function is used.
+ *
+ * This input is related to mouse and touch event.
+ * If device has touch screen, this function is useful.
+ * Otherwise device does not have that, we can use it after connecting mouse to the device.
+ *
+ * @param[in] window The window instance.
+ * @param[in] inputRegion The subtracted region to except input events.
+ */
+DALI_ADAPTOR_API void ExcludeInputRegion(Window window, const Rect<int>& inputRegion);
+
 } // namespace DevelWindow
 
 } // namespace Dali
index fabadaf..c00add5 100644 (file)
@@ -336,6 +336,7 @@ void Adaptor::AccessibilityObserver::OnAccessibleKeyEvent(const Dali::KeyEvent&
 
 Adaptor::~Adaptor()
 {
+  Accessibility::Bridge::GetCurrentBridge()->ApplicationHidden();
   Accessibility::Bridge::GetCurrentBridge()->Terminate();
 
   // Ensure stop status
index 69e4b4c..fadfc0c 100644 (file)
@@ -238,6 +238,7 @@ void Application::Quit()
 
 void Application::QuitFromMainLoop()
 {
+  Accessibility::Bridge::GetCurrentBridge()->ApplicationHidden();
   Accessibility::Bridge::GetCurrentBridge()->Terminate();
 
   mAdaptor->Stop();
index b8dafab..ed72c22 100644 (file)
@@ -92,7 +92,7 @@ void Buffer::InitializeGPUBuffer()
 
   gl->GenBuffers(1, &mBufferId);
   context->BindBuffer(GL_ARRAY_BUFFER, mBufferId);
-  gl->BufferData(GL_ARRAY_BUFFER, mCreateInfo.size, nullptr, GL_STATIC_DRAW);
+  gl->BufferData(GL_ARRAY_BUFFER, GLsizeiptr(mCreateInfo.size), nullptr, GL_STATIC_DRAW);
 }
 
 void Buffer::DestroyResource()
@@ -169,4 +169,4 @@ void Buffer::Bind(Graphics::BufferUsage bindingTarget) const
   }
 }
 
-} // namespace Dali::Graphics::GLES
\ No newline at end of file
+} // namespace Dali::Graphics::GLES
index 4c2e45c..f4505d9 100644 (file)
@@ -83,7 +83,7 @@ void Memory2::Unlock(bool flush)
     if(!buffer->IsCPUAllocated())
     {
       buffer->Bind(BufferUsage::VERTEX_BUFFER);
-      gl->BufferSubData(GL_ARRAY_BUFFER, mMapBufferInfo.offset, mMapBufferInfo.size, mMappedPointer);
+      gl->BufferSubData(GL_ARRAY_BUFFER, mMapBufferInfo.offset, GLsizeiptr(mMapBufferInfo.size), mMappedPointer);
     }
   }
 
@@ -104,4 +104,4 @@ void Memory2::Flush()
   // TODO:
 }
 
-} // namespace Dali::Graphics::GLES
\ No newline at end of file
+} // namespace Dali::Graphics::GLES
index 8b3908d..c2864c1 100644 (file)
@@ -65,7 +65,7 @@ void* Memory3::LockRegion(uint32_t offset, uint32_t size)
       // @TODO: trashing vertex binding, better find target that is rarely used
       buffer->Bind(Graphics::BufferUsage::VERTEX_BUFFER);
       void* ptr      = nullptr;
-      ptr            = gl->MapBufferRange(GL_ARRAY_BUFFER, mMapBufferInfo.offset, mMapBufferInfo.size, GL_MAP_WRITE_BIT);
+      ptr            = gl->MapBufferRange(GL_ARRAY_BUFFER, mMapBufferInfo.offset, GLsizeiptr(mMapBufferInfo.size), GL_MAP_WRITE_BIT);
       mMappedPointer = ptr;
     }
     return mMappedPointer;
@@ -101,4 +101,4 @@ void Memory3::Flush()
   // TODO:
 }
 
-} // namespace Dali::Graphics::GLES
\ No newline at end of file
+} // namespace Dali::Graphics::GLES
index 9584864..e06af8e 100644 (file)
@@ -303,11 +303,6 @@ int NativeImageSourceAndroid::GetTextureTarget() const
   return GL_TEXTURE_2D;
 }
 
-const char* NativeImageSourceAndroid::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceAndroid::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index 6cb21b8..1b87f5f 100644 (file)
@@ -130,11 +130,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageSource::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageSource::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index ac9b53a..79e009f 100644 (file)
@@ -98,11 +98,6 @@ void NativeImageSourceQueueAndroid::PrepareTexture()
 {
 }
 
-const char* NativeImageSourceQueueAndroid::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceQueueAndroid::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index f827cde..28a5c2e 100644 (file)
@@ -137,11 +137,6 @@ public:
   }
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index e754cdb..0537f1b 100644 (file)
@@ -110,11 +110,6 @@ int NativeBitmapBuffer::GetTextureTarget() const
   return 0;
 }
 
-const char* NativeBitmapBuffer::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeBitmapBuffer::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index 2166c17..344334f 100644 (file)
@@ -108,11 +108,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 077b9e0..3dd33b2 100644 (file)
@@ -115,11 +115,6 @@ public:
   virtual int GetTextureTarget() const = 0;
 
   /**
-   * @copydoc Dali::NativeImageSource::GetCustomFragmentPrefix()
-   */
-  virtual const char* GetCustomFragmentPrefix() const = 0;
-
-  /**
    * @copydoc Dali::NativeImageSource::ApplyNativeFragmentShader()
    */
   virtual bool ApplyNativeFragmentShader(std::string& shader) = 0;
index d1b7ead..8c9028b 100644 (file)
@@ -114,11 +114,6 @@ public:
   virtual int GetTextureTarget() const = 0;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  virtual const char* GetCustomFragmentPrefix() const = 0;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   virtual bool ApplyNativeFragmentShader(std::string& shader) = 0;
index c0abb5d..3e3b33f 100644 (file)
@@ -154,11 +154,6 @@ void NativeImageSourceCocoa::PrepareTexture()
 {
 }
 
-const char* NativeImageSourceCocoa::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceCocoa::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index a70f33c..6e5ed2a 100644 (file)
@@ -114,11 +114,6 @@ public:
   bool RequiresBlending() const override;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index b3afaaa..a6e7cc6 100644 (file)
@@ -38,7 +38,6 @@ namespace Adaptor
 {
 namespace
 {
-const char* FRAGMENT_PREFIX = "#extension GL_OES_EGL_image_external:require\n";
 const char* SAMPLER_TYPE    = "samplerExternalOES";
 
 // clang-format off
@@ -460,11 +459,6 @@ void NativeImageSourceTizen::PrepareTexture()
   }
 }
 
-const char* NativeImageSourceTizen::GetCustomFragmentPrefix() const
-{
-  return FRAGMENT_PREFIX;
-}
-
 bool NativeImageSourceTizen::ApplyNativeFragmentShader(std::string& shader)
 {
   return mEglGraphics->ApplyNativeFragmentShader(shader, SAMPLER_TYPE);
index 7436a33..11569fc 100644 (file)
@@ -126,11 +126,6 @@ public:
   }
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader(std::string& shader)
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 34673bc..fab4a53 100644 (file)
@@ -38,7 +38,6 @@ namespace
 {
 #define TBM_SURFACE_QUEUE_SIZE 3
 
-const char* FRAGMENT_PREFIX = "#extension GL_OES_EGL_image_external:require\n";
 const char* SAMPLER_TYPE    = "samplerExternalOES";
 
 // clang-format off
@@ -356,11 +355,6 @@ void NativeImageSourceQueueTizen::PrepareTexture()
   }
 }
 
-const char* NativeImageSourceQueueTizen::GetCustomFragmentPrefix() const
-{
-  return FRAGMENT_PREFIX;
-}
-
 bool NativeImageSourceQueueTizen::ApplyNativeFragmentShader(std::string& shader)
 {
   return mEglGraphics->ApplyNativeFragmentShader(shader, SAMPLER_TYPE);
index 3e20815..347f60a 100644 (file)
@@ -133,11 +133,6 @@ public:
   }
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 45afbed..656c2e0 100644 (file)
@@ -357,11 +357,6 @@ int NativeImageSourceX::GetTextureTarget() const
   return GL_TEXTURE_2D;
 }
 
-const char* NativeImageSourceX::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceX::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index ba132b9..e6b672c 100644 (file)
@@ -130,11 +130,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageSource::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageSource::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 8b4be71..8023374 100644 (file)
@@ -103,11 +103,6 @@ void NativeImageSourceQueueX::PrepareTexture()
 {
 }
 
-const char* NativeImageSourceQueueX::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceQueueX::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index cde85e2..5711b6c 100644 (file)
@@ -134,11 +134,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index ce0189b..f1997a7 100644 (file)
@@ -228,11 +228,6 @@ void NativeImageSourceWin::GetPixmapDetails()
 {
 }
 
-const char* NativeImageSourceWin::GetCustomFragmentPrefix() const
-{
-  return nullptr;
-}
-
 bool NativeImageSourceWin::ApplyNativeFragmentShader(std::string& shader)
 {
   return false;
index e47f306..8893c50 100644 (file)
@@ -120,11 +120,6 @@ public:
   }
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index f4753f0..9afe674 100755 (executable)
@@ -35,7 +35,6 @@
 #include <dali/devel-api/adaptor-framework/web-engine-http-auth-handler.h>
 #include <dali/devel-api/adaptor-framework/web-engine-load-error.h>
 #include <dali/devel-api/adaptor-framework/web-engine-policy-decision.h>
-#include <dali/devel-api/adaptor-framework/web-engine-request-interceptor.h>
 #include <dali/devel-api/adaptor-framework/web-engine-settings.h>
 #include <dali/internal/system/common/environment-variables.h>
 #include <dali/public-api/adaptor-framework/native-image-source.h>
@@ -611,11 +610,6 @@ void WebEngine::RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngi
   mPlugin->RegisterFormRepostDecidedCallback(callback);
 }
 
-void WebEngine::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
-{
-  mPlugin->RegisterRequestInterceptorCallback(callback);
-}
-
 void WebEngine::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
 {
   mPlugin->RegisterConsoleMessageReceivedCallback(callback);
index c3ad4d0..73e311b 100755 (executable)
@@ -495,11 +495,6 @@ public:
   void RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback callback);
 
   /**
-   * @copydoc Dali::WebEngine::RegisterRequestInterceptorCallback()
-   */
-  void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback);
-
-  /**
    @copydoc Dali::WebEngine::RegisterConsoleMessageReceivedCallback()
    */
   void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback);
index 98d8b20..99e1dee 100644 (file)
@@ -389,6 +389,14 @@ bool WindowBaseAndroid::IsFloatingModeEnabled() const
   return false;
 }
 
+void WindowBaseAndroid::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
+void WindowBaseAndroid::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index c3c52b3..8ba0a14 100644 (file)
@@ -404,6 +404,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   /**
    * Second stage initialization
index 389e7c5..7983f45 100644 (file)
@@ -406,6 +406,18 @@ public:
    */
   virtual void ImeWindowReadyToRender() = 0;
 
+  /**
+   * @brief Includes input region.
+   * @param[in] inputRegion The added region to accept input events.
+   */
+  virtual void IncludeInputRegion(const Rect<int>& inputRegion) = 0;
+
+  /**
+   * @brief Excludes input region.
+   * @param[in] inputRegion The subtracted region to except input events.
+   */
+  virtual void ExcludeInputRegion(const Rect<int>& inputRegion) = 0;
+
   // Signals
 
   /**
index 79228af..1bc3188 100644 (file)
@@ -995,6 +995,16 @@ void Window::EnableFloatingMode(bool enable)
   mWindowBase->EnableFloatingMode(enable);
 }
 
+void Window::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+  mWindowBase->IncludeInputRegion(inputRegion);
+}
+
+void Window::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+  mWindowBase->ExcludeInputRegion(inputRegion);
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index b7c1d61..761bb0e 100644 (file)
@@ -391,6 +391,16 @@ public: // Dali::Internal::Adaptor::SceneHolder
    */
   void EnableFloatingMode(bool enable);
 
+  /**
+   * @copydoc Dali::DevelWindow::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion);
+
+  /**
+   * @copydoc Dali::DevelWindow::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion);
+
 private:
   /**
    * @brief Enumeration for orietation mode.
index 41bc806..b967686 100644 (file)
@@ -337,6 +337,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   // Undefined
   WindowBaseCocoa(const WindowBaseCocoa&) = delete;
index e4c06ac..594a186 100644 (file)
@@ -680,6 +680,14 @@ bool WindowBaseCocoa::IsFloatingModeEnabled() const
   return false;
 }
 
+void WindowBaseCocoa::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
+void WindowBaseCocoa::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
 } // namespace Dali::Internal::Adaptor
 
 @implementation CocoaView
index 37f992c..55c6a7e 100644 (file)
@@ -2209,6 +2209,14 @@ bool WindowBaseEcoreWl::IsFloatingModeEnabled() const
   return false;
 }
 
+void WindowBaseEcoreWl::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
+void WindowBaseEcoreWl::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 003fdfa..8cca415 100644 (file)
@@ -470,6 +470,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   /**
    * Second stage initialization
index d467bb3..403337a 100644 (file)
@@ -2720,6 +2720,30 @@ bool WindowBaseEcoreWl2::IsFloatingModeEnabled() const
   return ecore_wl2_window_floating_mode_get(mEcoreWindow);
 }
 
+void WindowBaseEcoreWl2::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+  Eina_Rectangle rect;
+  rect.x = inputRegion.x;
+  rect.y = inputRegion.y;
+  rect.w = inputRegion.width;
+  rect.h = inputRegion.height;
+
+  ecore_wl2_window_input_rect_add(mEcoreWindow, &rect);
+  ecore_wl2_window_commit(mEcoreWindow, EINA_TRUE);
+}
+
+void WindowBaseEcoreWl2::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+  Eina_Rectangle rect;
+  rect.x = inputRegion.x;
+  rect.y = inputRegion.y;
+  rect.w = inputRegion.width;
+  rect.h = inputRegion.height;
+
+  ecore_wl2_window_input_rect_subtract(mEcoreWindow, &rect);
+  ecore_wl2_window_commit(mEcoreWindow, EINA_TRUE);
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 9c71f52..d05c99a 100644 (file)
@@ -502,6 +502,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   /**
    * Second stage initialization
index fa125d8..67cb784 100644 (file)
@@ -955,6 +955,14 @@ bool WindowBaseEcoreX::IsFloatingModeEnabled() const
   return false;
 }
 
+void WindowBaseEcoreX::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
+void WindowBaseEcoreX::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 03ffbcc..2a34f8f 100644 (file)
@@ -404,6 +404,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   /**
    * Second stage initialization
index 748f707..cb903ef 100644 (file)
@@ -611,6 +611,14 @@ bool WindowBaseWin::IsFloatingModeEnabled() const
   return false;
 }
 
+void WindowBaseWin::IncludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
+void WindowBaseWin::ExcludeInputRegion(const Rect<int>& inputRegion)
+{
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 854e66c..6e0f7db 100644 (file)
@@ -391,6 +391,16 @@ public:
    */
   bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
 private:
   /**
    * Second stage initialization
index 2f528e0..727b71b 100644 (file)
@@ -105,11 +105,6 @@ int NativeImageSource::GetTextureTarget() const
   return mImpl->GetTextureTarget();
 }
 
-const char* NativeImageSource::GetCustomFragmentPrefix() const
-{
-  return mImpl->GetCustomFragmentPrefix();
-}
-
 bool NativeImageSource::ApplyNativeFragmentShader(std::string& shader)
 {
   return mImpl->ApplyNativeFragmentShader(shader);
index 2e0e8d1..1d038b6 100644 (file)
@@ -157,11 +157,6 @@ public:
   int GetTextureTarget() const override;
 
   /**
-   * @copydoc Dali::NativeImageInterface::GetCustomFragmentPrefix()
-   */
-  const char* GetCustomFragmentPrefix() const override;
-
-  /**
    * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
    */
   bool ApplyNativeFragmentShader(std::string& shader) override;
index 402e2c1..deadd9f 100644 (file)
@@ -27,7 +27,7 @@ namespace Dali
 {
 const unsigned int ADAPTOR_MAJOR_VERSION = 2;
 const unsigned int ADAPTOR_MINOR_VERSION = 0;
-const unsigned int ADAPTOR_MICRO_VERSION = 40;
+const unsigned int ADAPTOR_MICRO_VERSION = 41;
 const char* const  ADAPTOR_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 5be2140..cfd6693 100644 (file)
@@ -17,7 +17,7 @@
 
 Name:       dali2-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    2.0.40
+Version:    2.0.41
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT