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