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

Side by Side Diff: third_party/WebKit/public/platform/WebLayer.h

Issue 2251303003: Implement position: sticky updates on compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with master and add comments to WebLayerStickyPositionConstraint members. Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 class LayerClient; 46 class LayerClient;
47 class FilterOperations; 47 class FilterOperations;
48 struct ElementId; 48 struct ElementId;
49 } 49 }
50 50
51 namespace blink { 51 namespace blink {
52 52
53 class WebLayerScrollClient; 53 class WebLayerScrollClient;
54 struct WebFloatPoint; 54 struct WebFloatPoint;
55 struct WebLayerPositionConstraint; 55 struct WebLayerPositionConstraint;
56 struct WebLayerStickyPositionConstraint;
56 57
57 class WebLayer { 58 class WebLayer {
58 public: 59 public:
59 virtual ~WebLayer() { } 60 virtual ~WebLayer() { }
60 61
61 // Returns a positive ID that will be unique across all WebLayers allocated in this process. 62 // Returns a positive ID that will be unique across all WebLayers allocated in this process.
62 virtual int id() const = 0; 63 virtual int id() const = 0;
63 64
64 // Sets a region of the layer as invalid, i.e. needs to update its content. 65 // Sets a region of the layer as invalid, i.e. needs to update its content.
65 virtual void invalidateRect(const WebRect&) = 0; 66 virtual void invalidateRect(const WebRect&) = 0;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 virtual WebVector<WebRect> touchEventHandlerRegion() const = 0; 182 virtual WebVector<WebRect> touchEventHandlerRegion() const = 0;
182 183
183 virtual void setIsContainerForFixedPositionLayers(bool) = 0; 184 virtual void setIsContainerForFixedPositionLayers(bool) = 0;
184 virtual bool isContainerForFixedPositionLayers() const = 0; 185 virtual bool isContainerForFixedPositionLayers() const = 0;
185 186
186 // This function sets layer position constraint. The constraint will be used 187 // This function sets layer position constraint. The constraint will be used
187 // to adjust layer position during threaded scrolling. 188 // to adjust layer position during threaded scrolling.
188 virtual void setPositionConstraint(const WebLayerPositionConstraint&) = 0; 189 virtual void setPositionConstraint(const WebLayerPositionConstraint&) = 0;
189 virtual WebLayerPositionConstraint positionConstraint() const = 0; 190 virtual WebLayerPositionConstraint positionConstraint() const = 0;
190 191
192 // Sets the sticky position constraint. This will be used to adjust sticky
193 // position objects during threaded scrolling.
194 virtual void setStickyPositionConstraint(const WebLayerStickyPositionConstra int&) = 0;
195 virtual WebLayerStickyPositionConstraint stickyPositionConstraint() const = 0;
196
191 // The scroll client is notified when the scroll position of the WebLayer 197 // The scroll client is notified when the scroll position of the WebLayer
192 // changes. Only a single scroll client can be set for a WebLayer at a time. 198 // changes. Only a single scroll client can be set for a WebLayer at a time.
193 // The WebLayer does not take ownership of the scroll client, and it is the 199 // The WebLayer does not take ownership of the scroll client, and it is the
194 // responsibility of the client to reset the layer's scroll client before 200 // responsibility of the client to reset the layer's scroll client before
195 // deleting the scroll client. 201 // deleting the scroll client.
196 virtual void setScrollClient(WebLayerScrollClient*) = 0; 202 virtual void setScrollClient(WebLayerScrollClient*) = 0;
197 203
198 // Sets the cc-side layer client. 204 // Sets the cc-side layer client.
199 virtual void setLayerClient(cc::LayerClient*) = 0; 205 virtual void setLayerClient(cc::LayerClient*) = 0;
200 206
201 // Gets the underlying cc layer. 207 // Gets the underlying cc layer.
202 virtual const cc::Layer* ccLayer() const = 0; 208 virtual const cc::Layer* ccLayer() const = 0;
203 virtual cc::Layer* ccLayer() = 0; 209 virtual cc::Layer* ccLayer() = 0;
204 210
205 virtual void setElementId(const cc::ElementId&) = 0; 211 virtual void setElementId(const cc::ElementId&) = 0;
206 virtual cc::ElementId elementId() const = 0; 212 virtual cc::ElementId elementId() const = 0;
207 213
208 virtual void setCompositorMutableProperties(uint32_t) = 0; 214 virtual void setCompositorMutableProperties(uint32_t) = 0;
209 virtual uint32_t compositorMutableProperties() const = 0; 215 virtual uint32_t compositorMutableProperties() const = 0;
210 216
211 virtual void setHasWillChangeTransformHint(bool) = 0; 217 virtual void setHasWillChangeTransformHint(bool) = 0;
212 }; 218 };
213 219
214 } // namespace blink 220 } // namespace blink
215 221
216 #endif // WebLayer_h 222 #endif // WebLayer_h
OLDNEW
« no previous file with comments | « third_party/WebKit/public/BUILD.gn ('k') | third_party/WebKit/public/platform/WebLayerStickyPositionConstraint.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698