Index: third_party/WebKit/Source/core/dom/CompositorProxy.h |
diff --git a/third_party/WebKit/Source/core/dom/CompositorProxy.h b/third_party/WebKit/Source/core/dom/CompositorProxy.h |
index 18a9d74d75e5102e4a96f9435ac7f98d6b849e18..76c3b2a647c84224175cce555336eece9a37dbef 100644 |
--- a/third_party/WebKit/Source/core/dom/CompositorProxy.h |
+++ b/third_party/WebKit/Source/core/dom/CompositorProxy.h |
@@ -6,6 +6,8 @@ |
#define CompositorProxy_h |
#include "bindings/core/v8/ScriptWrappable.h" |
+#include "core/CoreExport.h" |
+#include "core/dom/CompositorProxyClient.h" |
#include "core/dom/DOMMatrix.h" |
#include "core/dom/Element.h" |
#include "platform/heap/Handle.h" |
@@ -19,17 +21,18 @@ namespace blink { |
class DOMMatrix; |
class ExceptionState; |
class ExecutionContext; |
+class WebCompositorMutableState; |
-class CompositorProxy final : public GarbageCollectedFinalized<CompositorProxy>, public ScriptWrappable { |
+class CORE_EXPORT CompositorProxy final : public GarbageCollectedFinalized<CompositorProxy>, public ScriptWrappable { |
DEFINE_WRAPPERTYPEINFO(); |
public: |
static CompositorProxy* create(ExecutionContext*, Element*, const Vector<String>& attributeArray, ExceptionState&); |
- static CompositorProxy* create(uint64_t element, uint32_t compositorMutableProperties); |
+ static CompositorProxy* create(ExecutionContext*, uint64_t element, uint32_t compositorMutableProperties); |
virtual ~CompositorProxy(); |
DEFINE_INLINE_TRACE() |
{ |
- visitor->trace(m_transform); |
+ visitor->trace(m_client); |
} |
uint64_t elementId() const { return m_elementId; } |
@@ -49,23 +52,26 @@ public: |
void setScrollTop(double, ExceptionState&); |
void setTransform(DOMMatrix*, ExceptionState&); |
+ void takeCompositorMutableState(WebCompositorMutableState*); |
+ void clearClient() { m_client = nullptr; } |
+ |
protected: |
CompositorProxy(Element&, const Vector<String>& attributeArray); |
- CompositorProxy(uint64_t element, uint32_t compositorMutableProperties); |
+ CompositorProxy(uint64_t element, uint32_t compositorMutableProperties, CompositorProxyClient*); |
private: |
bool raiseExceptionIfNotMutable(uint32_t compositorMutableProperty, ExceptionState&) const; |
+ void setNeedsSync(); |
+ |
const uint64_t m_elementId = 0; |
const uint32_t m_compositorMutableProperties = 0; |
- uint32_t m_mutatedProperties = 0; |
- double m_opacity = 0; |
- double m_scrollLeft = 0; |
- double m_scrollTop = 0; |
- Member<DOMMatrix> m_transform; |
+ bool m_needsSync = false; |
bool m_connected = true; |
+ RawPtrWillBeMember<CompositorProxyClient> m_client; |
+ OwnPtr<WebCompositorMutableState> m_state; |
}; |
} // namespace blink |