[chromium] Use opaque contents for paint culling
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-20  Dana Jansens  <danakj@chromium.org>
2
3         [chromium] Use opaque contents for paint culling
4         https://bugs.webkit.org/show_bug.cgi?id=81676
5
6         Reviewed by Adrienne Walker.
7
8         UnitTest: CCLayerTreeHostTestContentLayerOcclusion
9
10         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
11         (WebCore::CCLayerTreeHost::paintLayerContents):
12
13 2012-03-20  Dan Bernstein  <mitz@apple.com>
14
15         Build fix after r111419.
16
17         * dom/WebKitNamedFlow.cpp:
18         * dom/WebKitNamedFlow.h:
19
20 2012-03-20  Dan Bernstein  <mitz@apple.com>
21
22         REGRESSION (r111229): css1/basic/inheritance.html is failing
23         https://bugs.webkit.org/show_bug.cgi?id=81684
24
25         Reverted r111229.
26
27         Rubber-stamped by Dave Hyatt.
28
29         * dom/Document.cpp:
30         (WebCore::Document::webkitGetFlowByName):
31         * dom/Document.h:
32         (Document):
33         * dom/Element.cpp:
34         (WebCore::Element::detach):
35         * dom/NodeRenderingContext.cpp:
36         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
37         * dom/WebKitNamedFlow.cpp:
38         (WebCore):
39         * dom/WebKitNamedFlow.h:
40         (WebCore):
41         (WebKitNamedFlow):
42         * dom/WebKitNamedFlow.idl:
43
44 2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
45
46         https://bugs.webkit.org/show_bug.cgi?id=80696
47         Remove custom bindings for attribute type Array.
48
49         Reviewed by Kentaro Hara.
50
51         No new tests.
52
53         * bindings/js/JSConsoleCustom.cpp: Removed custom function.
54         (WebCore):
55         * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
56         (WebCore):
57         (WebCore::jsArray):
58         (WebCore::toNativeArray):
59         * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
60         (GetArrayType): Added GetArrayType to get return type of attribute interface.
61         * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
62         (SkipAttribute):
63         * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
64         (AddIncludesForType):
65         (JSValueToNative):
66         (NativeToJSValue):
67         * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
68         (GenerateNormalAttrGetter):
69         (GenerateNormalAttrSetter):
70         (JSValueToNative):
71         (NativeToJSValue):
72         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
73         (webkit_dom_test_obj_get_property):
74         (webkit_dom_test_obj_class_init):
75         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
76         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
77         (WebCore::jsTestObjSequenceAttr):
78         (WebCore::setJSTestObjSequenceAttr):
79         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
80         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
81         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
82         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
83         (WebCore::TestObjInternal::methodReturningSequenceCallback):
84         * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
85         (WebCore):
86         (WebCore::v8Array):
87         (WebCore::toNativeArray):
88         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
89         (WebCore):
90         * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
91           custom bindings.
92
93 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
94
95         Unreviewed, rolling out r111310.
96         http://trac.webkit.org/changeset/111310
97         https://bugs.webkit.org/show_bug.cgi?id=81683
98
99         Broke layout test
100         dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
101         aklein on #webkit).
102
103         * dom/ContainerNode.cpp:
104         (WebCore::ContainerNode::replaceChild):
105         (WebCore::ContainerNode::appendChild):
106         (WebCore::ContainerNode::parserAddChild):
107
108 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
109
110         Convert hasSpellingMarker to use Internals interface.
111         https://bugs.webkit.org/show_bug.cgi?id=81300
112
113         Reviewed by Ryosuke Niwa.
114
115         Remove hasSpellingMarker functions, because it is able to work in the
116         cross-port way through the Internals interface.
117
118         No new tests, since we are improving here the infra-structure
119         for testing a specific method.
120
121         * testing/Internals.cpp:
122         (WebCore::Internals::hasSpellingMarker):
123         (WebCore):
124         * testing/Internals.h:
125         (Internals):
126         * testing/Internals.idl:
127
128 2012-03-20  Dan Bernstein  <mitz@apple.com>
129
130         Build fix.
131
132         * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
133
134 2012-03-20  Konrad Piascik  <kpiascik@rim.com>
135
136         (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
137         https://bugs.webkit.org/show_bug.cgi?id=81666
138
139         Reviewed by Rob Buis.
140
141         Compiled with feature disabled and built.
142
143         * page/EventHandler.cpp:
144         (WebCore::EventHandler::selectCursor):
145
146 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
147
148         [chromium] Tune fling physics curve. [Not for review yet]
149         https://bugs.webkit.org/show_bug.cgi?id=81398
150
151         Reviewed by James Robinson.
152
153         Existing tests updated.
154
155         Tune physics of curve for better feel.
156
157         * platform/TouchFlingPlatformGestureCurve.cpp:
158         (WebCore::TouchFlingPlatformGestureCurve::apply):
159
160 2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
161
162         Implement a fast path when setting CSS properties with keywords from JS.
163         https://bugs.webkit.org/show_bug.cgi?id=80874
164
165         Reviewed by Antti Koivisto.
166
167         The idea is to avoid the creation of the CSSParser instance and to run the parser on
168         a string we know it should be a keyword. When JS calls parseValue we try to check if we can
169         use the fast path and if the keyword is accepted then we just add it to the declaration directly.
170         For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
171         the fast path (keyword matching mostly).
172
173         This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
174         Google Maps for example (when zooming or panning).
175
176         No new tests : it's a performance improvement, there shouldn't be any behavior change.
177
178         * css/CSSParser.cpp:
179         (WebCore):
180         (WebCore::isValidKeywordPropertyAndValue):
181         (WebCore::isKeywordPropertyID):
182         (WebCore::parseKeywordValue):
183         (WebCore::CSSParser::parseValue):
184
185 2012-03-20  Ian Vollick  <vollick@chromium.org>
186
187         [chromium] Infrastructure to allow animating layers to be only partially updated
188         https://bugs.webkit.org/show_bug.cgi?id=81106
189
190         Reviewed by James Robinson
191
192         Merged the controller tests in CCLayerAnimationControllerTest
193
194         * WebCore.gypi:
195         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
196         * platform/graphics/chromium/GraphicsLayerChromium.h:
197         (GraphicsLayerChromium):
198         * platform/graphics/chromium/LayerChromium.cpp:
199         (WebCore::LayerChromium::LayerChromium):
200         (WebCore::LayerChromium::pushPropertiesTo):
201         (WebCore::LayerChromium::setOpacityFromAnimation):
202         (WebCore):
203         (WebCore::LayerChromium::setTransformFromAnimation):
204         (WebCore::LayerChromium::addAnimation):
205         (WebCore::LayerChromium::pauseAnimation):
206         (WebCore::LayerChromium::removeAnimation):
207         (WebCore::LayerChromium::suspendAnimations):
208         (WebCore::LayerChromium::resumeAnimations):
209         (WebCore::LayerChromium::setLayerAnimationController):
210         (WebCore::LayerChromium::hasActiveAnimation):
211         (WebCore::LayerChromium::setAnimationEvent):
212         * platform/graphics/chromium/LayerChromium.h:
213         (WebCore):
214         (LayerChromium):
215         (WebCore::LayerChromium::id):
216         (WebCore::LayerChromium::opacity):
217         (WebCore::LayerChromium::transform):
218         (WebCore::LayerChromium::bounds):
219         * platform/graphics/chromium/cc/CCActiveAnimation.h:
220         (CCActiveAnimation):
221         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
222         (WebCore::CCAnimationEvent::CCAnimationEvent):
223         (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
224         (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
225         (WebCore::CCAnimationStartedEvent::create):
226         (WebCore):
227         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
228         (WebCore::CCFloatAnimationFinishedEvent::create):
229         (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
230         (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
231         (WebCore::CCFloatAnimationFinishedEvent::type):
232         (WebCore::CCTransformAnimationFinishedEvent::create):
233         (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
234         (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
235         (WebCore::CCTransformAnimationFinishedEvent::type):
236         * platform/graphics/chromium/cc/CCAnimationEvents.h:
237         (WebCore):
238         (WebCore::CCAnimationEvent::targetProperty):
239         (CCAnimationEvent):
240         (CCAnimationStartedEvent):
241         (CCFloatAnimationFinishedEvent):
242         (WebCore::CCFloatAnimationFinishedEvent::finalValue):
243         (CCTransformAnimationFinishedEvent):
244         (WebCore::CCTransformAnimationFinishedEvent::finalValue):
245         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
246         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
247         (WebCore::CCLayerAnimationController::create):
248         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
249         (WebCore::CCLayerAnimationController::animate):
250         (WebCore):
251         (WebCore::CCLayerAnimationController::add):
252         (WebCore::CCLayerAnimationController::getActiveAnimation):
253         (WebCore::CCLayerAnimationController::hasActiveAnimation):
254         (WebCore::CCLayerAnimationController::isAnimatingProperty):
255         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
256         (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
257         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
258         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
259         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
260         (WebCore::CCLayerAnimationController::resolveConflicts):
261         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
262         (WebCore::CCLayerAnimationController::tickAnimations):
263         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
264         (WebCore):
265         (CCLayerAnimationControllerClient):
266         (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
267         (CCLayerAnimationController):
268         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
269         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
270         * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
271         (CCLayerAnimationDelegate):
272         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
273         (WebCore::CCLayerImpl::CCLayerImpl):
274         (WebCore::CCLayerImpl::setOpacityFromAnimation):
275         (WebCore):
276         (WebCore::CCLayerImpl::setTransformFromAnimation):
277         * platform/graphics/chromium/cc/CCLayerImpl.h:
278         (CCLayerImpl):
279         (WebCore::CCLayerImpl::id):
280         (WebCore::CCLayerImpl::layerAnimationController):
281         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
282         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
283         (WebCore::CCLayerTreeHost::updateAnimations):
284         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
285         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
286         (WebCore::CCLayerTreeHost::animateLayers):
287         (WebCore):
288         (WebCore::CCLayerTreeHost::animateLayersRecursive):
289         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
290         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
291         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
292         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
293         (WebCore::CCLayerTreeHostImpl::animateLayers):
294         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
295         (CCLayerTreeHostImpl):
296         * platform/graphics/chromium/cc/CCThreadProxy.h:
297         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
298
299 2012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
300
301         Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
302         https://bugs.webkit.org/show_bug.cgi?id=81662
303
304         Reviewed by Yury Semikhatsky.
305
306         * inspector/front-end/HeapSnapshot.js:
307         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
308
309 2012-03-20  Gavin Peters  <gavinp@chromium.org>
310
311         New PageCache histogram for tracking the highest leverage frame reject reasons.
312         https://bugs.webkit.org/show_bug.cgi?id=81358
313
314         Reviewed by Adam Barth.
315
316         The current chromium FrameClientImpl always denies page cache; but
317         that's easily fixable.  This histogram tracks which rejection
318         causes occur alone with that cause.  I'm particularly interested
319         in knowing how many more pages would work in the page cache if we
320         could get plugins in.
321
322         * history/PageCache.cpp:
323         (WebCore::logCanCachePageDecision):
324
325 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
326
327         Web Inspector: support inline source maps.
328         https://bugs.webkit.org/show_bug.cgi?id=81248
329
330         - support optional map.sourcesContent array with sources content
331         - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"
332
333         Reviewed by Pavel Feldman.
334
335         * inspector/front-end/CompilerSourceMapping.js:
336         (WebInspector.ClosureCompilerSourceMapping):
337         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
338         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
339         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
340
341 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
342
343         Web Inspector: treat Uint* external arrays as arrays in console.
344         https://bugs.webkit.org/show_bug.cgi?id=81653
345
346         Reviewed by Yury Semikhatsky.
347
348         * bindings/js/JSInjectedScriptHostCustom.cpp:
349         (WebCore::JSInjectedScriptHost::type):
350         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
351         (WebCore::V8InjectedScriptHost::typeCallback):
352
353 2012-03-20  Andreas Kling  <kling@webkit.org>
354
355         Let CSSImageValue inherit directly from CSSValue.
356         <http://webkit.org/b/81635>
357
358         Reviewed by Antti Koivisto.
359
360         This removes the last of the CSSPrimitiveValue subclasses, which will
361         open up the class to heavier refactoring.
362
363         Those CSSImageValues that used to represent the 'none' value are now
364         simply created as CSSPrimitiveValue identifiers by the parser.
365
366         Test: fast/css/image-value-type.html
367
368         * css/CSSCursorImageValue.cpp:
369         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
370         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
371         (WebCore::CSSCursorImageValue::cachedImage):
372         * css/CSSImageValue.cpp:
373         (WebCore::CSSImageValue::CSSImageValue):
374         (WebCore::CSSImageValue::cachedOrPendingImage):
375         (WebCore::CSSImageValue::cachedImage):
376         (WebCore::CSSImageValue::customCssText):
377         * css/CSSImageValue.h:
378         (WebCore::CSSImageValue::url):
379         * css/CSSParser.cpp:
380         (WebCore::CSSParser::parseValue):
381         (WebCore::CSSParser::parseFillImage):
382         (WebCore::CSSParser::parseBorderImage):
383         * css/CSSStyleApplyProperty.cpp:
384         (WebCore::ApplyPropertyCursor::applyValue):
385         * css/CSSStyleSelector.cpp:
386         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
387         * css/CSSValue.h:
388         (WebCore::CSSValue::isPrimitiveValue):
389
390 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
391
392         Web Inspector: call .length as the last check when detecting arrays.
393         https://bugs.webkit.org/show_bug.cgi?id=81335
394
395         Reviewed by Yury Semikhatsky.
396
397         * inspector/InjectedScriptSource.js:
398
399 2012-03-20  Alexander Pavlov  <apavlov@chromium.org>
400
401         Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
402         https://bugs.webkit.org/show_bug.cgi?id=81414
403
404         Reviewed by Vsevolod Vlasov.
405
406         * inspector/front-end/CSSStyleModel.js:
407         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
408         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
409
410 2012-03-20  Yury Semikhatsky  <yurys@chromium.org>
411
412         Web Inspector: provide class name filter for "comparison" view in heap profiler
413         https://bugs.webkit.org/show_bug.cgi?id=81641
414
415         Class name filtering now works for both Summary and Comparison views.
416
417         Reviewed by Pavel Feldman.
418
419         * inspector/front-end/DetailedHeapshotView.js:
420         (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
421         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
422         * inspector/front-end/heapProfiler.css:
423         (.detailed-heapshot-view .class-view-grid):
424         (.detailed-heapshot-view .class-view-toolbar):
425         (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):
426
427 2012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>
428
429         Make animVal support type-safe
430         https://bugs.webkit.org/show_bug.cgi?id=81640
431
432         Reviewed by Antti Koivisto.
433
434         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
435
436         Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
437         and associated reinterpret_casts, which require all call-sites to assure that the
438         types are safe to cast, before actually calling the method.
439
440         Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
441         and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.
442
443         Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
444         SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
445         Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
446         eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
447         function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
448         right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
449         reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.
450
451         To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
452         SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.
453
454         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
455
456         * svg/SVGAnimateElement.cpp:
457         (WebCore::SVGAnimateElement::calculateAnimatedValue):
458         (WebCore::SVGAnimateElement::resetToBaseValue):
459         (WebCore::SVGAnimateElement::applyResultsToTarget):
460         (WebCore):
461         (WebCore::SVGAnimateElement::targetElementWillChange):
462         * svg/SVGAnimatedLength.cpp:
463         (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
464         (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
465         (WebCore):
466         (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
467         (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
468         (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
469         * svg/SVGAnimatedLength.h:
470         (WebCore):
471         (SVGAnimatedLengthAnimator):
472         * svg/SVGAnimatedLengthList.cpp:
473         (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
474         (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
475         (WebCore):
476         (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
477         (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
478         (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
479         * svg/SVGAnimatedLengthList.h:
480         (WebCore):
481         (SVGAnimatedLengthListAnimator):
482         * svg/SVGAnimatedNumber.cpp:
483         (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
484         (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
485         (WebCore):
486         (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
487         (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
488         (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
489         * svg/SVGAnimatedNumber.h:
490         (WebCore):
491         (SVGAnimatedNumberAnimator):
492         * svg/SVGAnimatedNumberList.cpp:
493         (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
494         (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
495         (WebCore):
496         (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
497         (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
498         (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
499         * svg/SVGAnimatedNumberList.h:
500         (WebCore):
501         (SVGAnimatedNumberListAnimator):
502         * svg/SVGAnimatedNumberOptionalNumber.cpp:
503         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
504         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
505         (WebCore):
506         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
507         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
508         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
509         * svg/SVGAnimatedNumberOptionalNumber.h:
510         (WebCore):
511         (SVGAnimatedNumberOptionalNumberAnimator):
512         * svg/SVGAnimatedTransformList.cpp:
513         (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
514         (WebCore):
515         (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
516         (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
517         (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
518         (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
519         * svg/SVGAnimatedTransformList.h:
520         (WebCore):
521         (SVGAnimatedTransformListAnimator):
522         * svg/SVGAnimatedType.h:
523         (WebCore):
524         * svg/SVGAnimatedTypeAnimator.h:
525         (WebCore):
526         (SVGAnimatedTypeAnimator):
527         (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
528         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
529         (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
530         (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
531         (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
532         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
533         (WebCore::SVGAnimatedTypeAnimator::startAnimation):
534         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
535         (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
536         (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
537         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
538         (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
539         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
540         (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
541         (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
542         (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
543         * svg/SVGAnimationElement.cpp:
544         (WebCore::SVGAnimationElement::applyAnimatedValue):
545         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
546         * svg/SVGAnimationElement.h:
547         (SVGAnimationElement):
548         * svg/SVGElementInstance.cpp:
549         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
550         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
551         (WebCore):
552         (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
553         * svg/SVGElementInstance.h:
554         (WebCore):
555         (InstanceUpdateBlocker):
556         (SVGElementInstance):
557         * svg/properties/SVGAnimatedListPropertyTearOff.h:
558         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
559         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
560         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
561         (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
562         (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
563         * svg/properties/SVGAnimatedProperty.h:
564         (WebCore):
565         * svg/properties/SVGAnimatedPropertyTearOff.h:
566         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
567         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
568         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
569         (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
570         (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
571         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
572         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
573         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
574         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
575         (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
576         (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
577
578 2012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>
579
580         [CSSRegions]Implement NamedFlow::getRegionsByContentNode
581         https://bugs.webkit.org/show_bug.cgi?id=77746
582
583         Reviewed by David Hyatt.
584
585         The list of regions returned is a static node list.
586
587         Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
588                fast/regions/get-regions-by-content-node-horiz-tb.html
589                fast/regions/get-regions-by-content-node-vert-lr.html
590                fast/regions/get-regions-by-content-node-vert-rl.html
591                fast/regions/get-regions-by-content-node.html
592                fast/regions/get-regions-by-content-node2.html
593
594         * dom/WebKitNamedFlow.cpp:
595         (WebCore::WebKitNamedFlow::getRegionsByContentNode):
596         (WebCore):
597         * dom/WebKitNamedFlow.h:
598         (WebKitNamedFlow):
599         * dom/WebKitNamedFlow.idl:
600         * rendering/RenderFlowThread.cpp:
601         (WebCore::RenderFlowThread::regionInRange):
602         (WebCore):
603         (WebCore::RenderFlowThread::objectInFlowRegion):
604         * rendering/RenderFlowThread.h:
605         * rendering/RenderRegion.h:
606         (WebCore::RenderRegion::flowThread):
607
608 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
609
610         Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
611         https://bugs.webkit.org/show_bug.cgi?id=81629
612
613         Reviewed by Andreas Kling.
614
615         No new tests / refactoring only.
616
617         * css/CSSPrimitiveValue.cpp:
618         (WebCore::CSSPrimitiveValue::computeLength):
619         * css/CSSPrimitiveValue.h:
620         (WebCore::roundForImpreciseConversion):
621         * rendering/style/RenderStyle.h:
622         (WebCore::adjustForAbsoluteZoom):
623
624 2012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>
625
626         [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
627         https://bugs.webkit.org/show_bug.cgi?id=80800
628
629         FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
630         list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
631         m_cookieData again. So cookies are set two times. This causes performance issue.
632
633         Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
634         the same cookies in its header list and m_cookieData. Network will use header list's cookies which
635         are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.
636
637         Now, set cookies in initializePlatformRequest to ensure setting cookies only once.
638
639         Reviewed by George Staikos.
640
641         Test: http/tests/cookies/resources/setUtf8Cookies.php
642
643         * platform/network/blackberry/NetworkManager.cpp:
644         (WebCore::NetworkManager::startJob):
645         * platform/network/blackberry/ResourceRequest.h:
646         (ResourceRequest):
647         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
648         (WebCore::ResourceRequest::initializePlatformRequest):
649
650 2012-03-19  Benjamin Poulain  <bpoulain@apple.com>
651
652         Build fix for Debug build after r111358
653
654         Unreviewed.
655
656         * bindings/js/CachedScriptSourceProvider.h:
657         * bindings/js/StringSourceProvider.h:
658
659 2012-03-19  Emil A Eklund  <eae@chromium.org>
660
661         Add FractionalLayoutUnit version of blend to AnimationUtilities
662         https://bugs.webkit.org/show_bug.cgi?id=81572
663
664         Reviewed by Eric Seidel.
665         
666         Add version of blend method that operates on FractionalLayoutUnits. This
667         will be used in place of the integer version in many places once we
668         enable support for subpixel layout.
669
670         No new tests.
671
672         * platform/FractionalLayoutUnit.h:
673         Include math.h to make GTK build happy.
674
675         * platform/animation/AnimationUtilities.h:
676         (WebCore::blend):
677
678 2012-03-19  Adam Barth  <abarth@webkit.org>
679
680         Remove support for "magic" iframe
681         https://bugs.webkit.org/show_bug.cgi?id=81590
682
683         Reviewed by Eric Seidel.
684
685         This patch removes support for "magic" iframe, which previously allowed
686         an iframe to be transfered from one document to another without
687         reloading the iframe.  The idea behind this feature was to let sites
688         create "pop out" windows that could outlive their parents by
689         transfering state to these windows via these magic iframes.
690
691         Unforuntately, this feature was never implemented by other browsers and
692         has been the source of a series of security vulnerabilities.  Although
693         we have fixed each vulnerability as it has been discovered, the feature
694         is still a complex corner case that isn't widely exercised on the web.
695         For that reason, it's likely to have more vulnerabilities in the
696         future.
697
698         I'm not aware of any web sites that use this feature anymore.  There
699         were a handful of them, but we appear to have been successful in
700         evangalizing them to move away from "magic" iframe.
701
702         * dom/Document.cpp:
703         (WebCore::Document::adoptNode):
704         * html/HTMLFrameElementBase.cpp:
705         (WebCore):
706         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
707         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
708         * html/HTMLFrameElementBase.h:
709         (HTMLFrameElementBase):
710         * loader/DocumentLoader.cpp:
711         (WebCore):
712         * loader/DocumentLoader.h:
713         (DocumentLoader):
714         * loader/EmptyClients.h:
715         (WebCore::EmptyFrameLoaderClient::createFrame):
716         * loader/FrameLoader.cpp:
717         (WebCore):
718         * loader/FrameLoader.h:
719         (FrameLoader):
720         * loader/FrameLoaderClient.h:
721         (FrameLoaderClient):
722         * loader/ResourceLoadNotifier.cpp:
723         (WebCore):
724         * loader/ResourceLoadNotifier.h:
725         (ResourceLoadNotifier):
726         * page/Frame.cpp:
727         (WebCore):
728         * page/Frame.h:
729         (Frame):
730
731 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
732
733         REGRESSION(r110072): Improper repainting on table with overflow: hidden
734         https://bugs.webkit.org/show_bug.cgi?id=81460
735
736         Reviewed by Simon Fraser.
737
738         Test: fast/repaint/table-hover-on-link.html
739
740         * rendering/RenderTable.cpp:
741         (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
742         so that we properly keep our cached size up to date. This fixes the problem for now but the
743         real solution is to make sure it is called on all classes that needs to. This is tracked by
744         bug 81461.
745
746 2012-03-19  Pablo Flouret  <pablof@motorola.com>
747
748         Add support for crossorigin attribute in script elements
749         https://bugs.webkit.org/show_bug.cgi?id=81438
750
751         Reviewed by Adam Barth.
752
753         Works similarly to img and its crossorigin attribute. In the future it
754         could allow for things like showing full error messages in error
755         handlers, etc.
756
757         Tests: http/tests/security/script-crossorigin-loads-correctly.html
758                http/tests/security/script-crossorigin-loads-same-origin.html
759                http/tests/security/script-with-failed-cors-check-fails-to-load.html
760
761         * dom/ScriptElement.cpp:
762         (WebCore::ScriptElement::ScriptElement):
763         (WebCore::ScriptElement::requestScript):
764         (WebCore::ScriptElement::notifyFinished):
765         * dom/ScriptElement.h:
766         (ScriptElement):
767         * html/HTMLScriptElement.idl:
768
769 2012-03-19  Benjamin Poulain  <benjamin@webkit.org>
770
771         Do not copy the script source in the SourceProvider, just reference the existing string
772         https://bugs.webkit.org/show_bug.cgi?id=81466
773
774         Reviewed by Geoffrey Garen.
775
776         Instead of creating a copy of the string with 16bits characters, we just return
777         a shared StringImpl.
778
779         * bindings/js/CachedScriptSourceProvider.h:
780         * bindings/js/StringSourceProvider.h:
781
782 2012-03-19  Dana Jansens  <danakj@chromium.org>
783
784         A quick early-out for Region::contains() test
785         https://bugs.webkit.org/show_bug.cgi?id=81625
786
787         Reviewed by Anders Carlsson.
788
789         If the bounds of region B include a row/column that is outside the bounds of
790         region A, then region B contains a pixel within that row/column that is
791         outside of region A.
792
793         * platform/graphics/Region.cpp:
794         (WebCore::Region::contains):
795
796 2012-03-19  Eric Seidel  <eric@webkit.org>
797
798         Unreviewed attempt to fix the EFL build.
799
800         * platform/graphics/efl/IconEfl.cpp:
801
802 2012-03-19  Eric Seidel  <eric@webkit.org>
803
804         Fix more WTF header include paths in WebCore
805         https://bugs.webkit.org/show_bug.cgi?id=81602
806
807         Reviewed by Martin Robinson.
808
809         Chromium, Mac and Win already build w/o including wtf subdirectories
810         in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
811         should eventually do the same.  This patch fixes up a few loose
812         wtf includes in these ports using some search/replace across WebCore.
813         If the EWS bots pass this patch doesn't really need any other review.
814
815         * accessibility/gtk/AXObjectCacheAtk.cpp:
816         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
817         * platform/KURL.cpp:
818         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
819         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
820         * platform/audio/gtk/AudioBusGtk.cpp:
821         * platform/clutter/GRefPtrClutter.h:
822         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
823         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
824         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
825         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
826         * platform/graphics/gtk/ImageBufferGtk.cpp:
827         * platform/graphics/pango/FontPango.cpp:
828         * platform/graphics/qt/ImageBufferDataQt.h:
829         * platform/graphics/wx/ImageBufferDataWx.h:
830         * platform/gtk/ContextMenuGtk.cpp:
831         * platform/gtk/ContextMenuItemGtk.cpp:
832         * platform/gtk/FileSystemGtk.cpp:
833         * platform/gtk/GOwnPtrGtk.h:
834         * platform/gtk/GtkAuthenticationDialog.h:
835         * platform/gtk/GtkPopupMenu.cpp:
836         * platform/gtk/LanguageGtk.cpp:
837         * platform/gtk/LocalizedStringsGtk.cpp:
838         * platform/gtk/PopupMenuGtk.cpp:
839         * platform/gtk/RenderThemeGtk.cpp:
840         * platform/gtk/RenderThemeGtk.h:
841         * platform/network/soup/GOwnPtrSoup.h:
842         * platform/network/soup/ResourceRequestSoup.cpp:
843         * platform/network/soup/ResourceResponseSoup.cpp:
844         * platform/network/soup/SocketStreamHandle.h:
845         * platform/network/soup/SoupURIUtils.cpp:
846         * platform/text/TextEncoding.cpp:
847         * platform/text/gtk/TextBreakIteratorGtk.cpp:
848         * platform/text/gtk/TextCodecGtk.cpp:
849         * platform/text/gtk/TextCodecGtk.h:
850
851 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
852
853         Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
854         https://bugs.webkit.org/show_bug.cgi?id=81548
855
856         Reviewed by Tony Chang.
857
858         Refactoring, no expected change in behavior.
859
860         Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
861         span several RenderTableSection (which is what IE and FF are doing right now).
862
863         * rendering/RenderTable.cpp:
864         (WebCore::RenderTable::distributeExtraLogicalHeight):
865         (WebCore::RenderTable::layout):
866         Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
867         methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
868
869         * rendering/RenderTable.h:
870         Added distributeExtraLogicalHeight.
871
872         * rendering/RenderTableSection.cpp:
873         (WebCore::RenderTableSection::layoutRows):
874         Changed the method signature as it doesn't handle the distribution step anymore.
875
876         * rendering/RenderTableSection.h:
877         Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
878
879 2012-03-19  Anders Carlsson  <andersca@apple.com>
880
881         Another attempt at fixing the Windows build.
882
883         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
884         (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
885
886 2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
887
888         [EFL] Fix build break because of PlatformString.h
889         https://bugs.webkit.org/show_bug.cgi?id=81619
890
891         Unreviewed. Fix build break because of PlatformString.h.
892
893         * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
894
895 2012-03-19  Eric Seidel  <eric@webkit.org>
896
897         Fix CrWin build after r111258.
898         https://bugs.webkit.org/show_bug.cgi?id=81281
899
900         Unreviewed build fix.
901         I also fixed similarly incorrect wtf/ includes for other ports
902         (which aren't yet as strict as Chromium about wtf includes).
903
904         * platform/blackberry/CookieManager.cpp:
905         * platform/blackberry/CookieParser.cpp:
906         * platform/blackberry/ParsedCookie.cpp:
907         * platform/blackberry/SharedTimerBlackBerry.cpp:
908         * platform/graphics/qt/GraphicsLayerQt.cpp:
909         * platform/graphics/texmap/TextureMapperAnimation.cpp:
910         * rendering/RenderThemeChromiumWin.cpp:
911         (WebCore):
912
913 2012-03-19  Eric Seidel  <eric@webkit.org>
914
915         Fix CrWin build after r111258.
916         https://bugs.webkit.org/show_bug.cgi?id=81281
917
918         Unreviewed build fix.
919
920         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
921         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
922         * platform/graphics/texmap/TextureMapperAnimation.h:
923
924 2012-03-19  Tony Chang  <tony@chromium.org>
925
926         add css parsing of flex-line-pack
927         https://bugs.webkit.org/show_bug.cgi?id=81427
928
929         Reviewed by Ojan Vafai.
930
931         Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
932
933         Updated tests in css3/flexbox/css-properties.html
934
935         * css/CSSComputedStyleDeclaration.cpp:
936         (WebCore):
937         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
938         * css/CSSParser.cpp:
939         (WebCore::CSSParser::parseValue):
940         * css/CSSPrimitiveValueMappings.h:
941         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
942         (WebCore):
943         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
944         * css/CSSProperty.cpp:
945         (WebCore::CSSProperty::isInheritedProperty):
946         * css/CSSPropertyNames.in:
947         * css/CSSStyleApplyProperty.cpp:
948         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
949         * css/CSSStyleSelector.cpp:
950         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
951         * css/CSSValueKeywords.in:
952         * rendering/style/RenderStyle.h:
953         * rendering/style/RenderStyleConstants.h:
954         * rendering/style/StyleFlexibleBoxData.cpp:
955         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
956         (WebCore::StyleFlexibleBoxData::operator==):
957         * rendering/style/StyleFlexibleBoxData.h:
958         (StyleFlexibleBoxData):
959
960 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
961
962         [GTK] libWebCore.la has become too big for make
963         https://bugs.webkit.org/show_bug.cgi?id=81582
964
965         Unreviewed build fix.
966
967         * GNUmakefile.am: build an intermediate library for modules, so that the list
968         of source files used to build WebCore can be split and not reach make's limits;
969         also try to force relinking libWebCore.la and libWebCoreModules.la when the
970         GNUmakefile.am or GNUmakefile.list.am change
971
972 2012-03-19  Dana Jansens  <danakj@chromium.org>
973
974         [chromium] Push culled tiles that are prepainted
975         https://bugs.webkit.org/show_bug.cgi?id=81552
976
977         Reviewed by Adrienne Walker.
978
979         If a tile was culled during paint, but then prepainted in the following
980         idle paint pass, it was still marked as culled (and thus dirty) and not
981         pushed to the impl side.
982
983         Renames tile->m_updateCulled to tile->m_updated. This value is true if
984         the tile is updated any time during a commit, and remains false if it
985         is culled every time the layer is painted.
986
987         Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
988
989         * platform/graphics/chromium/TiledLayerChromium.cpp:
990         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
991         (UpdatableTile):
992         (WebCore::UpdatableTile::UpdatableTile):
993         (WebCore::TiledLayerChromium::updateCompositorResources):
994         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
995         (WebCore::TiledLayerChromium::resetUpdateState):
996
997 2012-03-19  Anders Carlsson  <andersca@apple.com>
998
999         Fix Snow Leopard build.
1000
1001         * platform/graphics/ca/mac/TileCache.mm:
1002         (WebCore::TileCache::createTileLayer):
1003
1004 2012-03-19  Michal Mocny  <mmocny@google.com>
1005
1006         [chromium] Adding support for GL_EXT_discard_framebuffer.
1007         https://bugs.webkit.org/show_bug.cgi?id=81383
1008
1009         Reviewed by James Robinson.
1010
1011         * platform/graphics/chromium/Extensions3DChromium.h:
1012
1013 2012-03-19  Adam Klein  <adamk@chromium.org>
1014
1015         Refactor ContainerNode::replaceChild to match other mutation methods and share code
1016         https://bugs.webkit.org/show_bug.cgi?id=81579
1017
1018         Reviewed by Ojan Vafai.
1019
1020         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
1021         to handle insertion of DocumentFragments more cleanly.
1022
1023         No new tests, no change in behavior.
1024
1025         * dom/ContainerNode.cpp:
1026         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
1027         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
1028         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
1029         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
1030
1031 2012-03-19  Ian Vollick  <vollick@chromium.org>
1032
1033         [chromium] Times in the cc should be expressed in seconds.
1034         https://bugs.webkit.org/show_bug.cgi?id=80514
1035
1036         Reviewed by James Robinson.
1037
1038         Updated timer tests to use seconds.
1039
1040         * platform/TouchFlingPlatformGestureCurve.h:
1041         (TouchFlingPlatformGestureCurve):
1042         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1043         (WebCore::CCActiveGestureAnimation::animate):
1044         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
1045         (CCActiveGestureAnimation):
1046         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1047         (WebCore::CCDelayBasedTimeSource::create):
1048         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
1049         (WebCore::CCDelayBasedTimeSource::setActive):
1050         (WebCore::CCDelayBasedTimeSource::onTimerFired):
1051         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
1052         (WebCore):
1053         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
1054         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1055         (CCDelayBasedTimeSource):
1056         * platform/graphics/chromium/cc/CCGestureCurve.h:
1057         (CCGestureCurve):
1058         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1059         (WTF):
1060         (WebCore::CCThreadProxy::beginContextRecreation):
1061         (WebCore::CCThreadProxy::tryToRecreateContext):
1062         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1063         * platform/graphics/chromium/cc/CCTimer.cpp:
1064         (WebCore::CCTimer::startOneShot):
1065         * platform/graphics/chromium/cc/CCTimer.h:
1066         (CCTimer):
1067
1068 2012-03-19  Florin Malita  <fmalita@google.com>
1069
1070         Relative-height block SVG root not layed out on container height change
1071         https://bugs.webkit.org/show_bug.cgi?id=81513
1072
1073         Reviewed by Dirk Schulze.
1074
1075         Tests: svg/custom/svg-percent-scale-block-expected.html
1076                svg/custom/svg-percent-scale-block.html
1077
1078         A couple of places still have style()->logical{Min,Max,}Height percent checks,
1079         which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
1080         RenderBox method to replace the explicit style checks.
1081
1082         * rendering/RenderBlock.cpp:
1083         (WebCore::RenderBlock::layoutBlockChildren):
1084         Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
1085
1086         * rendering/RenderBox.cpp:
1087         (WebCore::RenderBox::hasRelativeLogicalHeight):
1088         (WebCore):
1089         * rendering/RenderBox.h:
1090         (RenderBox):
1091         Add virtual hasRelativeLogicalHeight().
1092
1093         * rendering/RenderView.cpp:
1094         (WebCore::RenderView::layout):
1095         Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
1096
1097         * rendering/svg/RenderSVGRoot.cpp:
1098         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
1099         (WebCore):
1100         * rendering/svg/RenderSVGRoot.h:
1101         (RenderSVGRoot):
1102         Add hasRelativeLogicalHeight() override.
1103
1104 2012-03-19  Jer Noble  <jer.noble@apple.com>
1105
1106         Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
1107         causing "crashes" on the Lion Intel Debug WebKit2 test bots.
1108         https://bugs.webkit.org/show_bug.cgi?id=81171
1109
1110         Reviewed by Dan Bernstein.
1111
1112         No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
1113
1114         Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
1115
1116         * rendering/RenderBlock.cpp:
1117         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1118
1119 2012-03-19  Enrica Casucci  <enrica@apple.com>
1120
1121         WebKit2: create sandbox extensions for files that are dropped in an input control.
1122         https://bugs.webkit.org/show_bug.cgi?id=81153
1123         <rdar://problem/11031207>
1124
1125         Reviewed by Alexey Proskuryakov.
1126
1127         Now the pasteboard access is performed only in the UI process, it is
1128         necessary to create sandbox extensions for each file that is dropped into
1129         an input type=file element. The extensions are created at the time the files
1130         are dropped and consumed immediately.
1131
1132         * page/DragActions.h: Added new drag action to be used by the WebDragClient.
1133         * page/DragController.cpp:
1134         (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
1135
1136 2012-03-19  Eric Seidel  <eric@webkit.org>
1137
1138         Fix Chromium Win
1139         https://bugs.webkit.org/show_bug.cgi?id=81281
1140
1141         Unreviewed build fix.
1142
1143         * platform/graphics/chromium/TransparencyWin.h:
1144
1145 2012-03-19  Eric Seidel  <eric@webkit.org>
1146
1147         Fix the chromium world.
1148         https://bugs.webkit.org/show_bug.cgi?id=81281
1149
1150         Unreviewed build fix.
1151
1152         * rendering/RenderThemeChromiumSkia.cpp:
1153
1154 2012-03-19  Brady Eidson  <beidson@apple.com>
1155
1156         <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
1157         Crash in 3rd party WebKit apps under XHR/Cache code
1158
1159         Reviewed by Antti Koivisto.
1160
1161         No new layout tests.
1162         TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
1163
1164         A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
1165         This worked until http://trac.webkit.org/changeset/98380
1166
1167         * history/PageCache.cpp:
1168         (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
1169           autorelease if it was enabled before.
1170
1171         * loader/cache/CachedResourceLoader.cpp:
1172         (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
1173           re-enable it afterwards if necessary.
1174
1175         * loader/cache/MemoryCache.h:
1176         (WebCore::MemoryCache::pruneEnabled):
1177
1178 2012-03-19  Anders Carlsson  <andersca@apple.com>
1179
1180         Fix Windows build.
1181
1182         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1183         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
1184
1185 2012-03-18  James Robinson  <jamesr@chromium.org>
1186
1187         [chromium] Implement fling-by-wheel on compositor thread
1188         https://bugs.webkit.org/show_bug.cgi?id=81462
1189
1190         Reviewed by Adrienne Walker.
1191
1192         Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
1193         in WebCompositorInputHandlerImplTests.
1194
1195         * platform/graphics/chromium/cc/CCInputHandler.h:
1196         (CCInputHandler):
1197         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1198         (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
1199         (WebCore):
1200         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1201         (CCLayerTreeHostImpl):
1202         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1203         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1204
1205 2012-03-19  Emil A Eklund  <eae@chromium.org>
1206
1207         [mac/chromium] Change platform code to use pixelSnappedRect methods
1208         https://bugs.webkit.org/show_bug.cgi?id=81016
1209
1210         Reviewed by Eric Seidel.
1211
1212         Change platform code to use Node::getPixelSnappedRect,
1213         pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
1214         to avoid exposing subpixel types to the platform layer.
1215
1216         No new tests.
1217
1218         * WebCore.exp.in:
1219         * rendering/RenderObject.cpp:
1220         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
1221         Add pixelSnapped version of absoluteClippedOverflowRect
1222         
1223         (WebCore):
1224         * rendering/RenderObject.h:
1225         (RenderObject):
1226
1227 2012-03-19  Brady Eidson  <beidson@apple.com>
1228
1229         <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
1230         REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
1231
1232         Reviewed by Enrica Casucci.
1233
1234         r107435 started saving/restoring URLs as strings.
1235         We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
1236
1237         WebKit API test: ContextMenuCanCopyURL
1238         No WebKit2 API test possible at this time.
1239
1240         * platform/mac/PlatformPasteboardMac.mm:
1241         (WebCore::PlatformPasteboard::setURL):
1242
1243 2012-03-19  Anders Carlsson  <andersca@apple.com>
1244
1245         Make the TileCache work with HiDPI again
1246         https://bugs.webkit.org/show_bug.cgi?id=81569
1247         <rdar://problem/11031542>
1248
1249         Reviewed by Sam Weinig.
1250
1251         Set the contentsScale of the individual tile layers to be the same as the device scale factor.
1252         Also, take into account the fact that the value passed to TileCache::setScale is the product of the
1253         page scale factor and the device scale factor, so divide it by the device scale factor before storing
1254         it in m_scale.
1255
1256         * platform/graphics/ca/GraphicsLayerCA.cpp:
1257         (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
1258         (WebCore):
1259         * platform/graphics/ca/GraphicsLayerCA.h:
1260         (GraphicsLayerCA):
1261         * platform/graphics/ca/PlatformCALayerClient.h:
1262         (PlatformCALayerClient):
1263         * platform/graphics/ca/mac/TileCache.h:
1264         (TileCache):
1265         * platform/graphics/ca/mac/TileCache.mm:
1266         (WebCore::TileCache::TileCache):
1267         (WebCore::TileCache::setScale):
1268         (WebCore::TileCache::createTileLayer):
1269
1270 2012-03-19  Abhishek Arya  <inferno@chromium.org>
1271
1272         Crash due to layer tree information not updated when moving run-in children.
1273         https://bugs.webkit.org/show_bug.cgi?id=81265
1274
1275         Reviewed by Julien Chaffraix.
1276
1277         We need to do a full removal as the run-in child is getting inserted into
1278         the neighbouring block and |blockRunIn| is going to be destroyed later
1279         in the function.
1280
1281         Test: fast/runin/run-in-layer-not-removed-crash.html
1282
1283         * rendering/RenderBlock.cpp:
1284         (WebCore::RenderBlock::handleRunInChild):
1285
1286 2012-03-19  Dana Jansens  <danakj@chromium.org>
1287
1288         [chromium] Remove misleading double-if
1289         https://bugs.webkit.org/show_bug.cgi?id=81557
1290
1291         Reviewed by Adrienne Walker.
1292
1293         Simple code cleanup, no functionality change.
1294
1295         * platform/graphics/chromium/TiledLayerChromium.cpp:
1296         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1297
1298 2012-03-19  Eric Seidel  <eric@webkit.org>
1299
1300         Fix WTF header include discipline in Chromium WebKit
1301         https://bugs.webkit.org/show_bug.cgi?id=81281
1302
1303         Reviewed by James Robinson.
1304
1305         I also fixed some bad include dicipline for other ports
1306         as well.  Those changes are not yet necessary for those ports
1307         to keep building, but soon should be as those authors
1308         remove all the extra WTF includes from WebCore and other non-WTF projects.
1309
1310         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1311         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
1312         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1313         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1314         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
1315         * bindings/v8/NPV8Object.cpp:
1316         * bindings/v8/SerializedScriptValue.cpp:
1317         * bindings/v8/SerializedScriptValue.h:
1318         * bindings/v8/V8Binding.cpp:
1319         * bindings/v8/V8Binding.h:
1320         * bindings/v8/V8DOMWrapper.cpp:
1321         * bindings/v8/V8Utilities.cpp:
1322         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1323         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1324         * bindings/v8/custom/V8AudioContextCustom.cpp:
1325         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1326         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1327         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1328         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1329         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1330         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1331         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1332         * bindings/v8/custom/V8MessagePortCustom.cpp:
1333         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1334         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1335         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1336         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1337         * bindings/v8/custom/V8WorkerCustom.cpp:
1338         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1339         * bridge/qt/qt_runtime.cpp:
1340         * editing/gtk/FrameSelectionGtk.cpp:
1341         * loader/archive/mhtml/MHTMLArchive.cpp:
1342         * platform/ScrollAnimatorNone.cpp:
1343         * platform/blackberry/CookieMap.h:
1344         * platform/blackberry/CookieParser.h:
1345         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
1346         * platform/chromium/DragImageChromiumSkia.cpp:
1347         * platform/chromium/PlatformCursor.h:
1348         * platform/chromium/PlatformSupport.h:
1349         * platform/chromium/PopupMenuPrivate.h:
1350         * platform/chromium/TraceEvent.h:
1351         * platform/chromium/WidgetChromium.cpp:
1352         * platform/efl/RefPtrEfl.h:
1353         * platform/graphics/cairo/RefPtrCairo.h:
1354         * platform/graphics/chromium/RateLimiter.h:
1355         * platform/graphics/chromium/TiledLayerChromium.cpp:
1356         * platform/graphics/efl/IconEfl.cpp:
1357         * platform/graphics/gstreamer/GStreamerGWorld.h:
1358         * platform/graphics/gtk/IconGtk.cpp:
1359         * platform/graphics/skia/PlatformContextSkia.h:
1360         * platform/graphics/texmap/TextureMapperBackingStore.h:
1361         * platform/graphics/texmap/TextureMapperLayer.cpp:
1362         * platform/graphics/wx/TransformationMatrixWx.cpp:
1363         * platform/gtk/PlatformMouseEventGtk.cpp:
1364         * platform/leveldb/LevelDBSlice.h:
1365         * platform/mediastream/MediaStreamCenter.cpp:
1366         * platform/network/soup/SocketStreamHandleSoup.cpp:
1367         * platform/network/win/ResourceHandleWin.cpp:
1368         * platform/qt/RenderThemeQtMobile.cpp:
1369         * platform/wx/MouseEventWx.cpp:
1370         * platform/wx/wxcode/win/fontprops.cpp:
1371
1372 2012-03-19  Dana Jansens  <danakj@chromium.org>
1373
1374         [chromium] Invalidate/update evicted tiles during commit
1375         https://bugs.webkit.org/show_bug.cgi?id=81529
1376
1377         Reviewed by Adrienne Walker.
1378
1379         A previous change caused a regression where evicted (invalid) tiles
1380         were no longer marked as dirty and updated. The regress was caused
1381         in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.
1382
1383         Unit test: TiledLayerChromiumTest.pushDeletedTiles
1384
1385         * platform/graphics/chromium/TiledLayerChromium.cpp:
1386         (WebCore::UpdatableTile::copyAndClearDirty):
1387         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1388
1389 2012-03-19  Adam Barth  <abarth@webkit.org>
1390
1391         Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
1392         https://bugs.webkit.org/show_bug.cgi?id=81549
1393
1394         Reviewed by Eric Seidel.
1395
1396         This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
1397         don't believe this ifdef is needed anymore.
1398
1399         * loader/MainResourceLoader.cpp:
1400         (WebCore::shouldLoadAsEmptyDocument):
1401         (WebCore):
1402
1403 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1404
1405         Unreviewed, rolling out r111207.
1406         http://trac.webkit.org/changeset/111207
1407         https://bugs.webkit.org/show_bug.cgi?id=81561
1408
1409         Causing chromium unit test failure (Requested by reveman on
1410         #webkit).
1411
1412         * platform/graphics/chromium/Extensions3DChromium.h:
1413         (Extensions3DChromium):
1414
1415 2012-03-19  Anders Carlsson  <andersca@apple.com>
1416
1417         Remove unnecessary CALayer overrides from WebTileCacheLayer
1418         https://bugs.webkit.org/show_bug.cgi?id=81562
1419
1420         Reviewed by Dan Bernstein.
1421
1422         * platform/graphics/ca/mac/TileCache.h:
1423         (TileCache):
1424         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1425
1426 2012-03-19  Emil A Eklund  <eae@chromium.org>
1427
1428         Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
1429         https://bugs.webkit.org/show_bug.cgi?id=81538
1430
1431         Reviewed by Eric Seidel.
1432
1433         Fix usage of LayoutUnits and conversions between types in page code.
1434
1435         No new tests.
1436
1437         * page/DOMWindow.cpp:
1438         (WebCore::DOMWindow::innerHeight):
1439         (WebCore::DOMWindow::innerWidth):
1440         Explicitly cast long to int. InspectorInstrumentation requires a long and
1441         FractionalLayoutUnit has no constructor that takes long.
1442         
1443         * page/EventHandler.cpp:
1444         (WebCore::EventHandler::sendContextMenuEventForKey):
1445         Pixel snap overflow rect as selection rects are integer based.
1446         
1447         * page/FrameView.cpp:
1448         (WebCore::FrameView::scrollContentsFastPath):
1449         Pixel snap repaint rects when computing update rect as all scrolling is
1450         done on integer bounds.
1451         
1452         * page/GestureTapHighlighter.cpp:
1453         Change rects vector to IntRect as addFocusRingRects operates on IntRects.
1454         
1455         * page/Page.cpp:
1456         (WebCore::Page::addRelevantRepaintedObject):
1457         (WebCore::Page::addRelevantUnpaintedObject):
1458         Change paint methods to take a LayoutRect paint rect.
1459         
1460         * page/SpatialNavigation.cpp:
1461         (WebCore::distanceDataForNode):
1462         Change distance calculation to use floats instead of converting to float
1463         at the end.
1464
1465 2012-03-19  David Hyatt  <hyatt@apple.com>
1466
1467         https://bugs.webkit.org/show_bug.cgi?id=81553
1468         
1469         [New Multicolumn] Stub out classes to represent sets of column region boxes.
1470
1471         RenderRegionSet is an abstract class representing a set of contiguous anonymous
1472         same-size regions.
1473         
1474         RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
1475         columns. It will also handle unique column behavior like column rule painting.
1476         
1477         Eventually there will be a RenderPageSet derived class for printing/pages, but
1478         that will come later after I finish rebuilding multi-column layout.
1479
1480         Reviewed by Dan Bernstein.
1481
1482         * GNUmakefile.list.am:
1483         * Target.pri:
1484         * WebCore.gypi:
1485         * WebCore.vcproj/WebCore.vcproj:
1486         * WebCore.xcodeproj/project.pbxproj:
1487         * rendering/RenderMultiColumnSet.cpp: Added.
1488         (WebCore):
1489         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1490         (WebCore::RenderMultiColumnSet::renderName):
1491         * rendering/RenderMultiColumnSet.h: Added.
1492         (WebCore):
1493         (RenderMultiColumnSet):
1494         * rendering/RenderRegionSet.cpp: Added.
1495         (WebCore):
1496         (WebCore::RenderRegionSet::RenderRegionSet):
1497         * rendering/RenderRegionSet.h: Added.
1498         (WebCore):
1499         (RenderRegionSet):
1500
1501 2012-03-19  Raymond Toy  <rtoy@google.com>
1502
1503         Add playback state for AudioBufferSourceNode and add number of active nodes
1504         https://bugs.webkit.org/show_bug.cgi?id=79701
1505
1506         Add a playback state to AudioBufferSourceNode so that the user can
1507         tell if the node is scheduled, playing, or finished.
1508
1509         For an AudioContext, add a count of the number of
1510         AudioBufferSourceNode's that are active (playing audio).
1511
1512         Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
1513         is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
1514         m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
1515         
1516         Reviewed by Chris Rogers.
1517
1518         Test: webaudio/audiobuffersource-playbackState.html
1519
1520         * webaudio/AudioBufferSourceNode.cpp:
1521         (WebCore):
1522         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1523         initialize playbackState, remove m_isPlaying, m_hasFinished.
1524         (WebCore::AudioBufferSourceNode::process): Update playbackState
1525         (WebCore::AudioBufferSourceNode::finish): Update playbackState
1526         (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
1527         (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
1528         (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
1529         * webaudio/AudioBufferSourceNode.h:
1530         (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
1531         (WebCore::AudioBufferSourceNode::playbackState): Added.
1532         * webaudio/AudioBufferSourceNode.idl: Define constants for the
1533         playback state, add attribute playbackState.
1534         * webaudio/AudioContext.cpp:
1535         (WebCore::AudioContext::activeSourceCount): Added.
1536         (WebCore::AudioContext::incrementActiveSourceCount): Added.
1537         (WebCore::AudioContext::decrementActiveSourceCount): Added.
1538         * webaudio/AudioContext.h:
1539         (AudioContext):
1540         * webaudio/AudioContext.idl: Add attribute activeSourceCount.
1541
1542 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1543
1544         Unreviewed, rolling out r109014.
1545         http://trac.webkit.org/changeset/109014
1546         https://bugs.webkit.org/show_bug.cgi?id=81551
1547
1548         Causing crashes (Requested by inferno-sec on #webkit).
1549
1550         * rendering/style/RenderStyle.h:
1551
1552 2012-03-19  Tony Chang  <tony@chromium.org>
1553
1554         Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
1555
1556         * WebCore.gypi:
1557
1558 2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
1559
1560         [CSSRegions]Implement NamedFlow::contentNodes attribute
1561         https://bugs.webkit.org/show_bug.cgi?id=80134
1562
1563         Reviewed by David Hyatt.
1564
1565         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
1566         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
1567         The list of nodes is returned as a static node list.
1568
1569         Test: fast/regions/webkit-named-flow-content-nodes.html
1570
1571         * dom/Document.cpp:
1572         (WebCore::Document::webkitGetFlowByName):
1573         * dom/Document.h:
1574         * dom/Element.cpp:
1575         (WebCore::Element::detach):
1576         * dom/NodeRenderingContext.cpp:
1577         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1578         * dom/WebKitNamedFlow.cpp:
1579         (WebCore::WebKitNamedFlow::contentNodes):
1580         (WebCore):
1581         (WebCore::WebKitNamedFlow::registerContentNode):
1582         * dom/WebKitNamedFlow.h:
1583         (WebCore):
1584         (WebKitNamedFlow):
1585         (WebCore::WebKitNamedFlow::unregisterContentNode):
1586         * dom/WebKitNamedFlow.idl:
1587
1588 2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
1589
1590         ConvolverNode should not incur processing latency
1591         https://bugs.webkit.org/show_bug.cgi?id=75564
1592
1593         Reviewed by Chris Rogers.
1594
1595         Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
1596
1597         * WebCore.gypi:
1598         * platform/audio/DirectConvolver.cpp: Added.
1599         (WebCore):
1600         (WebCore::DirectConvolver::DirectConvolver):
1601         (WebCore::DirectConvolver::process):
1602         (WebCore::DirectConvolver::reset):
1603         * platform/audio/DirectConvolver.h: Added.
1604         (WebCore):
1605         (DirectConvolver):
1606         (WebCore::DirectConvolver::convolveSize):
1607         * platform/audio/ReverbConvolver.cpp:
1608         (WebCore::ReverbConvolver::ReverbConvolver):
1609         * platform/audio/ReverbConvolver.h:
1610         * platform/audio/ReverbConvolverStage.cpp:
1611         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
1612         (WebCore::ReverbConvolverStage::process):
1613         (WebCore::ReverbConvolverStage::reset):
1614         * platform/audio/ReverbConvolverStage.h:
1615         (WebCore):
1616         (ReverbConvolverStage):
1617
1618 2012-03-19  Anders Carlsson  <andersca@apple.com>
1619
1620         Find in page highlights get out of place when scrolling
1621         https://bugs.webkit.org/show_bug.cgi?id=81543
1622
1623         Reviewed by Sam Weinig.
1624
1625         Remove a now unused function from GraphicsLayer.
1626
1627         * platform/graphics/GraphicsLayer.h:
1628         (GraphicsLayer):
1629         * platform/graphics/ca/GraphicsLayerCA.h:
1630         (GraphicsLayerCA):
1631
1632 2012-03-19  David Hyatt  <hyatt@apple.com>
1633
1634         https://bugs.webkit.org/show_bug.cgi?id=81534
1635
1636         [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
1637         Cache the count/width on the multi-column block for easy access.
1638
1639         Reviewed by Antti Koivisto.
1640
1641         * rendering/RenderBlock.cpp:
1642         (WebCore::RenderBlock::recomputeLogicalWidth):
1643         (WebCore::RenderBlock::layoutBlock):
1644         * rendering/RenderBlock.h:
1645         Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
1646         so that column code can subclass the method to also check for changes in the column width/count.
1647
1648         * rendering/RenderMultiColumnBlock.cpp:
1649         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
1650         The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
1651         of the code from RenderBlock (which will be going away eventually).
1652
1653         (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
1654         * rendering/RenderMultiColumnBlock.h:
1655         (RenderMultiColumnBlock):
1656         Subclassed method to also check for changes in the column width to set relayoutChildren to true.
1657
1658 2012-03-19  Michal Mocny  <mmocny@google.com>
1659
1660         [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
1661         https://bugs.webkit.org/show_bug.cgi?id=81279
1662
1663         Reviewed by James Robinson.
1664
1665         * platform/graphics/chromium/Extensions3DChromium.h:
1666         (GpuMemoryAllocationCHROMIUM):
1667         (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
1668         (GpuMemoryAllocationChangedCallbackCHROMIUM):
1669
1670 2012-03-19  Tony Chang  <tony@chromium.org>
1671
1672         flex-item-align: stretch should only grow, never shrink
1673         https://bugs.webkit.org/show_bug.cgi?id=80882
1674
1675         Reviewed by Ojan Vafai.
1676
1677         New test cases in css3/flexbox/flex-align-stretch.html.
1678
1679         * rendering/RenderFlexibleBox.cpp:
1680         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
1681         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
1682         (WebCore):
1683         * rendering/RenderFlexibleBox.h:
1684         (RenderFlexibleBox):
1685
1686 2012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>
1687
1688         Web Inspector: Implement snippets evaluation.
1689         https://bugs.webkit.org/show_bug.cgi?id=81334
1690
1691         Reviewed by Pavel Feldman.
1692
1693         * inspector/front-end/ConsoleView.js:
1694         (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
1695         (WebInspector.ConsoleView.prototype._enterKeyPressed):
1696         * inspector/front-end/ScriptMapping.js:
1697         (WebInspector.MainScriptMapping):
1698         * inspector/front-end/SnippetsModel.js:
1699         * inspector/front-end/externs.js:
1700         (WebInspector.evaluateInConsole):
1701         * inspector/front-end/inspector.js:
1702         (WebInspector.evaluateInConsole):
1703
1704 2012-03-19  Tommy Widenflycht  <tommyw@google.com>
1705
1706         MediaStream API (JSEP): Introducing PeerConnection00Handler
1707         https://bugs.webkit.org/show_bug.cgi?id=81333
1708
1709         Reviewed by Adam Barth.
1710
1711         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
1712
1713         Not possible to test until the entire JSEP feature is commited.
1714
1715         * GNUmakefile.list.am:
1716         * WebCore.gypi:
1717         * platform/mediastream/PeerConnection00Handler.cpp: Added.
1718         (WebCore):
1719         (WebCore::PeerConnection00Handler::create):
1720         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
1721         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
1722         (WebCore::PeerConnection00Handler::createOffer):
1723         (WebCore::PeerConnection00Handler::createAnswer):
1724         (WebCore::PeerConnection00Handler::setLocalDescription):
1725         (WebCore::PeerConnection00Handler::setRemoteDescription):
1726         (WebCore::PeerConnection00Handler::localDescription):
1727         (WebCore::PeerConnection00Handler::remoteDescription):
1728         (WebCore::PeerConnection00Handler::startIce):
1729         (WebCore::PeerConnection00Handler::processIceMessage):
1730         (WebCore::PeerConnection00Handler::addStream):
1731         (WebCore::PeerConnection00Handler::removeStream):
1732         (WebCore::PeerConnection00Handler::stop):
1733         * platform/mediastream/PeerConnection00Handler.h: Added.
1734         (WebCore):
1735         (PeerConnection00Handler):
1736         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
1737         (WebCore):
1738         (PeerConnection00HandlerClient):
1739         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
1740
1741 2012-03-19  David Reveman  <reveman@chromium.org>
1742
1743         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
1744         https://bugs.webkit.org/show_bug.cgi?id=80988
1745
1746         Reviewed by Adrienne Walker.
1747
1748         Expose EXT_occlusion_query API to WebKit compositor. Add
1749         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
1750         enums.
1751
1752         * platform/graphics/chromium/Extensions3DChromium.h:
1753         (Extensions3DChromium):
1754
1755 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
1756
1757         CSS3 calc: make mask images work with mixed percent/absolute
1758         https://bugs.webkit.org/show_bug.cgi?id=81477
1759
1760         Reviewed by Ojan Vafai.
1761
1762         Test: css3/calc/simple-composited-mask-expected.html
1763
1764         * css/CSSStyleSelector.cpp:
1765         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1766
1767 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
1768
1769         Style cleanup in Modules/filesystem/
1770         https://bugs.webkit.org/show_bug.cgi?id=81520
1771
1772         Reviewed by Adam Barth.
1773
1774         No new tests, all existing tests pass.
1775
1776         * Modules/filesystem/AsyncFileWriter.h:
1777         (WebCore::AsyncFileWriter::~AsyncFileWriter):
1778         * Modules/filesystem/AsyncFileWriterClient.h:
1779         (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
1780         * Modules/filesystem/DOMFilePath.cpp:
1781         (WebCore::DOMFilePath::getDirectory):
1782         * Modules/filesystem/DOMFilePath.h:
1783         (DOMFilePath):
1784         * Modules/filesystem/DOMFileSystemBase.h:
1785         (DOMFileSystemBase):
1786         * Modules/filesystem/DirectoryEntry.h:
1787         * Modules/filesystem/DirectoryEntrySync.h:
1788         * Modules/filesystem/EntryArray.h:
1789         (EntryArray):
1790         * Modules/filesystem/FileEntry.h:
1791         (FileEntry):
1792         * Modules/filesystem/FileSystemCallbacks.h:
1793         (FileSystemCallbacksBase):
1794         * Modules/filesystem/FileWriter.cpp:
1795         (WebCore::FileWriter::abort):
1796
1797 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
1798
1799         CSS3 calc: background positioning works with mixed percent/absolute expressions
1800         https://bugs.webkit.org/show_bug.cgi?id=81478
1801
1802         Reviewed by Ojan Vafai.
1803
1804         Test: css3/calc/background-position-parsing-expected.html
1805
1806         * css/CSSStyleSelector.cpp:
1807         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1808
1809 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
1810
1811         Add NodeRenderStyle.h to TouchAdjustment.cpp
1812
1813         Unreviewed build fix after r111185.
1814
1815         * page/TouchAdjustment.cpp:
1816
1817 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
1818
1819         [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
1820         https://bugs.webkit.org/show_bug.cgi?id=81489
1821
1822         Reviewed by Rob Buis.
1823
1824         * platform/graphics/MediaPlayer.cpp:
1825
1826 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
1827
1828         [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
1829         https://bugs.webkit.org/show_bug.cgi?id=81312
1830
1831         Reviewed by Rob Buis.
1832
1833         * platform/PlatformKeyboardEvent.h:
1834         (Platform):
1835         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1836         (PlatformKeyboardEvent):
1837         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
1838         Add BlackBerry specific constructor and member fields.
1839         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1840         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1841         Change the parameter type to const reference type to adapt to the declaration.
1842
1843 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1844
1845         Select best target for tap gesture.
1846         https://bugs.webkit.org/show_bug.cgi?id=78801
1847
1848         Reviewed by Kenneth Rohde Christiansen.
1849         IntRect changes reviewed by Dave Hyatt.
1850
1851         The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
1852         implementation details have been placed in page/TouchAdjustment.
1853
1854         The default hit detection is performed by measuring the distance to the center
1855         lines of the absolute rects of the hit nodes. Absolute rects are used instead
1856         of bounding rects to make hit-detecting against links over line breaks. Distance
1857         to center line is used to make it easier to hit small links next to large links.
1858         For line-rects the distance to the center-line is a better expression of the distance
1859         to a rectangles center than the distance to the center-point.
1860
1861         Tests: touchadjustment/event-triggered-widgets.html
1862                touchadjustment/html-label.html
1863                touchadjustment/nested-touch.html
1864                touchadjustment/touch-inlines.html
1865
1866         * Target.pri:
1867         * page/EventHandler.cpp:
1868         (WebCore::EventHandler::handleGestureTap):
1869         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1870         * page/EventHandler.h:
1871         * page/TouchAdjustment.cpp: Added.
1872         (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
1873         (WebCore::TouchAdjustment::QuadForHitTest::node):
1874         (WebCore::TouchAdjustment::QuadForHitTest::quad):
1875         (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
1876         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
1877         (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
1878         (WebCore::TouchAdjustment::compileQuadsForHitTesting):
1879         (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
1880         (WebCore::TouchAdjustment::findNodeWithLowestMetric):
1881         (WebCore::findBestClickableCandidate):
1882         * page/TouchAdjustment.h: Added.
1883         * platform/graphics/FloatQuad.h:
1884         (WebCore::FloatQuad::center):
1885         * platform/graphics/IntPoint.h:
1886         (WebCore::IntPoint::distanceSquaredToPoint):
1887         * platform/graphics/IntRect.cpp:
1888         (WebCore::distanceToInterval):
1889         (WebCore::IntRect::differenceToPoint):
1890         (WebCore::IntRect::differenceFromCenterLineToPoint):
1891         * platform/graphics/IntRect.h:
1892         (WebCore::IntRect::distanceSquaredToPoint):
1893         (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
1894         * platform/graphics/IntSize.h:
1895         (WebCore::IntSize::diagonalLengthSquared):
1896         * testing/Internals.cpp:
1897         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
1898         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
1899         * testing/Internals.h:
1900         * testing/Internals.idl:
1901
1902 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
1903
1904         Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
1905         https://bugs.webkit.org/show_bug.cgi?id=81393
1906
1907         Reviewed by Kentaro Hara.
1908
1909         No new tests, all existing tests pass.
1910
1911         * Modules/filesystem/DOMFilePath.h:
1912
1913 2012-03-19  Max Vujovic  <mvujovic@adobe.com>
1914
1915         inspector highlight of SVG root element with viewbox does not match dimensions of element
1916         https://bugs.webkit.org/show_bug.cgi?id=78037
1917
1918         Reviewed by Nikolas Zimmermann.
1919
1920         Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
1921         eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.
1922
1923         However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
1924         coordinates. This caused the inspector highlight to be incorrectly sized and positioned.
1925
1926         Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
1927         renderers.
1928
1929         Test: inspector/elements/highlight-svg-root.html
1930
1931         * dom/Element.cpp:
1932         (WebCore::Element::getBoundingClientRect):
1933             Now, the SVG root element can use the code path for elements with CSS boxes to calculate
1934             its bounding client rect.
1935
1936         * rendering/svg/RenderSVGRoot.cpp:
1937         (WebCore::RenderSVGRoot::mapLocalToContainer):
1938             RenderSVGRoot::mapLocalToContainer no longer needs to apply the
1939             localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
1940             box coordinates. Now, it receives local CSS box coordinates.
1941
1942         * rendering/svg/RenderSVGRoot.h:
1943         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
1944             RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
1945             namespace to use when mapping from local SVG viewport coordinates to local CSS box
1946             coordinates.
1947
1948         (RenderSVGRoot):
1949         * rendering/svg/SVGRenderSupport.cpp:
1950         (WebCore::SVGRenderSupport::mapLocalToContainer):
1951             Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
1952             SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.
1953
1954         * svg/SVGSVGElement.cpp:
1955         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1956             Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
1957             calculation.
1958
1959 2012-03-19  Hironori Bono  <hbono@chromium.org>
1960
1961         Add a copy constructor to CollapsedBorderValue
1962         https://bugs.webkit.org/show_bug.cgi?id=81502
1963
1964         Reviewed by Hajime Morita.
1965
1966         Due to the lack of this copy constructor, GCC (x86) creates a broken copy
1967         constructor and it causes a build break on Google Chrome.
1968
1969         * rendering/style/CollapsedBorderValue.h:
1970         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
1971         (CollapsedBorderValue):
1972
1973 2012-03-18  Matt Falkenhagen  <falken@chromium.org>
1974
1975         Fallback to common script when per-script font setting is the empty string
1976         https://bugs.webkit.org/show_bug.cgi?id=81329
1977
1978         Reviewed by Kent Tamura.
1979
1980         Tests: fast/text/international/font-fallback-to-common-script.html
1981
1982         * page/Settings.cpp:
1983         (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.
1984
1985 2012-03-18  Luke Macpherson   <macpherson@chromium.org>
1986
1987         Remove remnants of code that assume Lengths are 28 bit integers.
1988         https://bugs.webkit.org/show_bug.cgi?id=67976
1989
1990         Reviewed by Eric Seidel.
1991
1992         Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html
1993
1994         * css/CSSPrimitiveValue.cpp:
1995         (WebCore::CSSPrimitiveValue::computeLength):
1996         Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
1997         * css/CSSStyleApplyProperty.cpp:
1998         (WebCore::ApplyPropertyBorderRadius::applyValue):
1999         Use PrimitiveValue::computeLength function directly.
2000         * platform/Length.h:
2001         Remove 28 bit integer limit constants.
2002         * rendering/AutoTableLayout.cpp:
2003         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
2004         Use std::numeric_limits.
2005
2006 2012-03-16  Shinya Kawanaka  <shinyak@chromium.org>
2007
2008         Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
2009         https://bugs.webkit.org/show_bug.cgi?id=79307
2010
2011         Reviewed by Dimitri Glazkov.
2012
2013         Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
2014         temporal unstability of multiple shadow roots. We should remove it now, and
2015         enable it by default.
2016
2017         Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
2018         The other shadow related tests should also covers this change.
2019
2020         * WebCore.exp.in:
2021         * bindings/generic/RuntimeEnabledFeatures.cpp:
2022         (WebCore):
2023         * bindings/generic/RuntimeEnabledFeatures.h:
2024         (RuntimeEnabledFeatures):
2025         * dom/ShadowRoot.cpp:
2026         (WebCore::ShadowRoot::create):
2027         * dom/ShadowTree.cpp:
2028         (WebCore::ShadowTree::addShadowRoot):
2029         * testing/Internals.cpp:
2030         * testing/Internals.h:
2031         (Internals):
2032         * testing/Internals.idl:
2033
2034 2012-03-18  Dana Jansens  <danakj@chromium.org>
2035
2036         [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
2037         https://bugs.webkit.org/show_bug.cgi?id=81354
2038
2039         Reviewed by Adrienne Walker.
2040
2041         Layers and surfaces can have an animating opacity or translation on the
2042         impl thread. In this case, the main thread does not know their actual
2043         values, and treats these values as "unknowns". This means we can't use
2044         them for marking areas of the screen as occluded, and we can't consider
2045         a part of a layer occluded in a space that we can not reliably transform
2046         to.
2047
2048         Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
2049                    CCOcclusionTrackerTestAnimationOpacity1OnMainThread
2050                    CCOcclusionTrackerTestAnimationTranslateOnMainThread
2051
2052         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2053         (WebCore::layerOpacityKnown):
2054         (WebCore::layerTransformsToTargetKnown):
2055         (WebCore::layerTransformsToScreenKnown):
2056         (WebCore):
2057         (WebCore::surfaceOpacityUnknown):
2058         (WebCore::surfaceTransformsToTargetUnknown):
2059         (WebCore::surfaceTransformsToScreenUnknown):
2060         (WebCore::::finishedTargetRenderSurface):
2061         (WebCore::contentToScreenSpaceTransform):
2062         (WebCore::contentToTargetSurfaceTransform):
2063         (WebCore::::markOccludedBehindLayer):
2064         (WebCore::::occluded):
2065         (WebCore::::unoccludedContentRect):
2066
2067 2012-03-18  Dana Jansens  <danakj@chromium.org>
2068
2069         [chromium] Animating opacity is not opaque and should create a render surface on main thread
2070         https://bugs.webkit.org/show_bug.cgi?id=81401
2071
2072         Reviewed by James Robinson.
2073
2074         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
2075
2076         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2077         (WebCore::layerOpacityIsOpaque):
2078         (WebCore):
2079         (WebCore::subtreeShouldRenderToSeparateSurface):
2080
2081 2012-03-18  Sam Weinig  <sam@webkit.org>
2082
2083         WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
2084         https://bugs.webkit.org/show_bug.cgi?id=81441
2085
2086         Reviewed by Anders Carlsson.
2087
2088         Covered by existing tests.
2089
2090         * loader/cache/MemoryCache.cpp:
2091         (WebCore::memoryCache):
2092         (WebCore::MemoryCache::add):
2093         (WebCore::MemoryCache::revalidationFailed):
2094         (WebCore::MemoryCache::resourceForURL):
2095         (WebCore::MemoryCache::evict):
2096         Add back main thread assertions.
2097
2098         * platform/graphics/cg/PatternCG.cpp:
2099         (PatternCallbackData):
2100         (WebCore::patternCallback):
2101         (WebCore::patternReleaseOnMainThreadCallback):
2102         (WebCore::Pattern::createPlatformPattern):
2103         Instead of pulling out the CGImageRef in the pattern callback, do it upfront.
2104
2105 2012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>
2106
2107         [Qt] Don't prepare SQL statements when the database is not open
2108         https://bugs.webkit.org/show_bug.cgi?id=81470
2109
2110         Reviewed by Kenneth Rohde Christiansen.
2111
2112         Already covered by existing tests.
2113
2114         * platform/qt/CookieJarQt.cpp:
2115         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
2116         (WebCore::SharedCookieJarQt::deleteAllCookies):
2117         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
2118         (WebCore::SharedCookieJarQt::loadCookies):
2119
2120 2012-03-18  Kentaro Hara  <haraken@chromium.org>
2121
2122         Unreviewed, rolling out r110994 due to Chromium crash
2123
2124         * CMakeLists.txt:
2125         * DerivedSources.make:
2126         * DerivedSources.pri:
2127         * GNUmakefile.list.am:
2128         * Target.pri:
2129         * WebCore.gypi:
2130         * WebCore.vcproj/WebCore.vcproj:
2131         * WebCore.xcodeproj/project.pbxproj:
2132         * notifications/DOMWindowNotifications.cpp: Removed.
2133         * notifications/DOMWindowNotifications.h: Removed.
2134         * notifications/DOMWindowNotifications.idl: Removed.
2135         * page/DOMWindow.cpp:
2136         (WebCore::DOMWindow::~DOMWindow):
2137         (WebCore::DOMWindow::willDetachPage):
2138         (WebCore::DOMWindow::disconnectDOMWindowProperties):
2139         (WebCore::DOMWindow::clearDOMWindowProperties):
2140         (WebCore):
2141         (WebCore::DOMWindow::webkitNotifications):
2142         (WebCore::DOMWindow::resetNotifications):
2143         * page/DOMWindow.h:
2144         (WebCore):
2145         (DOMWindow):
2146         * page/DOMWindow.idl:
2147         * page/Frame.cpp:
2148         (WebCore::Frame::willDetachPage):
2149         (WebCore::Frame::transferChildFrameToNewDocument):
2150
2151 2012-03-18  Kentaro Hara  <haraken@chromium.org>
2152
2153         Unreviewed, rolling out r111086.
2154         http://trac.webkit.org/changeset/111086
2155         https://bugs.webkit.org/show_bug.cgi?id=81374
2156
2157         Chromium crash
2158
2159         * notifications/DOMWindowNotifications.cpp:
2160         (WebCore::DOMWindowNotifications::disconnectFrame):
2161
2162 2012-03-18  David Reveman  <reveman@chromium.org>
2163
2164         Invalidation issue when creating backing layer for fixed positioned element.
2165         https://bugs.webkit.org/show_bug.cgi?id=80647
2166
2167         Reviewed by James Robinson.
2168
2169         Ensure that root layer is correctly invalidated by handling scroll and
2170         invalidation from movement of fixed position elements prior to creating
2171         any backing layers.
2172
2173         Test: compositing/layer-creation/fixed-position-scroll.html
2174
2175         * page/FrameView.cpp:
2176         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
2177         (WebCore):
2178         (WebCore::FrameView::updateFixedElementsAfterScrolling):
2179         * page/FrameView.h:
2180         (FrameView):
2181         * platform/ScrollView.cpp:
2182         (WebCore::ScrollView::scrollTo):
2183         * platform/ScrollView.h:
2184         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
2185         (WebCore::ScrollView::updateFixedElementsAfterScrolling):
2186
2187 2012-03-18  Dana Jansens  <danakj@chromium.org>
2188
2189         [chromium] Transform animation state should be inherited from parents
2190         https://bugs.webkit.org/show_bug.cgi?id=81363
2191
2192         Reviewed by Adrienne Walker.
2193
2194         Adds a drawTransformIsAnimating() and screenSpaceTransformIsAnimating()
2195         to the layer classes, and similar to the surface classes. These inherit
2196         the values from their parents in the same way that the transforms
2197         themselves do, and reflect if the layer's transform is being affected
2198         by some active animation.
2199
2200         These can be used in main-thread culling when determining if the layer's
2201         position is static in the given coordinate space or being animated.
2202
2203         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
2204
2205         * platform/graphics/chromium/LayerChromium.cpp:
2206         (WebCore::LayerChromium::LayerChromium):
2207         * platform/graphics/chromium/LayerChromium.h:
2208         (LayerChromium):
2209         (WebCore::LayerChromium::drawTransformIsAnimating):
2210         (WebCore::LayerChromium::setDrawTransformIsAnimating):
2211         (WebCore::LayerChromium::screenSpaceTransformIsAnimating):
2212         (WebCore::LayerChromium::setScreenSpaceTransformIsAnimating):
2213         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2214         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2215         * platform/graphics/chromium/RenderSurfaceChromium.h:
2216         (WebCore::RenderSurfaceChromium::targetSurfaceTransformsAreAnimating):
2217         (WebCore::RenderSurfaceChromium::setTargetSurfaceTransformsAreAnimating):
2218         (WebCore::RenderSurfaceChromium::screenSpaceTransformsAreAnimating):
2219         (WebCore::RenderSurfaceChromium::setScreenSpaceTransformsAreAnimating):
2220         (RenderSurfaceChromium):
2221         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2222         (WebCore::CCLayerImpl::CCLayerImpl):
2223         * platform/graphics/chromium/cc/CCLayerImpl.h:
2224         (CCLayerImpl):
2225         (WebCore::CCLayerImpl::drawTransformIsAnimating):
2226         (WebCore::CCLayerImpl::setDrawTransformIsAnimating):
2227         (WebCore::CCLayerImpl::screenSpaceTransformIsAnimating):
2228         (WebCore::CCLayerImpl::setScreenSpaceTransformIsAnimating):
2229         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2230         (WebCore::subtreeShouldBeSkipped):
2231         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2232         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2233         (WebCore::CCRenderSurface::CCRenderSurface):
2234         * platform/graphics/chromium/cc/CCRenderSurface.h:
2235         (WebCore::CCRenderSurface::targetSurfaceTransformsAreAnimating):
2236         (WebCore::CCRenderSurface::setTargetSurfaceTransformsAreAnimating):
2237         (WebCore::CCRenderSurface::screenSpaceTransformsAreAnimating):
2238         (WebCore::CCRenderSurface::setScreenSpaceTransformsAreAnimating):
2239         (CCRenderSurface):
2240
2241 2012-03-18  Pratik Solanki  <psolanki@apple.com>
2242
2243         Fix compile when FULLSCREEN_API is not enabled on Mac
2244         https://bugs.webkit.org/show_bug.cgi?id=81474
2245
2246         Reviewed by Ada Chan.
2247
2248         Guard the full screen api code inside ENABLE(FULLSCREEN_API).
2249
2250         No new tests because no functional changes.
2251
2252         * platform/mac/WebCoreFullScreenWindow.h:
2253         * platform/mac/WebCoreFullScreenWindow.mm:
2254
2255 2012-03-18  Kentaro Hara  <haraken@chromium.org>
2256
2257         Change the initial buffer size of a plain text
2258         https://bugs.webkit.org/show_bug.cgi?id=81192
2259
2260         Reviewed by Dimitri Glazkov.
2261
2262         r111109 changed the initial buffer size of a plain text
2263         from 1<<16 to 1<<15 in Chromium/Mac only, for the following reasons:
2264
2265         - As far as I experimented locally, while 1<<15 is better than 1<<16 in Chromium/Mac,
2266         1<<15 and 1<<16 are the same in AppleWebKit/Mac and Chromium/Linux (their performance
2267         "gap" exists at between 1<<17 and 1<<18).
2268         - The reason why I changed 1<<16 to 1<<15 in Chromium/Mac only is that
2269         the value highly depends on the underlying malloc system and I was a bit afraid
2270         that changing to 1<<15 _might_ cause unintentional performance regression in some
2271         platform.
2272
2273         That being said, it seems that 1<<15 would not be worse than 1<<16 in all platforms,
2274         and we should just keep the value consistent. In the first place, according to anttik
2275         (who wrote 1<<16 a long time ago), there was no strong reason for 1<<16.
2276
2277         Based on these observations (See https://bugs.webkit.org/show_bug.cgi?id=81192
2278         for more details), this patch unifies the value to 1<<15 in all platforms.
2279
2280         No tests. No change in behavior.
2281
2282         * editing/TextIterator.cpp:
2283         (WebCore::plainTextToMallocAllocatedBuffer):
2284
2285 2012-02-13  Robert Hogan  <robert@webkit.org>
2286
2287         CSS 2.1 failure: eof-003.htm fails
2288         https://bugs.webkit.org/show_bug.cgi?id=78538
2289
2290         Reviewed by Antti Koivisto.
2291
2292         Tests: css2.1/20110323/eof-001.htm
2293                css2.1/20110323/eof-003.htm
2294                css2.1/20110323/eof-004.htm
2295                css2.1/20110323/eof-005.htm
2296                css2.1/20110323/eof-006.htm
2297                css2.1/20110323/eof-007.htm
2298
2299         This patch fixes eof-003.htm, eof-005.htm and eof-006.htm. The other eof-* tests already pass.
2300
2301         * css/CSSGrammar.y: Allow EOF as well as ';' to terminate import rules.
2302                             This should probably be done for other rules in a separate patch.
2303         * css/CSSParser.cpp:
2304         (WebCore::CSSParser::checkAndSkipString): Allow strings to end with EOF.
2305         (WebCore::CSSParser::parseString): ditto
2306
2307 2012-03-17  David Reveman  <reveman@chromium.org>
2308
2309         [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
2310         https://bugs.webkit.org/show_bug.cgi?id=81463
2311
2312         Reviewed by James Robinson.
2313
2314         Call PlatformContextSkia::setDrawingToImageBuffer() from
2315         SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
2316         text rendering is not used incorrectly with per-tile painting.
2317
2318         No new tests.
2319
2320         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2321         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2322
2323 2012-03-17  Robert Kroeger  <rjkroege@chromium.org>
2324
2325         [chromium] Make pixel-accurate wheel scrolling be unanimated
2326         https://bugs.webkit.org/show_bug.cgi?id=81457
2327
2328         Reviewed by James Robinson.
2329
2330         * platform/ScrollAnimatorNone.cpp:
2331         (WebCore::ScrollAnimatorNone::scroll):
2332
2333 2012-03-17  Rob Buis  <rbuis@rim.com>
2334
2335         [BlackBerry] Implement openTemporaryFile in FileSystem
2336         https://bugs.webkit.org/show_bug.cgi?id=81373
2337
2338         Reviewed by George Staikos.
2339
2340         Move the Efl implementation to Posix, this way BlackBerry port can reuse it.
2341
2342         * platform/blackberry/FileSystemBlackBerry.cpp:
2343         * platform/efl/FileSystemEfl.cpp:
2344         * platform/posix/FileSystemPOSIX.cpp:
2345         (WebCore::openTemporaryFile):
2346         (WebCore):
2347
2348 2012-03-17  Joe Thomas  <joethomas@motorola.com>
2349
2350         move calc*Value functions out from Length (and platform)
2351         https://bugs.webkit.org/show_bug.cgi?id=80897
2352
2353         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
2354         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
2355
2356         Reviewed by Antti Koivisto.
2357
2358         * GNUmakefile.list.am: Build system changes for adding new files.
2359         * Target.pri: Ditto.
2360         * WebCore.gypi: Ditto.
2361         * WebCore.vcproj/WebCore.vcproj: Ditto.
2362         * WebCore.xcodeproj/project.pbxproj: Ditto.
2363         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2364         (getAttributeSetForAccessibilityObject):
2365         * css/CSSComputedStyleDeclaration.cpp:
2366         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2367         * css/LengthFunctions.h: Added. Moved calc*Value functions of Length.
2368         (WebCore):
2369         (WebCore::calculateMinimumValue):
2370         (WebCore::calculateValue):
2371         (WebCore::calculateFloatValue):
2372         * dom/Document.cpp:
2373         (WebCore::Document::pageSizeAndMarginsInPixels):
2374         * html/HTMLAreaElement.cpp:
2375         (WebCore::HTMLAreaElement::getRegion):
2376         * platform/CalculationValue.h:
2377         (WebCore::CalcExpressionLength::evaluate):
2378         * platform/Length.h: Removed the calc*Value functions from Length structure.
2379         (Length):
2380         (WebCore::Length::getFloatValue):
2381         (WebCore::Length::getIntValue):
2382         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2383         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2384         (PlatformCALayer::setFilters):
2385         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2386         (WebCore::CCRenderSurfaceFilters::apply):
2387         * platform/graphics/filters/FilterOperations.cpp:
2388         (WebCore::FilterOperations::getOutsets):
2389         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
2390         (WebCore::PerspectiveTransformOperation::blend):
2391         * platform/graphics/transforms/PerspectiveTransformOperation.h:
2392         (WebCore::PerspectiveTransformOperation::isIdentity):
2393         (WebCore::PerspectiveTransformOperation::apply):
2394         * platform/graphics/transforms/TranslateTransformOperation.h:
2395         (WebCore::TranslateTransformOperation::x):
2396         (WebCore::TranslateTransformOperation::y):
2397         (WebCore::TranslateTransformOperation::z):
2398         (WebCore::TranslateTransformOperation::isIdentity):
2399         * platform/win/PopupMenuWin.cpp:
2400         (WebCore::PopupMenuWin::paint):
2401         * rendering/AutoTableLayout.cpp:
2402         (WebCore::AutoTableLayout::layout):
2403         * rendering/FilterEffectRenderer.cpp:
2404         (WebCore::FilterEffectRenderer::build):
2405         * rendering/FixedTableLayout.cpp:
2406         (WebCore::FixedTableLayout::layout):
2407         * rendering/RenderBlock.cpp:
2408         (WebCore::RenderBlock::textIndentOffset):
2409         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2410         * rendering/RenderBox.cpp:
2411         (WebCore::RenderBox::reflectionOffset):
2412         (WebCore::RenderBox::clipRect):
2413         (WebCore::RenderBox::computeLogicalWidthInRegion):
2414         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2415         (WebCore::RenderBox::computeInlineDirectionMargins):
2416         (WebCore::RenderBox::computePercentageLogicalHeight):
2417         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2418         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2419         (WebCore::RenderBox::availableLogicalHeightUsing):
2420         (WebCore::RenderBox::computeBlockDirectionMargins):
2421         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2422         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2423         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2424         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
2425         * rendering/RenderBoxModelObject.cpp:
2426         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2427         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
2428         (WebCore::RenderBoxModelObject::paddingTop):
2429         (WebCore::RenderBoxModelObject::paddingBottom):
2430         (WebCore::RenderBoxModelObject::paddingLeft):
2431         (WebCore::RenderBoxModelObject::paddingRight):
2432         (WebCore::RenderBoxModelObject::paddingBefore):
2433         (WebCore::RenderBoxModelObject::paddingAfter):
2434         (WebCore::RenderBoxModelObject::paddingStart):
2435         (WebCore::RenderBoxModelObject::paddingEnd):
2436         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2437         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2438         (WebCore::computeBorderImageSide):
2439         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2440         * rendering/RenderFlexibleBox.cpp:
2441         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2442         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2443         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
2444         * rendering/RenderFrameSet.cpp:
2445         (WebCore::RenderFrameSet::layOutAxis):
2446         * rendering/RenderInline.cpp:
2447         (WebCore::computeMargin):
2448         * rendering/RenderLayer.cpp:
2449         (WebCore::RenderLayer::perspectiveTransform):
2450         (WebCore::RenderLayer::perspectiveOrigin):
2451         * rendering/RenderLayerBacking.cpp:
2452         (WebCore::RenderLayerBacking::computeTransformOrigin):
2453         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
2454         * rendering/RenderMarquee.cpp:
2455         (WebCore::RenderMarquee::timerFired):
2456         * rendering/RenderMenuList.cpp:
2457         (WebCore::RenderMenuList::updateOptionsWidth):
2458         * rendering/RenderObject.cpp:
2459         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2460         * rendering/RenderReplaced.cpp:
2461         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2462         * rendering/RenderScrollbarPart.cpp:
2463         (WebCore::calcScrollbarThicknessUsing):
2464         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2465         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
2466         * rendering/RenderTable.cpp:
2467         (WebCore::RenderTable::computeLogicalWidth):
2468         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2469         * rendering/RenderTableCell.cpp:
2470         (WebCore::RenderTableCell::logicalHeightForRowSizing):
2471         * rendering/RenderTableSection.cpp:
2472         (WebCore::RenderTableSection::calcRowLogicalHeight):
2473         * rendering/RenderText.h:
2474         (WebCore::RenderText::marginLeft):
2475         (WebCore::RenderText::marginRight):
2476         * rendering/RootInlineBox.cpp:
2477         (WebCore::RootInlineBox::verticalPositionForBox):
2478         * rendering/style/RenderStyle.cpp:
2479         (WebCore::RenderStyle::applyTransform):
2480         (WebCore::calcRadiiFor):
2481         * rendering/style/RenderStyle.h:
2482         * rendering/svg/RenderSVGRoot.cpp:
2483         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
2484         (WebCore::resolveLengthAttributeForSVG):
2485         * svg/SVGSVGElement.cpp:
2486         (WebCore::SVGSVGElement::currentViewBoxRect):
2487         (WebCore::SVGSVGElement::currentViewportSize):
2488         * svg/graphics/SVGImage.cpp:
2489         (WebCore::SVGImage::computeIntrinsicDimensions):
2490
2491 2012-03-17  Nikolas Zimmermann  <nzimmermann@rim.com>
2492
2493         Enable animVal support for SVGNumberOptionalNumber
2494         https://bugs.webkit.org/show_bug.cgi?id=81448
2495
2496         Reviewed by Antti Koivisto.
2497
2498         Enable animVal support for SVGNumberOptionalNumber. Its a special case as two SVG DOM properties
2499         eg. stdDeviationX/stdDeviationY are mapped to a single XML attribute: SVGNames::stdDeviationAttr.
2500
2501         When animating properties like this, both animVal wrappers need to reflect changes.
2502         Generalize the current animVal code to support more than one SVGAnimatedProperty that gets
2503         animated for a single attributeName. This allows us to remove SVGAnimatedType::variantValue/setVariantValue
2504         which paves the way for removing SVGGenericAnimatedType from even more places.
2505
2506         Covered by existing tests.
2507
2508         * svg/SVGAnimateElement.cpp:
2509         (WebCore::SVGAnimateElement::SVGAnimateElement):
2510         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2511         (WebCore::SVGAnimateElement::resetToBaseValue):
2512         (WebCore::SVGAnimateElement::targetElementWillChange):
2513         * svg/SVGAnimateElement.h:
2514         (SVGAnimateElement):
2515         * svg/SVGAnimatedLength.cpp:
2516         (WebCore::SVGAnimatedLengthAnimator::constructFromBaseValue):
2517         (WebCore):
2518         (WebCore::SVGAnimatedLengthAnimator::resetAnimatedTypeToBaseValue):
2519         * svg/SVGAnimatedLength.h:
2520         (SVGAnimatedLengthAnimator):
2521         * svg/SVGAnimatedLengthList.cpp:
2522         (WebCore::SVGAnimatedLengthListAnimator::constructFromBaseValue):
2523         (WebCore):
2524         (WebCore::SVGAnimatedLengthListAnimator::resetAnimatedTypeToBaseValue):
2525         * svg/SVGAnimatedLengthList.h:
2526         (SVGAnimatedLengthListAnimator):
2527         * svg/SVGAnimatedNumber.cpp:
2528         (WebCore::SVGAnimatedNumberAnimator::constructFromBaseValue):
2529         (WebCore):
2530         (WebCore::SVGAnimatedNumberAnimator::resetAnimatedTypeToBaseValue):
2531         * svg/SVGAnimatedNumber.h:
2532         (SVGAnimatedNumberAnimator):
2533         * svg/SVGAnimatedNumberList.cpp:
2534         (WebCore::SVGAnimatedNumberListAnimator::constructFromBaseValue):
2535         (WebCore):
2536         (WebCore::SVGAnimatedNumberListAnimator::resetAnimatedTypeToBaseValue):
2537         * svg/SVGAnimatedNumberList.h:
2538         (SVGAnimatedNumberListAnimator):
2539         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2540         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromBaseValue):
2541         (WebCore):
2542         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimatedTypeToBaseValue):
2543         * svg/SVGAnimatedNumberOptionalNumber.h:
2544         (WebCore):
2545         (SVGAnimatedNumberOptionalNumberAnimator):
2546         * svg/SVGAnimatedTransformList.cpp:
2547         (WebCore::SVGAnimatedTransformListAnimator::constructFromBaseValue):
2548         (WebCore::SVGAnimatedTransformListAnimator::resetAnimatedTypeToBaseValue):
2549         (WebCore):
2550         * svg/SVGAnimatedTransformList.h:
2551         (SVGAnimatedTransformListAnimator):
2552         * svg/SVGAnimatedType.cpp:
2553         (WebCore::SVGAnimatedType::supportsAnimVal):
2554         * svg/SVGAnimatedType.h:
2555         (SVGAnimatedType):
2556         * svg/SVGAnimatedTypeAnimator.h:
2557         (SVGAnimatedTypeAnimator):
2558         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
2559         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeToBaseValue):
2560         (WebCore::SVGAnimatedTypeAnimator::currentBaseValueVariant):
2561         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
2562         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromOneBaseValue):
2563         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
2564         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromTwoBaseValues):
2565         * svg/SVGAnimationElement.cpp:
2566         (WebCore::findMatchingAnimatedProperties):
2567         (WebCore::SVGAnimationElement::applyAnimatedValue):
2568         (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
2569         (WebCore::SVGAnimationElement::animationStarted):
2570         (WebCore::SVGAnimationElement::animationEnded):
2571         (WebCore::SVGAnimationElement::animatedPropertiesForType):
2572         * svg/SVGAnimationElement.h:
2573         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2574         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
2575         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2576         * svg/properties/SVGAnimatedProperty.h:
2577         (SVGAnimatedProperty):
2578         * svg/properties/SVGAnimatedPropertyTearOff.h:
2579         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
2580         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2581         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2582         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
2583         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2584
2585 2012-03-12  Philippe Normand  <pnormand@igalia.com>
2586
2587         [GStreamer] run AudioFileReader in a nested loop
2588         https://bugs.webkit.org/show_bug.cgi?id=80823
2589
2590         Reviewed by Martin Robinson.
2591
2592         Use a separate main loop for the file reader, this approach is
2593         much cleaner than polling the default GLib main context.
2594
2595         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2596         (AudioFileReader):
2597         (WebCore::enteredMainLoopCallback):
2598         (WebCore):
2599         (WebCore::AudioFileReader::AudioFileReader):
2600         (WebCore::AudioFileReader::handleMessage):
2601         (WebCore::AudioFileReader::start):
2602         (WebCore::AudioFileReader::createBus):
2603
2604 2012-02-07  Robert Hogan  <robert@webkit.org>
2605
2606         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
2607         https://bugs.webkit.org/show_bug.cgi?id=78027
2608
2609         Reviewed by Julien Chaffraix.
2610
2611         Both of these test the (slightly implicit) rule that width set on column-groups cannot
2612         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
2613         FF, Opera and IE all pass these two tests.
2614
2615         Tests: css2.1/20110323/fixed-table-layout-013.htm
2616                css2.1/20110323/fixed-table-layout-015.htm
2617                fast/table/fixed-table-layout-toggle-colwidth.html
2618
2619         * rendering/FixedTableLayout.cpp:
2620         (WebCore::nextCol): A helper function for finding the next column along.
2621         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
2622         * rendering/RenderTableCol.h:
2623         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
2624
2625 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2626
2627         [BlackBerry] Add BlackBerry to NavigatorBase.cpp
2628         https://bugs.webkit.org/show_bug.cgi?id=81303
2629
2630         Reviewed by Rob Buis.
2631
2632         * page/NavigatorBase.cpp:
2633
2634 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2635
2636         [BlackBerry] Add typedef of DragDataRef for blackberry
2637         https://bugs.webkit.org/show_bug.cgi?id=81301
2638
2639         Reviewed by Rob Buis.
2640
2641         * platform/DragData.h:
2642
2643 2012-03-16  James Robinson  <jamesr@chromium.org>
2644
2645         [chromium] Unify the drawing logic for different layer types that output textures to the compositor
2646         https://bugs.webkit.org/show_bug.cgi?id=81286
2647
2648         Reviewed by Adrienne Walker.
2649
2650         Currently canvas 2d, webgl, and plugin layers all export a texture to the compositor that then needs to be
2651         drawn.  There are a small set of operations that can be applied to the texture at draw time - do a Y flip,
2652         stretch a subrect to the layer bounds, set the blend mode etc but they are fundamentally the same thing. This
2653         collapses the nearly-redundant code into a single impl-side layer type for a texture-backed layer that can
2654         handle the union of the bits needed for each layer type.
2655
2656         Canvas 2d, WebGL and plugin composited rendering are all covered by layout tests.
2657
2658         * WebCore.gypi:
2659         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2660         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
2661         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2662         (WebCore::CanvasLayerChromium::createCCLayerImpl):
2663         * platform/graphics/chromium/LayerRendererChromium.cpp:
2664         (WebCore::LayerRendererChromium::drawQuad):
2665         (WebCore::TexStretchTextureProgramBinding::set):
2666         (WebCore::TexTransformTextureProgramBinding::set):
2667         (WebCore::LayerRendererChromium::drawTextureQuad):
2668         (WebCore::LayerRendererChromium::textureLayerProgramFlip):
2669         (WebCore::LayerRendererChromium::textureLayerProgramStretch):
2670         (WebCore::LayerRendererChromium::textureLayerProgramStretchFlip):
2671         (WebCore::LayerRendererChromium::textureLayerTexRectProgram):
2672         (WebCore::LayerRendererChromium::textureLayerTexRectProgramFlip):
2673         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2674         * platform/graphics/chromium/LayerRendererChromium.h:
2675         (WebCore):
2676         (LayerRendererChromium):
2677         * platform/graphics/chromium/PluginLayerChromium.cpp:
2678         (WebCore::PluginLayerChromium::PluginLayerChromium):
2679         (WebCore::PluginLayerChromium::createCCLayerImpl):
2680         (WebCore::PluginLayerChromium::setIOSurfaceProperties):
2681         (WebCore::PluginLayerChromium::pushPropertiesTo):
2682         * platform/graphics/chromium/PluginLayerChromium.h:
2683         (PluginLayerChromium):
2684         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2685         (WebCore::WebGLLayerChromium::pushPropertiesTo):
2686         * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Removed.
2687         * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Removed.
2688         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Removed.
2689         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Removed.
2690         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
2691         (WebCore::CCDrawQuad::toTextureDrawQuad):
2692         * platform/graphics/chromium/cc/CCDrawQuad.h:
2693         (WebCore):
2694         (CCDrawQuad):
2695         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.cpp.
2696         (WebCore):
2697         (WebCore::CCTextureDrawQuad::create):
2698         (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
2699         * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h.
2700         (WebCore):
2701         (CCTextureDrawQuad):
2702         (WebCore::CCTextureDrawQuad::textureId):
2703         (WebCore::CCTextureDrawQuad::hasAlpha):
2704         (WebCore::CCTextureDrawQuad::premultipliedAlpha):
2705         (WebCore::CCTextureDrawQuad::uvRect):
2706         (WebCore::CCTextureDrawQuad::flipped):
2707         (WebCore::CCTextureDrawQuad::ioSurfaceSize):
2708         (WebCore::CCTextureDrawQuad::ioSurfaceTextureId):
2709         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp.
2710         (WebCore):
2711         (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
2712         (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
2713         (WebCore::CCTextureLayerImpl::willDraw):
2714         (WebCore::CCTextureLayerImpl::appendQuads):
2715         (WebCore::CCTextureLayerImpl::dumpLayerProperties):
2716         (WebCore::CCTextureLayerImpl::didLoseContext):
2717         (WebCore::CCTextureLayerImpl::setIOSurfaceProperties):
2718         * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.h.
2719         (WebCore):
2720         (CCTextureLayerImpl):
2721         (WebCore::CCTextureLayerImpl::create):
2722         (WebCore::CCTextureLayerImpl::textureId):
2723         (WebCore::CCTextureLayerImpl::setTextureId):
2724         (WebCore::CCTextureLayerImpl::setHasAlpha):
2725         (WebCore::CCTextureLayerImpl::setPremultipliedAlpha):
2726         (WebCore::CCTextureLayerImpl::setFlipped):
2727         (WebCore::CCTextureLayerImpl::setUVRect):
2728         (WebCore::CCTextureLayerImpl::layerTypeAsString):
2729
2730 2012-03-16  Martin Robinson  <mrobinson@igalia.com>
2731
2732         [Cairo] Text extent of shadowed text is calculated incorrectly
2733         https://bugs.webkit.org/show_bug.cgi?id=65035
2734
2735         Reviewed by Martin Robinson.
2736
2737         No new tests. This is already covered by fast/canvas/fillText-shadow.html.
2738
2739         Correct determine the size of rendered text using x and y bearing from the font
2740         extents.
2741
2742         * platform/graphics/cairo/FontCairo.cpp:
2743         (WebCore::drawGlyphsShadow): Use the x and y bearing to calculate text extents.
2744         This gives a more accurate sizing and avoids clipping the edges of the shadow.
2745
2746 2012-03-16  Kentaro Hara  <haraken@chromium.org>
2747
2748         [Chromium][Performance] Optimize innerText and outerText in Chromium/Mac
2749         https://bugs.webkit.org/show_bug.cgi?id=81192
2750
2751         Reviewed by Dimitri Glazkov.
2752
2753         This patch makes innerText and outerText 4 times faster on Chromium/Mac.
2754         A similar performance improvement will be also observed in APIs that are using
2755         TextIterator::plainText() (e.g. Editting, SpellChecker, Clipboard, Pasteboard etc).
2756
2757         Performance test: https://bugs.webkit.org/attachment.cgi?id=131989
2758
2759         - AppleWebKit/JavaScriptCore/Mac:
2760         div.innerText : 2978.4ms
2761         div.outerText : 2944.4ms
2762
2763         - Chromium/V8/Mac without the patch:
2764         div.innerText : 10050.8ms
2765         div.outerText : 10072.2ms
2766
2767         - Chromium/V8/Mac with the patch:
2768         div.innerText: 2536.4ms
2769         div.outerText: 2714ms
2770
2771         This patch just changes the initial buffer size of a plain text buffer on Chromium/Mac.
2772         As shown below, in my local Chromium/Mac environment the performance changes
2773         dramatically between 1<<15 and 1<<16, and in my local Chromium/Linux environment
2774         the performance changes between 1<<17 and 1<<18. I am not yet sure what determines
2775         these figures, but it seems there exists a performance gap at some point
2776         depending on a malloc mechanism.
2777
2778         - div.innerText results on Chromium/V8/Mac:
2779         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 2465.6 ms
2780         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 2447.2 ms   <--- after this patch
2781         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 10250.8 ms  <--- before this patch
2782         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 10278.2 ms
2783
2784         - div.innerText results on Chromium/V8/Linux:
2785         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 1569.8 ms
2786         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 1531.8 ms
2787         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 1543.2 ms  <--- before/after this patch
2788         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 1541.6 ms
2789         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 18 ==> 12540.8 ms
2790         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 19 ==> 12340.8 ms
2791
2792         * editing/TextIterator.cpp:
2793         (WebCore::plainTextToMallocAllocatedBuffer):
2794
2795 2012-03-16  Dmitry Titov  <dimich@chromium.org>
2796
2797         HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
2798         https://bugs.webkit.org/show_bug.cgi?id=80766
2799
2800         Reviewed by Adam Barth.
2801
2802         * html/HTMLFrameElementBase.cpp:
2803         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
2804         (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
2805         if adoptNode() is called on a detached iframe or with a detached document,
2806         unload the iframe to avoid live iframe to hang around w/o being attached to
2807         a document.
2808
2809 2012-03-16  Joe Thomas  <joethomas@motorola.com>
2810
2811         Xcode project file is not sorted.
2812         https://bugs.webkit.org/show_bug.cgi?id=81439
2813
2814         Sorted the project file entries using sort-Xcode-project-file script.
2815
2816         Reviewed by Eric Seidel.
2817
2818         * WebCore.xcodeproj/project.pbxproj:
2819
2820 2012-03-16  Yael Aharon  <yael.aharon@nokia.com>
2821
2822         Unreviewed build fix after r111075.
2823         Correct the path of WebKitBlobBuilder.idl.
2824
2825         * DerivedSources.pri:
2826
2827 2012-03-16  David Levin  <levin@chromium.org>
2828
2829         Fix for test runs for non-chromium platforms.
2830
2831         * loader/cache/MemoryCache.cpp:
2832         (WebCore::memoryCache):
2833         (WebCore::MemoryCache::add):
2834         (WebCore::MemoryCache::revalidationFailed):
2835         (WebCore::MemoryCache::resourceForURL):
2836         (WebCore::MemoryCache::evict):
2837
2838 2012-03-16  Tony Chang  <tony@chromium.org>
2839
2840         Unreviewed, rolling out r111094.
2841         http://trac.webkit.org/changeset/111094
2842         https://bugs.webkit.org/show_bug.cgi?id=80882
2843
2844         broke test on chromium-win
2845
2846         * rendering/RenderFlexibleBox.cpp:
2847         (WebCore::RenderFlexibleBox::alignChildren):
2848         * rendering/RenderFlexibleBox.h:
2849         (RenderFlexibleBox):
2850
2851 2012-03-16  Anders Carlsson  <andersca@apple.com>
2852
2853         REGRESSION (r110737): Height element changes on scrolled page causes failure
2854         https://bugs.webkit.org/show_bug.cgi?id=81381
2855         <rdar://problem/11066006>
2856
2857         Reviewed by Sam Weinig.
2858
2859         Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.
2860
2861         * platform/ScrollAnimator.h:
2862         (WebCore::ScrollAnimator::isRubberBandInProgress):
2863         (ScrollAnimator):
2864         * platform/ScrollView.cpp:
2865         (WebCore::ScrollView::updateScrollbars):
2866         * platform/mac/ScrollAnimatorMac.h:
2867         (ScrollAnimatorMac):
2868         * platform/mac/ScrollAnimatorMac.mm:
2869         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
2870         (WebCore):
2871         * platform/mac/ScrollElasticityController.h:
2872         (ScrollElasticityController):
2873         * platform/mac/ScrollElasticityController.mm:
2874         (WebCore::ScrollElasticityController::isRubberBandInProgress):
2875         (WebCore):
2876
2877 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
2878
2879         GestureTapDown needs to pin in-progress flings
2880         https://bugs.webkit.org/show_bug.cgi?id=80875
2881
2882         Reviewed by Adam Barth.
2883
2884         * page/EventHandler.cpp:
2885         (WebCore):
2886         (WebCore::EventHandler::handleGestureTapDown):
2887         * page/EventHandler.h:
2888         (EventHandler):
2889
2890 2012-03-16  Chris Rogers  <crogers@google.com>
2891
2892         Account for sample-rate in convolution normalization
2893         https://bugs.webkit.org/show_bug.cgi?id=81432
2894
2895         Reviewed by James Robinson.
2896
2897         * platform/audio/Reverb.cpp:
2898         (WebCore):
2899         (WebCore::calculateNormalizationScale):
2900         * webaudio/ConvolverNode.cpp:
2901         (WebCore::ConvolverNode::setBuffer):
2902
2903 2012-03-16  Tom Sepez  <tsepez@chromium.org>
2904
2905         Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
2906         https://bugs.webkit.org/show_bug.cgi?id=81260
2907         https://bugs.webkit.org/show_bug.cgi?id=39897
2908
2909         Reviewed by Adam Barth.
2910
2911         Tested via http/tests/security/cross-frame-access-call.htm
2912
2913         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2914         (WebCore::V8DOMWindow::showModalDialogCallback):
2915         (WebCore::V8DOMWindow::openCallback):
2916
2917 2012-03-16  Matt Lilek  <mrl@apple.com>
2918
2919         Use modern NSNumberFormatter API in LocalizedNumberMac.mm
2920         https://bugs.webkit.org/show_bug.cgi?id=81429
2921
2922         Reviewed by Dan Bernstein.
2923
2924         No new tests as no change in behavior.
2925
2926         * platform/text/mac/LocalizedNumberMac.mm:
2927         (WebCore::createFormatterForCurrentLocaleForDisplay):
2928
2929 2012-03-16  Tony Chang  <tony@chromium.org>
2930
2931         flex-item-align: stretch should only grow, never shrink
2932         https://bugs.webkit.org/show_bug.cgi?id=80882
2933
2934         Reviewed by Ojan Vafai.
2935
2936         New test cases in css3/flexbox/flex-align-stretch.html.
2937
2938         * rendering/RenderFlexibleBox.cpp:
2939         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
2940         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
2941         (WebCore):
2942         * rendering/RenderFlexibleBox.h:
2943         (RenderFlexibleBox):
2944
2945 2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
2946
2947         [EFL] Unreviewed, fix build after r111041.
2948
2949         * platform/efl/RenderThemeEfl.cpp:
2950         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
2951         MediaFullscreenButton to MediaEnterFullscreenButton.
2952         (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
2953
2954 2012-03-16  Dmitry Lomov  <dslomov@google.com>
2955
2956         REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
2957         https://bugs.webkit.org/show_bug.cgi?id=80889
2958         On worker threads, post a task to main thread to evict from cache.
2959         ASSERT that MemoryCache is only accessed from main thread.
2960
2961         Reviewed by David Levin.
2962
2963         * html/DOMURL.cpp:
2964         (WebCore::DOMURL::revokeObjectURL):
2965         * loader/cache/MemoryCache.cpp:
2966         (WebCore::memoryCache):
2967         (WebCore::MemoryCache::add):
2968         (WebCore::MemoryCache::revalidationFailed):
2969         (WebCore::MemoryCache::resourceForURL):
2970         (WebCore::MemoryCache::evict):
2971         (WebCore):
2972         (WebCore::MemoryCache::removeUrlFromCache):
2973         (WebCore::MemoryCache::removeUrlFromCacheImpl):
2974         * loader/cache/MemoryCache.h:
2975         (WebCore):
2976         (MemoryCache):
2977
2978 2012-03-16  Jacky Jiang  <zhajiang@rim.com>
2979
2980         [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
2981         https://bugs.webkit.org/show_bug.cgi?id=81397
2982
2983         Reviewed by Rob Buis.
2984
2985         Initial upstream, no new tests.
2986
2987         * bindings/js/ScriptControllerBlackBerry.cpp: Added.
2988
2989 2012-03-16  Adam Barth  <abarth@webkit.org>
2990
2991         remove-body-during-body-replacement2.html is triggering crashes on all platforms
2992         https://bugs.webkit.org/show_bug.cgi?id=81374
2993
2994         Reviewed by Eric Seidel.
2995
2996         When overriding disconnectFrame, we need to call the base class version
2997         of the method so that it can clear the m_frame pointer.
2998
2999         Tests: This patch fixes a large number of crashes in tests.
3000
3001         * notifications/DOMWindowNotifications.cpp:
3002         (WebCore::DOMWindowNotifications::disconnectFrame):
3003
3004 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
3005
3006         [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
3007         https://bugs.webkit.org/show_bug.cgi?id=81304
3008
3009         Reviewed by Rob Buis.
3010
3011         typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
3012
3013         * platform/Widget.h:
3014
3015 2012-03-16  David Barton  <dbarton@mathscribe.com>
3016
3017         MathML internals - factor code for almost anonymous blocks
3018         https://bugs.webkit.org/show_bug.cgi?id=81387
3019
3020         Reviewed by Eric Seidel.
3021
3022         MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
3023         will be converted to true anonymous blocks in a later patch. Here we factor out the code
3024         to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
3025
3026         No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
3027         and <munderover> renderers already used true anonymous blocks, so we change them to call
3028         RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
3029         blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
3030         current MathML renderers.
3031
3032         * rendering/mathml/RenderMathMLBlock.cpp:
3033         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
3034         * rendering/mathml/RenderMathMLBlock.h:
3035         (RenderMathMLBlock):
3036         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
3037         * rendering/mathml/RenderMathMLFenced.cpp:
3038         (WebCore::RenderMathMLFenced::addChild):
3039         * rendering/mathml/RenderMathMLFraction.cpp:
3040         (WebCore::RenderMathMLFraction::updateFromElement):
3041             - improve some variable names
3042         (WebCore::RenderMathMLFraction::addChild):
3043         (WebCore::RenderMathMLFraction::layout):
3044         (WebCore::RenderMathMLFraction::paint):
3045         (WebCore::RenderMathMLFraction::baselinePosition):
3046         * rendering/mathml/RenderMathMLRoot.cpp:
3047         (WebCore::RenderMathMLRoot::addChild):
3048         * rendering/mathml/RenderMathMLSubSup.cpp:
3049         (WebCore::RenderMathMLSubSup::addChild):
3050         * rendering/mathml/RenderMathMLSubSup.h:
3051         * rendering/mathml/RenderMathMLUnderOver.cpp:
3052         (WebCore::RenderMathMLUnderOver::addChild):
3053
3054 2012-03-16  Levi Weintraub  <leviw@chromium.org>
3055
3056         Prepare RenderObject for FractionalLayoutUnits
3057         https://bugs.webkit.org/show_bug.cgi?id=81178
3058
3059         Reviewed by Eric Seidel.
3060
3061         This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
3062         LayoutUnit abstraction.
3063
3064         No new tests. No change in behavior.
3065
3066         * rendering/RenderObject.cpp:
3067         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
3068         used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
3069         in a separate patch.
3070         (WebCore):
3071         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
3072         sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
3073         using std::max and std::min with mixed int/LayoutUnits.
3074         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
3075         ints in the new sub-pixel world. Using variables that reflect that.
3076         * rendering/RenderObject.h:
3077         (RenderObject):
3078         (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
3079         JavaScript requires since this is used with values that must return ints.
3080         (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
3081
3082 2012-03-16  Brady Eidson  <beidson@apple.com>
3083
3084         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
3085         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
3086
3087         Reviewed by Geoff Garen.
3088
3089         WebKit API test WebViewCanPasteURL.mm added.
3090
3091         * WebCore.exp.in:
3092
3093         Add a strategy method specifically for getting the URL:
3094         * platform/PasteboardStrategy.h:
3095
3096         Use that strategy method when creating the fragment for a URL:
3097         * platform/mac/PasteboardMac.mm:
3098         (WebCore::Pasteboard::documentFragment):
3099
3100         Add a platform pasteboard accessor to "do the right thing" for getting a URL:
3101         * platform/PlatformPasteboard.h:
3102         * platform/mac/PlatformPasteboardMac.mm:
3103         (WebCore::PlatformPasteboard::url):
3104
3105 2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
3106
3107         <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
3108
3109         Reviewed by Dan Bernstein.
3110
3111         * editing/FrameSelection.cpp:
3112         (WebCore::FrameSelection::recomputeCaretRect):
3113         Put the variable inside of a guard because it is only
3114         used inside of a guard.
3115
3116 2012-03-16  Andreas Kling  <kling@webkit.org>
3117
3118         Shrink BorderValue.
3119         <http://webkit.org/b/69521>
3120
3121         Reviewed by Anders Carlsson.
3122
3123         Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
3124         the BorderValue bitfield.
3125
3126         This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
3127         Altogether this yields ~800 kB in reduced memory consumption when viewing the full
3128         HTML5 spec at <http://whatwg.org/c>
3129
3130         * rendering/style/BorderValue.h:
3131         (WebCore::BorderValue::BorderValue):
3132         (WebCore::BorderValue::isTransparent):
3133         (WebCore::BorderValue::operator==):
3134         (BorderValue):
3135         (WebCore::BorderValue::setColor):
3136         (WebCore::BorderValue::color):
3137         * rendering/style/OutlineValue.h:
3138         (WebCore::OutlineValue::operator==):
3139         * rendering/style/RenderStyle.cpp:
3140         (SameSizeAsBorderValue):
3141         * rendering/style/RenderStyle.h:
3142
3143 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
3144
3145         Moves remaining filesystem files to Modules/filesystem/
3146         https://bugs.webkit.org/show_bug.cgi?id=81353
3147
3148         Reviewed by Adam Barth.
3149
3150         No new tests, all existing tests pass.
3151
3152         * CMakeLists.txt:
3153         * DerivedSources.make:
3154         * DerivedSources.pri:
3155         * GNUmakefile.list.am:
3156         * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
3157         * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
3158         * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
3159         * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
3160         * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
3161         * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
3162         * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
3163         * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
3164         * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
3165         * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
3166         * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
3167         * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
3168         * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
3169         * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
3170         * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
3171         * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
3172         * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
3173         * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
3174         * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
3175         * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
3176         * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
3177         * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
3178         * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
3179         * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
3180         * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
3181         * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
3182         * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
3183         * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
3184         * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
3185         * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
3186         * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
3187         * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
3188         * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
3189         * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
3190         * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
3191         * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
3192         * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
3193         * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
3194         * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
3195         * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
3196         * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
3197         * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
3198         * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
3199         * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
3200         * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
3201         * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
3202         * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
3203         * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
3204         * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
3205         * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
3206         * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
3207         * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
3208         * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
3209         * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
3210         * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
3211         * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
3212         * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
3213         * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
3214         * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
3215         * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
3216         * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
3217         * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
3218         * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
3219         * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
3220         * Target.pri:
3221         * WebCore.gyp/WebCore.gyp:
3222         * WebCore.gypi:
3223         * WebCore.vcproj/WebCore.vcproj:
3224         * WebCore.xcodeproj/project.pbxproj:
3225         * fileapi/AsyncFileWriter.h: Removed.
3226         * fileapi/AsyncFileWriterClient.h: Removed.
3227         * fileapi/DOMFilePath.cpp: Removed.
3228         * fileapi/DOMFilePath.h: Removed.
3229         * fileapi/DOMFileSystem.cpp: Removed.
3230         * fileapi/DOMFileSystem.h: Removed.
3231         * fileapi/DOMFileSystem.idl: Removed.
3232         * fileapi/DOMFileSystemBase.cpp: Removed.
3233         * fileapi/DOMFileSystemBase.h: Removed.
3234         * fileapi/DOMFileSystemSync.cpp: Removed.
3235         * fileapi/DOMFileSystemSync.h: Removed.
3236         * fileapi/DOMFileSystemSync.idl: Removed.
3237         * fileapi/Entry.cpp: Removed.
3238         * fileapi/Entry.h: Removed.
3239         * fileapi/Entry.idl: Removed.
3240         * fileapi/EntryArray.cpp: Removed.
3241         * fileapi/EntryArray.h: Removed.
3242         * fileapi/EntryArray.idl: Removed.
3243         * fileapi/EntryArraySync.cpp: Removed.
3244         * fileapi/EntryArraySync.h: Removed.
3245         * fileapi/EntryArraySync.idl: Removed.
3246         * fileapi/EntryBase.cpp: Removed.
3247         * fileapi/EntryBase.h: Removed.
3248         * fileapi/EntryCallback.h: Removed.
3249         * fileapi/EntryCallback.idl: Removed.
3250         * fileapi/EntrySync.cpp: Removed.
3251         * fileapi/EntrySync.h: Removed.
3252         * fileapi/EntrySync.idl: Removed.
3253         * fileapi/ErrorCallback.h: Removed.
3254         * fileapi/ErrorCallback.idl: Removed.
3255         * fileapi/FileCallback.h: Removed.
3256         * fileapi/FileCallback.idl: Removed.
3257         * fileapi/FileEntry.cpp: Removed.
3258         * fileapi/FileEntry.h: Removed.
3259         * fileapi/FileEntry.idl: Removed.
3260         * fileapi/FileEntrySync.cpp: Removed.
3261         * fileapi/FileEntrySync.h: Removed.
3262         * fileapi/FileEntrySync.idl: Removed.
3263         * fileapi/FileSystemCallback.h: Removed.
3264         * fileapi/FileSystemCallback.idl: Removed.
3265         * fileapi/FileSystemCallbacks.cpp: Removed.
3266         * fileapi/FileSystemCallbacks.h: Removed.
3267         * fileapi/FileWriter.cpp: Removed.
3268         * fileapi/FileWriter.h: Removed.
3269         * fileapi/FileWriter.idl: Removed.
3270         * fileapi/FileWriterBase.cpp: Removed.
3271         * fileapi/FileWriterBase.h: Removed.
3272         * fileapi/FileWriterBaseCallback.h: Removed.
3273         * fileapi/FileWriterCallback.h: Removed.
3274         * fileapi/FileWriterCallback.idl: Removed.
3275         * fileapi/FileWriterSync.cpp: Removed.
3276         * fileapi/FileWriterSync.h: Removed.
3277         * fileapi/FileWriterSync.idl: Removed.
3278         * fileapi/LocalFileSystem.cpp: Removed.
3279         * fileapi/LocalFileSystem.h: Removed.
3280         * fileapi/Metadata.h: Removed.
3281         * fileapi/Metadata.idl: Removed.
3282         * fileapi/MetadataCallback.h: Removed.
3283         * fileapi/MetadataCallback.idl: Removed.
3284         * fileapi/SyncCallbackHelper.h: Removed.
3285         * fileapi/WebKitFlags.h: Removed.
3286         * fileapi/WorkerContextFileSystem.cpp: Removed.
3287         * fileapi/WorkerContextFileSystem.h: Removed.
3288         * fileapi/WorkerContextFileSystem.idl: Removed.
3289
3290 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
3291
3292         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
3293         https://bugs.webkit.org/show_bug.cgi?id=81391
3294
3295         Reviewed by Adam Barth.
3296
3297         No new tests, all existing tests pass.
3298
3299         * fileapi/OperationNotAllowedException.idl:
3300
3301 2012-03-16  Emil A Eklund  <eae@chromium.org>
3302
3303         Fix rounding and usage of LayoutUnits in RenderBoxModelObject
3304         https://bugs.webkit.org/show_bug.cgi?id=81057
3305
3306         Reviewed by Julien Chaffraix.
3307
3308         No new tests.
3309
3310         (WebCore):
3311         * rendering/RenderBoxModelObject.cpp:
3312         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
3313         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
3314         Fix implementation of pixelSnappedOffsetWidth/Height. The location
3315         parameter will be ignored until we enable subpixel support.
3316
3317         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3318         Use ints for border widths.
3319         
3320         (WebCore::resolveWidthForRatio):
3321         (WebCore::resolveHeightForRatio):
3322         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
3323         (WebCore::resolveAgainstIntrinsicRatio):
3324         Change resolve*Ratio methods to operate on IntSizes as none of the
3325         callers need subpixel precision.
3326
3327         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3328         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3329         Pixel snap paintRect when computing image geometry.
3330
3331 2012-03-16  Terry Anderson  <tdanderson@chromium.org>
3332
3333         100% height elements to not respond to vertical browser rescaling
3334         https://bugs.webkit.org/show_bug.cgi?id=43022
3335
3336         Reviewed by Julien Chaffraix.
3337
3338         Test: fast/replaced/vertical-resize-100percent-element.html
3339
3340         * rendering/RenderBox.cpp:
3341         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3342             For the case where a replaced element has a percentage height,
3343             we update the entries in RenderBlock::gPercentHeightDescendantsMap
3344             corresponding to all ancestors of the replaced element.
3345
3346 2012-03-15  Daniel Cheng  <dcheng@chromium.org>
3347
3348         [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
3349         https://bugs.webkit.org/show_bug.cgi?id=76598
3350
3351         Reviewed by Tony Chang.
3352
3353         We no longer store drag/clipboard data in named fields. We used to maintain the data store
3354         list separately, which resulted in a lot of complicated code to try to make sure that
3355         ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
3356         list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
3357         easily add write support during dragstart/copy operations using DataTransferItemList.
3358
3359         Tests: fast/events/clipboard-dataTransferItemList.html
3360                fast/events/drag-dataTransferItemList.html
3361
3362         * platform/chromium/ChromiumDataObject.cpp:
3363         (WebCore::findItem):
3364         (WebCore::ChromiumDataObject::createFromPasteboard):
3365         (WebCore::ChromiumDataObject::create):
3366         (WebCore::ChromiumDataObject::copy):
3367         (WebCore::ChromiumDataObject::items):
3368         (WebCore::ChromiumDataObject::clearData):
3369         (WebCore::ChromiumDataObject::clearAll):
3370         (WebCore::ChromiumDataObject::clearAllExceptFiles):
3371         (WebCore::ChromiumDataObject::types):
3372         (WebCore::ChromiumDataObject::getData):
3373         (WebCore::ChromiumDataObject::setData):
3374         (WebCore::ChromiumDataObject::urlAndTitle):
3375         (WebCore::ChromiumDataObject::setURLAndTitle):
3376         (WebCore::ChromiumDataObject::htmlAndBaseURL):
3377         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
3378         (WebCore::ChromiumDataObject::containsFilenames):
3379         (WebCore):
3380         (WebCore::ChromiumDataObject::filenames):
3381         (WebCore::ChromiumDataObject::addFilename):
3382         (WebCore::ChromiumDataObject::addSharedBuffer):
3383         (WebCore::ChromiumDataObject::ChromiumDataObject):
3384         * platform/chromium/ChromiumDataObject.h:
3385         (WebCore):
3386         (ChromiumDataObject):
3387         * platform/chromium/ClipboardChromium.cpp:
3388         (WebCore::normalizeType):
3389         (WebCore::ClipboardChromium::ClipboardChromium):
3390         (WebCore::ClipboardChromium::clearData):
3391         (WebCore::ClipboardChromium::clearAllData):
3392         (WebCore::ClipboardChromium::getData):
3393         (WebCore::ClipboardChromium::setData):
3394         (WebCore::ClipboardChromium::types):
3395         (WebCore::ClipboardChromium::files):
3396         (WebCore::writeImageToDataObject):
3397         (WebCore::ClipboardChromium::declareAndWriteDragImage):
3398         (WebCore::ClipboardChromium::writeURL):
3399         (WebCore::ClipboardChromium::writeRange):
3400         (WebCore::ClipboardChromium::writePlainText):
3401         (WebCore::ClipboardChromium::hasData):
3402         (WebCore::ClipboardChromium::items):
3403         * platform/chromium/ClipboardChromium.h:
3404         (WebCore):
3405         (ClipboardChromium):
3406         (WebCore::ClipboardChromium::frame):
3407         * platform/chromium/ClipboardUtilitiesChromium.cpp:
3408         (WebCore::convertURIListToURL):
3409         (WebCore):
3410         * platform/chromium/ClipboardUtilitiesChromium.h:
3411         (WebCore):
3412         * platform/chromium/DataTransferItemChromium.cpp:
3413         (WebCore::DataTransferItemChromium::createFromString):
3414         (WebCore::DataTransferItemChromium::createFromFile):
3415         (WebCore::DataTransferItemChromium::createFromURL):
3416         (WebCore::DataTransferItemChromium::createFromHTML):
3417         (WebCore):
3418         (WebCore::DataTransferItemChromium::createFromSharedBuffer):
3419         (WebCore::DataTransferItemChromium::createFromPasteboard):
3420         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
3421         (WebCore::DataTransferItemChromium::getAsString):
3422         (WebCore::DataTransferItemChromium::getAsFile):
3423         (WebCore::DataTransferItemChromium::internalGetAsString):
3424         (WebCore::DataTransferItemChromium::isFilename):
3425         * platform/chromium/DataTransferItemChromium.h:
3426         (WebCore):
3427         (DataTransferItemChromium):
3428         (WebCore::DataTransferItemChromium::kind):
3429         (WebCore::DataTransferItemChromium::type):
3430         (WebCore::DataTransferItemChromium::sharedBuffer):
3431         (WebCore::DataTransferItemChromium::title):
3432         (WebCore::DataTransferItemChromium::baseURL):
3433         * platform/chromium/DataTransferItemListChromium.cpp:
3434         (WebCore::DataTransferItemListChromium::create):
3435         (WebCore::DataTransferItemListChromium::createFromPasteboard):
3436         (WebCore):
3437         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
3438         (WebCore::DataTransferItemListChromium::length):
3439         (WebCore::DataTransferItemListChromium::item):
3440         (WebCore::DataTransferItemListChromium::deleteItem):
3441         (WebCore::DataTransferItemListChromium::clear):
3442         (WebCore::DataTransferItemListChromium::add):
3443         (WebCore::DataTransferItemListChromium::internalAddStringItem):
3444         (WebCore::DataTransferItemListChromium::internalAddFileItem):
3445         * platform/chromium/DataTransferItemListChromium.h:
3446         (WebCore):
3447         (DataTransferItemListChromium):
3448         * platform/chromium/DragDataChromium.cpp:
3449         (WebCore::DragData::asURL):
3450         (WebCore::DragData::asPlainText):
3451         (WebCore::DragData::asFragment):
3452
3453 2012-03-16  Matt Lilek  <mrl@apple.com>
3454
3455         Don't install libWebCoreTestSupport on OS X production builds
3456         https://bugs.webkit.org/show_bug.cgi?id=81087
3457
3458         Reviewed by Mark Rowe.
3459
3460         * Configurations/WebCoreTestSupport.xcconfig:
3461
3462 2012-03-16  Tony Chang  <tony@chromium.org>
3463
3464         incorrectly removing scrollbar height for auto height flexbox children
3465         https://bugs.webkit.org/show_bug.cgi?id=81388
3466
3467         Reviewed by Ojan Vafai.
3468
3469         In a column flexbox, when computing the preferred height of an auto
3470         height child, we were subtracting out the horizontal scrollbar height.
3471
3472         New test case in css3/flexbox/columns-auto-size.html.
3473
3474         * rendering/RenderFlexibleBox.cpp:
3475         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
3476
3477 2012-03-16  Adam Klein  <adamk@chromium.org>
3478
3479         Out-of-document radio buttons should be grouped when associated with a form
3480         https://bugs.webkit.org/show_bug.cgi?id=81268
3481
3482         Reviewed by Kent Tamura.
3483
3484