NULL-deref in RenderBox::clippedOverflowRectForRepaint
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
2
3         NULL-deref in RenderBox::clippedOverflowRectForRepaint
4         https://bugs.webkit.org/show_bug.cgi?id=84774
5
6         Reviewed by Tony Chang.
7
8         Test: fast/inline/crash-new-continuation-with-outline.html
9
10         The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
11         The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
12         RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
13         RenderObject in the tree will have).
14
15         The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
16         is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.
17
18         * rendering/RenderInline.cpp:
19         (WebCore::RenderInline::clippedOverflowRectForRepaint):
20
21 2012-04-27  Antti Koivisto  <antti@apple.com>
22
23         Memory cache pruning should be protected against reentering.
24         https://bugs.webkit.org/show_bug.cgi?id=85077
25
26         Reviewed by Alexey Proskuryakov.
27
28         MemoryCache::pruneDeadResourcesToSize() has some ad-hock protection against reentering.
29         This patch adds more complete protection.
30
31         * loader/cache/MemoryCache.cpp:
32         (WebCore::MemoryCache::MemoryCache):
33         (WebCore::MemoryCache::pruneLiveResourcesToSize):
34         
35             Protect live resource pruning too.
36
37         (WebCore::MemoryCache::pruneDeadResourcesToSize):
38         
39             Remove the existing weak reentrancy handling in favor of full proctection.
40
41         * loader/cache/MemoryCache.h:
42         (MemoryCache):
43
44 2012-04-27  Alexander Pavlov  <apavlov@chromium.org>
45
46         Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
47         (re-landing r115417 with a test that should work on Windows.)
48         https://bugs.webkit.org/show_bug.cgi?id=84946
49
50         Reviewed by Yury Semikhatsky.
51
52         Test: inspector/debugger/disable-script.html
53
54         * inspector/Inspector.json:
55         * inspector/InspectorPageAgent.cpp:
56         (PageAgentState):
57         (WebCore::InspectorPageAgent::enable):
58         (WebCore::InspectorPageAgent::disable):
59         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
60         (WebCore):
61         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
62         * inspector/InspectorPageAgent.h:
63         * inspector/front-end/Settings.js:
64         * inspector/front-end/SettingsScreen.js:
65         (WebInspector.SettingsScreen):
66         (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
67         (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
68         * inspector/front-end/inspector.js:
69
70 2012-04-27  Keishi Hattori  <keishi@webkit.org>
71
72         IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
73         https://bugs.webkit.org/show_bug.cgi?id=81196
74
75         Reviewed by Kent Tamura.
76
77         Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html
78
79         HTMLDataListElement should be available on DOMWindow.
80
81         * page/DOMWindow.idl: Added HTMLDataListElement.
82
83 2012-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
84
85         Unreviewed, rolling out r115417.
86         http://trac.webkit.org/changeset/115417
87         https://bugs.webkit.org/show_bug.cgi?id=84946
88
89         Added test is broken on windows.
90
91         * inspector/Inspector.json:
92         * inspector/InspectorPageAgent.cpp:
93         (WebCore::InspectorPageAgent::enable):
94         (WebCore::InspectorPageAgent::disable):
95         * inspector/InspectorPageAgent.h:
96         * inspector/front-end/Settings.js:
97         * inspector/front-end/SettingsScreen.js:
98         (WebInspector.SettingsScreen):
99         * inspector/front-end/inspector.js:
100
101 2012-04-27  Gavin Peters  <gavinp@chromium.org>
102
103         Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
104         https://bugs.webkit.org/show_bug.cgi?id=84871
105
106         Reviewed by Adam Barth.
107
108         Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
109         API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
110         a relatively easy change, without needing to build the infrastructure for prerendering, which
111         is considerably more complicated.
112
113         * Configurations/FeatureDefines.xcconfig:
114
115 2012-04-27  Zan Dobersek  <zandobersek@gmail.com>
116
117         [Gtk][DOM Bindings] Feature-protected properties are put under condition guards
118         https://bugs.webkit.org/show_bug.cgi?id=85068
119
120         Reviewed by Martin Robinson.
121
122         Generated feature-dependent properties are now present regardless of that
123         feature being enabled. On getting or setting that property's value a warning
124         is thrown if the feature is not enabled. Additionally, if the generated
125         interface is feature-dependant, when getting or setting any property's value
126         a warning is thrown if the feature is not enabled.
127
128         No new tests - covered by existing bindings tests.
129
130         * bindings/scripts/CodeGeneratorGObject.pm:
131         (GenerateProperty):
132         (GenerateProperties):
133         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
134         (webkit_dom_test_interface_set_property):
135         (webkit_dom_test_interface_get_property):
136         (webkit_dom_test_interface_class_init):
137         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
138         (webkit_dom_test_obj_set_property):
139         (webkit_dom_test_obj_get_property):
140         (webkit_dom_test_obj_class_init):
141         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
142         (webkit_dom_test_serialized_script_value_interface_get_property):
143
144 2012-04-27  Zan Dobersek  <zandobersek@gmail.com>
145
146         [Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
147         https://bugs.webkit.org/show_bug.cgi?id=85065
148
149         Reviewed by Martin Robinson.
150
151         Put the condition string in implementation file after the header inclusions. This ensures
152         that build errors do not occur when disabling the future that applies to the condition string
153         because of WebCore objects and methods that are still in use despite the feature being disabled.
154
155         No new tests - covered by bindings tests.
156
157         * bindings/scripts/CodeGeneratorGObject.pm:
158         (WriteData):
159         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
160         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
161         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
162
163 2012-04-27  Andreas Kling  <kling@webkit.org>
164
165         Avoid mutating Element attribute storage in StepRange constructor.
166         <http://webkit.org/b/84797>
167
168         Reviewed by Antti Koivisto.
169
170         Test: fast/selectors/querySelector-in-range-crash.html
171
172         * dom/Attribute.h:
173
174             Add comment about the volatility of references returned by getters.
175
176         * html/StepRange.cpp:
177         (WebCore::StepRange::StepRange):
178
179             Replace hasAttribute/getAttribute pair by a single fastGetAttribute.
180
181         * html/HTMLInputElement.cpp:
182         (WebCore::HTMLInputElement::updateType):
183         (WebCore::HTMLInputElement::value):
184
185             Store the value attribute in an local variable before passing it to sanitizeValue().
186
187 2012-04-27  Rob Buis  <rbuis@rim.com>
188
189         SVG inline style of 'marker-*' does not override
190         https://bugs.webkit.org/show_bug.cgi?id=84824
191
192         Reviewed by Nikolas Zimmermann.
193
194         Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
195         of bailing out, set the none value explicitly, since an earlier match may have set it to
196         something other than none.
197
198         Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
199                svg/custom/inline-style-overrides-clipPath.svg
200                svg/custom/inline-style-overrides-filter-expected.svg
201                svg/custom/inline-style-overrides-filter.svg
202                svg/custom/inline-style-overrides-markers-expected.svg
203                svg/custom/inline-style-overrides-markers.svg
204                svg/custom/inline-style-overrides-mask-expected.svg
205                svg/custom/inline-style-overrides-mask.svg
206
207         * css/SVGCSSStyleSelector.cpp:
208         (WebCore::StyleResolver::applySVGProperty):
209
210 2012-04-27  Christophe Dumez  <christophe.dumez@intel.com>
211
212         [EFL] media/video-controls-rendering-toggle-display-none.html is failing
213         https://bugs.webkit.org/show_bug.cgi?id=84949
214
215         Reviewed by Antonio Gomes.
216
217         Fix volume slider rendering so that the
218         media/video-controls-rendering-toggle-display-none.html passes.
219
220         * css/mediaControlsEfl.css:
221         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
222         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
223         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
224
225 2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
226
227         Support values animation mode with just a single value
228         https://bugs.webkit.org/show_bug.cgi?id=85064
229
230         Reviewed by Antti Koivisto.
231
232         values="a" is equal to <set to="a"> per SMIL specification.
233         We currently only support values animation if at least two values are given, fix that.
234
235         The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
236         values animations, sometimes with only a single value given. Lots of the reference animations
237         are broken in trunk w/o this patch and now work as expected.
238
239         See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.
240
241         Test: svg/animations/single-values-animation.html
242
243         * svg/SVGAnimationElement.cpp:
244         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
245         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
246         (WebCore::SVGAnimationElement::startedActiveInterval):
247
248 2012-04-27  Konrad Piascik  <kpiascik@rim.com>
249
250         Web Inspector: Allow inspection of Web Socket Frames
251         https://bugs.webkit.org/show_bug.cgi?id=83282
252
253         Reviewed by Pavel Feldman.
254
255         Tests: http/tests/inspector/web-socket-frame-error.html
256                http/tests/inspector/web-socket-frame.html
257
258         * English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
259         * Modules/websockets/WebSocketChannel.cpp:  Added InspectorInstrumentation calls to
260                                                     the following methods.
261         (WebCore::WebSocketChannel::fail):
262         (WebCore::WebSocketChannel::processFrame):
263         (WebCore::WebSocketChannel::sendFrame):
264         * WebCore.gypi: Added new Web Inspector resource file.
265         * WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
266         * inspector/Inspector.json: Added new Web Inspector resource file.
267         * inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
268         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
269         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
270         (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
271         * inspector/InspectorInstrumentation.h:
272         (WebCore):
273         (InspectorInstrumentation):
274         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
275         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
276         (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
277         * inspector/InspectorResourceAgent.cpp:
278         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
279         (WebCore):
280         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
281         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
282         * inspector/InspectorResourceAgent.h:
283         (WebCore):
284         (InspectorResourceAgent):
285         * inspector/compile-front-end.py: Added new Web Inspector resource file.
286         * inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
287         (WebInspector.NetworkItemView):
288         * inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
289                                                  the new Web Socket frame and error calls.
290         (WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
291         (WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
292         (WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
293         * inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
294                                                  with accessor and helper methods
295         (WebInspector.NetworkRequest):
296         (WebInspector.NetworkRequest.prototype.resource):
297         (WebInspector.NetworkRequest.prototype.hasFrames):
298         (WebInspector.NetworkRequest.prototype.frameLength):
299         (WebInspector.NetworkRequest.prototype.getFrame):
300         (WebInspector.NetworkRequest.prototype.addFrameError):
301         (WebInspector.NetworkRequest.prototype.addFrame):
302         (WebInspector.NetworkRequest.prototype._pushFrame):
303         * inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
304         (WebInspector.ResourceWebSocketFrameView):
305         * inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
306         * inspector/front-end/inspector.html: Added new Web Inspector resource file.
307
308 2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
309
310         Fix repetitions & by animation support for SVGAnimateTransformElement
311         https://bugs.webkit.org/show_bug.cgi?id=85051
312
313         Reviewed by Antti Koivisto.
314
315         Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
316         This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.
317
318         By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
319         not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.
320
321         Tests: svg/animations/animateTransform-accumulation-expected.svg
322                svg/animations/animateTransform-accumulation.svg
323                svg/animations/animateTransform-by-scale-expected.svg
324                svg/animations/animateTransform-by-scale.svg
325                svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
326                svg/animations/animateTransform-from-by-from-to-comparision.svg
327                svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
328                svg/animations/animateTransform-from-by-scale-additive-sum.svg
329                svg/animations/animateTransform-from-by-scale-expected.svg
330                svg/animations/animateTransform-from-by-scale.svg
331                svg/animations/animateTransform-rotate-around-point-expected.svg
332                svg/animations/animateTransform-rotate-around-point.svg
333                svg/animations/animateTransform-skewX-expected.svg
334                svg/animations/animateTransform-skewX.svg
335                svg/animations/animateTransform-skewY-expected.svg
336                svg/animations/animateTransform-skewY.svg
337                svg/animations/animateTransform-translate-expected.svg
338                svg/animations/animateTransform-translate.svg
339                svg/animations/multiple-animateTransform-additive-sum-expected.svg
340                svg/animations/multiple-animateTransform-additive-sum.svg
341
342         * svg/SVGAnimateTransformElement.cpp:
343         (WebCore::SVGAnimateTransformElement::parseAttribute):
344         * svg/SVGAnimatedTransformList.cpp:
345         (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
346         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
347         * svg/SVGAnimationElement.h:
348         (WebCore::SVGAnimationElement::adjustFromToListValues):
349         * svg/SVGTransform.cpp:
350         (WebCore::SVGTransform::SVGTransform):
351         * svg/SVGTransform.h:
352         * svg/SVGTransformDistance.cpp:
353         (WebCore::SVGTransformDistance::SVGTransformDistance):
354         (WebCore::SVGTransformDistance::scaledDistance):
355         (WebCore::SVGTransformDistance::addSVGTransforms):
356         (WebCore::SVGTransformDistance::addToSVGTransform):
357         (WebCore::SVGTransformDistance::distance):
358         * svg/SVGTransformDistance.h:
359         (SVGTransformDistance):
360
361 2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
362
363         SVG Animations update baseVal instead of animVal
364         https://bugs.webkit.org/show_bug.cgi?id=12437
365
366         Reviewed by Dirk Schulze.
367
368         Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
369         Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.
370
371         Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
372         properties if the underlying base value is changed from the outside (eg. when calling
373         style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).
374
375         This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
376         in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
377         To be able to compute the base value for a CSS property at any time, we have to exclude any
378         previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.
379
380         NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
381               have some bugs in that area, but this patch doesn't address them. The idea is to only
382               remove the cache, to pave the way for future additive="sum" patches.
383
384         Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
385                svg/animations/change-css-property-while-animating-fill-remove.html
386
387         * dom/Element.cpp:
388         (WebCore::Element::recalcStyle):
389         * dom/Node.h:
390         * svg/SVGAnimateElement.cpp:
391         (WebCore::propertyTypesAreConsistent):
392         (WebCore::SVGAnimateElement::resetToBaseValue):
393         (WebCore::SVGAnimateElement::applyResultsToTarget):
394         * svg/SVGAnimateElement.h:
395         (SVGAnimateElement):
396         * svg/SVGAnimateMotionElement.cpp:
397         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
398         * svg/SVGAnimateMotionElement.h:
399         (SVGAnimateMotionElement):
400         * svg/SVGAnimationElement.cpp:
401         (WebCore::applyCSSPropertyToTarget):
402         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
403         * svg/SVGAnimationElement.h:
404         * svg/SVGElement.cpp:
405         (WebCore::SVGElement::SVGElement):
406         (WebCore::SVGElement::willRecalcStyle):
407         (WebCore):
408         (WebCore::SVGElement::rareSVGData):
409         (WebCore::SVGElement::ensureRareSVGData):
410         (WebCore::SVGElement::computedStyle):
411         (WebCore::SVGElement::isAnimatableAttribute):
412         * svg/SVGElement.h:
413         (SVGElement):
414         * svg/SVGElementRareData.h:
415         (WebCore::SVGElementRareData::SVGElementRareData):
416         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
417         (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
418         (WebCore::SVGElementRareData::overrideComputedStyle):
419         (WebCore::SVGElementRareData::setUseOverrideComputedStyle):
420         * svg/animation/SMILTimeContainer.cpp:
421         (WebCore::SMILTimeContainer::updateAnimations):
422         * svg/animation/SMILTimeContainer.h:
423         (SMILTimeContainer):
424         * svg/animation/SVGSMILElement.h:
425         (SVGSMILElement):
426
427 2012-04-26  Alexander Pavlov  <apavlov@chromium.org>
428
429         Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
430         (re-landing r115323 with a fixed test.)
431         https://bugs.webkit.org/show_bug.cgi?id=84946
432
433         Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
434         for the associated page to switch the script execution therein.
435
436         Reviewed by Yury Semikhatsky.
437
438         Test: inspector/debugger/disable-script.html
439
440         * inspector/Inspector.json:
441         * inspector/InspectorPageAgent.cpp:
442         (PageAgentState):
443         (WebCore::InspectorPageAgent::enable):
444         (WebCore::InspectorPageAgent::disable):
445         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
446         (WebCore):
447         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
448         * inspector/InspectorPageAgent.h:
449         * inspector/front-end/Settings.js:
450         * inspector/front-end/SettingsScreen.js:
451         (WebInspector.SettingsScreen):
452         (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
453         (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
454         * inspector/front-end/inspector.js:
455
456 2012-04-26  Ryosuke Niwa  <rniwa@webkit.org>
457
458         REGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will clean whole content
459         https://bugs.webkit.org/show_bug.cgi?id=84501
460
461         Reviewed by Alexey Proskuryakov.
462
463         The bug was caused by setComposition, which is called by cancelComposition, deleting the contents when
464         the passed text is empty. Fixed it by not deleting text when canceling compositions. This is okay because
465         as the comment above the line suggests, this particular call to TypingCommand::deleteSelection is only useful
466         when the confirmed text is empty and the composition text had previously been non-empty.
467
468         Test: editing/input/select-all-clear-input-method.html
469
470         * editing/Editor.cpp:
471         (WebCore::Editor::setComposition):
472
473 2012-04-26  Keishi Hattori  <keishi@webkit.org>
474
475         datalist: Form control in a <datalist> should be barred from constraint validation
476         https://bugs.webkit.org/show_bug.cgi?id=84359
477
478         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element
479         According to this, if an element has a datalist element ancestor, it is barred from constraint validation.
480
481         Reviewed by Kent Tamura.
482
483         Test: fast/forms/datalist/datalist-child-validation.html
484
485         * html/HTMLFormControlElement.cpp:
486         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
487         (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
488         (WebCore::HTMLFormControlElement::insertedInto): Invalidates the ancestor information and calls setNeedsWillValidateCheck
489         (WebCore::HTMLFormControlElement::removedFrom): Invalidates the ancestor information and calls setNeedsWillValidateCheck
490         (WebCore::HTMLFormControlElement::disabled):
491         (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
492         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): Check if ancestor information is valid too.
493         * html/HTMLFormControlElement.h:
494         (HTMLFormControlElement):
495
496 2012-04-26  Adrienne Walker  <enne@google.com>
497
498         [chromium] Remove unused CCLayerImpl::debugID()
499         https://bugs.webkit.org/show_bug.cgi?id=85019
500
501         Reviewed by James Robinson.
502
503         CCLayerSorter used debugID() but it was never set anywhere. Change
504         the CCLayerSorter LOG messages to use id(), which does get set.
505
506         * platform/graphics/chromium/cc/CCLayerImpl.h:
507         (CCLayerImpl):
508         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
509         (WebCore::CCLayerSorter::createGraphNodes):
510         (WebCore::CCLayerSorter::createGraphEdges):
511         (WebCore::CCLayerSorter::sort):
512
513 2012-04-26  Nico Weber  <thakis@chromium.org>
514
515         [chromium] Fix C++ language use.
516         https://bugs.webkit.org/show_bug.cgi?id=85015
517
518         Reviewed by James Robinson.
519
520         Even though MSVC allows it, a sizeof followed by a non-parenthesized
521         typename is not valid C++.
522
523         No functionality change.
524
525         * rendering/RenderThemeChromiumWin.cpp:
526         (WebCore):
527         (WebCore::getNonClientMetrics):
528
529 2012-04-24  James Robinson  <jamesr@chromium.org>
530
531         [chromium] Move ProgramBinding definitions to LayerRendererChromium and normalize naming
532         https://bugs.webkit.org/show_bug.cgi?id=84808
533
534         Reviewed by Adrienne Walker.
535
536         The GL programs used are logically part of LayerRendererChromium and not something specific to a layer type,
537         since a different renderer would want to use a different thing to render the same layer types. This moves all of
538         the ProgramBinding definitions into LayerRendererChromium and gives them consistent names. With the exception of
539         CCRenderSurface (noted by an inline comment), these programs are private to LRC.
540
541         This patch also deduplicates programs a bit:
542         1.) Video's NativeTexture and RGBA programs were the same thing, folded.
543         2.) The TexStretch and TexTransform shaders are basically the same thing, folded together.
544
545         * platform/graphics/chromium/LayerChromium.h:
546         (LayerChromium):
547         * platform/graphics/chromium/LayerRendererChromium.cpp:
548         (WebCore::LayerRendererChromium::drawCheckerboardQuad):
549         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
550         (WebCore::LayerRendererChromium::drawSolidColorQuad):
551         (WebCore::LayerRendererChromium::drawTileQuad):
552         (WebCore::LayerRendererChromium::drawYUV):
553         (WebCore::LayerRendererChromium::drawRGBA):
554         (WebCore::LayerRendererChromium::drawNativeTexture2D):
555         (WebCore::LayerRendererChromium::drawStreamTexture):
556         (WebCore::LayerRendererChromium::drawTextureQuad):
557         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
558         (WebCore::LayerRendererChromium::initializeSharedObjects):
559         (WebCore::LayerRendererChromium::tileCheckerboardProgram):
560         (WebCore::LayerRendererChromium::solidColorProgram):
561         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
562         (WebCore::LayerRendererChromium::renderSurfaceProgram):
563         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
564         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
565         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
566         (WebCore::LayerRendererChromium::tileProgram):
567         (WebCore::LayerRendererChromium::tileProgramOpaque):
568         (WebCore::LayerRendererChromium::tileProgramAA):
569         (WebCore::LayerRendererChromium::tileProgramSwizzle):
570         (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
571         (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
572         (WebCore::LayerRendererChromium::textureProgramFlip):
573         (WebCore::LayerRendererChromium::textureTexRectProgram):
574         (WebCore::LayerRendererChromium::textureTexRectProgramFlip):
575         (WebCore::LayerRendererChromium::videoRGBAProgram):
576         (WebCore::LayerRendererChromium::videoYUVProgram):
577         (WebCore::LayerRendererChromium::videoStreamTextureProgram):
578         (WebCore::LayerRendererChromium::cleanupSharedObjects):
579         * platform/graphics/chromium/LayerRendererChromium.h:
580         (WebCore):
581         (LayerRendererChromium):
582         * platform/graphics/chromium/ShaderChromium.cpp:
583         * platform/graphics/chromium/ShaderChromium.h:
584         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
585         (CCHeadsUpDisplay):
586         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
587         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
588         (WebCore):
589         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
590         (WebCore::CCRenderSurface::copyTextureToFramebuffer):
591         (WebCore::CCRenderSurface::drawLayer):
592         * platform/graphics/chromium/cc/CCRenderSurface.h:
593         (CCRenderSurface):
594         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
595         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
596         (CCTextureLayerImpl):
597         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
598         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
599         (CCTiledLayerImpl):
600         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
601         (WebCore):
602         (CCVideoLayerImpl):
603
604 2012-04-26  Jeffrey Pfau  <jpfau@apple.com>
605
606         Invalid cast in WebCore::HTMLCollection::isAcceptableElement
607         https://bugs.webkit.org/show_bug.cgi?id=84626
608
609         Reviewed by Darin Adler.
610
611         Check if the object is an HTMLElement before casting.
612
613         Test: fast/dom/htmlcollection-non-html.html
614
615         * html/HTMLCollection.cpp:
616         (WebCore::HTMLCollection::isAcceptableElement):
617
618 2012-04-26  Dana Jansens  <danakj@chromium.org>
619
620         [chromium] Some background filters require inflating damage on the surface behind them
621         https://bugs.webkit.org/show_bug.cgi?id=84479
622
623         Reviewed by Adrienne Walker.
624
625         A layer with a background blur will expand the damage from pixels in the
626         surface below it. We extend the damage tracker to expand damage in a
627         surface below such layers.
628
629         Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild
630
631         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
632         (WebCore::expandPixelOutsetsWithFilters):
633         (WebCore):
634         (WebCore::expandDamageRectInsideRectWithFilters):
635         (WebCore::expandDamageRectWithFilters):
636         (WebCore::CCDamageTracker::updateDamageTrackingState):
637         (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
638         * platform/graphics/chromium/cc/CCDamageTracker.h:
639         (CCDamageTracker):
640
641 2012-04-26  Simon Fraser  <simon.fraser@apple.com>
642
643         Improve compositing logging output
644         https://bugs.webkit.org/show_bug.cgi?id=85010
645
646         Reviewed by Dean Jackson.
647
648         In the compositing log channel output, indent the layers
649         based on z-order tree depth. Tabulate the summary, and
650         show obligate and secondary backing store area separately.
651
652         * rendering/RenderLayer.cpp:
653         (WebCore::RenderLayer::updateClipRects):
654         * rendering/RenderLayerCompositor.cpp:
655         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
656         (WebCore::RenderLayerCompositor::updateCompositingLayers):
657         (WebCore::RenderLayerCompositor::logLayerInfo):
658         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
659         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
660         (WebCore::RenderLayerCompositor::reasonForCompositing):
661         * rendering/RenderLayerCompositor.h:
662         (RenderLayerCompositor):
663
664 2012-04-26  Anders Carlsson  <andersca@apple.com>
665
666         REGRESSION (r115163): Unable to scroll article body with trackpad on altdevblogaday.com blog post
667         https://bugs.webkit.org/show_bug.cgi?id=85024
668         <rdar://problem/11330758>
669
670         Reviewed by Sam Weinig.
671
672         Fix broken logic in canHaveScrollbars.
673
674         * page/scrolling/ScrollingTreeNode.h:
675         (WebCore::ScrollingTreeNode::canHaveScrollbars):
676
677 2012-04-24  James Robinson  <jamesr@chromium.org>
678
679         [chromium] Use different CCDrawQuad types for textures vs IOSurfaces
680         https://bugs.webkit.org/show_bug.cgi?id=84811
681
682         Reviewed by Adrienne Walker.
683
684         IOSurface and texture backed layers share few properties (only the flipped bool), so it doesn't make a lot of
685         sense for them to use the same CCDrawQuad type for both. This splits IOSurfaces out to a dedicated quad type to
686         make it easier to understand which bits of state apply to each.
687
688         The logical next step after this is to split the layer type as well, but that will be awkward until bug 84808 is
689         resolved.
690
691         * WebCore.gypi:
692         * platform/graphics/chromium/LayerRendererChromium.cpp:
693         (WebCore::LayerRendererChromium::drawQuad):
694         (WebCore::LayerRendererChromium::drawTextureQuad):
695         (WebCore):
696         (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
697         * platform/graphics/chromium/LayerRendererChromium.h:
698         (LayerRendererChromium):
699         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
700         (WebCore::CCDrawQuad::toIOSurfaceDrawQuad):
701         (WebCore):
702         * platform/graphics/chromium/cc/CCDrawQuad.h:
703         (WebCore):
704         (CCDrawQuad):
705         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
706         (WebCore):
707         (WebCore::CCIOSurfaceDrawQuad::create):
708         (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
709         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
710         (WebCore):
711         (CCIOSurfaceDrawQuad):
712         (WebCore::CCIOSurfaceDrawQuad::flipped):
713         (WebCore::CCIOSurfaceDrawQuad::ioSurfaceSize):
714         (WebCore::CCIOSurfaceDrawQuad::ioSurfaceTextureId):
715         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
716         (WebCore::CCTextureDrawQuad::create):
717         (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
718         * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
719         (CCTextureDrawQuad):
720         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
721         (WebCore::CCTextureLayerImpl::appendQuads):
722
723 2012-04-26  Benjamin Poulain  <bpoulain@apple.com>
724
725         Use WebKit types for the cache of ObjcClass::methodsNamed()
726         https://bugs.webkit.org/show_bug.cgi?id=85012
727
728         Reviewed by Geoffrey Garen.
729
730         This patch redefines the method cache ObjcClass to avoid memory allocations in the case of positive match.
731
732         Instead of using the converted name as the key, the original identifier string is used. This shortcuts
733         all the other operations when there is a match.
734
735         A side effect is a method can appear multiple times in the cache if it is invoked with different names using
736         the escape character "$". An attaquer could bloat the cache with a few hundreds strings.
737         In the common case, having each name mapped is an improvment.
738
739         * bridge/objc/objc_class.h:
740         (ObjcClass):
741         * bridge/objc/objc_class.mm:
742         (JSC::Bindings::ObjcClass::ObjcClass):
743         (JSC::Bindings::ObjcClass::methodsNamed):
744
745 2012-04-26  Ojan Vafai  <ojan@chromium.org>
746
747         Delete dead code in Arena.h/cpp
748         https://bugs.webkit.org/show_bug.cgi?id=84997
749
750         Reviewed by Eric Seidel.
751
752         Also cleaned up some style issues. Renamed some single-letter variable names.
753         Avoided anything other than totally trivial style changes to be 100% sure
754         that there is no change in behavior.
755
756         No new tests. There's no non-style code changes except inlining CLEAR_UNUSED
757         and CLEAR_ARENA.
758
759         * platform/Arena.cpp:
760         (WebCore):
761         (WebCore::CeilingLog2):
762         (WebCore::InitArenaPool):
763         (WebCore::ArenaAllocate):
764         (WebCore::FreeArenaList):
765         (WebCore::FinishArenaPool):
766         * platform/Arena.h:
767         (WebCore):
768
769 2012-04-26  Shawn Singh  <shawnsingh@chromium.org>
770
771         Re-implement backFaceVisibility to avoid dealing with perspective w < 0 problem
772         https://bugs.webkit.org/show_bug.cgi?id=84059
773
774         Reviewed by Adrienne Walker.
775
776         Unit tests added to CCMathUtilTest.cpp.
777
778         This patch changes the implementation of backFaceIsVisible so that
779         it doesn't need to deal with the w < 0 problem from of perspective
780         projections. Instead, it is equally correct to simply use the
781         inverse-transpose of the matrix, and quickly check the third row,
782         third column element. Additionally, it was appropriate to move
783         this function into TransformationMatrix itself.
784
785         Making this change fixes some issues related to disappearing
786         layers in Chromium (where the compositor incorrectly thought that
787         the back face was visible, and skipped the layer).
788
789         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
790         (WebCore::calculateVisibleLayerRect):
791         (WebCore::layerShouldBeSkipped):
792         * platform/graphics/transforms/TransformationMatrix.cpp:
793         (WebCore::TransformationMatrix::isBackFaceVisible):
794         (WebCore):
795         * platform/graphics/transforms/TransformationMatrix.h:
796         (TransformationMatrix):
797
798 2012-04-26  Martin Robinson  <mrobinson@igalia.com>
799
800         [Cairo] Wrap cairo surfaces in a class when storing native images
801         https://bugs.webkit.org/show_bug.cgi?id=83611
802
803         Reviewed by Alejandro G. Castro.
804
805         No new tests. This is just a refactoring. This shouldn't change
806         functionality.
807
808         Added class that wraps Cairo images surfaces to serve as the "native image"
809         type for the Cairo platform. This will allow the addition of caching resampled
810         images as well as versions of the image for non-image Cairo backends. Also
811         split out BitmapImageCairo.cpp from ImageCairo.cpp since these classes are
812         defined in two headers.
813
814         * GNUmakefile.list.am: Added new files.
815         * platform/graphics/BitmapImage.h: Added a factory method that takes an image surface to
816         reduce code churn.
817         * platform/graphics/ImageSource.h: NativeImagePtr is now NativeImageCairo*.
818         (WebCore):
819         * platform/graphics/cairo/BitmapImageCairo.cpp: Copied from Source/WebCore/platform/graphics/cairo/ImageCairo.cpp.
820         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Updated to reflect use of NativeImageCairo.
821         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
822         * platform/graphics/cairo/NativeImageCairo.cpp: Added.
823         * platform/graphics/cairo/NativeImageCairo.h: Added.
824         * platform/graphics/cairo/PatternCairo.cpp: Updated to reflect use of NativeImageCairo.
825         * platform/graphics/gtk/ImageGtk.cpp: Ditto.
826         * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Ditto.
827
828 2012-04-26  Mark Hahnenberg  <mhahnenberg@apple.com>
829
830         [GTK] Massive media tests failures since r115288
831         https://bugs.webkit.org/show_bug.cgi?id=84950
832
833         Reviewed by Filip Pizlo.
834
835         No new tests.
836
837         Since the "cross-platform" WebCore timer is at too high of a level in terms of the layers 
838         of WebKit for JSC to use, we are not currently able to use it in JSC, thus only those 
839         platforms that support CoreFoundation can currently take advantage of the new and improved 
840         GC activity timer. We've restored the old code paths for those platforms that don't have 
841         CF so that they will at least have the same behavior as before when calling garbageCollectSoon.
842
843         * bindings/js/GCController.cpp: Added back the old WebCore timer along with some 
844         if-defs that do away with the WebCore timer on platforms that support CoreFoundation.
845         (WebCore::GCController::GCController):
846         (WebCore::GCController::garbageCollectSoon):
847         (WebCore):
848         (WebCore::GCController::gcTimerFired):
849         * bindings/js/GCController.h: Ditto.
850         (GCController):
851
852 2012-04-26  Adam Klein  <adamk@chromium.org>
853
854         Don't include V8Proxy.h in ScriptValue.h when V8GCController is all that's required
855         https://bugs.webkit.org/show_bug.cgi?id=84986
856
857         Reviewed by Kentaro Hara.
858
859         This makes it easier to include ScriptValue.h since it greatly reduces
860         that header's dependencies.
861
862         * bindings/v8/ScriptValue.h: Changed to include just V8GCController.h and
863         removed comment which is redundant with explicit V8GCController references nearby.
864
865 2012-04-26  Aaron Colwell  <acolwell@chromium.org>
866
867         Fix missing sourceState change on MEDIA_ERR_SOURCE_NOT_SUPPORTED error.
868         https://bugs.webkit.org/show_bug.cgi?id=84996
869
870         Reviewed by Eric Carlson.
871
872         No new tests. http/tests/media/media-source/webm/video-media-source-errors.html was updated to verify that webkitSourceState is always SOURCE_CLOSED when the onerror event fires.
873
874         * html/HTMLMediaElement.cpp:
875         (WebCore::HTMLMediaElement::noneSupported):
876
877 2012-04-26  Antti Koivisto  <antti@apple.com>
878
879         Cache parsed stylesheets
880         https://bugs.webkit.org/show_bug.cgi?id=85004
881
882         Reviewed by Andreas Kling.
883
884         CSS parsing is 1-2% of WebKit CPU usage on average pages, more on sites with large stylesheets.
885         We currently reparse all stylesheets from source text when they are encountered again. In many
886         browsing scenarios we can eliminate lot of this by caching the parsed stylesheets. For example 
887         it is very common for subpages of a site to share the stylesheets.
888         
889         This patch enables memory caching for stylesheet loaded using the <link> element. Only stylesheets
890         that have no import rules are cacheable for now.
891         
892         Cached stylesheets are copied on restore so there is no sharing (and no memory wins) yet.
893         In the future we will also be able to share the actual data structures between pages for 
894         significant memory savings.
895         
896         After browsing around for a while <5% of the memory cache data was in parsed stylesheets so this
897         does not bloat the cache significantly.
898
899         * css/CSSStyleSheet.cpp:
900         (WebCore):
901         (WebCore::StyleSheetInternal::estimatedSizeInBytes):
902         
903             Estimate stylesheet size so we can handle decoded data pruning correctly.
904
905         * css/CSSStyleSheet.h:
906         (StyleSheetInternal):
907         * css/StylePropertySet.cpp:
908         (WebCore::StylePropertySet::averageSizeInBytes):
909         (WebCore):
910         * css/StylePropertySet.h:
911         (StylePropertySet):
912         * css/StyleRule.cpp:
913         (WebCore::StyleRule::averageSizeInBytes):
914         (WebCore):
915         * css/StyleRule.h:
916         (StyleRule):
917         * html/HTMLLinkElement.cpp:
918         (WebCore::HTMLLinkElement::setCSSStyleSheet):
919         
920             Save and restore parsed stylesheet. The current CSS parse context must be identical to the cached 
921             stylesheets. This ensures that the parsing results would be identical.
922
923         * loader/cache/CachedCSSStyleSheet.cpp:
924         (WebCore):
925         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
926         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
927         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
928         * loader/cache/CachedCSSStyleSheet.h:
929         
930             The parsed stylesheet cache is considered decoded data, similar to the image bitmaps. It uses the
931             same mechanism for pruning.
932
933         (WebCore):
934         (CachedCSSStyleSheet):
935
936 2012-04-26  Anders Carlsson  <andersca@apple.com>
937
938         A TileCache should never outlive its WebTileCacheLayer
939         https://bugs.webkit.org/show_bug.cgi?id=85008
940         <rdar://problem/11141172>
941
942         Reviewed by Andreas Kling.
943
944         Since WebTileCacheLayer objects can be destroyed on the scrolling thread, make sure to delete the TileCache layer
945         when the PlatformCALayer is destroyed. This fixes a crash when the tile revalidation timer fires after the WebTileCacheLayer has
946         been destroyed, but before the TileCache itself has been destroyed.
947
948         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
949         (PlatformCALayer::~PlatformCALayer):
950         * platform/graphics/ca/mac/WebTileCacheLayer.h:
951         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
952         (-[WebTileCacheLayer dealloc]):
953         (-[WebTileCacheLayer invalidate]):
954
955 2012-04-26  Benjamin Poulain  <bpoulain@apple.com>
956
957         Use String instead of RefPtr<StringImpl> for the cache of ObjcClass
958         https://bugs.webkit.org/show_bug.cgi?id=84932
959
960         Reviewed by Andreas Kling.
961
962         The cache with RefPtr<StringImpl*> was added with r115007.
963
964         This patch aims at making the code a little easier to read. By using String,
965         one would not need to know the Traits for StringImpl.
966
967         * bridge/objc/objc_class.h:
968         (ObjcClass):
969
970 2012-04-26  Kentaro Hara  <haraken@chromium.org>
971
972         [V8] Pass Isolate to wrap() in SerializedScriptValue.cpp
973         https://bugs.webkit.org/show_bug.cgi?id=84923
974
975         Reviewed by Nate Chapin.
976
977         The objective is to pass Isolate around in V8 bindings.
978         In this bug we pass Isolate to wrap() in SerializedScriptValue.cpp.
979
980         No tests. No change in behavior.
981
982         * bindings/v8/SerializedScriptValue.cpp:
983
984 2012-04-26  Hao Zheng  <zhenghao@chromium.org>
985
986         [chromium] Complex text support for Android.
987         https://bugs.webkit.org/show_bug.cgi?id=84431
988
989         Complex text support is different on Android from other platforms.
990         There are 2 kinds of font on Android: system fonts and fallback fonts.
991         System fonts have a name, and are accessible in FontPlatformData.
992         Fallback fonts do not have specific names, so they are not accessible
993         from WebKit directly. There is one font for each script support.
994         To feed Harfbuzz, use a trick to get correct SkTypeface based on script.
995
996         Reviewed by Tony Chang.
997
998         No new tests. Current tests are runnable on Android.
999
1000         * platform/graphics/FontCache.h:
1001         (FontCache): Make ComplexTextController friend of FontCache on Android.
1002         * platform/graphics/chromium/FontCacheAndroid.cpp:
1003         (WebCore::FontCache::createFontPlatformData):
1004         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
1005         (WebCore::ComplexTextController::getComplexFontPlatformData):
1006         (WebCore):
1007         (WebCore::ComplexTextController::setupFontForScriptRun):
1008         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
1009         (ComplexTextController):
1010
1011 2012-04-26  Kentaro Hara  <haraken@chromium.org>
1012
1013         [V8] Pass Isolate to wrap() (Part2)
1014         https://bugs.webkit.org/show_bug.cgi?id=84922
1015
1016         Reviewed by Nate Chapin.
1017
1018         The objective is to pass Isolate around in V8 bindings.
1019         This patch passes Isolate to wrap() in custom bindings.
1020
1021         No tests. No change in behavior.
1022
1023         * bindings/v8/custom/V8LocationCustom.cpp:
1024         (WebCore::toV8):
1025         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1026         (WebCore::toV8):
1027         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1028         (WebCore::toV8):
1029         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1030         (WebCore::toV8):
1031         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1032         (WebCore::toV8):
1033         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1034         (WebCore::toV8):
1035         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1036         (WebCore::toV8):
1037         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1038         (WebCore::toV8):
1039
1040 2012-04-26  Jon Lee  <jonlee@apple.com>
1041
1042         [WK2] AlternativeTextClient leaks when the page is destroyed
1043         https://bugs.webkit.org/show_bug.cgi?id=84307
1044         <rdar://problem/11328431>
1045
1046         Reviewed by Enrica Casucci.
1047
1048         * page/AlternativeTextClient.h: Add pageDestroyed() call, as in EditorClient.
1049         (AlternativeTextClient):
1050         * page/Page.cpp:
1051         (WebCore::Page::~Page): When the page is destroyed, notify the client if it exists.
1052
1053 2012-04-26  Kentaro Hara  <haraken@chromium.org>
1054
1055         [V8] Pass Isolate to wrap() (Part1)
1056         https://bugs.webkit.org/show_bug.cgi?id=84921
1057
1058         Reviewed by Nate Chapin.
1059
1060         The objective is to pass Isolate around in V8 bindings.
1061         This patch passes Isolate to wrap() in custom bindings.
1062
1063         No tests. No change in behavior.
1064
1065         * bindings/v8/custom/V8BlobCustom.cpp:
1066         (WebCore::toV8):
1067         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1068         (WebCore::toV8):
1069         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1070         (WebCore::toV8):
1071         * bindings/v8/custom/V8CSSValueCustom.cpp:
1072         (WebCore::toV8):
1073         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1074         (WebCore::toV8):
1075         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1076         (WebCore::toV8):
1077         * bindings/v8/custom/V8DataViewCustom.cpp:
1078         (WebCore::toV8):
1079         * bindings/v8/custom/V8EventCustom.cpp:
1080         (WebCore::toV8):
1081         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1082         (WebCore::toV8):
1083         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1084         (WebCore::toV8):
1085         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1086         (WebCore::toV8):
1087         * bindings/v8/custom/V8ImageDataCustom.cpp:
1088         (WebCore::toV8):
1089         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1090         (WebCore::toV8):
1091         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1092         (WebCore::toV8):
1093         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1094         (WebCore::toV8):
1095
1096 2012-04-26  Benjamin Poulain  <bpoulain@apple.com>
1097
1098         ObjcClass::methodsNamed() can leak if buffer is dynamically allocated
1099         https://bugs.webkit.org/show_bug.cgi?id=84668
1100
1101         Reviewed by Alexey Proskuryakov.
1102
1103         Change ObjcClass::methodsNamed() to be based on a vector instead of managing
1104         the memory manually.
1105
1106         Tests: platform/mac/plugins/bindings-objc-long-method-name.html
1107                platform/mac/plugins/bindings-objc-method-name-conversion.html
1108
1109         * bridge/objc/objc_class.mm:
1110         (Bindings):
1111         (JSC::Bindings::convertJSMethodNameToObjc):
1112         (JSC::Bindings::ObjcClass::methodsNamed):
1113
1114 2012-04-26  Justin Novosad  <junov@chromium.org>
1115
1116         [Chromium] Single buffered canvas layers with the threaded compositor
1117         https://bugs.webkit.org/show_bug.cgi?id=80540
1118
1119         Reviewed by James Robinson.
1120
1121         Tests:
1122         CCLayerTreeHostTestWriteLayersRedraw
1123         CCLayerTreeHostTestWriteLayersAfterVisible
1124         Canvas2DLayerChromiumTest.testFullLifecycleSingleThreadDeferred
1125         Canvas2DLayerChromiumTest.testFullLifecycleThreadDeferred
1126         CCSchedulerTest.VisibilitySwitchWithTextureAcquisition
1127         CCSchedulerTest.TextureAcquisitionCollision
1128
1129         Disable double buffering and rate limiting on accelerated canvas
1130         when the threaded compositor and deferred canvas are enabled.
1131         Concurrent access to the layer texture by the main renderer thread and
1132         the compositor thread is avoided by enforcing a lock. The state of the
1133         lock is maintained by CCSchedulerStateMachine. Write access by the main
1134         thread is acquired through a signal round trip to the compositor thread,
1135         which may block the main thread in the event that one or more committed
1136         layers need to be protected until the compositor completes the requested
1137         draw. Draws on the impl thread are cancelled if the main thread has
1138         obtained write access to the texture.  The write access is relinquished
1139         by the main thread upon commit completion.  The scheduler state machine
1140         is responsible for preventing the texture lock from causing deadlocks by
1141         detecting and resolving problematic states.
1142
1143         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1144         (WebCore::Canvas2DLayerChromium::create):
1145         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1146         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
1147         (WebCore::Canvas2DLayerChromium::drawingIntoImplThreadTexture):
1148         (WebCore):
1149         (WebCore::Canvas2DLayerChromium::setTextureId):
1150         (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
1151         (WebCore::Canvas2DLayerChromium::update):
1152         (WebCore::Canvas2DLayerChromium::layerWillDraw):
1153         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1154         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1155         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1156         (WebCore::CCLayerTreeHost::acquireLayerTextures):
1157         (WebCore):
1158         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1159         (CCLayerTreeHost):
1160         * platform/graphics/chromium/cc/CCProxy.h:
1161         (CCProxy):
1162         * platform/graphics/chromium/cc/CCScheduler.cpp:
1163         (WebCore::CCScheduler::setMainThreadNeedsLayerTextures):
1164         (WebCore):
1165         (WebCore::CCScheduler::processScheduledActions):
1166         * platform/graphics/chromium/cc/CCScheduler.h:
1167         (CCSchedulerClient):
1168         (CCScheduler):
1169         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1170         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1171         (WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
1172         (WebCore):
1173         (WebCore::CCSchedulerStateMachine::scheduledToDraw):
1174         (WebCore::CCSchedulerStateMachine::shouldDraw):
1175         (WebCore::CCSchedulerStateMachine::shouldAcquireLayerTexturesForMainThread):
1176         (WebCore::CCSchedulerStateMachine::nextAction):
1177         (WebCore::CCSchedulerStateMachine::updateState):
1178         (WebCore::CCSchedulerStateMachine::setMainThreadNeedsLayerTextures):
1179         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1180         (CCSchedulerStateMachine):
1181         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1182         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1183         (WebCore::CCThreadProxy::CCThreadProxy):
1184         (WebCore::CCThreadProxy::beginFrame):
1185         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1186         (WebCore):
1187         (WebCore::CCThreadProxy::acquireLayerTextures):
1188         (WebCore::CCThreadProxy::acquireLayerTexturesForMainThreadOnImplThread):
1189         (WebCore::CCThreadProxy::scheduledActionAcquireLayerTexturesForMainThread):
1190         * platform/graphics/chromium/cc/CCThreadProxy.h:
1191         (CCThreadProxy):
1192         * platform/graphics/skia/ImageBufferSkia.cpp:
1193         (WebCore):
1194         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
1195         (WebCore::AcceleratedDeviceContext::prepareForDraw):
1196         (AcceleratedDeviceContext):
1197         (WebCore::createAcceleratedCanvas):
1198         (WebCore::ImageBuffer::context):
1199
1200 2012-04-26  Kentaro Hara  <haraken@chromium.org>
1201
1202         [V8] Pass Isolate to toV8() in SerializedScriptValue.cpp
1203         https://bugs.webkit.org/show_bug.cgi?id=84918
1204
1205         Reviewed by Nate Chapin.
1206
1207         This is the last step to pass Isolate around in
1208         SerializedScriptValue.cpp. This patch passes Isolate
1209         to toV8().
1210
1211         No tests. No change in behavior.
1212
1213         * bindings/v8/SerializedScriptValue.cpp:
1214
1215 2012-04-26  Kentaro Hara  <haraken@chromium.org>
1216
1217         [V8] Pass Isolate to wrapSlow()
1218         https://bugs.webkit.org/show_bug.cgi?id=84919
1219
1220         Reviewed by Nate Chapin.
1221
1222         The objective is to pass Isolate around in V8 bindings.
1223         In this bug, we pass Isolate to wrapSlow().
1224
1225         Test: bindings/scripts/test/TestObj.idl etc
1226
1227         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
1228         (GenerateHeader):
1229         (GenerateToV8Converters):
1230
1231         * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
1232         (WebCore::V8Float64Array::wrapSlow):
1233         * bindings/scripts/test/V8/V8Float64Array.h:
1234         (V8Float64Array):
1235         (WebCore::V8Float64Array::wrap):
1236         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1237         (WebCore::V8TestActiveDOMObject::wrapSlow):
1238         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1239         (V8TestActiveDOMObject):
1240         (WebCore::V8TestActiveDOMObject::wrap):
1241         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1242         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1243         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1244         (V8TestCustomNamedGetter):
1245         (WebCore::V8TestCustomNamedGetter::wrap):
1246         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1247         (WebCore::V8TestEventConstructor::wrapSlow):
1248         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1249         (V8TestEventConstructor):
1250         (WebCore::V8TestEventConstructor::wrap):
1251         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1252         (WebCore::V8TestEventTarget::wrapSlow):
1253         * bindings/scripts/test/V8/V8TestEventTarget.h:
1254         (V8TestEventTarget):
1255         (WebCore::V8TestEventTarget::wrap):
1256         * bindings/scripts/test/V8/V8TestInterface.cpp:
1257         (WebCore::V8TestInterface::wrapSlow):
1258         * bindings/scripts/test/V8/V8TestInterface.h:
1259         (V8TestInterface):
1260         (WebCore::V8TestInterface::wrap):
1261         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1262         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1263         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1264         (V8TestMediaQueryListListener):
1265         (WebCore::V8TestMediaQueryListListener::wrap):
1266         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1267         (WebCore::V8TestNamedConstructor::wrapSlow):
1268         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1269         (V8TestNamedConstructor):
1270         (WebCore::V8TestNamedConstructor::wrap):
1271         * bindings/scripts/test/V8/V8TestNode.cpp:
1272         (WebCore::V8TestNode::wrapSlow):
1273         * bindings/scripts/test/V8/V8TestNode.h:
1274         (V8TestNode):
1275         (WebCore::V8TestNode::wrap):
1276         * bindings/scripts/test/V8/V8TestObj.cpp:
1277         (WebCore::V8TestObj::wrapSlow):
1278         * bindings/scripts/test/V8/V8TestObj.h:
1279         (V8TestObj):
1280         (WebCore::V8TestObj::wrap):
1281         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1282         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1283         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1284         (V8TestSerializedScriptValueInterface):
1285         (WebCore::V8TestSerializedScriptValueInterface::wrap):
1286
1287 2012-04-25  Antonio Gomes  <agomes@rim.com>
1288
1289         Add ScrollAnimatorBlackBerry as an extension to ScrollAnimatorNone
1290         https://bugs.webkit.org/show_bug.cgi?id=84625
1291
1292         Reviewed by Anders Carlsson.
1293
1294         Patch adds ScrollAnimatorBlackBerry class as an extension to of
1295         ScrollAnimatorNone. The main goal here is extending the later to allow
1296         overscrolling while the animation runs.
1297
1298         Once the animation finishes, the flag gets reseted and
1299         ScrollableArea::constrainsScrollingtoContentEdge is set back to the value
1300         it had before, so this method has to be explicitly called anytime it is wanted.
1301
1302         * CMakeLists.txt:
1303         * platform/ScrollAnimator.h:
1304         (WebCore::ScrollAnimator::animationWillStart):
1305         (WebCore::ScrollAnimator::animationDidFinish):
1306         (ScrollAnimator):
1307         * platform/ScrollAnimatorNone.cpp:
1308         (WebCore):
1309         (WebCore::ScrollAnimatorNone::scroll):
1310         (WebCore::ScrollAnimatorNone::animationTimerFired):
1311         * platform/blackberry/ScrollAnimatorBlackBerry.cpp: Added.
1312         (WebCore):
1313         (WebCore::ScrollAnimator::create):
1314         (WebCore::ScrollAnimatorBlackBerry::ScrollAnimatorBlackBerry):
1315         (WebCore::ScrollAnimatorBlackBerry::animationWillStart):
1316         (WebCore::ScrollAnimatorBlackBerry::animationDidFinish):
1317         (WebCore::ScrollAnimatorBlackBerry::setDisableConstrainsScrollingToContentEdgeWhileAnimating):
1318         * platform/blackberry/ScrollAnimatorBlackBerry.h: Added.
1319         (WebCore):
1320         (ScrollAnimatorBlackBerry):
1321
1322 2012-04-26  Antonio Gomes  <agomes@rim.com>
1323
1324         [BlackBerry] Add smooth_scrolling options to CMAKE and enable it for Blackberry
1325         https://bugs.webkit.org/show_bug.cgi?id=84954
1326
1327         Reviewed by Daniel Bates.
1328
1329         Add the default scroll animator to the build system (ScrollAnimatorNone.cpp)
1330
1331         * CMakeLists.txt:
1332
1333 2012-04-25  Antonio Gomes  <agomes@rim.com>
1334
1335         Make ScrollView::scrollSize scrollbar-independent
1336         https://bugs.webkit.org/show_bug.cgi?id=84873
1337
1338         Reviewed by Anders Carlsson.
1339
1340         For ports that disable scrollbars creation at FrameView creation time
1341         ScrollView::scrollSize should still return the scrollable ammount of
1342         content (if any) if scrolling is not prohibted.
1343
1344         No new test, but it makes ScrollAnimator work for the BlackBerry port.
1345
1346         * platform/ScrollView.cpp:
1347         (WebCore::ScrollView::scrollSize):
1348
1349 2012-04-25  Anders Carlsson  <andersca@apple.com>
1350
1351         The tile cache should know if a frame view can ever have scrollbars
1352         https://bugs.webkit.org/show_bug.cgi?id=84888
1353
1354         Reviewed by Andreas Kling.
1355
1356         If a frame view has overflow: hidden on its body element we know that the document will most
1357         likely never be scrolled. The tile cache should know about this so we can optimize.
1358
1359         * page/FrameView.cpp:
1360         (WebCore::FrameView::performPostLayoutTasks):
1361         * platform/graphics/TiledBacking.h:
1362         (TiledBacking):
1363         * platform/graphics/ca/mac/TileCache.h:
1364         (TileCache):
1365         * platform/graphics/ca/mac/TileCache.mm:
1366         (WebCore::TileCache::TileCache):
1367         (WebCore::TileCache::setCanHaveScrollbars):
1368         (WebCore):
1369         * rendering/RenderLayerBacking.cpp:
1370         (WebCore::RenderLayerBacking::RenderLayerBacking):
1371
1372 2012-04-26  Ken Buchanan  <kenrb@chromium.org>
1373
1374         Crash from removal of line break object after layout
1375         https://bugs.webkit.org/show_bug.cgi?id=75461
1376
1377         Reviewed by David Hyatt.
1378
1379         There is a condition where objects can get removed from underneath
1380         inlines while they represent a line break object in a RootInlineBox
1381         of an ancestor block. If an intermediary inline has already been
1382         marked as needing layout, then the line box will not get dirtied
1383         because dirtyLineFromChangedChild thinks it already has been.
1384
1385         This patch introduces a new set in RenderObject to indicate whether
1386         an ancestral line box corresponding to the current line has been
1387         marked dirty or not. dirtyLinesFromChangedChild() can use this set 
1388         rather than m_selfNeedsLayout, so it will not be confused if a
1389         container was dirtied for some other reason that did not affect the
1390         line box.
1391
1392         * rendering/RenderLineBoxList.cpp:
1393         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Use the new
1394         set rather than m_selfNeedsLayout in the container to determine
1395         whether to continue propagating upward.
1396         * rendering/RenderObject.cpp:
1397         (WebCore::RenderObject::s_ancestorLineboxDirtySet): Instantiate the
1398         static member.
1399         (WebCore::RenderObject::willBeDestroyed): Clears the object from the
1400         linebox set when it is being destroyed.
1401         * rendering/RenderObject.h:
1402         (WebCore::RenderObject::s_ancestorLineboxDirtySet): Added static
1403         member set.
1404         (WebCore::RenderObject::setNeedsLayout): Clears the
1405         object from the linebox set when layout bits are getting cleared.
1406         (WebCore::RenderObject::ancestorLineBoxDirty): Added.
1407         (WebCore::RenderObject::setAncestorLineBoxDirty): Added.
1408
1409 2012-04-26  Christophe Dumez  <christophe.dumez@intel.com>
1410
1411         [EFL] Enable VIDEO_TRACK feature
1412         https://bugs.webkit.org/show_bug.cgi?id=84830
1413
1414         Reviewed by Gustavo Noronha Silva.
1415
1416         Enable support for VIDEO_TRACK feature by default for EFL port.
1417
1418         * UseJSC.cmake:
1419         * bindings/generic/RuntimeEnabledFeatures.cpp:
1420         (WebCore):
1421
1422 2012-04-26  Antti Koivisto  <antti@apple.com>
1423
1424         Implement StyleSheetInternal copying
1425         https://bugs.webkit.org/show_bug.cgi?id=84969
1426
1427         Reviewed by Andreas Kling.
1428
1429         We need to be able to copy stylesheets to cache them. Copying is already implement for
1430         most of the stylesheet data types but StyleSheetInternal::copy() is still missing.
1431         
1432         Preparation for stylesheet caching. The copying code is not used yet.
1433
1434         * css/CSSNamespace.h:
1435         
1436             Instead of making it copyable, remove CSSNamespace class.
1437     
1438         * css/CSSParser.cpp:
1439         (WebCore::operator==):
1440         (WebCore):
1441         (WebCore::CSSParser::addNamespace):
1442         
1443             Avoid ping-ponging to StyleSheetInternal and back to set the default namespace.
1444
1445         * css/CSSParserMode.h:
1446         (WebCore):
1447         (WebCore::operator!=):
1448
1449             Add equality comparison operator to CSSParseMode. This will be needed to determine
1450             if a cached copy can be used.
1451             
1452         * css/CSSStyleSheet.cpp:
1453         (WebCore::StyleSheetInternal::StyleSheetInternal):
1454         (WebCore):
1455         (WebCore::StyleSheetInternal::isCacheable):
1456         (WebCore::StyleSheetInternal::parserAddNamespace):
1457         (WebCore::StyleSheetInternal::determineNamespace):
1458         
1459             Use HashMap instead of iterating a linked list of CSSNamespaces.
1460
1461         (WebCore::StyleSheetInternal::styleSheetChanged):
1462         
1463             Add mutation bit.
1464
1465         * css/CSSStyleSheet.h:
1466         (WebCore):
1467         (StyleSheetInternal):
1468         (WebCore::StyleSheetInternal::copy):
1469         
1470             Copy constructor. It only usable for cacheable stylesheets.
1471
1472 2012-04-26  Philip Rogers  <pdr@google.com>
1473
1474         Fix Skia's SkPathContainsPoint to work with sub-pixel accuracy
1475         https://bugs.webkit.org/show_bug.cgi?id=84117
1476
1477         Reviewed by Eric Seidel.
1478
1479         Because we do hit testing in object-space (i.e., we may see a 0.1px*0.1px path) we
1480         need to support sub-pixel hit testing in Skia. Skia does not provide analytical
1481         path hit testing, so hit tests are done by rasterizing a path and checking if a
1482         specific pixel is drawn. SkPathContainsPoint did not work with sub-pixel values
1483         because this rasterization was sometimes very small which did not give enough
1484         resolution to check if the hit test pixel was drawn.
1485
1486         This patch scales the path to a very large size during hit testing so that Skia's
1487         raster-based hit testing will work properly. Because Skia avoids unnecessary
1488         path rasterization, this is actually inexpensive.
1489
1490         Below is a summary of a performance test on simple and complex paths:
1491                                                  (before patch, after patch)
1492         Skia/Chrome 10,000 hit tests on a simple path:  (229ms, 238ms)
1493         Skia/Chrome 10,000 hit tests on a complex path: (701ms, 704ms)
1494         For comparison, CG/Safari takes 236ms on the simple path and 466ms on the complex path.
1495  
1496         Therefore, this patch introduces small but measurable regression in hit testing
1497         performance due to scaling the path.
1498
1499         Test: svg/hittest/svg-small-path.xhtml
1500
1501         * platform/graphics/skia/SkiaUtils.cpp:
1502         (WebCore::SkPathContainsPoint):
1503
1504 2012-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1505
1506         Unreviewed, rolling out r115323.
1507         http://trac.webkit.org/changeset/115323
1508         https://bugs.webkit.org/show_bug.cgi?id=84975
1509
1510         Bad test, breaks all builds (Requested by apavlov1 on
1511         #webkit).
1512
1513         * inspector/Inspector.json:
1514         * inspector/InspectorPageAgent.cpp:
1515         (WebCore::InspectorPageAgent::enable):
1516         (WebCore::InspectorPageAgent::disable):
1517         * inspector/InspectorPageAgent.h:
1518         * inspector/front-end/Settings.js:
1519         * inspector/front-end/SettingsScreen.js:
1520         (WebInspector.SettingsScreen):
1521         * inspector/front-end/inspector.js:
1522
1523 2012-04-26  Douglas Stockwell  <dstockwell@chromium.org>
1524
1525         IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
1526         https://bugs.webkit.org/show_bug.cgi?id=84467
1527
1528         Reviewed by Ojan Vafai.
1529
1530         Ensure that the iterator over the tree of cached adds/removes always points at
1531         the current key, or if the db iterator is current, the next key:
1532         
1533         - When refreshing the tree iterator after a mutation, always seek unless the
1534         tree iterator is current.
1535         
1536         - When handing conflicts and delete markers, only advance the tree iterator as
1537         far as the db iterator.
1538         
1539         Remove the expensive (and now redundant) logic that issued a get() to check
1540         whether an item had been deleted.
1541
1542         Test: storage/indexeddb/cursor-added-bug.html
1543
1544         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1545         (WebCore):
1546         * platform/leveldb/LevelDBTransaction.cpp:
1547         (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
1548         (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
1549
1550 2012-04-26  Alexander Pavlov  <apavlov@chromium.org>
1551
1552         Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
1553         https://bugs.webkit.org/show_bug.cgi?id=84946
1554
1555         Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
1556         for the associated page to switch the script execution therein.
1557
1558         Reviewed by Yury Semikhatsky.
1559
1560         Test: inspector/debugger/disable-script.html
1561
1562         * inspector/Inspector.json:
1563         * inspector/InspectorPageAgent.cpp:
1564         (PageAgentState):
1565         (WebCore::InspectorPageAgent::enable):
1566         (WebCore::InspectorPageAgent::disable):
1567         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
1568         (WebCore):
1569         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
1570         * inspector/InspectorPageAgent.h:
1571         * inspector/front-end/Settings.js:
1572         * inspector/front-end/SettingsScreen.js:
1573         (WebInspector.SettingsScreen):
1574         (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
1575         (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
1576         * inspector/front-end/inspector.js:
1577
1578 2012-04-26  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
1579
1580         [cairo] CairoGraphicsContext fillRect (with Color) overrides composite operator
1581         https://bugs.webkit.org/show_bug.cgi?id=84848
1582
1583         Reviewed by Martin Robinson.
1584
1585         FillRectWithColor used to be called fillRectSourceOver before r89314
1586         where this operator still made sense. The way this function is used
1587         these days doesn't expect the composite operator to be overridden anymore.
1588
1589         No new tests, covered by existing tests, e.g.
1590         svg/filters/feDropShadow.svg
1591
1592         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1593         (WebCore::fillRectWithColor):
1594
1595 2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1596
1597         Fix additive by animations for most SMIL list types
1598         https://bugs.webkit.org/show_bug.cgi?id=84968
1599
1600         Reviewed by Antti Koivisto.
1601
1602         Unify SMIL list animation code, to correctly respect the underlying from value for by-animations.
1603         Add lots of new tests covering by-animations for all primitives (except AnimatedPath/TransformList).
1604         AnimatedTransformList is not working correctly yet, and will be covered in a follow-up patch.
1605         AnimatdPath by-animations are complex, and thus also handled in another follow-up patch.
1606
1607         Tests: svg/animations/additive-type-by-animation.html
1608                svg/animations/length-list-animation-expected.svg
1609                svg/animations/length-list-animation.svg
1610                svg/animations/svglength-additive-by-1.html
1611                svg/animations/svglength-additive-by-2.html
1612                svg/animations/svglength-additive-by-3.html
1613                svg/animations/svglength-additive-by-4.html
1614                svg/animations/svglength-additive-by-5.html
1615                svg/animations/svglength-additive-by-6.html
1616                svg/animations/svglength-additive-from-by-1.html
1617                svg/animations/svglength-additive-from-by-2.html
1618                svg/animations/svglength-additive-from-by-3.html
1619                svg/animations/svglength-additive-from-by-4.html
1620
1621         * svg/SVGAnimatedLengthList.cpp:
1622         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1623         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1624         * svg/SVGAnimatedNumberList.cpp:
1625         (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
1626         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
1627         * svg/SVGAnimatedPointList.cpp:
1628         (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
1629         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
1630         * svg/SVGAnimationElement.h:
1631         (WebCore::SVGAnimationElement::adjustFromToListValues):
1632
1633 2012-04-26  Antti Koivisto  <antti@apple.com>
1634
1635         Add copy constructor to CSSSelector
1636         https://bugs.webkit.org/show_bug.cgi?id=84956
1637
1638         Reviewed by Anders Carlsson.
1639
1640         To copy CSSSelectorLists correctly CSSSelector needs a copy constructor.
1641         
1642         This will be needed to implement stylesheet caching. The code is not used yet.
1643
1644         * css/CSSSelector.cpp:
1645         (WebCore::CSSSelector::createRareData):
1646         * css/CSSSelector.h:
1647         (CSSSelector):
1648         (WebCore::CSSSelector::RareData::create):
1649         (RareData):
1650         
1651             Refcount RareData to make copying easier. This has no significant memory impact, rare data is rare.
1652
1653         (WebCore::CSSSelector::CSSSelector):
1654         (WebCore):
1655         (WebCore::CSSSelector::~CSSSelector):
1656         * css/CSSSelectorList.cpp:
1657         (WebCore::CSSSelectorList::CSSSelectorList):
1658         
1659             Use copy constructor instead of memcpy (which doesn't work).
1660
1661 2012-04-26  Raphael Kubo da Costa  <rakuco@webkit.org>
1662
1663         [EFL] Fix the build with DRAG_SUPPORT disabled.
1664         https://bugs.webkit.org/show_bug.cgi?id=84963
1665
1666         Reviewed by Antonio Gomes.
1667
1668         No new tests, build system-related change.
1669
1670         EventHandlerEfl.cpp always assumed DRAG_SUPPORT was enabled and lacked
1671         the proper #if ENABLED() checks for some member variables and methods
1672         conditionally defined in EventHandler.h.
1673
1674         * page/efl/EventHandlerEfl.cpp:
1675         (WebCore):
1676
1677 2012-04-26  Pavel Feldman  <pfeldman@chromium.org>
1678
1679         Web Inspector: remove stackTrace property from requestWillBeSent - it is already a part of the initiator.
1680         https://bugs.webkit.org/show_bug.cgi?id=84964
1681
1682         Reviewed by Yury Semikhatsky.
1683
1684         * inspector/InspectorResourceAgent.cpp:
1685         (WebCore::InspectorResourceAgent::willSendRequest):
1686         * inspector/front-end/ConsoleMessage.js:
1687         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1688         * inspector/front-end/NetworkManager.js:
1689         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1690         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
1691         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1692         (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
1693         (get WebInspector):
1694
1695 2012-04-26  Stephen Chenney  <schenney@chromium.org>
1696
1697         SVG FEConvolveMatrix does not check for invalid property values
1698         https://bugs.webkit.org/show_bug.cgi?id=84363
1699
1700         Reviewed by Dirk Schulze.
1701
1702         Adding code to check for valid input values on SVG feConvolveMatrix properties.
1703         And adding some of the first effective error reporting for SVG elements.
1704
1705         Tests: svg/filters/feConvolveMatrix-invalid-targetX-expected.svg
1706                svg/filters/feConvolveMatrix-invalid-targetX.svg
1707                svg/filters/feConvolveMatrix-invalid-targetY-expected.svg
1708                svg/filters/feConvolveMatrix-invalid-targetY.svg
1709                svg/filters/feConvolveMatrix-negative-kernelUnitLengthX-expected.svg
1710                svg/filters/feConvolveMatrix-negative-kernelUnitLengthX.svg
1711                svg/filters/feConvolveMatrix-negative-kernelUnitLengthY-expected.svg
1712                svg/filters/feConvolveMatrix-negative-kernelUnitLengthY.svg
1713                svg/filters/feConvolveMatrix-negative-orderX-expected.svg
1714                svg/filters/feConvolveMatrix-negative-orderX.svg
1715                svg/filters/feConvolveMatrix-negative-orderY-expected.svg
1716                svg/filters/feConvolveMatrix-negative-orderY.svg
1717                svg/filters/feConvolveMatrix-non-integral-order-expected.svg
1718                svg/filters/feConvolveMatrix-non-integral-order.svg
1719                svg/filters/feConvolveMatrix-zero-divisor-expected.svg
1720                svg/filters/feConvolveMatrix-zero-divisor.svg
1721
1722         * platform/graphics/filters/FEConvolveMatrix.cpp:
1723         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
1724         (WebCore::FEConvolveMatrix::setKernelSize):
1725         (WebCore::FEConvolveMatrix::setDivisor):
1726         (WebCore::FEConvolveMatrix::setKernelUnitLength):
1727         * svg/SVGFEConvolveMatrixElement.cpp:
1728         (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
1729         (WebCore::SVGFEConvolveMatrixElement::build):
1730
1731 2012-04-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1732
1733         Move WebKit1 specific conversion of touch-events to WebKit1.
1734         https://bugs.webkit.org/show_bug.cgi?id=84951
1735
1736         Reviewed by Kenneth Rohde Christiansen.
1737
1738         No change in functionality. No new tests. 
1739
1740         * Target.pri:
1741         * platform/PlatformTouchEvent.h:
1742         (PlatformTouchEvent):
1743         * platform/PlatformTouchPoint.h:
1744         (PlatformTouchPoint):
1745         * platform/qt/PlatformTouchEventQt.cpp: Removed.
1746         * platform/qt/PlatformTouchPointQt.cpp: Removed.
1747
1748 2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1749
1750         Share code used to animate numbers types between all animators
1751         https://bugs.webkit.org/show_bug.cgi?id=84945
1752
1753         Reviewed by Antti Koivisto.
1754
1755         Refactor animateAdditiveNumber() from SVGAnimatedNumberAnimator into SVGAnimationElement,
1756         to reuse it for all primitives. Converted most primitives to use the new code. Lists, paths,
1757         colors are still todo.
1758
1759         Doesn't affect any tests.
1760
1761         * svg/SVGAnimatedAngle.cpp:
1762         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
1763         * svg/SVGAnimatedInteger.cpp:
1764         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
1765         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
1766         * svg/SVGAnimatedInteger.h:
1767         (SVGAnimatedIntegerAnimator):
1768         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
1769         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
1770         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
1771         * svg/SVGAnimatedLength.cpp:
1772         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1773         * svg/SVGAnimatedLengthList.cpp:
1774         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1775         * svg/SVGAnimatedNumber.cpp:
1776         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
1777         * svg/SVGAnimatedNumber.h:
1778         * svg/SVGAnimatedNumberList.cpp:
1779         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
1780         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1781         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
1782         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
1783         * svg/SVGAnimatedNumberOptionalNumber.h:
1784         * svg/SVGAnimatedRect.cpp:
1785         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
1786         * svg/SVGAnimationElement.h:
1787         (WebCore::SVGAnimationElement::animateAdditiveNumber):
1788         (SVGAnimationElement):
1789
1790 2012-04-26  Ryosuke Niwa  <rniwa@webkit.org>
1791
1792         Forgotten build fix after r115227.
1793
1794         * css/StylePropertySet.cpp:
1795         (WebCore::StylePropertySet::get4Values):
1796
1797 2012-04-26  Mihnea Ovidenie  <mihnea@adobe.com>
1798
1799         Crash when collecting svg symbol element in named flow.
1800         https://bugs.webkit.org/show_bug.cgi?id=84493
1801
1802         Reviewed by David Hyatt.
1803
1804         Test: fast/regions/symbol-in-named-flow-crash.svg
1805
1806         * dom/Element.cpp:
1807         (WebCore::Element::~Element):
1808         Add an assert that an element that was collected into a named flow was already removed at this point
1809         (when the document is not in the process of destruction)
1810         (WebCore::Element::unregisterNamedFlowContentNode):
1811         Created a new function for unregistering a content node. In the future, this function may be used for
1812         content nodes from shadow dom.
1813         (WebCore::Element::detach):
1814         * dom/Element.h:
1815         (Element):
1816         * dom/NodeRenderingContext.cpp:
1817         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1818         Prevent elements that are part of shadow dom to be collected into a named flow.
1819
1820 2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1821
1822         Share code used to animate discrete types between all animators
1823         https://bugs.webkit.org/show_bug.cgi?id=84853
1824
1825         Reviewed by Andreas Kling.
1826
1827         Share by-animation handling for non-additive types in a central method in SVGAnimatedTypeAnimator,
1828         to be reusable by SVGAnimatedBoolean/Enumeration/PreserveAspectRatio/String. Add a new test covering
1829         these animations have no effect.
1830
1831         Test: svg/animations/non-additive-type-by-animation.html
1832
1833         * svg/SVGAnimateElement.cpp:
1834         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1835         (WebCore::SVGAnimateElement::isAdditive):
1836         * svg/SVGAnimateElement.h:
1837         (SVGAnimateElement):
1838         * svg/SVGAnimateMotionElement.cpp:
1839         (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
1840         * svg/SVGAnimatedBoolean.cpp:
1841         (WebCore::isTrueString):
1842         (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
1843         (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
1844         (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
1845         * svg/SVGAnimatedEnumeration.cpp:
1846         (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
1847         (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
1848         * svg/SVGAnimatedPreserveAspectRatio.cpp:
1849         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::addAnimatedTypes):
1850         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
1851         * svg/SVGAnimatedString.cpp:
1852         (WebCore::SVGAnimatedStringAnimator::addAnimatedTypes):
1853         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
1854         * svg/SVGAnimationElement.cpp:
1855         (WebCore::SVGAnimationElement::startedActiveInterval):
1856         * svg/SVGAnimationElement.h:
1857         (SVGAnimationElement):
1858         (WebCore::SVGAnimationElement::animateDiscreteType):
1859
1860 2012-04-26  Chris Fleizach2  <cfleizach@apple.com>
1861
1862         CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
1863         https://bugs.webkit.org/show_bug.cgi?id=84463
1864
1865         Reviewed by Darin Adler.
1866
1867         Accessibility was not being enabled when WK2 was asking only for the focused UI element.
1868
1869         No layout test could be written because the WKTestRunner mechanism works differently when asking for this.
1870
1871         * accessibility/AXObjectCache.cpp:
1872         (WebCore::AXObjectCache::focusedUIElementForPage):
1873         (WebCore::AXObjectCache::rootObject):
1874         (WebCore::AXObjectCache::rootObjectForFrame):
1875
1876 2012-04-25  Dana Jansens  <danakj@chromium.org>
1877
1878         [chromium] Remove guarded virtual methods from WebFilterOperation API
1879         https://bugs.webkit.org/show_bug.cgi?id=84926
1880
1881         Reviewed by James Robinson.
1882
1883         * WebCore.gypi:
1884         * platform/chromium/support/WebFilterOperation.cpp: Removed.
1885         * platform/chromium/support/WebFilterOperations.cpp:
1886         (WebKit::WebFilterOperations::append):
1887
1888 2012-04-25  Benjamin Poulain  <benjamin@webkit.org>
1889
1890         Add a version of StringImpl::find() without offset
1891         https://bugs.webkit.org/show_bug.cgi?id=83968
1892
1893         Reviewed by Sam Weinig.
1894
1895         Remove the zero offset of the find() functions on strings.
1896
1897         * html/parser/XSSAuditor.cpp:
1898         (WebCore::XSSAuditor::init):
1899         * platform/network/ResourceResponseBase.cpp:
1900         (WebCore::trimToNextSeparator):
1901         (WebCore::parseCacheHeader):
1902
1903 2012-04-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1904
1905         WebCore shouldn't call collectAllGarbage directly
1906         https://bugs.webkit.org/show_bug.cgi?id=84897
1907
1908         Reviewed by Geoffrey Garen.
1909
1910         No new tests. 
1911
1912         Currently, GCController calls Heap::collectAllGarbage directly, which leads 
1913         to an overload of collections as the timer in GCController and the timer in 
1914         GCActivityCallback compete for collection time and fire independently. As a 
1915         result, we end up doing almost 600 full collections during an in-browser run 
1916         of SunSpider, or 20 full collections on a single load of TechCrunch. 
1917
1918         We can do better by preventing WebCore from calling collectAllGarbage directly 
1919         and instead going through Heap::reportAbandonedObjectGraph, since that is what 
1920         WebCore is trying to do--notify the Heap that a lot of garbage may have just 
1921         been generated when we left a page.
1922
1923         * WebCore.exp.in:
1924         * bindings/js/GCController.cpp: Removed all timer stuff.
1925         (WebCore::GCController::GCController):
1926         (WebCore::GCController::garbageCollectSoon): Changed to call Heap::reportAbandonedObjectGraph.
1927         (WebCore::GCController::garbageCollectNow): Changed to still directly call collectAllGarbage.
1928         We will deprecate this function soon hopefully.
1929         * bindings/js/GCController.h: Removed timer stuff.
1930         (GCController):
1931         * bindings/js/ScriptProfiler.cpp:
1932         (WebCore::ScriptProfiler::collectGarbage): Changed to call garbageCollectSoon.
1933
1934 2012-04-25  James Robinson  <jamesr@chromium.org>
1935
1936         [chromium] REGRESSION(112286) Compositor initialization blocks for program compilation / linking
1937         https://bugs.webkit.org/show_bug.cgi?id=84822
1938
1939         Reviewed by Adrienne Walker.
1940
1941         r112286 introduced a subtle regression in the chromium compositor startup sequence - by querying the texture
1942         copy program's uniform location at the end of LayerRendererChromium::initialize(), the compositor's thread was
1943         blocked until the service side compiled _all_ eagerly initialized shaders. The intent of the way the compositor
1944         programs are created is that a set of commonly-used programs are sent to the service side, but no blocking calls
1945         are made until after we go through the first paint (with the hope that the service side will complete the
1946         compilation by then).
1947
1948         Fixed by moving program initialization (which also grabs uniform locations) until the first actual use of the
1949         copier. It may be worth deferring the program initialization completely if it's not used very often.
1950
1951         Added unit test in LayerRendererChromiumTests to make sure LRC initialization does not make any
1952         synchronous calls (like getUniformLocation()).
1953
1954         * platform/graphics/chromium/TextureCopier.cpp:
1955         (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
1956         (WebCore::AcceleratedTextureCopier::copyTexture):
1957
1958 2012-04-25  Jason Liu  <jason.liu@torchmobile.com.cn>
1959
1960         [BlackBerry] Authenticated proxy isn't working.
1961         https://bugs.webkit.org/show_bug.cgi?id=84579
1962
1963         Reviewed by Antonio Gomes.
1964
1965         We should try to get username and password from WiFi advanced configuration first
1966         when 407 is received.
1967
1968         No new tests. This is covered by existing http tests when proxy's username and password
1969         are configured for WiFi.
1970
1971         * platform/network/blackberry/NetworkJob.cpp:
1972         (WebCore::NetworkJob::sendRequestWithCredentials):
1973
1974 2012-04-25  Alec Flett  <alecflett@chromium.org>
1975
1976         IndexedDB: implement cursor.advance()
1977         https://bugs.webkit.org/show_bug.cgi?id=84174
1978
1979         Reviewed by Ojan Vafai.
1980
1981         Implement IDBCursor.advance() to spec.
1982
1983         Test: storage/indexeddb/cursor-advance.html
1984
1985         * Modules/indexeddb/IDBBackingStore.h:
1986         * Modules/indexeddb/IDBCursor.cpp:
1987         (WebCore::IDBCursor::advance):
1988         (WebCore):
1989         * Modules/indexeddb/IDBCursor.h:
1990         (IDBCursor):
1991         * Modules/indexeddb/IDBCursor.idl:
1992         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1993         (WebCore::IDBCursorBackendImpl::advance):
1994         (WebCore):
1995         (WebCore::IDBCursorBackendImpl::advanceInternal):
1996         * Modules/indexeddb/IDBCursorBackendImpl.h:
1997         (IDBCursorBackendImpl):
1998         * Modules/indexeddb/IDBCursorBackendInterface.h:
1999         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2000         (WebCore):
2001
2002 2012-04-24  Adrienne Walker  <enne@google.com>
2003
2004         [chromium] Hold video provider lock from willDraw to didDraw
2005         https://bugs.webkit.org/show_bug.cgi?id=84805
2006
2007         Reviewed by James Robinson.
2008
2009         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2010         (WebCore::CCVideoLayerImpl::willDraw):
2011         (WebCore):
2012         (WebCore::CCVideoLayerImpl::willDrawInternal):
2013         (WebCore::CCVideoLayerImpl::appendQuads):
2014         (WebCore::CCVideoLayerImpl::didDraw):
2015         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2016
2017 2012-04-25  Adrienne Walker  <enne@google.com>
2018
2019         [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
2020         https://bugs.webkit.org/show_bug.cgi?id=84812
2021
2022         Reviewed by James Robinson.
2023
2024         Because some layers lock/unlock resources, it needs to be guaranteed
2025         that if willDraw is called on a layer then didDraw will also be called
2026         on that layer before another willDraw or before layer destruction. Add
2027         asserts to make sure that this is the case.
2028
2029         willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
2030         calculateRenderPasses. didDraw was previously called in
2031         CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
2032         skipped by the caller of these functions based on what prepareToDraw
2033         returned (causing didDraw to not be called). Fix this by having an
2034         explicit step to call didDraw on all layers. This new didDrawAllLayers
2035         function must be called if and only if prepareToDraw is called.
2036
2037         Tested by existing tests via new asserts in CCLayerImpl.
2038
2039         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2040         (WebCore::CCLayerImpl::CCLayerImpl):
2041         (WebCore::CCLayerImpl::~CCLayerImpl):
2042         (WebCore::CCLayerImpl::willDraw):
2043         (WebCore):
2044         (WebCore::CCLayerImpl::didDraw):
2045         * platform/graphics/chromium/cc/CCLayerImpl.h:
2046         (CCLayerImpl):
2047         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2048         (WebCore::CCLayerTreeHostImpl::drawLayers):
2049         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
2050         (WebCore):
2051         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2052         (CCLayerTreeHostImpl):
2053         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2054         (WebCore::CCScrollbarLayerImpl::willDraw):
2055         (WebCore::CCScrollbarLayerImpl::didDraw):
2056         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2057         (WebCore::CCSingleThreadProxy::doComposite):
2058         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2059         (WebCore::CCTextureLayerImpl::willDraw):
2060         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2061         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2062         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2063         (WebCore::CCVideoLayerImpl::willDraw):
2064         (WebCore::CCVideoLayerImpl::didDraw):
2065
2066 2012-04-24  Kent Tamura  <tkent@chromium.org>
2067
2068         Calendar Picker: Resize to minimal size to fit the content
2069         https://bugs.webkit.org/show_bug.cgi?id=84826
2070
2071         Reviewed by Hajime Morita.
2072
2073         Using fixed-size popup isn't nice. The calender picker popup size should
2074         be minimal.
2075
2076         The minimal size depends on font settings, localized labels, and
2077         localized formats. So we put visible objects on a transparent element,
2078         calculate minimal size, resize the popup, then show the objects.
2079
2080         * Resources/calendarPicker.css:
2081         (body): Don't use purple. It was for debugging purpose.
2082         The body is visible for a short period becuse we use transparent element.
2083         (#main):
2084          - Add nowrap to avoid text wrapping.
2085          - Add wider width to avoid wrapping.
2086          - Add opacity to hide incomplete layout.
2087         (.year-month-upper): Don't set flexible box yet.
2088         (.month-selector-box): Fix incorrect display value.
2089         (.days-area):
2090         Don't set table-layout:fixed and width:100% in order that it has the
2091         minimal width.
2092
2093         * Resources/calendarPicker.js:
2094         (initialize): Make a new functio to resize.
2095         (fixWindowSize):
2096         Compute the required width from the right edge of the next year button,
2097         the maximum cell width, and so on.  Then, set CSS properties to have
2098         correct layout.
2099         (YearMonthController.prototype.attachTo):
2100         Set min-width property for a long year-month string.
2101         (YearMonthController.prototype._showPopup):
2102         Center the _monthPopup vertically.
2103
2104         * html/shadow/CalendarPickerElement.cpp:
2105         (WebCore::CalendarPickerElement::contentSize):
2106         Specify small size for the initial size. It's better than showing a
2107         large window then shrink the size.
2108         * page/PagePopupClient.h:
2109         (PagePopupClient): Remove a false comment. We should support resize*().
2110
2111 2012-04-25  Kent Tamura  <tkent@chromium.org>
2112
2113         Unreviewed. Sort Xcode project file.
2114
2115         * WebCore.xcodeproj/project.pbxproj:
2116
2117 2012-04-25  Alpha Lam  <hclam@chromium.org>
2118
2119         Unreviewed, rolling out r115260.
2120         http://trac.webkit.org/changeset/115260
2121         https://bugs.webkit.org/show_bug.cgi?id=84467
2122
2123         r115260 is crashing a list of IndexDB tests, revert.
2124
2125         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2126         (WebCore):
2127         * platform/leveldb/LevelDBTransaction.cpp:
2128         (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
2129         (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
2130         * platform/leveldb/LevelDBTransaction.h:
2131         (TransactionIterator):
2132
2133 2012-04-25  James Simonsen  <simonjam@chromium.org>
2134
2135         [Web Timing] Add a vendor-prefixed Performance Timeline API
2136         https://bugs.webkit.org/show_bug.cgi?id=80350
2137
2138         As described here: http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html
2139
2140         The API is there and should be correct, but it isn't particularly useful,
2141         because nothing is populated. Upcoming changes will add Navigation Timing
2142         and Resource Timing.
2143
2144         Reviewed by Tony Gentilcore.
2145
2146         No new tests. Functionality is disabled on all platforms.
2147
2148         * CMakeLists.txt: Added PerformanceEntry* files.
2149         * DerivedSources.pri: Ditto.
2150         * GNUmakefile.list.am: Ditto.
2151         * WebCore.gypi: Ditto.
2152         * WebCore.vcproj/WebCore.vcproj: Ditto.
2153         * WebCore.xcodeproj/project.pbxproj: Ditto.
2154         * page/Performance.cpp:
2155         (WebCore::Performance::webkitGetEntries): Added.
2156         (WebCore::Performance::webkitGetEntriesByType): Added.
2157         (WebCore::Performance::webkitGetEntriesByName): Added.
2158         * page/Performance.h:
2159         (Performance):
2160         * page/Performance.idl:
2161         * page/PerformanceEntry.cpp: Added.
2162         (WebCore):
2163         (WebCore::PerformanceEntry::PerformanceEntry):
2164         (WebCore::PerformanceEntry::name):
2165         (WebCore::PerformanceEntry::entryType):
2166         (WebCore::PerformanceEntry::startTime):
2167         (WebCore::PerformanceEntry::duration):
2168         * page/PerformanceEntry.h: Added.
2169         (WebCore):
2170         (PerformanceEntry):
2171         * page/PerformanceEntry.idl: Added.
2172         * page/PerformanceEntryList.cpp: Added.
2173         (WebCore):
2174         (WebCore::PerformanceEntryList::PerformanceEntryList):
2175         (WebCore::PerformanceEntryList::~PerformanceEntryList):
2176         (WebCore::PerformanceEntryList::length):
2177         (WebCore::PerformanceEntryList::item):
2178         (WebCore::PerformanceEntryList::append):
2179         * page/PerformanceEntryList.h: Added.
2180         (WebCore):
2181         (PerformanceEntryList):
2182         (WebCore::PerformanceEntryList::create):
2183         * page/PerformanceEntryList.idl: Added.
2184
2185 2012-04-25  Benjamin Poulain  <bpoulain@apple.com>
2186
2187         Move convertJSMethodNameToObjc() to be a utility function of ObjcClass
2188         https://bugs.webkit.org/show_bug.cgi?id=84915
2189
2190         Reviewed by Darin Adler.
2191
2192         The function convertJSMethodNameToObjc() is only useful for ObjcClass::methodsNamed().
2193
2194         This patch moves the function from objc_utility.mm to be a static function in objc_class.mm.
2195         It aims at simplifying the code for future changes of ObjcClass.
2196
2197         * bridge/objc/objc_class.mm:
2198         (Bindings):
2199         (JSC::Bindings::convertJSMethodNameToObjc):
2200         * bridge/objc/objc_utility.h:
2201         * bridge/objc/objc_utility.mm:
2202         (Bindings):
2203
2204 2012-04-25  Kent Tamura  <tkent@chromium.org>
2205
2206         Unreviewed. Sort Xcode project file.
2207
2208         * WebCore.xcodeproj/project.pbxproj:
2209
2210 2012-04-25  Greg Billock  <gbillock@google.com>
2211
2212         Implement object-literal constructor for the Intent object.
2213         https://bugs.webkit.org/show_bug.cgi?id=84220
2214
2215         Reviewed by Kentaro Hara.
2216
2217         The use of the custom constructor will hopefully be temporary, as we plan
2218         to convert to just using the object literal constructor, which can then use codegen.
2219         See spec: http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
2220
2221         Added support for the service and extras parameters in the Intent
2222         object to support the speced members in the object literal constructor.
2223
2224         Added supporting accessor to Dictionary to retrieve a sub-Dictionary,
2225         and a utility to ScriptValue to serialize with ports.
2226
2227         Test: webintents/web-intent-obj-constructor.html
2228
2229         (WebCore):
2230         * Modules/intents/Intent.cpp:
2231         (WebCore::Intent::create):
2232         (WebCore::Intent::Intent):
2233         (WebCore::Intent::service):
2234         (WebCore):
2235         (WebCore::Intent::extras):
2236         * Modules/intents/Intent.h:
2237         (WebCore):
2238         (Intent):
2239         * Modules/intents/Intent.idl:
2240         * WebCore.gypi:
2241         * bindings/v8/Dictionary.cpp:
2242         (WebCore::Dictionary::get):
2243         (WebCore):
2244         * bindings/v8/Dictionary.h:
2245         (Dictionary):
2246         * bindings/v8/ScriptValue.cpp:
2247         (WebCore::ScriptValue::serialize):
2248         (WebCore):
2249         * bindings/v8/ScriptValue.h:
2250         (WTF):
2251         (WebCore):
2252         (ScriptValue):
2253         * bindings/v8/custom/V8IntentConstructor.cpp: Added.
2254         (WebCore):
2255         (WebCore::V8Intent::constructorCallback):
2256
2257 2012-04-25  Alexandru Chiculita  <achicu@adobe.com>
2258
2259         CSS Shaders: Use u_texture instead of s_texture. It was updated in the spec
2260         https://bugs.webkit.org/show_bug.cgi?id=82618
2261
2262         Reviewed by Dean Jackson.
2263         
2264         Changed the uniform name passed to the CSS Shaders from s_texture to u_texture.
2265         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
2266
2267         No new tests, just updating existing ones.
2268
2269         * platform/graphics/filters/CustomFilterShader.cpp:
2270         (WebCore::CustomFilterShader::defaultFragmentShaderString):
2271         (WebCore::CustomFilterShader::initializeParameterLocations):
2272
2273 2012-04-25  Douglas Stockwell  <dstockwell@chromium.org>
2274
2275         IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
2276         https://bugs.webkit.org/show_bug.cgi?id=84467
2277
2278         Reviewed by Ojan Vafai.
2279
2280         Ensure that the iterator over the tree of cached adds/removes always points at
2281         the current key, or if the db iterator is current, the next key:
2282         
2283         - When refreshing the tree iterator after a mutation, always seek unless the
2284         tree iterator is current.
2285         
2286         - When handing conflicts and delete markers, only advance the tree iterator as
2287         far as the db iterator.
2288         
2289         Remove the expensive (and now redundant) logic that issued a get() to check
2290         whether an item had been deleted.
2291
2292         Test: storage/indexeddb/cursor-added-bug.html
2293
2294         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2295         (WebCore):
2296         * platform/leveldb/LevelDBTransaction.cpp:
2297         (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
2298         (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
2299
2300 2012-04-25  Antti Koivisto  <antti@apple.com>
2301
2302         Try to fix build with STYLE_SCOPED enabled.
2303
2304         Not reviewed.
2305
2306         * css/StyleResolver.cpp:
2307         (WebCore::StyleResolver::determineScope):
2308
2309 2012-04-25  Alec Flett  <alecflett@chromium.org>
2310
2311         IndexedDB: support openCursor(IDBKey)
2312         https://bugs.webkit.org/show_bug.cgi?id=84652
2313
2314         Reviewed by Ojan Vafai.
2315
2316         Add signatures for openCursor/openKeyCursor(IDBKey).
2317
2318         Test: storage/indexeddb/opencursor-key.html
2319
2320         * Modules/indexeddb/IDBIndex.cpp:
2321         (WebCore::IDBIndex::openCursor):
2322         (WebCore):
2323         (WebCore::IDBIndex::openKeyCursor):
2324         * Modules/indexeddb/IDBIndex.h:
2325         (WebCore::IDBIndex::openCursor):
2326         (IDBIndex):
2327         (WebCore::IDBIndex::openKeyCursor):
2328         * Modules/indexeddb/IDBIndex.idl:
2329         * Modules/indexeddb/IDBObjectStore.cpp:
2330         (WebCore::IDBObjectStore::openCursor):
2331         (WebCore):
2332         * Modules/indexeddb/IDBObjectStore.h:
2333         (WebCore::IDBObjectStore::openCursor):
2334         (IDBObjectStore):
2335         * Modules/indexeddb/IDBObjectStore.idl:
2336
2337 2012-04-25  Antti Koivisto  <antti@apple.com>
2338
2339         Remove owner node pointer from StyleSheetInternal 
2340         https://bugs.webkit.org/show_bug.cgi?id=84882
2341
2342         Reviewed by Andreas Kling.
2343
2344         To make sharing between multiple nodes possible StyleSheetInternal should not have a Node pointer.
2345         
2346         - Make StyleSheetInternal constructor take CSSParserContext instead of Node*
2347         - Move owner node pointer to CSSStyleSheet. CSSStyleSheet now acts as a client for StyleSheetInternal.
2348         
2349         This gets us closer to being able to cache stylesheet data structures.
2350         
2351         * css/CSSImportRule.cpp:
2352         (WebCore::StyleRuleImport::setCSSStyleSheet):
2353         (WebCore::StyleRuleImport::requestStyleSheet):
2354         
2355             Setup CSSParserContext.
2356             Remove FIXME about updateBaseURL(). It is no longer possible to change URL of StyleSheetInternal.
2357
2358         * css/CSSPageRule.cpp:
2359         (WebCore::CSSPageRule::setSelectorText):
2360         * css/CSSParser.cpp:
2361         (WebCore::CSSParserContext::CSSParserContext):
2362         * css/CSSParserMode.h:
2363         (CSSParserContext):
2364     
2365             Expand CSSParserContext constructors.
2366
2367         * css/CSSStyleRule.cpp:
2368         (WebCore::CSSStyleRule::setSelectorText):
2369         * css/StyleResolver.cpp:
2370         (WebCore::StyleResolver::StyleResolver):
2371         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
2372         (WebCore::StyleResolver::collectMatchingRulesForList):
2373         * css/StyleResolver.h:
2374         (StyleResolver):
2375         * css/CSSStyleSheet.cpp:
2376
2377             User stylesheets went back to being CSSStyleSheets. Adapt to that.
2378
2379         (WebCore::StyleSheetInternal::StyleSheetInternal):
2380         (WebCore):
2381         (WebCore::StyleSheetInternal::checkLoaded):
2382         (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
2383         (WebCore::StyleSheetInternal::rootStyleSheet):
2384         (WebCore::StyleSheetInternal::singleOwnerNode):
2385         (WebCore::StyleSheetInternal::singleOwnerDocument):
2386         (WebCore::StyleSheetInternal::styleSheetChanged):
2387         
2388             The owner node is now located through CSSStyleSheet. Only one client is supported atm.
2389
2390         (WebCore::StyleSheetInternal::registerClient):
2391         (WebCore::StyleSheetInternal::unregisterClient):
2392         
2393             Register CSSStyleSheets.
2394
2395         (WebCore::CSSStyleSheet::CSSStyleSheet):
2396         (WebCore::CSSStyleSheet::~CSSStyleSheet):
2397         (WebCore::CSSStyleSheet::rules):
2398         (WebCore::CSSStyleSheet::cssRules):
2399         (WebCore::CSSStyleSheet::ownerDocument):
2400         * css/CSSStyleSheet.h:
2401         (WebCore::StyleSheetInternal::create):
2402         (WebCore::StyleSheetInternal::createInline):
2403         (StyleSheetInternal):
2404         (WebCore::CSSStyleSheet::create):
2405         (CSSStyleSheet):
2406         
2407             Moved m_ownerNode.
2408             Changed constructors
2409             Removed setFinalURL(). 
2410
2411         * css/PropertySetCSSStyleDeclaration.cpp:
2412         (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
2413         * dom/Document.cpp:
2414         (WebCore::Document::updateBaseURL):
2415         
2416             Instead of setFinalURL, construct a new StyleSheetInternal if the base url ever changes.
2417
2418         (WebCore::Document::pageUserSheet):
2419         (WebCore::Document::pageGroupUserSheets):
2420         (WebCore::Document::addUserSheet):
2421         (WebCore::Document::elementSheet):
2422         * dom/Document.h:
2423         (Document):
2424         (WebCore::Document::documentUserSheets):
2425         
2426             Adapt to the new interface.
2427             Turned user stylesheets CSSStyleSheets so they can find the owner node.
2428
2429         * dom/ProcessingInstruction.cpp:
2430         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2431         * dom/StyleElement.cpp:
2432         (WebCore::StyleElement::createSheet):
2433         * html/HTMLLinkElement.cpp:
2434         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2435         * inspector/InspectorCSSAgent.cpp:
2436         (WebCore::SelectorProfile::startSelector):
2437         (WebCore::InspectorCSSAgent::bindStyleSheet):
2438         * inspector/InspectorStyleSheet.cpp:
2439         (WebCore::fillMediaListChain):
2440         (WebCore::InspectorStyleSheet::ownerDocument):
2441         * page/PageSerializer.cpp:
2442         (WebCore::PageSerializer::serializeCSSStyleSheet):
2443
2444 2012-04-25  Adam Klein  <adamk@chromium.org>
2445
2446         Fix uninitialized variable warnings in PasteboardMac.mm after 115145
2447         https://bugs.webkit.org/show_bug.cgi?id=84879
2448
2449         Reviewed by Enrica Casucci.
2450
2451         * platform/mac/PasteboardMac.mm:
2452         (WebCore::Pasteboard::getDataSelection): Initialize attributedString to nil.
2453         (WebCore::Pasteboard::writeSelectionForTypes): ditto.
2454
2455 2012-04-25  Kenneth Russell  <kbr@google.com>
2456
2457         Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
2458         https://bugs.webkit.org/show_bug.cgi?id=83655
2459
2460         Reviewed by Oliver Hunt.
2461
2462         Removed last few references to ByteArray, replacing with
2463         Uint8ClampedArray as necessary, and deleted now-obsolete
2464         CanvasPixelArray, ByteArray and JSByteArray. Removed code from
2465         JavaScriptCore special-casing ByteArray.
2466
2467         No new tests. Did full layout test run on Mac OS; no regressions
2468         seen from this change.
2469
2470         * CMakeLists.txt:
2471         * DerivedSources.pri:
2472         * ForwardingHeaders/runtime/JSByteArray.h: Removed.
2473         * GNUmakefile.list.am:
2474         * PlatformBlackBerry.cmake:
2475         * Target.pri:
2476         * UseV8.cmake:
2477         * WebCore.gypi:
2478         * WebCore.order:
2479         * WebCore.vcproj/WebCore.vcproj:
2480         * WebCore.xcodeproj/project.pbxproj:
2481         * bindings/v8/SerializedScriptValue.cpp:
2482         * bindings/v8/V8Binding.h:
2483         (WebCore::isHostObject):
2484         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
2485         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2486         (WebCore::V8InjectedScriptHost::typeCallback):
2487         * bridge/qt/qt_runtime.cpp:
2488         (JSC::Bindings::isJSUint8ClampedArray):
2489         (Bindings):
2490         (JSC::Bindings::valueRealType):
2491         (JSC::Bindings::convertValueToQVariant):
2492         (JSC::Bindings::convertQVariantToValue):
2493         * html/canvas/CanvasPixelArray.cpp: Removed.
2494         * html/canvas/CanvasPixelArray.h: Removed.
2495         * html/canvas/CanvasPixelArray.idl: Removed.
2496         * html/canvas/WebGLRenderingContext.cpp:
2497         (WebCore):
2498         * platform/graphics/filters/FEConvolveMatrix.h:
2499         * rendering/svg/RenderSVGResourceMasker.cpp:
2500
2501 2012-04-25  Alpha Lam  <hclam@chromium.org>
2502
2503         Unreviewed build fix.
2504
2505         Build fix for compilation failure due to r115243.
2506
2507         * platform/graphics/chromium/LayerChromium.h:
2508         (WebCore):
2509
2510 2012-04-25  Ryosuke Niwa  <rniwa@webkit.org>
2511
2512         Build fix after r115227. Return null string when the string builder is empty
2513         to match the old behavior.
2514
2515         * css/StylePropertySet.cpp:
2516         (WebCore::StylePropertySet::borderPropertyValue):
2517
2518 2012-04-25  Ian Vollick  <vollick@chromium.org>
2519
2520         [chromium] Add support for animation finished events.
2521         https://bugs.webkit.org/show_bug.cgi?id=84454
2522
2523         Reviewed by James Robinson.
2524
2525         Tested in CCLayerTreeHostTestAnimationFinishedEvents
2526
2527         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2528         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2529         (WebCore::GraphicsLayerChromium::notifyAnimationFinished):
2530         (WebCore):
2531         * platform/graphics/chromium/GraphicsLayerChromium.h:
2532         * platform/graphics/chromium/LayerChromium.cpp:
2533         (WebCore::LayerChromium::notifyAnimationStarted):
2534         (WebCore::LayerChromium::notifyAnimationFinished):
2535         (WebCore):
2536         * platform/graphics/chromium/LayerChromium.h:
2537         (WebCore):
2538         (LayerChromium):
2539         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2540         (WebCore::CCAnimationEvent::CCAnimationEvent):
2541         (CCAnimationEvent):
2542         (WebCore):
2543         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2544         (WebCore::CCLayerAnimationController::animate):
2545         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
2546         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2547         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
2548         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2549         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
2550         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2551         (CCLayerAnimationController):
2552         * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
2553         (CCLayerAnimationDelegate):
2554         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2555         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
2556
2557 2012-04-25  Enrica Casucci  <enrica@apple.com>
2558
2559         REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
2560         https://bugs.webkit.org/show_bug.cgi?id=84878
2561         <rdar://problem/11155407>
2562         
2563         In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
2564         of the communication between the UI process and the WebProcess.
2565         We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
2566         gets changed which affects the promised file types.
2567
2568         Reviewed by Alexey Proskuryakov.
2569
2570         * page/EventHandler.cpp:
2571         (WebCore::EventHandler::handleDrag): Reset m_mouseDownMayStartDrag to false to
2572         avoid attempting to start another drag.
2573
2574 2012-04-25  Andreas Kling  <kling@webkit.org>
2575
2576         Remove unused Attribute constructor.
2577
2578         Semi-knowingly rubber-stamped by Antti Koivisto.
2579
2580         * dom/Attribute.h:
2581
2582 2012-04-25  Nate Chapin  <japhet@chromium.org>
2583
2584         Crash in CachedRawResource::didAddClient() due to missing protector.
2585         https://bugs.webkit.org/show_bug.cgi?id=83632
2586
2587         Reviewed by Eric Seidel.
2588
2589         Test: http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html
2590
2591         * loader/cache/CachedRawResource.cpp:
2592         (WebCore::CachedRawResource::didAddClient):
2593
2594 2012-04-25  Kentaro Hara  <haraken@chromium.org>
2595
2596         [V8] Pass Isolate to SerializedScriptValue::deserialize()
2597         https://bugs.webkit.org/show_bug.cgi?id=84758
2598
2599         Reviewed by Nate Chapin.
2600
2601         The objective is to pass Isolate around. This patch passes
2602         Isolate to SerializedScriptValue::deserialize().
2603
2604         No tests. No change in behavior.
2605
2606         * bindings/v8/custom/V8HistoryCustom.cpp:
2607         (WebCore::V8History::stateAccessorGetter):
2608         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2609         (WebCore::toV8):
2610         * bindings/v8/custom/V8MessageEventCustom.cpp:
2611         (WebCore::V8MessageEvent::dataAccessorGetter):
2612         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2613         (WebCore::V8PopStateEvent::stateAccessorGetter):
2614
2615 2012-04-25  Kentaro Hara  <haraken@chromium.org>
2616
2617         [V8] Pass Isolate to SerializedScriptValue::create() in custom bindings
2618         https://bugs.webkit.org/show_bug.cgi?id=84757
2619
2620         Reviewed by Nate Chapin.
2621
2622         The objective is to pass Isolate around in V8 bindings.
2623         This patch passes Isolate to SerializedScriptValue::create()
2624         in custom bindings.
2625
2626         No tests. No change in behavior.
2627
2628         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2629         (WebCore::handlePostMessageCallback):
2630         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2631         (WebCore::handlePostMessageCallback):
2632         * bindings/v8/custom/V8HistoryCustom.cpp:
2633         (WebCore::V8History::pushStateCallback):
2634         (WebCore::V8History::replaceStateCallback):
2635         * bindings/v8/custom/V8MessagePortCustom.cpp:
2636         (WebCore::handlePostMessageCallback):
2637         * bindings/v8/custom/V8WorkerCustom.cpp:
2638         (WebCore::handlePostMessageCallback):
2639
2640 2012-04-25  Kentaro Hara  <haraken@chromium.org>
2641
2642         [V8] Pass Isolate to SerializedScriptValue::create() in CodeGeneratorV8.pm
2643         https://bugs.webkit.org/show_bug.cgi?id=84753
2644
2645         Reviewed by Nate Chapin.
2646
2647         The objective is to pass Isolate around in V8 bindings.
2648         This patch passes Isolate to SerializedScriptValue::create()
2649         in CodeGeneratorV8.pm.
2650
2651         Tests: bindings/scripts/test/TestObj.idl
2652                bindings/scripts/test/TestSerializedScriptValueInterface.idl
2653
2654         * bindings/scripts/CodeGeneratorV8.pm:
2655         (GenerateNormalAttrSetter):
2656         (GenerateParametersCheck):
2657         (JSValueToNative):
2658
2659         * bindings/scripts/test/V8/V8TestObj.cpp: Updated run-bindings-tests results.
2660         (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
2661         (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
2662         (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
2663         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
2664         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
2665         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
2666         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
2667         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
2668         (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
2669         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
2670         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
2671         (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
2672         (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
2673         (WebCore::TestObjV8Internal::serializedValueCallback):
2674         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2675         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
2676         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
2677         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
2678         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
2679         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2680
2681 2012-04-25  Kentaro Hara  <haraken@chromium.org>
2682
2683         [V8] Add m_isolate to SerializedScriptValue::Writer
2684         and SerializedScriptValue::Reader
2685         https://bugs.webkit.org/show_bug.cgi?id=84739
2686
2687         Reviewed by Nate Chapin.
2688
2689         This is the second step to pass Isolate around
2690         in SerializedScriptValue. This patch adds m_isolate to
2691         SerializedScriptValue::Writer and SerializedScriptValue::Reader,
2692         so that they can use the isolate around. The fix is safe since
2693         Writer and Reader are guaranteed to be used by one Isolate.
2694
2695         No tests. No change in behavior.
2696
2697         * bindings/v8/SerializedScriptValue.cpp:
2698         (WebCore::SerializedScriptValue::create):
2699         (WebCore::SerializedScriptValue::nullValue):
2700         (WebCore::SerializedScriptValue::undefinedValue):
2701         (WebCore::SerializedScriptValue::booleanValue):
2702         (WebCore::SerializedScriptValue::numberValue):
2703         (WebCore::SerializedScriptValue::SerializedScriptValue):
2704         (WebCore::SerializedScriptValue::deserialize):
2705         * bindings/v8/SerializedScriptValue.h:
2706         (SerializedScriptValue):
2707
2708 2012-04-25  Kentaro Hara  <haraken@chromium.org>
2709
2710         [V8] Make the Isolate* parameter non-optional in setDOMException()
2711         https://bugs.webkit.org/show_bug.cgi?id=84736
2712
2713         Reviewed by Nate Chapin.
2714
2715         Now all setDOMException() callers pass Isolate* to setDOMException().
2716         This patch makes the Isolate* parameter non-optional.
2717
2718         No tests. No change in behavior.
2719
2720         * bindings/v8/V8Proxy.h:
2721         (V8Proxy):
2722
2723 2012-04-24  Ryosuke Niwa  <rniwa@webkit.org>
2724
2725         REGRESSION(r112177): listStyleType CSS property gets converted into listStyle
2726         https://bugs.webkit.org/show_bug.cgi?id=83026
2727
2728         Reviewed by Darin Adler.
2729
2730         Fixed the bug by not using shorthand notations when some values are missing.
2731
2732         However, we still want to return a value when shorthand border property is explicitly
2733         requested so extract borderPropertyValue with a flag to support both behaviors.
2734
2735         * css/StylePropertySet.cpp:
2736         (WebCore::borderPropertyValue): Extracted from getPropertyValue.
2737         (WebCore::StylePropertySet::getPropertyValue):
2738         (WebCore::StylePropertySet::get4Values): Don't return values when priority don't match.
2739         (WebCore::StylePropertySet::getShorthandValue):
2740         (WebCore::StylePropertySet::getCommonValue): Don't return null string for initial values
2741         to disambiguate missing values and "initial" in getPropertyValue. Also check propriety.
2742         (WebCore::StylePropertySet::asText): Support emitting border-width, border-style, and
2743         border-color when border doesn't work but the former properties do.
2744
2745 2012-04-25  Ian Vollick  <vollick@chromium.org>
2746
2747         [chromium] Do not clobber synchronized start times.
2748         https://bugs.webkit.org/show_bug.cgi?id=84605
2749
2750         Reviewed by James Robinson.
2751
2752         Tested in CCLayerAnimationControllerTest.doNotClobberStartTimes
2753
2754         (WebCore):
2755         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2756         (CCActiveAnimation):
2757         (WebCore::CCActiveAnimation::hasSetStartTime):
2758         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2759         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2760         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2761
2762 2012-04-25  Nate Chapin  <japhet@chromium.org>
2763
2764         REGRESSION (r100311): YummySoup app crashes when trying to print
2765         https://bugs.webkit.org/show_bug.cgi?id=83918
2766
2767         Reviewed by Alexey Proskuryakov.
2768
2769         Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
2770
2771         * loader/ResourceLoader.cpp:
2772         (WebCore::ResourceLoader::didFail): Set m_calledDidFinishLoad when calling
2773            didFailToLoad() to prevent it from getting called twice if we cancel
2774            re-entrantly.
2775
2776 2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
2777
2778         Not reviewed, fix Windows build after r115215.
2779
2780         * css/CSSAllInOne.cpp:
2781
2782 2012-04-25  Eric Carlson  <eric.carlson@apple.com>
2783
2784         Not reviewed, attempt to fix Windows build after r115215.
2785
2786         * css/CSSAllInOne.cpp: Don't try to include CSSStyleSelector.cpp.
2787
2788 2012-04-25  Mark Pilgrim  <pilgrim@chromium.org>
2789
2790         [Chromium] Call actualMemoryUsageMB directly
2791         https://bugs.webkit.org/show_bug.cgi?id=84837
2792
2793         Reviewed by Kentaro Hara.
2794
2795         Part of a refactoring series. See tracking bug 82948.
2796
2797         * bindings/v8/V8DOMWindowShell.cpp:
2798         (WebCore::reportFatalErrorInV8):
2799         * bindings/v8/V8GCController.cpp:
2800         (WebCore):
2801         * platform/MemoryUsageSupport.cpp:
2802         (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
2803         (WebCore):
2804         * platform/MemoryUsageSupport.h:
2805         (MemoryUsageSupport):
2806         * platform/chromium/MemoryUsageSupportChromium.cpp:
2807         (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
2808         (WebCore):
2809         * platform/chromium/PlatformSupport.h:
2810         (PlatformSupport):
2811
2812 2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
2813
2814         Rename CSSStyleSelector files to StyleResolver.
2815         https://bugs.webkit.org/show_bug.cgi?id=84814
2816
2817         Reviewed by Antti Koivisto.
2818
2819         Rename CSSStyleSelector files to match the new class name StyleResolver.
2820         Update the includes all over the code base to the new name.
2821
2822         No new tests : renaming files, no behavior changes expected.
2823
2824         * CMakeLists.txt:
2825         * GNUmakefile.list.am:
2826         * Target.pri:
2827         * WebCore.gypi:
2828         * WebCore.vcproj/WebCore.vcproj:
2829         * WebCore.xcodeproj/project.pbxproj:
2830         * css/CSSAllInOne.cpp:
2831         * css/CSSCalculationValue.cpp:
2832         * css/CSSFontSelector.cpp:
2833         * css/CSSGradientValue.cpp:
2834         * css/MediaQueryEvaluator.cpp:
2835         * css/MediaQueryMatcher.cpp:
2836         * css/SVGCSSStyleSelector.cpp:
2837         * css/StyleBuilder.cpp:
2838         * css/StyleMedia.cpp:
2839         * css/StyleResolver.cpp: Renamed from Source/WebCore/css/CSSStyleSelector.cpp.
2840         (WebCore):
2841         (RuleData):
2842         (WebCore::RuleData::position):
2843         (WebCore::RuleData::rule):
2844         (WebCore::RuleData::selector):
2845         (WebCore::RuleData::hasFastCheckableSelector):
2846         (WebCore::RuleData::hasMultipartSelector):
2847         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
2848         (WebCore::RuleData::containsUncommonAttributeSelector):
2849         (WebCore::RuleData::specificity):
2850         (WebCore::RuleData::linkMatchType):
2851         (WebCore::RuleData::hasDocumentSecurityOrigin):
2852         (WebCore::RuleData::isInRegionRule):
2853         (WebCore::RuleData::descendantSelectorIdentifierHashes):
2854         (SameSizeAsRuleData):
2855         (RuleSet):
2856         (WebCore::RuleSet::create):
2857         (WebCore::RuleSet::disableAutoShrinkToFit):
2858         (WebCore::RuleSet::features):
2859         (WebCore::RuleSet::idRules):
2860         (WebCore::RuleSet::classRules):
2861         (WebCore::RuleSet::tagRules):
2862         (WebCore::RuleSet::shadowPseudoElementRules):
2863         (WebCore::RuleSet::linkPseudoClassRules):
2864         (WebCore::RuleSet::focusPseudoClassRules):
2865         (WebCore::RuleSet::universalRules):
2866         (WebCore::RuleSet::pageRules):
2867         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
2868         (RuleSetSelectorPair):
2869         (WebCore::elementCanUseSimpleDefaultStyle):
2870         (WebCore::screenEval):
2871         (WebCore::printEval):
2872         (WebCore::leftToRightDeclaration):
2873         (WebCore::rightToLeftDeclaration):
2874         (WebCore::StyleResolver::StyleResolver):
2875         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
2876         (WebCore::makeRuleSet):
2877         (WebCore::StyleResolver::collectFeatures):
2878         (WebCore::StyleResolver::determineScope):
2879         (WebCore::StyleResolver::ruleSetForScope):
2880         (WebCore::StyleResolver::appendAuthorStylesheets):
2881         (WebCore::StyleResolver::setupScopeStack):
2882         (WebCore::StyleResolver::pushScope):
2883         (WebCore::StyleResolver::popScope):
2884         (WebCore::StyleResolver::pushParentElement):
2885         (WebCore::StyleResolver::popParentElement):
2886         (WebCore::StyleResolver::pushParentShadowRoot):
2887         (WebCore::StyleResolver::popParentShadowRoot):
2888         (WebCore::StyleResolver::addKeyframeStyle):
2889         (WebCore::StyleResolver::~StyleResolver):
2890         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
2891         (WebCore::StyleResolver::Features::Features):
2892         (WebCore::StyleResolver::Features::~Features):
2893         (WebCore::StyleResolver::Features::add):
2894         (WebCore::StyleResolver::Features::clear):
2895         (WebCore::parseUASheet):
2896         (WebCore::loadFullDefaultStyle):
2897         (WebCore::loadSimpleDefaultStyle):
2898         (WebCore::loadViewSourceStyle):
2899         (WebCore::ensureDefaultStyleSheetsForElement):
2900         (WebCore::StyleResolver::addMatchedProperties):
2901         (WebCore::StyleResolver::addElementStyleProperties):
2902         (WebCore::StyleResolver::collectMatchingRules):
2903         (WebCore::StyleResolver::collectMatchingRulesForRegion):
2904         (WebCore::StyleResolver::sortAndTransferMatchedRules):
2905         (WebCore::StyleResolver::matchScopedAuthorRules):
2906         (WebCore::StyleResolver::matchAuthorRules):
2907         (WebCore::StyleResolver::matchUserRules):
2908         (WebCore::StyleResolver::matchUARules):
2909         (MatchingUARulesScope):
2910         (WebCore::MatchingUARulesScope::MatchingUARulesScope):
2911         (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
2912         (WebCore::MatchingUARulesScope::isMatchingUARules):
2913         (WebCore::StyleResolver::collectMatchingRulesForList):
2914         * css/StyleResolver.h: Renamed from Source/WebCore/css/CSSStyleSelector.h.
2915         (WebCore):
2916         (MediaQueryResult):
2917         (WebCore::MediaQueryResult::MediaQueryResult):
2918         (StyleResolver):
2919         (WebCore::StyleResolver::style):
2920         (WebCore::StyleResolver::parentStyle):
2921         (WebCore::StyleResolver::rootElementStyle):
2922         (WebCore::StyleResolver::element):
2923         (WebCore::StyleResolver::document):
2924         (WebCore::StyleResolver::fontDescription):
2925         (WebCore::StyleResolver::parentFontDescription):
2926         (WebCore::StyleResolver::setFontDescription):
2927         (WebCore::StyleResolver::setZoom):
2928         (WebCore::StyleResolver::setEffectiveZoom):
2929         (WebCore::StyleResolver::setTextSizeAdjust):
2930         (WebCore::StyleResolver::hasParentNode):
2931         (WebCore::StyleResolver::pushScope):
2932         (WebCore::StyleResolver::popScope):
2933         (WebCore::StyleResolver::setStyle):
2934         (WebCore::StyleResolver::fontSelector):
2935         (WebCore::StyleResolver::allVisitedStateChanged):
2936         (WebCore::StyleResolver::visitedStateChanged):
2937         (WebCore::StyleResolver::usesSiblingRules):
2938         (WebCore::StyleResolver::usesFirstLineRules):
2939         (WebCore::StyleResolver::usesBeforeAfterRules):
2940         (WebCore::StyleResolver::usesLinkRules):
2941         (WebCore::StyleResolver::RuleFeature::RuleFeature):
2942         (RuleFeature):
2943         (Features):
2944         (WebCore::StyleResolver::addMatchedRule):
2945         (WebCore::StyleResolver::MatchRanges::MatchRanges):
2946         (MatchRanges):
2947         (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
2948         (MatchedProperties):
2949         (WebCore::StyleResolver::MatchResult::MatchResult):
2950         (MatchResult):
2951         (WebCore::StyleResolver::MatchOptions::MatchOptions):
2952         (MatchOptions):
2953         (WebCore::StyleResolver::isRightPage):
2954         (WebCore::StyleResolver::styleNotYetAvailable):
2955         (WebCore::StyleResolver::applyPropertyToRegularStyle):
2956         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
2957         (MatchedPropertiesCacheItem):
2958         (WebCore::StyleResolver::scopeStackIsConsistent):
2959         (WebCore::StyleResolver::ScopeStackFrame::ScopeStackFrame):
2960         (ScopeStackFrame):
2961         * css/WebKitCSSMatrix.cpp:
2962         * dom/Document.cpp:
2963         * dom/Element.cpp:
2964         * dom/Node.cpp:
2965         * dom/ShadowRoot.cpp:
2966         * dom/ShadowTree.cpp:
2967         * dom/StyledElement.cpp:
2968         * editing/ApplyStyleCommand.cpp:
2969         * editing/EditingStyle.cpp:
2970         * editing/Editor.cpp:
2971         * editing/markup.cpp:
2972         * history/CachedPage.cpp:
2973         * html/HTMLDocument.cpp:
2974         * html/HTMLLinkElement.cpp:
2975         * html/HTMLOptGroupElement.cpp:
2976         * html/HTMLOptionElement.cpp:
2977         * html/ValidationMessage.cpp:
2978         * html/canvas/CanvasRenderingContext2D.cpp:
2979         * html/shadow/MediaControlElements.cpp:
2980         * inspector/InspectorCSSAgent.cpp:
2981         * inspector/InspectorDOMAgent.cpp:
2982         * inspector/InspectorStyleSheet.cpp:
2983         * loader/LinkLoader.cpp:
2984         * page/DOMWindow.cpp:
2985         * page/FrameView.cpp:
2986         * page/Page.cpp:
2987         * page/animation/KeyframeAnimation.cpp:
2988         * platform/qt/RenderThemeQt.cpp:
2989         * platform/qt/RenderThemeQtMobile.cpp:
2990         * rendering/RenderLayer.cpp:
2991         * rendering/RenderLayerBacking.cpp:
2992         * rendering/RenderListBox.cpp:
2993         * rendering/RenderMenuList.cpp:
2994         * rendering/RenderObject.cpp:
2995         * rendering/RenderRegion.cpp:
2996         * rendering/RenderSlider.cpp:
2997         * rendering/RenderTextControlSingleLine.cpp:
2998         * rendering/RenderThemeMac.mm:
2999         * rendering/RenderThemeSafari.cpp:
3000         * rendering/style/RenderStyle.cpp:
3001         * rendering/style/StyleGeneratedImage.cpp:
3002         * rendering/style/StyleRareNonInheritedData.cpp:
3003         * rendering/svg/RenderSVGInlineText.cpp:
3004         * svg/SVGClipPathElement.cpp:
3005         * svg/SVGElement.cpp:
3006         * svg/SVGFontFaceElement.cpp:
3007         * svg/SVGGradientElement.cpp:
3008         * svg/SVGMaskElement.cpp:
3009         * svg/SVGUseElement.cpp:
3010
3011 2012-04-25  Crystal Zhang  <haizhang@rim.com>
3012             https://bugs.webkit.org/show_bug.cgi?id=84875
3013     
3014             make-css-file-arrays.pl now only take css files, make it also take js files,
3015             as for html popups we also need load js files.
3016     
3017             Reviewed by Antonio Gomes.
3018     
3019             * css/make-css-file-arrays.pl:
3020
3021 2012-04-25  Li Yin  <li.yin@intel.com>
3022
3023         [chromium][workers] setTargetType(ResourceRequest::TargetIsWorker) is repeatedly called in chromium
3024         https://bugs.webkit.org/show_bug.cgi?id=84542
3025
3026         Reviewed by David Levin.
3027
3028         In chromium platform, the default value of m_targetType is ResourceRequest::TargetIsWorker
3029         it isn't necessary to call
3030         worker->m_scriptLoader->setTargetType(ResourceRequest::TargetIsWorker) again in Worker.cpp
3031         In chromium platform, the m_targettype value determines the priority of resource loaded.
3032
3033         No new tests because this patch just deletes a repeated code, it can reduce code workload and can't impact any feature.
3034         If the target type isn't set correctly, the following test maybe fail because of timeout in the chromium.
3035         fast/workers/storage/multiple-transactions-on-different-handles.html
3036         fast/workers/storage/multiple-transactions-on-different-handles-sync.html
3037         fast/workers/storage/interrupt-database.html
3038
3039         * workers/Worker.cpp:
3040         (WebCore::Worker::create):
3041
3042 2012-04-25  Yury Semikhatsky  <yurys@chromium.org>
3043
3044         Web Inspector: move HeapSnapshotLoader into a separate file
3045         https://bugs.webkit.org/show_bug.cgi?id=84860
3046
3047         Extracted HeapSnapshotLoader into its own file.
3048
3049         Reviewed by Pavel Feldman.
3050
3051         * WebCore.gypi:
3052         * WebCore.vcproj/WebCore.vcproj:
3053         * inspector/compile-front-end.py:
3054         * inspector/front-end/HeapSnapshot.js:
3055         * inspector/front-end/HeapSnapshotLoader.js: Added.
3056         (WebInspector.HeapSnapshotLoader):
3057         (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
3058         (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
3059         (WebInspector.HeapSnapshotLoader.prototype._parseUintArray):
3060         (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
3061         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
3062         * inspector/front-end/WebKit.qrc:
3063         * inspector/front-end/inspector.html:
3064
3065 2012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>
3066
3067         Not reviewed: inspector frontend tests fix.
3068
3069         * inspector/front-end/ScriptsSearchScope.js:
3070
3071 2012-04-25  Ian Vollick  <vollick@chromium.org>
3072
3073         [chromium] Animations waiting for a synchronized start time should never be marked finished.
3074         https://bugs.webkit.org/show_bug.cgi?id=84519
3075
3076         Reviewed by James Robinson.
3077
3078         Tested in CCLayerAnimationControllerTest.AnimationsWaitingForStartTimeDoNotFinishIfTheyWaitLongerToStartThanTheirDuration
3079
3080         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3081         (WebCore::CCLayerAnimationController::tickAnimations):
3082
3083 2012-04-25  Pierre Rossi  <pierre.rossi@gmail.com>
3084
3085         [SVG] Nothing should be stroked when the stroke-width is 0
3086         https://bugs.webkit.org/show_bug.cgi?id=83568
3087
3088         Reviewed by Nikolas Zimmermann.
3089
3090         The spec states that "A zero value causes no stroke to be painted".
3091         We should avoid calling functions that could incorrectly paint something
3092         in that case.
3093
3094         Test: svg/custom/path-zero-strokewidth.svg
3095
3096         * rendering/style/SVGRenderStyle.h:
3097         (WebCore::SVGRenderStyle::hasVisibleStroke):
3098         * rendering/svg/RenderSVGEllipse.cpp:
3099         (WebCore::RenderSVGEllipse::strokeShape): Check if the stroke should be visible before painting.
3100         * rendering/svg/RenderSVGRect.cpp:
3101         (WebCore::RenderSVGRect::strokeShape): Ditto.
3102         * rendering/svg/RenderSVGShape.cpp:
3103         (WebCore::RenderSVGShape::strokeShape): Ditto.
3104         (WebCore::RenderSVGShape::strokePath): Ditto.
3105         * rendering/svg/SVGInlineTextBox.cpp:
3106         (WebCore::SVGInlineTextBox::paint): Dont call paintText for zero-width stroke.
3107         (WebCore::SVGInlineTextBox::paintDecoration): Ditto.
3108
3109 2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
3110
3111         Unfortunately http://trac.webkit.org/changeset/115055 was landed using webkit-patch
3112         land-from bug but didn't do the right thing, we lost the history.
3113
3114         This commit is merging back CSSStyleApplyProperty.* and their history, rename the files
3115         to StyleBuilder and re-apply the two patches on trunk that were apply after the rename.
3116
3117         Rename CSSStyleSelector class to StyleResolver.
3118         https://bugs.webkit.org/show_bug.cgi?id=84734
3119
3120         The name CSSStyleSelector is confusing as it conflicts a bit with
3121         the CSS concept of selectors. One could think it's an encapsulation
3122         of the CSS selectors but it's not, in fact this class is responsible
3123         of finding the RenderStyle for a given element. This is the first patch
3124         as I will later rename the files, and then rename the local variables.
3125
3126         Replace occurences of style selector from variables and methods names by style resolver.
3127         https://bugs.webkit.org/show_bug.cgi?id=84765
3128         
3129         Rename methods and variables to follow the new name StyleResolver. It requires to update the
3130         local variables, methods parameters, and function names to match the new name and to remove
3131         the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
3132         will be to rename CSSStyleSelector file and update the includes.
3133
3134         * css/StyleBuilder.cpp: Replaced with Source/WebCore/css/CSSStyleApplyProperty.cpp.
3135         (WebCore::ApplyPropertyExpanding::applyInheritValue):
3136         (WebCore::ApplyPropertyExpanding::applyInitialValue):
3137         (WebCore::ApplyPropertyExpanding::applyValue):
3138         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
3139         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
3140         (WebCore::ApplyPropertyDefaultBase::applyValue):
3141         (WebCore::ApplyPropertyDefault::applyValue):
3142         (WebCore::ApplyPropertyNumber::applyValue):
3143         (WebCore::ApplyPropertyStyleImage::applyValue):
3144         (WebCore::ApplyPropertyAuto::applyInheritValue):
3145         (WebCore::ApplyPropertyAuto::applyInitialValue):
3146         (WebCore::ApplyPropertyAuto::applyValue):
3147         (WebCore::ApplyPropertyClip::convertToLength):
3148         (WebCore::ApplyPropertyClip::applyInheritValue):
3149         (WebCore::ApplyPropertyClip::applyInitialValue):
3150         (WebCore::ApplyPropertyClip::applyValue):
3151         (WebCore::ApplyPropertyColor::applyInheritValue):
3152         (WebCore::ApplyPropertyColor::applyInitialValue):
3153         (WebCore::ApplyPropertyColor::applyValue):
3154         (WebCore::ApplyPropertyColor::applyColorValue):
3155         (WebCore::ApplyPropertyDirection::applyValue):
3156         (WebCore::ApplyPropertyLength::applyValue):
3157         (WebCore::ApplyPropertyString::applyValue):
3158         (WebCore::ApplyPropertyBorderRadius::applyValue):
3159         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
3160         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
3161         (WebCore::ApplyPropertyFillLayer::applyValue):
3162         (WebCore::ApplyPropertyComputeLength::applyValue):
3163         (WebCore::ApplyPropertyFont::applyInheritValue):
3164         (WebCore::ApplyPropertyFont::applyInitialValue):
3165         (WebCore::ApplyPropertyFont::applyValue):
3166         (WebCore::ApplyPropertyFontSize::applyInheritValue):
3167         (WebCore::ApplyPropertyFontSize::applyInitialValue):
3168         (WebCore::ApplyPropertyFontSize::applyValue):
3169         (WebCore::ApplyPropertyFontWeight::applyValue):
3170         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
3171         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
3172         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
3173         (WebCore::ApplyPropertyBorderImage::applyValue):
3174         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
3175         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
3176         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
3177         (WebCore::ApplyPropertyBorderImageSource::applyValue):
3178         (WebCore::ApplyPropertyCounter::emptyFunction):
3179         (WebCore::ApplyPropertyCounter::applyInheritValue):
3180         (WebCore::ApplyPropertyCounter::applyValue):
3181         (WebCore::ApplyPropertyCursor::applyInheritValue):
3182         (WebCore::ApplyPropertyCursor::applyInitialValue):
3183         (WebCore::ApplyPropertyCursor::applyValue):
3184         (WebCore::ApplyPropertyTextAlign::applyValue):
3185         (WebCore::ApplyPropertyTextDecoration::applyValue):
3186         (WebCore::ApplyPropertyUnicodeBidi::applyValue):
3187         (WebCore::ApplyPropertyLineHeight::applyValue):
3188         (WebCore::ApplyPropertyPageSize::applyInheritValue):
3189         (WebCore::ApplyPropertyPageSize::applyInitialValue):
3190         (WebCore::ApplyPropertyPageSize::applyValue):
3191         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
3192         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
3193         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3194         (WebCore):
3195         (WebCore::ApplyPropertyAnimation::map):
3196         (WebCore::ApplyPropertyAnimation::applyInheritValue):
3197         (WebCore::ApplyPropertyAnimation::applyInitialValue):
3198         (WebCore::ApplyPropertyAnimation::applyValue):
3199         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
3200         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
3201         (WebCore::ApplyPropertyOutlineStyle::applyValue):
3202         (WebCore::ApplyPropertyResize::applyValue):
3203         (WebCore::ApplyPropertyVerticalAlign::applyValue):
3204         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
3205         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
3206         (WebCore::ApplyPropertyAspectRatio::applyValue):
3207         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
3208         (WebCore::ApplyPropertyZoom::applyInheritValue):
3209         (WebCore::ApplyPropertyZoom::applyInitialValue):
3210         (WebCore::ApplyPropertyZoom::applyValue):
3211         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
3212         (WebCore::ApplyPropertyDisplay::applyInheritValue):
3213         (WebCore::ApplyPropertyDisplay::applyInitialValue):
3214         (WebCore::ApplyPropertyDisplay::applyValue):
3215         (WebCore::ApplyPropertyFlex::applyInheritValue):
3216         (WebCore::ApplyPropertyFlex::applyInitialValue):
3217         (WebCore::ApplyPropertyFlex::applyValue):
3218         (WebCore::StyleBuilder::StyleBuilder):
3219         * css/StyleBuilder.h: Replaced with Source/WebCore/css/CSSStyleApplyProperty.h.
3220         (WebCore):
3221         (PropertyHandler):
3222         (WebCore::PropertyHandler::applyInheritValue):
3223         (WebCore::PropertyHandler::applyInitialValue):
3224         (WebCore::PropertyHandler::applyValue):
3225
3226 2012-04-25  Eric Carlson  <eric.carlson@apple.com>
3227
3228         Not reviewed, fix Windows build after r115165.
3229
3230         * rendering/RenderLayerCompositor.cpp:
3231         (WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize logging variable.
3232
3233 2012-04-25  Florin Malita  <fmalita@chromium.org>
3234
3235         [Coverity] Uninitialized fields in RenderSVGShape constructors
3236         https://bugs.webkit.org/show_bug.cgi?id=84749
3237
3238         Reviewed by Darin Adler.
3239
3240         Removing unused RenderSVGShape constructor and field.
3241
3242         No new tests - no behavior change.
3243
3244         * rendering/svg/RenderSVGShape.cpp:
3245         * rendering/svg/RenderSVGShape.h:
3246         (RenderSVGShape):
3247
3248 2012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>
3249
3250         Not reviewed: follow up to r115194, removed debug output.
3251
3252         * inspector/front-end/DebuggerPresentationModel.js:
3253         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
3254
3255 2012-04-25  Pavel Feldman  <pfeldman@chromium.org>
3256
3257         Web Inspector: extract Linkifier from DebuggerPresentationModel.
3258         https://bugs.webkit.org/show_bug.cgi?id=84855
3259
3260         Reviewed by Yury Semikhatsky.
3261
3262         There is nothing Linkifier needs from the model, extracting as a top-level class.
3263
3264         * WebCore.gypi:
3265         * WebCore.vcproj/WebCore.vcproj:
3266         * inspector/compile-front-end.py:
3267         * inspector/front-end/ConsoleMessage.js:
3268         * inspector/front-end/ConsoleView.js:
3269         (WebInspector.ConsoleView):
3270         * inspector/front-end/DebuggerPresentationModel.js:
3271         * inspector/front-end/EventListenersSidebarPane.js:
3272         * inspector/front-end/Linkifier.js: Added.
3273         (WebInspector.LinkifierFormatter):
3274         (WebInspector.LinkifierFormatter.prototype.formatLiveAnchor):
3275         (WebInspector.Linkifier):
3276         (WebInspector.Linkifier.prototype.linkifyLocation):
3277         (WebInspector.Linkifier.prototype.linkifyRawLocation):
3278         (WebInspector.Linkifier.prototype.reset):
3279         (WebInspector.Linkifier.prototype._updateAnchor):
3280         (WebInspector.Linkifier.DefaultFormatter):
3281         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
3282         * inspector/front-end/NetworkPanel.js:
3283         * inspector/front-end/ObjectPopoverHelper.js:
3284         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
3285         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3286         * inspector/front-end/ProfileView.js:
3287         * inspector/front-end/ScriptsSearchScope.js:
3288         (WebInspector.ScriptsSearchResultsPane):
3289         * inspector/front-end/TimelinePresentationModel.js:
3290         (WebInspector.TimelinePresentationModel):
3291         * inspector/front-end/WebKit.qrc:
3292         * inspector/front-end/inspector.html:
3293
3294 2012-04-25  Pavel Feldman  <pfeldman@chromium.org>
3295
3296         Web Inspector: move sourcemap-agnostic part of the debugger presentation model into the raw debugger.
3297         https://bugs.webkit.org/show_bug.cgi?id=84852
3298
3299         Reviewed by Yury Semikhatsky.
3300
3301         There is no need to keep that much debugging functionality in the debugger presentation model.
3302         It all perfectly applies to the raw script debugger. Methods for selecting call frames, activating breakpoints
3303         and paused details were moved to the WebInspector.DebuggerModel.
3304
3305         * inspector/front-end/BreakpointManager.js:
3306         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
3307         * inspector/front-end/CallStackSidebarPane.js:
3308         (WebInspector.CallStackSidebarPane):
3309         (WebInspector.CallStackSidebarPane.prototype.update):
3310         (WebInspector.CallStackSidebarPane.prototype.setSelectedCallFrame):
3311         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
3312         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
3313         (WebInspector.CallStackSidebarPane.Placard):
3314         (WebInspector.CallStackSidebarPane.Placard.prototype._update):
3315         * inspector/front-end/ConsoleView.js:
3316         * inspector/front-end/DebuggerModel.js:
3317         (WebInspector.DebuggerModel.prototype._globalObjectCleared):
3318         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
3319         (WebInspector.DebuggerModel.prototype._setDebuggerPausedDetails):
3320         (WebInspector.DebuggerModel.prototype._pausedScript):
3321         (WebInspector.DebuggerModel.prototype._resumedScript):
3322         (WebInspector.DebuggerModel.prototype.isPaused):
3323         (WebInspector.DebuggerModel.prototype.setSelectedCallFrame.updateExecutionLine):
3324         (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
3325         (WebInspector.DebuggerModel.prototype.selectedCallFrame):
3326         (WebInspector.DebuggerModel.prototype.evaluateOnSelectedCallFrame):
3327         (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
3328         (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables):
3329         (WebInspector.DebuggerModel.prototype.setBreakpointsActive):
3330         (WebInspector.DebuggerModel.prototype.breakpointsActive):
3331         (WebInspector.DebuggerModel.CallFrame):
3332         (WebInspector.DebuggerModel.CallFrame.prototype.get script):
3333         (WebInspector.DebuggerModel.CallFrame.prototype.get type):
3334         (WebInspector.DebuggerModel.CallFrame.prototype.get scopeChain):
3335         (WebInspector.DebuggerModel.CallFrame.prototype.get this):
3336         (WebInspector.DebuggerModel.CallFrame.prototype.get functionName):
3337         (WebInspector.DebuggerModel.CallFrame.prototype.get location):
3338         (WebInspector.DebuggerModel.CallFrame.prototype.evaluate):
3339         (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
3340         (WebInspector.DebuggerModel.CallFrame.prototype.dispose):
3341         (WebInspector.DebuggerPausedDetails):
3342         (WebInspector.DebuggerPausedDetails.prototype.dispose):
3343         * inspector/front-end/DebuggerPresentationModel.js:
3344         (WebInspector.DebuggerPresentationModel):
3345         (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
3346         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
3347         (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
3348         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
3349         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
3350         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3351         * inspector/front-end/JavaScriptSource.js:
3352         (WebInspector.JavaScriptSource.prototype.setBreakpoint):
3353         * inspector/front-end/JavaScriptSourceFrame.js:
3354         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
3355         * inspector/front-end/Script.js:
3356         (WebInspector.Script.prototype.setSourceMapping):
3357         (WebInspector.Script.prototype.createLiveLocation):
3358         (WebInspector.Script.Location.prototype.update):
3359         * inspector/front-end/ScriptMapping.js:
3360         (WebInspector.LiveLocation):
3361         (WebInspector.LiveLocation.prototype.update):
3362         (WebInspector.LiveLocation.prototype.dispose):
3363         * inspector/front-end/ScriptsPanel.js:
3364         (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
3365         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3366         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
3367         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
3368         * inspector/front-end/UISourceCode.js:
3369
3370 2012-04-25  Yury Semikhatsky  <yurys@chromium.org>
3371
3372         Web Inspector: use composite node provider for diff nodes in heap profiler
3373         https://bugs.webkit.org/show_bug.cgi?id=84849
3374
3375         Inroduced HeapSnapshotDiffNodesProvider which is basically a composite provider
3376         combining providers for added and deleted nodes. This allowed to remove custom
3377         implementation of HeapSnapshotGridNode.prototype.populateChildren.
3378
3379         Reviewed by Pavel Feldman.
3380
3381         * inspector/front-end/HeapSnapshot.js:
3382         (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField): moved index assignment to sortByComparator
3383         so that it is done only once.
3384         (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByComparator):
3385         (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
3386         * inspector/front-end/HeapSnapshotGridNodes.js:
3387         (WebInspector.HeapSnapshotGridNode):
3388         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
3389         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
3390         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3391         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3392         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
3393         (WebInspector.HeapSnapshotGridNode.prototype.sort):
3394         (WebInspector.HeapSnapshotDiffNodesProvider):
3395         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.dispose):
3396         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.isEmpty):
3397         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems):
3398         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveDeletedItems):
3399         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveAddedItems):
3400         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind.afterSort):
3401         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
3402         (WebInspector.HeapSnapshotDiffNode):
3403         (WebInspector.HeapSnapshotDiffNode._createProvider):
3404         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
3405
3406 2012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3407
3408         Refactor to/from/animatedType creation, to share more code between animators
3409         https://bugs.webkit.org/show_bug.cgi?id=84846
3410
3411         Reviewed by Antti Koivisto.
3412
3413         Share more code bewteen animators, doesn't change functionality yet, except for one bug in SVGAnimatedString.
3414         SVGAnimatedString used to mutate the from/to values during animation, leading to problems in animate-element-31-t.svg.
3415         It now needs a rebaseline, now that this bug is fixed as side-effect.
3416
3417         * svg/SVGAnimateColorElement.cpp:
3418         (WebCore::attributeValueIsCurrentColor):
3419         (WebCore::SVGAnimateColorElement::determinePropertyValueTypes):
3420         (WebCore):
3421         * svg/SVGAnimateColorElement.h:
3422         (SVGAnimateColorElement):
3423         * svg/SVGAnimateElement.cpp:
3424         (WebCore::SVGAnimateElement::SVGAnimateElement):
3425         * svg/SVGAnimateElement.h:
3426         (SVGAnimateElement):
3427         * svg/SVGAnimatedAngle.cpp:
3428         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
3429         * svg/SVGAnimatedBoolean.cpp:
3430         (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
3431         * svg/SVGAnimatedColor.cpp:
3432         (WebCore::adjustForCurrentColor):
3433         (WebCore):
3434         (WebCore::parseColorFromString):
3435         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
3436         * svg/SVGAnimatedEnumeration.cpp:
3437         (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
3438         * svg/SVGAnimatedInteger.cpp:
3439         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
3440         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
3441         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
3442         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
3443         * svg/SVGAnimatedLength.cpp:
3444         (WebCore::parseLengthFromString):
3445         (WebCore):
3446         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3447         * svg/SVGAnimatedLengthList.cpp:
3448         (WebCore::parseLengthListFromString):
3449         (WebCore):
3450         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3451         * svg/SVGAnimatedNumber.cpp:
3452         (WebCore::parseNumberFromString):
3453         (WebCore):
3454         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
3455         * svg/SVGAnimatedNumberList.cpp:
3456         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
3457         * svg/SVGAnimatedNumberOptionalNumber.cpp:
3458         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
3459         * svg/SVGAnimatedPointList.cpp:
3460         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
3461         * svg/SVGAnimatedPreserveAspectRatio.cpp:
3462         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
3463         * svg/SVGAnimatedRect.cpp:
3464         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
3465         * svg/SVGAnimatedString.cpp:
3466         (WebCore::parseStringFromString):
3467         (WebCore):
3468         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
3469         * svg/SVGAnimatedTransformList.cpp:
3470         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
3471         * svg/SVGAnimationElement.cpp:
3472         (WebCore::SVGAnimationElement::SVGAnimationElement):
3473         (WebCore::SVGAnimationElement::adjustForInheritance):
3474         (WebCore):
3475         (WebCore::inheritsFromProperty):
3476         (WebCore::SVGAnimationElement::determinePropertyValueTypes):
3477         * svg/SVGAnimationElement.h:
3478         (WebCore::SVGAnimationElement::fromPropertyValueType):
3479         (WebCore::SVGAnimationElement::toPropertyValueType):
3480         (SVGAnimationElement):
3481         (WebCore::SVGAnimationElement::adjustForInheritance):
3482         (WebCore::SVGAnimationElement::adjustFromToValues):
3483         (WebCore::SVGAnimationElement::adjustFromToListValues):
3484
3485 2012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3486
3487         Share single calculateFromToValues/calculateFromByValues between all SVGAnimatedTypeAnimators
3488         https://bugs.webkit.org/show_bug.cgi?id=84832
3489
3490         Reviewed by Antti Koivisto.
3491
3492         calculateFromAndToValues / calculateFromAndByValues don't need to be spread across all SVGAnimatedTypeAnimators.
3493         Centralize these new implementations in SVGAnimatedTypeAnimator.h. Refactored addAnimatedTypes() from constructFromAndByValues.
3494
3495         calculateFromAndToValues:
3496             from = constructFromString(fromString)
3497             to = constructFromString(toString)
3498         
3499         calculateFromAndByValues:
3500             from = constructFromString(fromString)
3501             to = constructFromString(byString)
3502             addAnimatedTypes(from, to)
3503
3504         Doesn't affect any tests, just refactors code.
3505
3506         * svg/SVGAnimateElement.cpp:
3507         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3508         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3509         * svg/SVGAnimatedAngle.cpp:
3510         (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
3511         * svg/SVGAnimatedAngle.h:
3512         (SVGAnimatedAngleAnimator):
3513         * svg/SVGAnimatedBoolean.cpp:
3514         (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
3515         * svg/SVGAnimatedBoolean.h:
3516         (SVGAnimatedBooleanAnimator):
3517         * svg/SVGAnimatedColor.cpp:
3518         (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
3519         * svg/SVGAnimatedColor.h:
3520         (SVGAnimatedColorAnimator):
3521         * svg/SVGAnimatedEnumeration.cpp:
3522         (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
3523         * svg/SVGAnimatedEnumeration.h:
3524         (SVGAnimatedEnumerationAnimator):
3525         * svg/SVGAnimatedInteger.cpp: