OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. |
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 | 93 |
94 if (!currValue->isTransformValue()) | 94 if (!currValue->isTransformValue()) |
95 continue; | 95 continue; |
96 | 96 |
97 CSSTransformValue* transformValue = toCSSTransformValue(i.value()); | 97 CSSTransformValue* transformValue = toCSSTransformValue(i.value()); |
98 if (!transformValue->length()) | 98 if (!transformValue->length()) |
99 continue; | 99 continue; |
100 | 100 |
101 bool haveNonPrimitiveValue = false; | 101 bool haveNonPrimitiveValue = false; |
102 for (unsigned j = 0; j < transformValue->length(); ++j) { | 102 for (unsigned j = 0; j < transformValue->length(); ++j) { |
103 if (!transformValue->itemWithoutBoundsCheck(j)->isPrimitiveValue())
{ | 103 if (!transformValue->item(j)->isPrimitiveValue()) { |
104 haveNonPrimitiveValue = true; | 104 haveNonPrimitiveValue = true; |
105 break; | 105 break; |
106 } | 106 } |
107 } | 107 } |
108 if (haveNonPrimitiveValue) | 108 if (haveNonPrimitiveValue) |
109 continue; | 109 continue; |
110 | 110 |
111 CSSPrimitiveValue* firstValue = toCSSPrimitiveValue(transformValue->item
WithoutBoundsCheck(0)); | 111 CSSPrimitiveValue* firstValue = toCSSPrimitiveValue(transformValue->item
(0)); |
112 | 112 |
113 switch (transformValue->operationType()) { | 113 switch (transformValue->operationType()) { |
114 case CSSTransformValue::ScaleTransformOperation: | 114 case CSSTransformValue::ScaleTransformOperation: |
115 case CSSTransformValue::ScaleXTransformOperation: | 115 case CSSTransformValue::ScaleXTransformOperation: |
116 case CSSTransformValue::ScaleYTransformOperation: { | 116 case CSSTransformValue::ScaleYTransformOperation: { |
117 double sx = 1.0; | 117 double sx = 1.0; |
118 double sy = 1.0; | 118 double sy = 1.0; |
119 if (transformValue->operationType() == CSSTransformValue::ScaleYTran
sformOperation) | 119 if (transformValue->operationType() == CSSTransformValue::ScaleYTran
sformOperation) |
120 sy = firstValue->getDoubleValue(); | 120 sy = firstValue->getDoubleValue(); |
121 else { | 121 else { |
122 sx = firstValue->getDoubleValue(); | 122 sx = firstValue->getDoubleValue(); |
123 if (transformValue->operationType() != CSSTransformValue::ScaleX
TransformOperation) { | 123 if (transformValue->operationType() != CSSTransformValue::ScaleX
TransformOperation) { |
124 if (transformValue->length() > 1) { | 124 if (transformValue->length() > 1) { |
125 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->itemWithoutBoundsCheck(1)); | 125 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->item(1)); |
126 sy = secondValue->getDoubleValue(); | 126 sy = secondValue->getDoubleValue(); |
127 } else | 127 } else |
128 sy = sx; | 128 sy = sx; |
129 } | 129 } |
130 } | 130 } |
131 operations.operations().append(ScaleTransformOperation::create(sx, s
y, 1.0, getTransformOperationType(transformValue->operationType()))); | 131 operations.operations().append(ScaleTransformOperation::create(sx, s
y, 1.0, getTransformOperationType(transformValue->operationType()))); |
132 break; | 132 break; |
133 } | 133 } |
134 case CSSTransformValue::ScaleZTransformOperation: | 134 case CSSTransformValue::ScaleZTransformOperation: |
135 case CSSTransformValue::Scale3DTransformOperation: { | 135 case CSSTransformValue::Scale3DTransformOperation: { |
136 double sx = 1.0; | 136 double sx = 1.0; |
137 double sy = 1.0; | 137 double sy = 1.0; |
138 double sz = 1.0; | 138 double sz = 1.0; |
139 if (transformValue->operationType() == CSSTransformValue::ScaleZTran
sformOperation) | 139 if (transformValue->operationType() == CSSTransformValue::ScaleZTran
sformOperation) |
140 sz = firstValue->getDoubleValue(); | 140 sz = firstValue->getDoubleValue(); |
141 else if (transformValue->operationType() == CSSTransformValue::Scale
YTransformOperation) | 141 else if (transformValue->operationType() == CSSTransformValue::Scale
YTransformOperation) |
142 sy = firstValue->getDoubleValue(); | 142 sy = firstValue->getDoubleValue(); |
143 else { | 143 else { |
144 sx = firstValue->getDoubleValue(); | 144 sx = firstValue->getDoubleValue(); |
145 if (transformValue->operationType() != CSSTransformValue::ScaleX
TransformOperation) { | 145 if (transformValue->operationType() != CSSTransformValue::ScaleX
TransformOperation) { |
146 if (transformValue->length() > 2) { | 146 if (transformValue->length() > 2) { |
147 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(tran
sformValue->itemWithoutBoundsCheck(2)); | 147 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(tran
sformValue->item(2)); |
148 sz = thirdValue->getDoubleValue(); | 148 sz = thirdValue->getDoubleValue(); |
149 } | 149 } |
150 if (transformValue->length() > 1) { | 150 if (transformValue->length() > 1) { |
151 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->itemWithoutBoundsCheck(1)); | 151 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->item(1)); |
152 sy = secondValue->getDoubleValue(); | 152 sy = secondValue->getDoubleValue(); |
153 } else | 153 } else |
154 sy = sx; | 154 sy = sx; |
155 } | 155 } |
156 } | 156 } |
157 operations.operations().append(ScaleTransformOperation::create(sx, s
y, sz, getTransformOperationType(transformValue->operationType()))); | 157 operations.operations().append(ScaleTransformOperation::create(sx, s
y, sz, getTransformOperationType(transformValue->operationType()))); |
158 break; | 158 break; |
159 } | 159 } |
160 case CSSTransformValue::TranslateTransformOperation: | 160 case CSSTransformValue::TranslateTransformOperation: |
161 case CSSTransformValue::TranslateXTransformOperation: | 161 case CSSTransformValue::TranslateXTransformOperation: |
162 case CSSTransformValue::TranslateYTransformOperation: { | 162 case CSSTransformValue::TranslateYTransformOperation: { |
163 Length tx = Length(0, Fixed); | 163 Length tx = Length(0, Fixed); |
164 Length ty = Length(0, Fixed); | 164 Length ty = Length(0, Fixed); |
165 if (transformValue->operationType() == CSSTransformValue::TranslateY
TransformOperation) | 165 if (transformValue->operationType() == CSSTransformValue::TranslateY
TransformOperation) |
166 ty = convertToFloatLength(firstValue, conversionData); | 166 ty = convertToFloatLength(firstValue, conversionData); |
167 else { | 167 else { |
168 tx = convertToFloatLength(firstValue, conversionData); | 168 tx = convertToFloatLength(firstValue, conversionData); |
169 if (transformValue->operationType() != CSSTransformValue::Transl
ateXTransformOperation) { | 169 if (transformValue->operationType() != CSSTransformValue::Transl
ateXTransformOperation) { |
170 if (transformValue->length() > 1) { | 170 if (transformValue->length() > 1) { |
171 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->itemWithoutBoundsCheck(1)); | 171 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->item(1)); |
172 ty = convertToFloatLength(secondValue, conversionData); | 172 ty = convertToFloatLength(secondValue, conversionData); |
173 } | 173 } |
174 } | 174 } |
175 } | 175 } |
176 | 176 |
177 operations.operations().append(TranslateTransformOperation::create(t
x, ty, 0, getTransformOperationType(transformValue->operationType()))); | 177 operations.operations().append(TranslateTransformOperation::create(t
x, ty, 0, getTransformOperationType(transformValue->operationType()))); |
178 break; | 178 break; |
179 } | 179 } |
180 case CSSTransformValue::TranslateZTransformOperation: | 180 case CSSTransformValue::TranslateZTransformOperation: |
181 case CSSTransformValue::Translate3DTransformOperation: { | 181 case CSSTransformValue::Translate3DTransformOperation: { |
182 Length tx = Length(0, Fixed); | 182 Length tx = Length(0, Fixed); |
183 Length ty = Length(0, Fixed); | 183 Length ty = Length(0, Fixed); |
184 double tz = 0; | 184 double tz = 0; |
185 if (transformValue->operationType() == CSSTransformValue::TranslateZ
TransformOperation) | 185 if (transformValue->operationType() == CSSTransformValue::TranslateZ
TransformOperation) |
186 tz = firstValue->computeLength<double>(conversionData); | 186 tz = firstValue->computeLength<double>(conversionData); |
187 else if (transformValue->operationType() == CSSTransformValue::Trans
lateYTransformOperation) | 187 else if (transformValue->operationType() == CSSTransformValue::Trans
lateYTransformOperation) |
188 ty = convertToFloatLength(firstValue, conversionData); | 188 ty = convertToFloatLength(firstValue, conversionData); |
189 else { | 189 else { |
190 tx = convertToFloatLength(firstValue, conversionData); | 190 tx = convertToFloatLength(firstValue, conversionData); |
191 if (transformValue->operationType() != CSSTransformValue::Transl
ateXTransformOperation) { | 191 if (transformValue->operationType() != CSSTransformValue::Transl
ateXTransformOperation) { |
192 if (transformValue->length() > 2) { | 192 if (transformValue->length() > 2) { |
193 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(tran
sformValue->itemWithoutBoundsCheck(2)); | 193 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(tran
sformValue->item(2)); |
194 tz = thirdValue->computeLength<double>(conversionData); | 194 tz = thirdValue->computeLength<double>(conversionData); |
195 } | 195 } |
196 if (transformValue->length() > 1) { | 196 if (transformValue->length() > 1) { |
197 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->itemWithoutBoundsCheck(1)); | 197 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->item(1)); |
198 ty = convertToFloatLength(secondValue, conversionData); | 198 ty = convertToFloatLength(secondValue, conversionData); |
199 } | 199 } |
200 } | 200 } |
201 } | 201 } |
202 | 202 |
203 operations.operations().append(TranslateTransformOperation::create(t
x, ty, tz, getTransformOperationType(transformValue->operationType()))); | 203 operations.operations().append(TranslateTransformOperation::create(t
x, ty, tz, getTransformOperationType(transformValue->operationType()))); |
204 break; | 204 break; |
205 } | 205 } |
206 case CSSTransformValue::RotateTransformOperation: { | 206 case CSSTransformValue::RotateTransformOperation: { |
207 double angle = firstValue->computeDegrees(); | 207 double angle = firstValue->computeDegrees(); |
(...skipping 13 matching lines...) Expand all Loading... |
221 else if (transformValue->operationType() == CSSTransformValue::Rotat
eYTransformOperation) | 221 else if (transformValue->operationType() == CSSTransformValue::Rotat
eYTransformOperation) |
222 y = 1; | 222 y = 1; |
223 else | 223 else |
224 z = 1; | 224 z = 1; |
225 operations.operations().append(RotateTransformOperation::create(x, y
, z, angle, getTransformOperationType(transformValue->operationType()))); | 225 operations.operations().append(RotateTransformOperation::create(x, y
, z, angle, getTransformOperationType(transformValue->operationType()))); |
226 break; | 226 break; |
227 } | 227 } |
228 case CSSTransformValue::Rotate3DTransformOperation: { | 228 case CSSTransformValue::Rotate3DTransformOperation: { |
229 if (transformValue->length() < 4) | 229 if (transformValue->length() < 4) |
230 break; | 230 break; |
231 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue-
>itemWithoutBoundsCheck(1)); | 231 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue-
>item(1)); |
232 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->
itemWithoutBoundsCheck(2)); | 232 CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->
item(2)); |
233 CSSPrimitiveValue* fourthValue = toCSSPrimitiveValue(transformValue-
>itemWithoutBoundsCheck(3)); | 233 CSSPrimitiveValue* fourthValue = toCSSPrimitiveValue(transformValue-
>item(3)); |
234 double x = firstValue->getDoubleValue(); | 234 double x = firstValue->getDoubleValue(); |
235 double y = secondValue->getDoubleValue(); | 235 double y = secondValue->getDoubleValue(); |
236 double z = thirdValue->getDoubleValue(); | 236 double z = thirdValue->getDoubleValue(); |
237 double angle = fourthValue->computeDegrees(); | 237 double angle = fourthValue->computeDegrees(); |
238 operations.operations().append(RotateTransformOperation::create(x, y
, z, angle, getTransformOperationType(transformValue->operationType()))); | 238 operations.operations().append(RotateTransformOperation::create(x, y
, z, angle, getTransformOperationType(transformValue->operationType()))); |
239 break; | 239 break; |
240 } | 240 } |
241 case CSSTransformValue::SkewTransformOperation: | 241 case CSSTransformValue::SkewTransformOperation: |
242 case CSSTransformValue::SkewXTransformOperation: | 242 case CSSTransformValue::SkewXTransformOperation: |
243 case CSSTransformValue::SkewYTransformOperation: { | 243 case CSSTransformValue::SkewYTransformOperation: { |
244 double angleX = 0; | 244 double angleX = 0; |
245 double angleY = 0; | 245 double angleY = 0; |
246 double angle = firstValue->computeDegrees(); | 246 double angle = firstValue->computeDegrees(); |
247 if (transformValue->operationType() == CSSTransformValue::SkewYTrans
formOperation) | 247 if (transformValue->operationType() == CSSTransformValue::SkewYTrans
formOperation) |
248 angleY = angle; | 248 angleY = angle; |
249 else { | 249 else { |
250 angleX = angle; | 250 angleX = angle; |
251 if (transformValue->operationType() == CSSTransformValue::SkewTr
ansformOperation) { | 251 if (transformValue->operationType() == CSSTransformValue::SkewTr
ansformOperation) { |
252 if (transformValue->length() > 1) { | 252 if (transformValue->length() > 1) { |
253 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->itemWithoutBoundsCheck(1)); | 253 CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(tra
nsformValue->item(1)); |
254 angleY = secondValue->computeDegrees(); | 254 angleY = secondValue->computeDegrees(); |
255 } | 255 } |
256 } | 256 } |
257 } | 257 } |
258 operations.operations().append(SkewTransformOperation::create(angleX
, angleY, getTransformOperationType(transformValue->operationType()))); | 258 operations.operations().append(SkewTransformOperation::create(angleX
, angleY, getTransformOperationType(transformValue->operationType()))); |
259 break; | 259 break; |
260 } | 260 } |
261 case CSSTransformValue::MatrixTransformOperation: { | 261 case CSSTransformValue::MatrixTransformOperation: { |
262 if (transformValue->length() < 6) | 262 if (transformValue->length() < 6) |
263 break; | 263 break; |
264 double a = firstValue->getDoubleValue(); | 264 double a = firstValue->getDoubleValue(); |
265 double b = toCSSPrimitiveValue(transformValue->itemWithoutBoundsChec
k(1))->getDoubleValue(); | 265 double b = toCSSPrimitiveValue(transformValue->item(1))->getDoubleVa
lue(); |
266 double c = toCSSPrimitiveValue(transformValue->itemWithoutBoundsChec
k(2))->getDoubleValue(); | 266 double c = toCSSPrimitiveValue(transformValue->item(2))->getDoubleVa
lue(); |
267 double d = toCSSPrimitiveValue(transformValue->itemWithoutBoundsChec
k(3))->getDoubleValue(); | 267 double d = toCSSPrimitiveValue(transformValue->item(3))->getDoubleVa
lue(); |
268 double e = zoomFactor * toCSSPrimitiveValue(transformValue->itemWith
outBoundsCheck(4))->getDoubleValue(); | 268 double e = zoomFactor * toCSSPrimitiveValue(transformValue->item(4))
->getDoubleValue(); |
269 double f = zoomFactor * toCSSPrimitiveValue(transformValue->itemWith
outBoundsCheck(5))->getDoubleValue(); | 269 double f = zoomFactor * toCSSPrimitiveValue(transformValue->item(5))
->getDoubleValue(); |
270 operations.operations().append(MatrixTransformOperation::create(a, b
, c, d, e, f)); | 270 operations.operations().append(MatrixTransformOperation::create(a, b
, c, d, e, f)); |
271 break; | 271 break; |
272 } | 272 } |
273 case CSSTransformValue::Matrix3DTransformOperation: { | 273 case CSSTransformValue::Matrix3DTransformOperation: { |
274 if (transformValue->length() < 16) | 274 if (transformValue->length() < 16) |
275 break; | 275 break; |
276 TransformationMatrix matrix(toCSSPrimitiveValue(transformValue->item
WithoutBoundsCheck(0))->getDoubleValue(), | 276 TransformationMatrix matrix(toCSSPrimitiveValue(transformValue->item
(0))->getDoubleValue(), |
277 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1))->
getDoubleValue(), | 277 toCSSPrimitiveValue(transformValue->item(1))->getDoubleValue(), |
278 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2))->
getDoubleValue(), | 278 toCSSPrimitiveValue(transformValue->item(2))->getDoubleValue(), |
279 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(3))->
getDoubleValue(), | 279 toCSSPrimitiveValue(transformValue->item(3))->getDoubleValue(), |
280 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(4))->
getDoubleValue(), | 280 toCSSPrimitiveValue(transformValue->item(4))->getDoubleValue(), |
281 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(5))->
getDoubleValue(), | 281 toCSSPrimitiveValue(transformValue->item(5))->getDoubleValue(), |
282 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(6))->
getDoubleValue(), | 282 toCSSPrimitiveValue(transformValue->item(6))->getDoubleValue(), |
283 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(7))->
getDoubleValue(), | 283 toCSSPrimitiveValue(transformValue->item(7))->getDoubleValue(), |
284 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(8))->
getDoubleValue(), | 284 toCSSPrimitiveValue(transformValue->item(8))->getDoubleValue(), |
285 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(9))->
getDoubleValue(), | 285 toCSSPrimitiveValue(transformValue->item(9))->getDoubleValue(), |
286 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(10))-
>getDoubleValue(), | 286 toCSSPrimitiveValue(transformValue->item(10))->getDoubleValue(), |
287 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(11))-
>getDoubleValue(), | 287 toCSSPrimitiveValue(transformValue->item(11))->getDoubleValue(), |
288 zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoun
dsCheck(12))->getDoubleValue(), | 288 zoomFactor * toCSSPrimitiveValue(transformValue->item(12))->getD
oubleValue(), |
289 zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoun
dsCheck(13))->getDoubleValue(), | 289 zoomFactor * toCSSPrimitiveValue(transformValue->item(13))->getD
oubleValue(), |
290 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(14))-
>getDoubleValue(), | 290 toCSSPrimitiveValue(transformValue->item(14))->getDoubleValue(), |
291 toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(15))-
>getDoubleValue()); | 291 toCSSPrimitiveValue(transformValue->item(15))->getDoubleValue())
; |
292 operations.operations().append(Matrix3DTransformOperation::create(ma
trix)); | 292 operations.operations().append(Matrix3DTransformOperation::create(ma
trix)); |
293 break; | 293 break; |
294 } | 294 } |
295 case CSSTransformValue::PerspectiveTransformOperation: { | 295 case CSSTransformValue::PerspectiveTransformOperation: { |
296 double p; | 296 double p; |
297 if (firstValue->isLength()) | 297 if (firstValue->isLength()) |
298 p = firstValue->computeLength<double>(conversionData); | 298 p = firstValue->computeLength<double>(conversionData); |
299 else { | 299 else { |
300 // This is a quirk that should go away when 3d transforms are fi
nalized. | 300 // This is a quirk that should go away when 3d transforms are fi
nalized. |
301 double val = firstValue->getDoubleValue(); | 301 double val = firstValue->getDoubleValue(); |
302 if (val < 0) | 302 if (val < 0) |
303 return false; | 303 return false; |
304 p = clampToPositiveInteger(val); | 304 p = clampToPositiveInteger(val); |
305 } | 305 } |
306 | 306 |
307 operations.operations().append(PerspectiveTransformOperation::create
(p)); | 307 operations.operations().append(PerspectiveTransformOperation::create
(p)); |
308 break; | 308 break; |
309 } | 309 } |
310 case CSSTransformValue::UnknownTransformOperation: | 310 case CSSTransformValue::UnknownTransformOperation: |
311 ASSERT_NOT_REACHED(); | 311 ASSERT_NOT_REACHED(); |
312 break; | 312 break; |
313 } | 313 } |
314 } | 314 } |
315 | 315 |
316 outOperations = operations; | 316 outOperations = operations; |
317 return true; | 317 return true; |
318 } | 318 } |
319 | 319 |
320 } // namespace WebCore | 320 } // namespace WebCore |
OLD | NEW |