2 * Copyright (C) 2010, 2011, 2015 Apple Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
27 #include "WebPageCreationParameters.h"
29 #include "WebCoreArgumentCoders.h"
33 void WebPageCreationParameters::encode(IPC::ArgumentEncoder& encoder) const
39 encoder.encodeEnum(drawingAreaType);
40 encoder << pageGroupData;
41 encoder << drawsBackground;
42 encoder << isEditable;
43 encoder << drawsTransparentBackground;
44 encoder << underlayColor;
45 encoder << useFixedLayout;
46 encoder << fixedLayoutSize;
47 encoder.encodeEnum(paginationMode);
48 encoder << paginationBehavesLikeColumns;
49 encoder << pageLength;
50 encoder << gapBetweenPages;
52 encoder << itemStates;
54 encoder << highestUsedBackForwardItemID;
55 encoder << userContentControllerID;
56 encoder << visitedLinkTableID;
57 encoder << websiteDataStoreID;
58 encoder << canRunBeforeUnloadConfirmPanel;
59 encoder << canRunModal;
60 encoder << deviceScaleFactor;
61 encoder << viewScaleFactor;
62 encoder << topContentInset;
63 encoder << mediaVolume;
65 encoder << mayStartMediaWhenInWindow;
66 encoder << minimumLayoutSize;
67 encoder << autoSizingShouldExpandToViewHeight;
68 encoder.encodeEnum(scrollPinningBehavior);
69 encoder << scrollbarOverlayStyle;
70 encoder << backgroundExtendsBeyondPage;
71 encoder.encodeEnum(layerHostingMode);
72 encoder << mimeTypesWithCustomContentProviders;
74 #if ENABLE(REMOTE_INSPECTOR)
75 encoder << allowsRemoteInspection;
78 encoder << colorSpace;
81 encoder << screenSize;
82 encoder << availableScreenSize;
83 encoder << textAutosizingWidth;
85 encoder << appleMailPaginationQuirkEnabled;
86 encoder << shouldScaleViewToFitDocument;
89 bool WebPageCreationParameters::decode(IPC::ArgumentDecoder& decoder, WebPageCreationParameters& parameters)
91 if (!decoder.decode(parameters.viewSize))
93 if (!decoder.decode(parameters.viewState))
95 if (!decoder.decode(parameters.store))
97 if (!decoder.decodeEnum(parameters.drawingAreaType))
99 if (!decoder.decode(parameters.pageGroupData))
101 if (!decoder.decode(parameters.drawsBackground))
103 if (!decoder.decode(parameters.isEditable))
105 if (!decoder.decode(parameters.drawsTransparentBackground))
107 if (!decoder.decode(parameters.underlayColor))
109 if (!decoder.decode(parameters.useFixedLayout))
111 if (!decoder.decode(parameters.fixedLayoutSize))
113 if (!decoder.decodeEnum(parameters.paginationMode))
115 if (!decoder.decode(parameters.paginationBehavesLikeColumns))
117 if (!decoder.decode(parameters.pageLength))
119 if (!decoder.decode(parameters.gapBetweenPages))
121 if (!decoder.decode(parameters.userAgent))
123 if (!decoder.decode(parameters.itemStates))
125 if (!decoder.decode(parameters.sessionID))
127 if (!decoder.decode(parameters.highestUsedBackForwardItemID))
129 if (!decoder.decode(parameters.userContentControllerID))
131 if (!decoder.decode(parameters.visitedLinkTableID))
133 if (!decoder.decode(parameters.websiteDataStoreID))
135 if (!decoder.decode(parameters.canRunBeforeUnloadConfirmPanel))
137 if (!decoder.decode(parameters.canRunModal))
139 if (!decoder.decode(parameters.deviceScaleFactor))
141 if (!decoder.decode(parameters.viewScaleFactor))
143 if (!decoder.decode(parameters.topContentInset))
145 if (!decoder.decode(parameters.mediaVolume))
147 if (!decoder.decode(parameters.muted))
149 if (!decoder.decode(parameters.mayStartMediaWhenInWindow))
151 if (!decoder.decode(parameters.minimumLayoutSize))
153 if (!decoder.decode(parameters.autoSizingShouldExpandToViewHeight))
155 if (!decoder.decodeEnum(parameters.scrollPinningBehavior))
157 if (!decoder.decode(parameters.scrollbarOverlayStyle))
159 if (!decoder.decode(parameters.backgroundExtendsBeyondPage))
161 if (!decoder.decodeEnum(parameters.layerHostingMode))
163 if (!decoder.decode(parameters.mimeTypesWithCustomContentProviders))
166 #if ENABLE(REMOTE_INSPECTOR)
167 if (!decoder.decode(parameters.allowsRemoteInspection))
172 if (!decoder.decode(parameters.colorSpace))
177 if (!decoder.decode(parameters.screenSize))
179 if (!decoder.decode(parameters.availableScreenSize))
181 if (!decoder.decode(parameters.textAutosizingWidth))
185 if (!decoder.decode(parameters.appleMailPaginationQuirkEnabled))
188 if (!decoder.decode(parameters.shouldScaleViewToFitDocument))
194 } // namespace WebKit