Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / public / platform / WebLayer.h
index bcd8524..046b980 100644 (file)
 #define WebLayer_h
 
 #include "WebAnimation.h"
+#include "WebBlendMode.h"
 #include "WebColor.h"
 #include "WebCommon.h"
-#include "WebCompositingReasons.h"
 #include "WebPoint.h"
 #include "WebRect.h"
+#include "WebSize.h"
 #include "WebString.h"
 #include "WebVector.h"
 
 class SkMatrix44;
 class SkImageFilter;
 
-namespace WebKit {
+namespace blink {
 class WebAnimationDelegate;
 class WebFilterOperations;
 class WebLayerClient;
@@ -46,7 +47,6 @@ class WebLayerScrollClient;
 struct WebFloatPoint;
 struct WebFloatRect;
 struct WebLayerPositionConstraint;
-struct WebSize;
 
 class WebLayer {
 public:
@@ -86,15 +86,18 @@ public:
     virtual void setOpacity(float) = 0;
     virtual float opacity() const = 0;
 
+    virtual void setBlendMode(WebBlendMode) = 0;
+    virtual WebBlendMode blendMode() const = 0;
+
+    virtual void setIsRootForIsolatedGroup(bool) = 0;
+    virtual bool isRootForIsolatedGroup() = 0;
+
     virtual void setOpaque(bool) = 0;
     virtual bool opaque() const = 0;
 
     virtual void setPosition(const WebFloatPoint&) = 0;
     virtual WebFloatPoint position() const = 0;
 
-    virtual void setSublayerTransform(const SkMatrix44&) = 0;
-    virtual SkMatrix44 sublayerTransform() const = 0;
-
     virtual void setTransform(const SkMatrix44&) = 0;
     virtual SkMatrix44 transform() const = 0;
 
@@ -102,7 +105,13 @@ public:
     virtual void setDrawsContent(bool) = 0;
     virtual bool drawsContent() const = 0;
 
-    virtual void setPreserves3D(bool) = 0;
+    // Sets whether the layer's transform should be flattened.
+    virtual void setShouldFlattenTransform(bool) = 0;
+
+    // Sets the id of the layer's 3d rendering context. Layers in the same 3d
+    // rendering context id are sorted with one another according to their 3d
+    // position rather than their tree order.
+    virtual void setRenderingContext(int id) = 0;
 
     // Mark that this layer should use its parent's transform and double-sided
     // properties in determining this layer's backface visibility instead of
@@ -127,9 +136,6 @@ public:
     // (opacity, transforms), it may conflict and hide the background filters.
     virtual void setBackgroundFilters(const WebFilterOperations&) = 0;
 
-    // Provides a bitfield that describe why this composited layer was created.
-    virtual void setCompositingReasons(WebCompositingReasons) = 0;
-
     // An animation delegate is notified when animations are started and
     // stopped. The WebLayer does not take ownership of the delegate, and it is
     // the responsibility of the client to reset the layer's delegate before
@@ -167,12 +173,11 @@ public:
     virtual void setScrollPosition(WebPoint) = 0;
     virtual WebPoint scrollPosition() const = 0;
 
-    virtual void setMaxScrollPosition(WebSize) = 0;
     virtual WebSize maxScrollPosition() const = 0;
 
-    virtual void setScrollable(bool) = 0;
+    // To set a WebLayer as scrollable we must specify the corresponding clip layer.
+    virtual void setScrollClipLayer(WebLayer*) = 0;
     virtual bool scrollable() const = 0;
-
     virtual void setUserScrollable(bool horizontal, bool vertical) = 0;
     virtual bool userScrollableHorizontal() const = 0;
     virtual bool userScrollableVertical() const = 0;
@@ -214,6 +219,6 @@ public:
     virtual void setWebLayerClient(WebLayerClient*) = 0;
 };
 
-} // namespace WebKit
+} // namespace blink
 
 #endif // WebLayer_h