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