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