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