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