Title: [161329] trunk/Source/WebKit2
- Revision
- 161329
- Author
- [email protected]
- Date
- 2014-01-05 20:09:57 -0800 (Sun, 05 Jan 2014)
Log Message
Add encoding of ViewportConstraint and ScrollingParameter types
https://bugs.webkit.org/show_bug.cgi?id=126497
Reviewed by Andreas Kling.
Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
and StickyPositionViewportConstraints.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):
* Shared/WebCoreArgumentCoders.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (161328 => 161329)
--- trunk/Source/WebKit2/ChangeLog 2014-01-06 04:09:02 UTC (rev 161328)
+++ trunk/Source/WebKit2/ChangeLog 2014-01-06 04:09:57 UTC (rev 161329)
@@ -1,3 +1,22 @@
+2014-01-04 Simon Fraser <[email protected]>
+
+ Add encoding of ViewportConstraint and ScrollingParameter types
+ https://bugs.webkit.org/show_bug.cgi?id=126497
+
+ Reviewed by Andreas Kling.
+
+ Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
+ and StickyPositionViewportConstraints.
+
+ * Shared/WebCoreArgumentCoders.cpp:
+ (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
+ (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
+ (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
+ (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
+ (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
+ (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):
+ * Shared/WebCoreArgumentCoders.h:
+
2014-01-05 Simon Fraser <[email protected]>
Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp (161328 => 161329)
--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp 2014-01-06 04:09:02 UTC (rev 161328)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp 2014-01-06 04:09:57 UTC (rev 161329)
@@ -50,6 +50,8 @@
#include <WebCore/ResourceError.h>
#include <WebCore/ResourceRequest.h>
#include <WebCore/ResourceResponse.h>
+#include <WebCore/ScrollingConstraints.h>
+#include <WebCore/ScrollingCoordinator.h>
#include <WebCore/TextCheckerClient.h>
#include <WebCore/TransformationMatrix.h>
#include <WebCore/URL.h>
@@ -1274,6 +1276,158 @@
return true;
}
+void ArgumentCoder<WebCore::ScrollableAreaParameters>::encode(ArgumentEncoder& encoder, const WebCore::ScrollableAreaParameters& parameters)
+{
+ encoder.encodeEnum(parameters.horizontalScrollElasticity);
+ encoder.encodeEnum(parameters.verticalScrollElasticity);
+
+ encoder.encodeEnum(parameters.horizontalScrollbarMode);
+ encoder.encodeEnum(parameters.verticalScrollbarMode);
+
+ encoder << parameters.hasEnabledHorizontalScrollbar;
+ encoder << parameters.hasEnabledHorizontalScrollbar;
+}
+
+bool ArgumentCoder<WebCore::ScrollableAreaParameters>::decode(ArgumentDecoder& decoder, WebCore::ScrollableAreaParameters& params)
+{
+ if (!decoder.decodeEnum(params.horizontalScrollElasticity))
+ return false;
+ if (!decoder.decodeEnum(params.verticalScrollElasticity))
+ return false;
+
+ if (!decoder.decodeEnum(params.horizontalScrollbarMode))
+ return false;
+ if (!decoder.decodeEnum(params.verticalScrollbarMode))
+ return false;
+
+ if (!decoder.decode(params.hasEnabledHorizontalScrollbar))
+ return false;
+ if (!decoder.decode(params.hasEnabledVerticalScrollbar))
+ return false;
+
+ return true;
+}
+
+void ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode(ArgumentEncoder& encoder, const WebCore::FixedPositionViewportConstraints& viewportConstraints)
+{
+ encoder << viewportConstraints.alignmentOffset();
+ encoder << viewportConstraints.anchorEdges();
+
+ encoder << viewportConstraints.viewportRectAtLastLayout();
+ encoder << viewportConstraints.layerPositionAtLastLayout();
+}
+
+bool ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode(ArgumentDecoder& decoder, WebCore::FixedPositionViewportConstraints& viewportConstraints)
+{
+ FloatSize alignmentOffset;
+ if (!decoder.decode(alignmentOffset))
+ return false;
+
+ ViewportConstraints::AnchorEdges anchorEdges;
+ if (!decoder.decode(anchorEdges))
+ return false;
+
+ FloatRect viewportRectAtLastLayout;
+ if (!decoder.decode(viewportRectAtLastLayout))
+ return false;
+
+ FloatPoint layerPositionAtLastLayout;
+ if (!decoder.decode(layerPositionAtLastLayout))
+ return false;
+
+ viewportConstraints = WebCore::FixedPositionViewportConstraints();
+ viewportConstraints.setAlignmentOffset(alignmentOffset);
+ viewportConstraints.setAnchorEdges(anchorEdges);
+
+ viewportConstraints.setViewportRectAtLastLayout(viewportRectAtLastLayout);
+ viewportConstraints.setLayerPositionAtLastLayout(layerPositionAtLastLayout);
+
+ return true;
+}
+
+void ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode(ArgumentEncoder& encoder, const WebCore::StickyPositionViewportConstraints& viewportConstraints)
+{
+ encoder << viewportConstraints.alignmentOffset();
+ encoder << viewportConstraints.anchorEdges();
+
+ encoder << viewportConstraints.leftOffset();
+ encoder << viewportConstraints.rightOffset();
+ encoder << viewportConstraints.topOffset();
+ encoder << viewportConstraints.bottomOffset();
+
+ encoder << viewportConstraints.constrainingRectAtLastLayout();
+ encoder << viewportConstraints.containingBlockRect();
+ encoder << viewportConstraints.stickyBoxRect();
+
+ encoder << viewportConstraints.stickyOffsetAtLastLayout();
+ encoder << viewportConstraints.layerPositionAtLastLayout();
+}
+
+bool ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode(ArgumentDecoder& decoder, WebCore::StickyPositionViewportConstraints& viewportConstraints)
+{
+ FloatSize alignmentOffset;
+ if (!decoder.decode(alignmentOffset))
+ return false;
+
+ ViewportConstraints::AnchorEdges anchorEdges;
+ if (!decoder.decode(anchorEdges))
+ return false;
+
+ float leftOffset;
+ if (!decoder.decode(leftOffset))
+ return false;
+
+ float rightOffset;
+ if (!decoder.decode(rightOffset))
+ return false;
+
+ float topOffset;
+ if (!decoder.decode(topOffset))
+ return false;
+
+ float bottomOffset;
+ if (!decoder.decode(bottomOffset))
+ return false;
+
+ FloatRect constrainingRectAtLastLayout;
+ if (!decoder.decode(constrainingRectAtLastLayout))
+ return false;
+
+ FloatRect containingBlockRect;
+ if (!decoder.decode(containingBlockRect))
+ return false;
+
+ FloatRect stickyBoxRect;
+ if (!decoder.decode(stickyBoxRect))
+ return false;
+
+ FloatSize stickyOffsetAtLastLayout;
+ if (!decoder.decode(stickyOffsetAtLastLayout))
+ return false;
+
+ FloatPoint layerPositionAtLastLayout;
+ if (!decoder.decode(layerPositionAtLastLayout))
+ return false;
+
+ viewportConstraints = WebCore::StickyPositionViewportConstraints();
+ viewportConstraints.setAlignmentOffset(alignmentOffset);
+ viewportConstraints.setAnchorEdges(anchorEdges);
+
+ viewportConstraints.setLeftOffset(leftOffset);
+ viewportConstraints.setRightOffset(rightOffset);
+ viewportConstraints.setTopOffset(topOffset);
+ viewportConstraints.setBottomOffset(bottomOffset);
+
+ viewportConstraints.setConstrainingRectAtLastLayout(constrainingRectAtLastLayout);
+ viewportConstraints.setContainingBlockRect(containingBlockRect);
+ viewportConstraints.setStickyBoxRect(stickyBoxRect);
+
+ viewportConstraints.setStickyOffsetAtLastLayout(stickyOffsetAtLastLayout);
+ viewportConstraints.setLayerPositionAtLastLayout(layerPositionAtLastLayout);
+
+ return true;
+}
+
#if ENABLE(CSS_FILTERS) && !USE(COORDINATED_GRAPHICS)
static void encodeFilterOperation(ArgumentEncoder& encoder, const FilterOperation& filter)
{
Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h (161328 => 161329)
--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h 2014-01-06 04:09:02 UTC (rev 161328)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h 2014-01-06 04:09:57 UTC (rev 161329)
@@ -41,6 +41,7 @@
class FloatPoint3D;
class FloatRect;
class FloatSize;
+class FixedPositionViewportConstraints;
class HTTPHeaderMap;
class IDBKeyPath;
class IntPoint;
@@ -53,6 +54,7 @@
class ResourceError;
class ResourceRequest;
class ResourceResponse;
+class StickyPositionViewportConstraints;
class TextCheckingRequestData;
class TransformationMatrix;
class UserStyleSheet;
@@ -71,6 +73,7 @@
struct PasteboardImage;
struct PasteboardWebContent;
struct PluginInfo;
+struct ScrollableAreaParameters;
struct TextCheckingResult;
struct ViewportAttributes;
struct WindowFeatures;
@@ -328,6 +331,21 @@
static bool decode(ArgumentDecoder&, WebCore::UserScript&);
};
+template<> struct ArgumentCoder<WebCore::ScrollableAreaParameters> {
+ static void encode(ArgumentEncoder&, const WebCore::ScrollableAreaParameters&);
+ static bool decode(ArgumentDecoder&, WebCore::ScrollableAreaParameters&);
+};
+
+template<> struct ArgumentCoder<WebCore::FixedPositionViewportConstraints> {
+ static void encode(ArgumentEncoder&, const WebCore::FixedPositionViewportConstraints&);
+ static bool decode(ArgumentDecoder&, WebCore::FixedPositionViewportConstraints&);
+};
+
+template<> struct ArgumentCoder<WebCore::StickyPositionViewportConstraints> {
+ static void encode(ArgumentEncoder&, const WebCore::StickyPositionViewportConstraints&);
+ static bool decode(ArgumentDecoder&, WebCore::StickyPositionViewportConstraints&);
+};
+
#if ENABLE(CSS_FILTERS) && !USE(COORDINATED_GRAPHICS)
template<> struct ArgumentCoder<WebCore::FilterOperations> {
static void encode(ArgumentEncoder&, const WebCore::FilterOperations&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes