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