Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: third_party/WebKit/Source/core/dom/CompositorProxy.h

Issue 1547893003: WIP - compositor worker mega patch. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698