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..e3c0ef71774ab2867dc16c19cea3ac6f1a5c90eb 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" |
@@ -16,26 +18,28 @@ |
namespace blink { |
+class CompositorMutableState; |
class DOMMatrix; |
class ExceptionState; |
class ExecutionContext; |
-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; } |
uint32_t compositorMutableProperties() const { return m_compositorMutableProperties; } |
bool supports(const String& attribute) const; |
+ bool initialized() const { return m_connected && m_state.get(); } |
bool connected() const { return m_connected; } |
void disconnect(); |
@@ -49,23 +53,26 @@ public: |
void setScrollTop(double, ExceptionState&); |
void setTransform(DOMMatrix*, ExceptionState&); |
+ void takeCompositorMutableState(PassOwnPtr<CompositorMutableState> state); |
+ 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<CompositorMutableState> m_state; |
}; |
} // namespace blink |