97607c8881f2451ea4b18af51d6f050a6c5c5eb6
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         [GTK] Implement unicode submenu items
4         https://bugs.webkit.org/show_bug.cgi?id=81117
5
6         Reviewed by Martin Robinson.
7
8         * loader/EmptyClients.h:
9         (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
10         false.
11         * page/ContextMenuController.cpp:
12         (WebCore::insertUnicodeCharacter): Helper function to insert a
13         unicode character.
14         (WebCore::ContextMenuController::contextMenuItemSelected):
15         Implement unicode menu items using insertUnicodeCharacter() to
16         insert the apropriate unicode character.
17         (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
18         Create the unicode submenu.
19         (WebCore::ContextMenuController::populate): Add unicode submenu
20         item for editable content.
21         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
22         unicode submenu items to the switch.
23         * page/ContextMenuController.h:
24         * page/EditorClient.h:
25         (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
26         * platform/ContextMenuItem.h:
27         * platform/LocalizedStrings.h:
28         * platform/gtk/LocalizedStringsGtk.cpp:
29         (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
30         string for the unicode menu item.
31         (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
32         (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
33         (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
34         (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
35         (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
36         (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
37         (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
38         (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
39         (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
40
41 2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
42
43         Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
44         https://bugs.webkit.org/show_bug.cgi?id=81031
45
46         Reviewed by Pavel Feldman.
47
48         * inspector/front-end/SnippetsModel.js:
49         (WebInspector.SnippetsModel):
50         (WebInspector.SnippetsModel.prototype._saveSettings):
51         (WebInspector.SnippetsModel.prototype.deleteSnippet):
52         (WebInspector.SnippetsModel.prototype._snippetAdded):
53         (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
54         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
55         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
56         (WebInspector.Snippet.prototype.evaluate):
57         (WebInspector.SnippetsScriptMapping):
58         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
59         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
60         (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
61         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
62         (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
63         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
64         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
65
66 2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
67
68         [wx] Unreviewed. Build fixes for Mac and DOM bindings.
69
70         * bindings/cpp/WebDOMEventTarget.cpp:
71         (toWebKit):
72         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
73         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
74
75 2012-03-14  Pavel Podivilov  <podivilov@chromium.org>
76
77         Web Inspector: extract CompilerScriptMapping from RawSourceCode.
78         https://bugs.webkit.org/show_bug.cgi?id=81088
79
80         Reviewed by Vsevolod Vlasov.
81
82         * WebCore.gypi:
83         * WebCore.vcproj/WebCore.vcproj:
84         * inspector/compile-front-end.py:
85         * inspector/front-end/CompilerScriptMapping.js: Added.
86         (WebInspector.CompilerScriptMapping):
87         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
88         (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
89         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
90         (WebInspector.CompilerScriptMapping.prototype.addScript):
91         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
92         (WebInspector.CompilerScriptMapping.prototype.reset):
93         * inspector/front-end/RawSourceCode.js:
94         (WebInspector.RawSourceCode):
95         (WebInspector.RawSourceCode.prototype.setFormatted):
96         (WebInspector.RawSourceCode.prototype._resourceFinished):
97         (WebInspector.RawSourceCode.prototype._createUISourceCode):
98         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
99         * inspector/front-end/ResourceScriptMapping.js:
100         (WebInspector.ResourceScriptMapping.prototype.addScript):
101         * inspector/front-end/ScriptMapping.js:
102         (WebInspector.MainScriptMapping):
103         * inspector/front-end/WebKit.qrc:
104         * inspector/front-end/inspector.html:
105
106 2012-03-15  Peter Rybin  <peter.rybin@gmail.com>
107
108         Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
109         https://bugs.webkit.org/show_bug.cgi?id=81132
110
111         Reviewed by Yury Semikhatsky.
112
113         Include directives are moved several lines down in .cpp files and in
114         generator templates.
115
116         * inspector/CodeGeneratorInspector.py:
117         * inspector/ContentSearchUtils.cpp:
118         * inspector/DOMEditor.cpp:
119         * inspector/DOMNodeHighlighter.cpp:
120         * inspector/DOMPatchSupport.cpp:
121         * inspector/IdentifiersFactory.cpp:
122         * inspector/InjectedScript.cpp:
123         * inspector/InjectedScriptHost.cpp:
124         * inspector/InjectedScriptManager.cpp:
125         * inspector/InspectorAgent.cpp:
126         * inspector/InspectorApplicationCacheAgent.cpp:
127         * inspector/InspectorBaseAgent.cpp:
128         * inspector/InspectorCSSAgent.cpp:
129         * inspector/InspectorClient.cpp:
130         * inspector/InspectorConsoleAgent.cpp:
131         * inspector/InspectorController.cpp:
132         * inspector/InspectorCounters.cpp:
133         * inspector/InspectorDOMAgent.cpp:
134         * inspector/InspectorDOMDebuggerAgent.cpp:
135         * inspector/InspectorDOMStorageAgent.cpp:
136         * inspector/InspectorDatabaseAgent.cpp:
137         * inspector/InspectorDatabaseResource.cpp:
138         * inspector/InspectorDebuggerAgent.cpp:
139         * inspector/InspectorFileSystemAgent.cpp:
140         * inspector/InspectorFrontendClientLocal.cpp:
141         * inspector/InspectorFrontendHost.cpp:
142         * inspector/InspectorHistory.cpp:
143         * inspector/InspectorIndexedDBAgent.cpp:
144         * inspector/InspectorInstrumentation.cpp:
145         * inspector/InspectorMemoryAgent.cpp:
146         * inspector/InspectorPageAgent.cpp:
147         * inspector/InspectorProfilerAgent.cpp:
148         * inspector/InspectorResourceAgent.cpp:
149         * inspector/InspectorRuntimeAgent.cpp:
150         * inspector/InspectorState.cpp:
151         * inspector/InspectorStyleSheet.cpp:
152         * inspector/InspectorStyleTextEditor.cpp:
153         * inspector/InspectorTimelineAgent.cpp:
154         * inspector/InspectorValues.cpp:
155         * inspector/InstrumentingAgents.cpp:
156         * inspector/NetworkResourcesData.cpp:
157         * inspector/PageConsoleAgent.cpp:
158         * inspector/PageDebuggerAgent.cpp:
159         * inspector/PageRuntimeAgent.cpp:
160         * inspector/TimelineRecordFactory.cpp:
161         * inspector/WorkerConsoleAgent.cpp:
162         * inspector/WorkerDebuggerAgent.cpp:
163         * inspector/WorkerRuntimeAgent.cpp:
164
165 2012-03-15  Yury Semikhatsky  <yurys@chromium.org>
166
167         Web Inspector: improve HeapSnapshot._buildReversIndex performance
168         https://bugs.webkit.org/show_bug.cgi?id=81224
169
170         Caching node indexes and node count in local variables instead of
171         calling getters each time reduces the method run time by
172         factor of 1.5
173
174         Reviewed by Pavel Feldman.
175
176         * inspector/front-end/HeapSnapshot.js:
177         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
178
179 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
180
181         SVG Animations update baseVal instead of animVal
182         https://bugs.webkit.org/show_bug.cgi?id=12437
183
184         Rubber-stamped by Rob Buis.
185
186         Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
187
188         * svg/SVGAnimateElement.cpp:
189         (WebCore::SVGAnimateElement::resetToBaseValue):
190         * svg/SVGAnimatedLength.cpp:
191         (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
192         * svg/SVGAnimatedLength.h:
193         (SVGAnimatedLengthAnimator):
194         * svg/SVGAnimatedLengthList.cpp:
195         (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
196         * svg/SVGAnimatedLengthList.h:
197         (SVGAnimatedLengthListAnimator):
198         * svg/SVGAnimatedNumber.cpp:
199         (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
200         * svg/SVGAnimatedNumber.h:
201         (SVGAnimatedNumberAnimator):
202         * svg/SVGAnimatedNumberList.cpp:
203         (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
204         * svg/SVGAnimatedNumberList.h:
205         (SVGAnimatedNumberListAnimator):
206         * svg/SVGAnimatedTransformList.cpp:
207         (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
208         * svg/SVGAnimatedTransformList.h:
209         (SVGAnimatedTransformListAnimator):
210         * svg/SVGAnimatedTypeAnimator.h:
211         (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
212         * svg/properties/SVGAnimatedListPropertyTearOff.h:
213         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
214         * svg/properties/SVGAnimatedProperty.h:
215         (SVGAnimatedProperty):
216         * svg/properties/SVGAnimatedPropertyTearOff.h:
217         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
218         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
219         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
220
221 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
222
223         Enable animVal support for SVGNumberList
224         https://bugs.webkit.org/show_bug.cgi?id=81219
225
226         Reviewed by Rob Buis.
227
228         Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
229         constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
230         as supporting animVal.
231
232         Covered by existing tests.
233
234         * svg/SVGAnimatedNumberList.cpp:
235         (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
236         (WebCore):
237         * svg/SVGAnimatedNumberList.h:
238         (WebCore):
239         (SVGAnimatedNumberListAnimator):
240         * svg/SVGAnimatedType.cpp:
241         (WebCore::SVGAnimatedType::supportsAnimVal):
242         (WebCore::SVGAnimatedType::setVariantValue):
243
244 2012-03-15  Rob Buis  <rbuis@rim.com>
245
246         Fix cast-align GCC warnings
247         https://bugs.webkit.org/show_bug.cgi?id=80790
248
249         Reviewed by Nikolas Zimmermann.
250
251         * platform/graphics/WOFFFileFormat.cpp:
252         (WebCore::writeUInt32):
253         (WebCore::writeUInt16):
254         (WebCore::convertWOFFToSfnt):
255
256 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
257
258         Not reviewed. Forgot to preserve copyrights, per reviewer comment.
259
260         * svg/SVGAnimatedTransformList.cpp:
261
262 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
263
264         Enable animVal support for SVGNumber
265         https://bugs.webkit.org/show_bug.cgi?id=81212
266
267         Reviewed by Rob Buis.
268
269         Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
270         with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
271         Converting the rest of the types can be done in small patches now.
272
273         Test: svg/animations/svgnumber-animation-4.html
274
275         * svg/SVGAnimatedNumber.cpp:
276         (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
277         (WebCore):
278         * svg/SVGAnimatedNumber.h:
279         (WebCore):
280         (SVGAnimatedNumberAnimator):
281         * svg/SVGAnimatedType.cpp:
282         (WebCore::SVGAnimatedType::supportsAnimVal):
283         (WebCore::SVGAnimatedType::setVariantValue):
284         * svg/properties/SVGAnimatedProperty.h:
285         (SVGAnimatedProperty):
286         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
287         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
288         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
289         (SVGAnimatedStaticPropertyTearOff):
290         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
291         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
292         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
293         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
294         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
295         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
296
297 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
298
299         Enable animVal support for SVGTransformList
300         https://bugs.webkit.org/show_bug.cgi?id=80758
301
302         Reviewed by Antti Koivisto.
303
304         Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
305         via <animateTransform>, not via <animate> directly. Still we can handle it in the
306         same framework as all other types used for <animate>, as we also need proper animVal
307         support for <animateTransform>.
308
309         This patch removes the special <animateTransform> implementation, and lets
310         SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
311         for SVGAnimateColorElement & SVGSetElement.
312
313         All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
314         SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
315
316         This doesn't change <animateTransform> behavior, it just simplies the code
317         and enables animVal support for SVGTransformLists - all covered by existing tests.
318
319         * CMakeLists.txt:
320         * GNUmakefile.list.am:
321         * Target.pri:
322         * WebCore.gypi:
323         * WebCore.xcodeproj/project.pbxproj:
324         * svg/SVGAllInOne.cpp:
325         * svg/SVGAnimateElement.cpp:
326         (WebCore::SVGAnimateElement::SVGAnimateElement):
327         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
328         (WebCore::SVGAnimateElement::calculateAnimatedValue):
329         (WebCore::SVGAnimateElement::applyResultsToTarget):
330         * svg/SVGAnimateTransformElement.cpp:
331         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
332         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
333         (WebCore::SVGAnimateTransformElement::parseAttribute):
334         * svg/SVGAnimateTransformElement.h:
335         (WebCore::SVGAnimateTransformElement::transformType):
336         (SVGAnimateTransformElement):
337         * svg/SVGAnimatedTransformList.cpp: Added.
338         (WebCore):
339         (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
340         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
341         (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
342         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
343         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
344         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
345         (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
346         * svg/SVGAnimatedTransformList.h:
347         (WebCore):
348         (SVGAnimatedTransformListAnimator):
349         (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
350         * svg/SVGAnimatedType.cpp:
351         (WebCore::SVGAnimatedType::~SVGAnimatedType):
352         (WebCore::SVGAnimatedType::createTransformList):
353         (WebCore):
354         (WebCore::SVGAnimatedType::transformList):
355         (WebCore::SVGAnimatedType::valueAsString):
356         (WebCore::SVGAnimatedType::setValueAsString):
357         (WebCore::SVGAnimatedType::supportsAnimVal):
358         (WebCore::SVGAnimatedType::setVariantValue):
359         * svg/SVGAnimatedType.h:
360         (WebCore):
361         (SVGAnimatedType):
362         * svg/SVGAnimatorFactory.h:
363         (WebCore::SVGAnimatorFactory::create):
364         * svg/SVGGradientElement.cpp:
365         (WebCore::SVGGradientElement::parseAttribute):
366         * svg/SVGPatternElement.cpp:
367         (WebCore::SVGPatternElement::parseAttribute):
368         * svg/SVGStyledTransformableElement.cpp:
369         (WebCore::SVGStyledTransformableElement::parseAttribute):
370         * svg/SVGTextElement.cpp:
371         (WebCore::SVGTextElement::parseAttribute):
372         * svg/SVGTransform.cpp:
373         (WebCore::SVGTransform::transformTypePrefixForParsing):
374         (WebCore):
375         (WebCore::SVGTransform::valueAsString):
376         * svg/SVGTransform.h:
377         (SVGTransform):
378         * svg/SVGTransformList.cpp:
379         (WebCore::SVGTransformList::parse):
380         (WebCore):
381         * svg/SVGTransformList.h:
382         (SVGTransformList):
383         * svg/SVGTransformable.cpp:
384         (WebCore::SVGTransformable::parseTransformType):
385         * svg/SVGTransformable.h:
386         (WebCore):
387         * svg/SVGViewSpec.cpp:
388         (WebCore::SVGViewSpec::setTransform):
389
390 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
391
392         Enable animVal support for SVGLengthList
393         https://bugs.webkit.org/show_bug.cgi?id=80750
394
395         Reviewed by Zoltan Herczeg.
396
397         Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
398         in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
399
400         Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
401
402         * svg/SVGAnimateElement.cpp:
403         (WebCore::SVGAnimateElement::calculateAnimatedValue):
404         * svg/SVGAnimateTransformElement.cpp:
405         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
406         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
407         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
408         * svg/SVGAnimatedLengthList.cpp:
409         (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
410         (WebCore):
411         * svg/SVGAnimatedLengthList.h:
412         (WebCore):
413         (SVGAnimatedLengthListAnimator):
414         * svg/SVGAnimatedType.cpp:
415         (WebCore::SVGAnimatedType::supportsAnimVal):
416         (WebCore::SVGAnimatedType::setVariantValue):
417         * svg/SVGAnimatedType.h:
418         * svg/SVGAnimationElement.cpp:
419         (WebCore::SVGAnimationElement::applyAnimatedValue):
420         * svg/properties/SVGAnimatedListPropertyTearOff.h:
421         (SVGAnimatedListPropertyTearOff):
422         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
423         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
424         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
425         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
426         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
427         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
428         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
429         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
430         (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
431         (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
432         (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
433         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
434         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
435         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
436         * svg/properties/SVGAnimatedProperty.h:
437         (WebCore::SVGAnimatedProperty::isAnimating):
438         (SVGAnimatedProperty):
439         (WebCore::SVGAnimatedProperty::animationValueWillChange):
440         (WebCore::SVGAnimatedProperty::animationValueDidChange):
441         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
442         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
443         * svg/properties/SVGAnimatedPropertyTearOff.h:
444         (SVGAnimatedPropertyTearOff):
445         (WebCore::SVGAnimatedPropertyTearOff::baseVal):
446         (WebCore::SVGAnimatedPropertyTearOff::animVal):
447         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
448         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
449         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
450         (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
451         (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
452         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
453         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
454         (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
455         (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
456         * svg/properties/SVGListProperty.h:
457         (WebCore::SVGListProperty::detachListWrappers):
458         (SVGListProperty):
459         (WebCore::SVGListProperty::setValuesAndWrappers):
460         (WebCore::SVGListProperty::clearValues):
461         (WebCore::SVGListProperty::clearValuesAndWrappers):
462         (WebCore::SVGListProperty::numberOfItems):
463         (WebCore::SVGListProperty::initializeValues):
464         (WebCore::SVGListProperty::initializeValuesAndWrappers):
465         (WebCore::SVGListProperty::canGetItem):
466         (WebCore::SVGListProperty::getItemValues):
467         (WebCore::SVGListProperty::getItemValuesAndWrappers):
468         (WebCore::SVGListProperty::insertItemBeforeValues):
469         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
470         (WebCore::SVGListProperty::canReplaceItem):
471         (WebCore::SVGListProperty::replaceItemValues):
472         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
473         (WebCore::SVGListProperty::canRemoveItem):
474         (WebCore::SVGListProperty::removeItemValues):
475         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
476         (WebCore::SVGListProperty::appendItemValues):
477         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
478         (WebCore::SVGListProperty::values):
479         (WebCore::SVGListProperty::wrappers):
480         (WebCore::SVGListProperty::SVGListProperty):
481         * svg/properties/SVGListPropertyTearOff.h:
482         (SVGListPropertyTearOff):
483         (WebCore::SVGListPropertyTearOff::create):
484         (WebCore::SVGListPropertyTearOff::removeItemFromList):
485         (WebCore::SVGListPropertyTearOff::clear):
486         (WebCore::SVGListPropertyTearOff::initialize):
487         (WebCore::SVGListPropertyTearOff::insertItemBefore):
488         (WebCore::SVGListPropertyTearOff::replaceItem):
489         (WebCore::SVGListPropertyTearOff::appendItem):
490         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
491         (WebCore::SVGListPropertyTearOff::commitChange):
492         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
493         (WebCore::SVGPathSegListPropertyTearOff::clear):
494         (WebCore::SVGPathSegListPropertyTearOff::getItem):
495         (WebCore::SVGPathSegListPropertyTearOff::removeItem):
496         * svg/properties/SVGPathSegListPropertyTearOff.h:
497         (WebCore::SVGPathSegListPropertyTearOff::create):
498         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
499         (SVGPathSegListPropertyTearOff):
500         (WebCore::SVGPathSegListPropertyTearOff::initialize):
501         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
502         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
503         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
504         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
505         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
506         * svg/properties/SVGPropertyInfo.h:
507         * svg/properties/SVGStaticListPropertyTearOff.h:
508         (SVGStaticListPropertyTearOff):
509         (WebCore::SVGStaticListPropertyTearOff::clear):
510         (WebCore::SVGStaticListPropertyTearOff::initialize):
511         (WebCore::SVGStaticListPropertyTearOff::getItem):
512         (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
513         (WebCore::SVGStaticListPropertyTearOff::replaceItem):
514         (WebCore::SVGStaticListPropertyTearOff::removeItem):
515         (WebCore::SVGStaticListPropertyTearOff::appendItem):
516         (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
517         (WebCore::SVGStaticListPropertyTearOff::commitChange):
518         * svg/properties/SVGTransformListPropertyTearOff.h:
519         (WebCore::SVGTransformListPropertyTearOff::create):
520         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
521         (WebCore::SVGTransformListPropertyTearOff::consolidate):
522         (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
523
524 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
525
526         AXDescription for HTML5 footer
527         https://bugs.webkit.org/show_bug.cgi?id=78967
528
529         Return a unique role description for the footer element.
530
531         Reviewed by Beth Dakin.
532
533         Test: platform/mac/accessibility/footer-roledescription.html
534
535         * English.lproj/Localizable.strings:+
536         * accessibility/AccessibilityObject.h:
537         * accessibility/AccessibilityRenderObject.cpp:
538         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
539         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
540         (createAccessibilityRoleMap):
541         (-[WebAccessibilityObjectWrapper subrole]):
542         (-[WebAccessibilityObjectWrapper roleDescription]):
543         * platform/LocalizedStrings.cpp:
544         (WebCore::AXFooterRoleDescriptionText):
545         (WebCore):
546         * platform/LocalizedStrings.h:
547         (WebCore):
548         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
549         (WebCore::AXFooterRoleDescriptionText):
550         (WebCore):
551         * platform/efl/LocalizedStringsEfl.cpp:
552         (WebCore::AXFooterRoleDescriptionText):
553         (WebCore):
554         * platform/gtk/LocalizedStringsGtk.cpp:
555         (WebCore::AXFooterRoleDescriptionText):
556         (WebCore):
557
558 2012-03-14  Mark Rowe  <mrowe@apple.com>
559
560         <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
561
562         Reviewed by Dan Bernstein.
563
564         * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
565         rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
566         DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
567
568 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
569
570         AXDescription for ARIA role contentinfo incorrect
571         https://bugs.webkit.org/show_bug.cgi?id=78967
572
573         Reviewed by Beth Dakin.
574
575         Test: platform/mac/accessibility/aria-grouping-roles.html
576
577         * English.lproj/Localizable.strings:
578         * platform/LocalizedStrings.cpp:
579         (WebCore::AXARIAContentGroupText):
580
581 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
582
583         AX: ARIA tables need to support selected rows attribute/select rows changed notification
584         https://bugs.webkit.org/show_bug.cgi?id=79821
585
586         Reviewed by Beth Dakin.
587
588         Test: platform/mac/accessibility/selected-rows-table.html
589
590         * accessibility/AccessibilityARIAGrid.h:
591         (WebCore::AccessibilityARIAGrid::isMultiSelectable):
592         (AccessibilityARIAGrid):
593         * accessibility/AccessibilityRenderObject.cpp:
594         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
595         * accessibility/AccessibilityTableRow.cpp:
596         (WebCore::AccessibilityTableRow::observableObject):
597         (WebCore):
598         * accessibility/AccessibilityTableRow.h:
599         (AccessibilityTableRow):
600         * accessibility/mac/AXObjectCacheMac.mm:
601         (WebCore::AXObjectCache::postPlatformNotification):
602
603 2012-03-14  James Robinson  <jamesr@chromium.org>
604
605         Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
606         https://bugs.webkit.org/show_bug.cgi?id=81187
607
608         Reviewed by Simon Fraser.
609
610         * dom/Document.cpp:
611         (WebCore::Document::webkitRequestAnimationFrame):
612
613 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
614
615         AX: embedded attachments do not report their parents correctly
616         https://bugs.webkit.org/show_bug.cgi?id=80132
617
618         When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
619         It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
620         communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
621
622         We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
623
624         Reviewed by Beth Dakin.
625
626         Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
627         through the IPC mechanism.
628
629         * accessibility/AccessibilityObject.cpp:
630         (WebCore::AccessibilityObject::detachFromParent):
631         * accessibility/AccessibilityObject.h:
632         (AccessibilityObject):
633         (WebCore::AccessibilityObject::overrideAttachmentParent):
634         * accessibility/AccessibilityRenderObject.cpp:
635         (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
636         (WebCore::AccessibilityRenderObject::addChildren):
637         * accessibility/AccessibilityRenderObject.h:
638         (AccessibilityRenderObject):
639         * accessibility/mac/AccessibilityObjectMac.mm:
640         (WebCore::AccessibilityObject::overrideAttachmentParent):
641
642 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
643
644         Improve ContainerNode's collectNodes() performance
645         https://bugs.webkit.org/show_bug.cgi?id=80706
646
647         Reviewed by Antti Koivisto.
648
649         Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
650         this would cover 99.5% of all node collection.
651
652         Note: the actual code change was made in r110797 but I somehow mangled my patches.
653
654         * dom/ContainerNode.cpp:
655         (WebCore):
656
657 2012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>
658
659         Cleanup semicolons in IDLs
660         https://bugs.webkit.org/show_bug.cgi?id=81129
661
662         Reviewed by Kentaro Hara.
663
664         No tests. No change in behavior.
665
666         * svg/SVGAnimateColorElement.idl:
667         * svg/SVGAnimateElement.idl:
668         * svg/SVGAnimateTransformElement.idl:
669         * svg/SVGAnimatedRect.idl:
670
671 2012-03-14  Hayato Ito  <hayato@chromium.org>
672
673         Make ShadowRoot.activeElement return null if it does not contain a focused element.
674         https://bugs.webkit.org/show_bug.cgi?id=81097
675
676         Reviewed by Dimitri Glazkov.
677
678         * dom/TreeScope.cpp:
679         (WebCore::TreeScope::activeElement):
680
681 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
682
683         Allow per-script font settings to be specified in layout tests
684         https://bugs.webkit.org/show_bug.cgi?id=78184
685
686         Reviewed by Hajime Morita.
687
688         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
689         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
690         for Chromium so far.
691
692         Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
693         instead of overridePreference.
694
695         * WebCore.exp.in: Added symbols.
696         * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
697         (WebCore):
698         * platform/text/LocaleToScriptMappingDefault.cpp:
699         (WebCore::scriptNameToCode):
700         (WebCore::localeToScriptCodeForFontSelection):
701         * platform/text/LocaleToScriptMappingICU.cpp:
702         (WebCore::scriptNameToCode):
703         (WebCore):
704         * testing/InternalSettings.cpp: Added per-script font settings.
705         (WebCore):
706         (WebCore::setFontFamily):
707         (WebCore::InternalSettings::setStandardFontFamily):
708         (WebCore::InternalSettings::setSerifFontFamily):
709         (WebCore::InternalSettings::setSansSerifFontFamily):
710         (WebCore::InternalSettings::setFixedFontFamily):
711         (WebCore::InternalSettings::setCursiveFontFamily):
712         (WebCore::InternalSettings::setFantasyFontFamily):
713         (WebCore::InternalSettings::setPictographFontFamily):
714         * testing/InternalSettings.h:
715         (InternalSettings):
716         * testing/InternalSettings.idl:
717
718 2012-03-14  Kwonjin Jeong  <gram@company100.net>
719
720         Remove obsolete constructors of CSSPrimitiveValue class.
721         https://bugs.webkit.org/show_bug.cgi?id=80971
722
723         Remove constructors of CSSPrimitiveValue that can't be
724         reached.
725
726         Reviewed by Andreas Kling.
727
728         * css/CSSPrimitiveValueMappings.h:
729
730 2012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>
731
732         Split the extra logic out of RenderBlock::updateFirstLetter
733         https://bugs.webkit.org/show_bug.cgi?id=80772
734
735         Reviewed by Julien Chaffraix.
736
737         No change in behavior expected.
738
739         * rendering/RenderBlock.cpp:
740         (WebCore::RenderBlock::updateFirstLetterStyle):
741         (WebCore::RenderBlock::createFirstLetterRenderer):
742         (WebCore::RenderBlock::updateFirstLetter):
743         (WebCore):
744         * rendering/RenderBlock.h:
745         (RenderBlock):
746
747 2012-03-14  Anders Carlsson  <andersca@apple.com>
748
749         Fix build.
750
751         * html/track/TextTrackList.cpp:
752
753 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
754
755         Build fix.
756
757         * dom/DynamicNodeList.h:
758         (DynamicSubtreeNodeList):
759
760 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
761
762         (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
763         https://bugs.webkit.org/show_bug.cgi?id=80900
764
765         Reviewed by Andreas Kling.
766
767         Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
768         about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
769         are called for all dynamic node lists even though it's only useful for labels and region node lists since
770         it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
771
772         Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
773         parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
774         able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
775         function in HTMLLabelElement.
776
777         And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
778         functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
779
780         * dom/DynamicNodeList.cpp:
781         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
782         useful for labels and region node lists.
783         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
784         * dom/DynamicNodeList.h:
785         (DynamicSubtreeNodeList):
786         * dom/Node.cpp:
787         (WebCore):
788         (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
789         when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
790         is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
791         to be added to the list, so there's no point in calling InvalidateCaches (no-op).
792         (WebCore::Node::unregisterDynamicSubtreeNodeList):
793         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
794         Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
795         and never remove entries from NodeListsNodeData in this function.
796         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
797         is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
798         invalidateCaches via invalidateCachesThatDependOnAttributes.
799         (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
800         done in invalidateCachesThatDependOnAttributes.
801         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
802         m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
803         (WebCore::NodeListsNodeData::isEmpty):
804         * dom/Node.h:
805         (Node):
806         * dom/NodeRareData.h:
807         (NodeListsNodeData):
808         * html/HTMLLabelElement.cpp:
809         (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
810         invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
811         * html/HTMLLabelElement.h:
812         (HTMLLabelElement):
813         * html/LabelsNodeList.cpp:
814         (WebCore::LabelsNodeList::LabelsNodeList):
815         (WebCore::LabelsNodeList::~LabelsNodeList):
816
817 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
818
819         Unreviewed, rolling out r110565.
820         http://trac.webkit.org/changeset/110565
821         https://bugs.webkit.org/show_bug.cgi?id=81173
822
823         chromium deps are now far enough along that the original cl
824         should work (Requested by thakis on #webkit).
825
826         * WebCore.gyp/mac/adjust_visibility.sh:
827
828 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
829
830         Unreviewed, rolling out r110641.
831         http://trac.webkit.org/changeset/110641
832         https://bugs.webkit.org/show_bug.cgi?id=81170
833
834         Causes an ASAN failure (Requested by abarth on #webkit).
835
836         * Target.pri:
837         * UseV8.cmake:
838         * WebCore.gypi:
839         * bindings/scripts/CodeGeneratorJS.pm:
840         (GenerateHeader):
841         (GenerateImplementation):
842         * bindings/scripts/CodeGeneratorV8.pm:
843         (GenerateHeader):
844         (GenerateNamedConstructorCallback):
845         (GenerateImplementation):
846         * bindings/scripts/IDLAttributes.txt:
847         * bindings/scripts/test/V8/V8Float64Array.cpp:
848         (WebCore):
849         * bindings/scripts/test/V8/V8Float64Array.h:
850         (V8Float64Array):
851         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
852         (WebCore):
853         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
854         (V8TestActiveDOMObject):
855         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
856         (WebCore):
857         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
858         (V8TestCustomNamedGetter):
859         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
860         (WebCore):
861         * bindings/scripts/test/V8/V8TestEventConstructor.h:
862         (V8TestEventConstructor):
863         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
864         (WebCore):
865         * bindings/scripts/test/V8/V8TestEventTarget.h:
866         (V8TestEventTarget):
867         * bindings/scripts/test/V8/V8TestInterface.cpp:
868         (WebCore):
869         * bindings/scripts/test/V8/V8TestInterface.h:
870         (V8TestInterface):
871         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
872         (WebCore):
873         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
874         (V8TestMediaQueryListListener):
875         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
876         (WebCore):
877         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
878         (V8TestNamedConstructor):
879         * bindings/scripts/test/V8/V8TestObj.cpp:
880         (WebCore):
881         * bindings/scripts/test/V8/V8TestObj.h:
882         (V8TestObj):
883         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
884         (WebCore):
885         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
886         (V8TestSerializedScriptValueInterface):
887         * bindings/v8/NPV8Object.cpp:
888         (WebCore::npObjectTypeInfo):
889         * bindings/v8/V8GCController.cpp:
890         (WebCore::GrouperVisitor::visitDOMWrapper):
891         * bindings/v8/WrapperTypeInfo.h:
892         (WebCore):
893         (WrapperTypeInfo):
894         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
895         (WebCore):
896         (WebCore::toV8):
897         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
898         (WebCore::toV8):
899         (WebCore):
900         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
901         (WebCore):
902         (WebCore::toV8):
903         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
904         (WebCore):
905         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
906         (WebCore::toV8):
907         (WebCore):
908         * bindings/v8/custom/V8StyleSheetCustom.cpp:
909         (WebCore::toV8):
910         * css/CSSStyleSheet.idl:
911         * css/StyleSheet.idl:
912         * dom/DOMStringMap.idl:
913         * dom/NamedNodeMap.idl:
914         * html/DOMTokenList.idl:
915         * html/track/TextTrackList.cpp:
916         * html/track/TextTrackList.idl:
917
918 2012-03-13  Jon Lee  <jonlee@apple.com>
919
920         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
921         https://bugs.webkit.org/show_bug.cgi?id=80922
922         <rdar://problem/11035082>
923
924         Reviewed by Jian Li.
925
926         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
927         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
928         new API. Therefore, APIs that are common between the two will have:
929         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
930
931         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
932         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
933
934         * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
935         (preferredConditional):
936         (conditionalStringFromAttributeValue):
937         (generateInterfacesHeader):
938         (generateHeadersHeader):
939
940         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
941         * WebCore.exp.in:
942         * bindings/cpp/WebDOMEventTarget.cpp:
943         (toWebKit):
944         * bindings/js/JSDesktopNotificationsCustom.cpp:
945         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
946         * dom/EventTargetFactory.in:
947         * notifications/Notification.cpp:
948         * notifications/Notification.h:
949         * notifications/Notification.idl:
950         * notifications/NotificationCenter.cpp:
951         * notifications/NotificationCenter.h:
952         * notifications/NotificationCenter.idl:
953         * notifications/NotificationContents.h:
954         * notifications/NotificationController.cpp:
955         * notifications/NotificationController.h:
956         * page/DOMWindow.cpp:
957         (WebCore::DOMWindow::~DOMWindow):
958         (WebCore::DOMWindow::willDetachPage):
959         (WebCore::DOMWindow::disconnectDOMWindowProperties):
960         (WebCore::DOMWindow::clearDOMWindowProperties):
961         (WebCore):
962         * page/DOMWindow.h:
963         (DOMWindow):
964         * page/DOMWindow.idl:
965         * page/Frame.cpp:
966         (WebCore::Frame::willDetachPage):
967         (WebCore::Frame::transferChildFrameToNewDocument):
968         * workers/WorkerContext.cpp:
969         (WebCore::WorkerContext::~WorkerContext):
970         (WebCore):
971         * workers/WorkerContext.h:
972         (WorkerContext):
973         * workers/WorkerContext.idl:
974         * workers/WorkerThread.cpp:
975         (WebCore::WorkerThread::WorkerThread):
976         * workers/WorkerThread.h:
977         (WorkerThread):
978
979 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
980
981         Unreviewed, rolling out r110744.
982         http://trac.webkit.org/changeset/110744
983         https://bugs.webkit.org/show_bug.cgi?id=81168
984
985         Causes many WebAudio tests to crash in debug (Requested by
986         abarth on #webkit).
987
988         * platform/audio/Biquad.cpp:
989         (WebCore::Biquad::process):
990
991 2012-03-14  Brady Eidson  <beidson@apple.com>
992
993         <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
994         Repro crash in compositing/iframes/page-cache-layer-tree.html
995
996         Reviewed by Sam Weinig.
997
998         No new tests. (Discovered from and covered by existing test)
999
1000         ScriptCachedFrameData doesn't need to keep a DOMWindow:
1001         * bindings/js/ScriptCachedFrameData.cpp:
1002         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1003         * bindings/js/ScriptCachedFrameData.h:
1004         (ScriptCachedFrameData):
1005
1006         CachedFrame should grab it off the Frame directly and store it locally:
1007         * history/CachedFrame.cpp:
1008         (WebCore::CachedFrame::CachedFrame):
1009         * history/CachedFrame.h:
1010         (WebCore::CachedFrameBase::domWindow):
1011         (CachedFrameBase):
1012
1013 2012-03-14  Tony Chang  <tony@chromium.org>
1014
1015         fix negative flexing in auto sized columns
1016         https://bugs.webkit.org/show_bug.cgi?id=80069
1017
1018         Reviewed by Ojan Vafai.
1019
1020         New test cases in css3/flexbox/columns-auto-size.html.
1021
1022         * rendering/RenderFlexibleBox.cpp:
1023         (WebCore):
1024         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
1025         (WebCore::RenderFlexibleBox::layoutFlexItems):
1026         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
1027         * rendering/RenderFlexibleBox.h:
1028         (RenderFlexibleBox):
1029
1030 2012-03-14  Grace Ku  <gracek@codeaurora.org>
1031
1032         Incorrect handling of sizes in "em" when first-line changes font size
1033         https://bugs.webkit.org/show_bug.cgi?id=79526
1034
1035         Reviewed by Eric Seidel.
1036
1037         When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
1038         It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
1039         the font-size of the first-line of the paragraph.
1040
1041         This was corrected by checking if the InlineFlowBox was the first line using the existing
1042         InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
1043         Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
1044         the border but leaving the wrong amount of space.
1045
1046         The CSS specification doc at the time of this patch specifies that ':first-line' should only support
1047         certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
1048         define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
1049         may appear in future revisions.
1050
1051         Test: fast/css/pseudo-first-line-border-width.html
1052
1053         * rendering/InlineFlowBox.cpp:
1054         (WebCore::InlineFlowBox::paintBoxDecorations):
1055         * rendering/InlineFlowBox.h:
1056         (WebCore::InlineFlowBox::borderLogicalLeft):
1057         (WebCore::InlineFlowBox::borderLogicalRight):
1058         * rendering/RenderBoxModelObject.cpp:
1059         (WebCore::RenderBoxModelObject::paintBorder):
1060         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
1061         (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
1062         (WebCore::RenderBoxModelObject::borderObscuresBackground):
1063         * rendering/RenderBoxModelObject.h:
1064         (RenderBoxModelObject):
1065
1066 2012-03-14  Martin Robinson  <mrobinson@igalia.com>
1067
1068         Fix the TextureMapper build for GTK+.
1069
1070         No new tests. This is just a build fix.
1071
1072         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
1073         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1074         * platform/graphics/texmap/TextureMapper.h:
1075
1076 2012-03-12  Martin Robinson  <mrobinson@igalia.com>
1077
1078         [GTK] Menulist buttons have separators even when the theme turns them off
1079         https://bugs.webkit.org/show_bug.cgi?id=80668
1080
1081         Reviewed by Daniel Bates.
1082
1083         No new tests. GTK+ theme differences are notoriously difficult
1084         to test, because consistent results depend on having certain themes
1085         and certain versions of themes installed.
1086
1087         Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
1088         style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
1089
1090         * platform/gtk/RenderThemeGtk3.cpp:
1091         (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
1092         (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
1093
1094 2012-03-14  Levi Weintraub  <leviw@chromium.org>
1095
1096         Implement proper sub-pixel support in RenderFileUploadControl
1097         https://bugs.webkit.org/show_bug.cgi?id=80881
1098
1099         Reviewed by Dimitri Glazkov.
1100
1101         Correcting improper usage of LayoutUnits when interacting with the graphics context
1102         and platform code. Specifically:
1103         - pixel snapping the clip rect and paint offsets before sending values to the
1104           graphics context in paintObject.
1105         - using on-screen (pixel snapped) values to pass off to platform code to determine
1106           the max length of the filename to be drawn.
1107
1108         No new tests. No change in behavior.
1109
1110         * rendering/RenderFileUploadControl.cpp:
1111         (WebCore::nodeWidth):
1112         (WebCore::RenderFileUploadControl::maxFilenameWidth):
1113         (WebCore::RenderFileUploadControl::paintObject):
1114
1115 2012-03-14  Joseph Pecoraro  <pecoraro@apple.com>
1116
1117         [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
1118         https://bugs.webkit.org/show_bug.cgi?id=81082
1119
1120         Don't return an invalid JSValue. Check if the ScriptValue
1121         has no value and return undefined in that case.
1122
1123         Reviewed by Pavel Feldman.
1124
1125         Updated test: inspector/console/command-line-api.html
1126
1127         * bindings/js/JSInjectedScriptHostCustom.cpp:
1128         (WebCore::JSInjectedScriptHost::inspectedObject):
1129
1130 2012-03-14  James Robinson  <jamesr@chromium.org>
1131
1132         [chromium] Remove canRecoverFromContextLoss attribute, it's unused
1133         https://bugs.webkit.org/show_bug.cgi?id=81158
1134
1135         Reviewed by Stephen White.
1136
1137         Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
1138
1139         * platform/graphics/GraphicsContext3D.h:
1140         (WebCore::GraphicsContext3D::Attributes::Attributes):
1141         (Attributes):
1142         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1143         (WebCore::SharedGraphicsContext3DImpl::get):
1144
1145 2012-03-14  Jer Noble  <jer.noble@apple.com>
1146
1147         Opening a URL in a MediaDocument does not propagate MIME type info to media element
1148         https://bugs.webkit.org/show_bug.cgi?id=81148
1149
1150         Reviewed by Eric Carlson.
1151
1152         Test: http/tests/media/media-document.html
1153
1154         Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
1155         generated video element. 
1156
1157         * html/MediaDocument.cpp:
1158         (WebCore::MediaDocumentParser::createDocumentStructure):
1159
1160 2012-03-14  Stephen White  <senorblanco@chromium.org>
1161
1162         [chromium] Fix accelerated Canvas2D with threaded compositing.
1163         https://bugs.webkit.org/show_bug.cgi?id=80998
1164
1165         Reviewed by James Robinson.
1166
1167         Covered by unit tests Canvas2DLayerChromiumTest and
1168         TreeSynchronizerTest.
1169
1170         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1171         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1172         (WebCore):
1173         Delay creation of the front texture for double-buffering until the
1174         first call to paintContentsIfDirty().
1175         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1176         (Canvas2DLayerChromium):
1177         Remove setTextureManager() and setLayerTreeHost(), since their job
1178         has been subsumed by paintContentsIfDirty().
1179         * platform/graphics/chromium/TreeSynchronizer.cpp:
1180         (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
1181         Perform an early-out if the passed-in layer is NULL.
1182
1183 2012-03-14  Mark Pilgrim  <pilgrim@chromium.org>
1184
1185         Move EntriesCallback to Modules/filesystem/
1186         https://bugs.webkit.org/show_bug.cgi?id=81032
1187
1188         Reviewed by Adam Barth.
1189
1190         No new tests, all existing tests pass.
1191
1192         * CMakeLists.txt:
1193         * DerivedSources.make:
1194         * DerivedSources.pri:
1195         * GNUmakefile.list.am:
1196         * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
1197         * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
1198         * Target.pri:
1199         * WebCore.gypi:
1200         * WebCore.vcproj/WebCore.vcproj:
1201         * WebCore.xcodeproj/project.pbxproj:
1202         * fileapi/EntriesCallback.h: Removed.
1203         * fileapi/EntriesCallback.idl: Removed.
1204
1205 2012-03-14  Tony Chang  <tony@chromium.org>
1206
1207         multiline column flexbox with auto height wrap too much
1208         https://bugs.webkit.org/show_bug.cgi?id=80929
1209
1210         Reviewed by David Hyatt.
1211
1212         Test: css3/flexbox/multiline-column-auto.html
1213
1214         * rendering/RenderBox.cpp:
1215         (WebCore::RenderBox::computeLogicalHeightUsing):
1216         (WebCore):
1217         (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
1218         * rendering/RenderBox.h:
1219         (RenderBox):
1220         * rendering/RenderFlexibleBox.cpp:
1221         (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
1222         (WebCore):
1223         (WebCore::RenderFlexibleBox::computeNextFlexLine):
1224         * rendering/RenderFlexibleBox.h:
1225         (RenderFlexibleBox):
1226
1227 2012-03-14  Xingnan Wang  <xingnan.wang@intel.com>
1228
1229         Optimize the multiply-add in Biquad.cpp::process
1230         https://bugs.webkit.org/show_bug.cgi?id=75528
1231
1232         Reviewed by Chris Rogers.
1233
1234         Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
1235
1236         * platform/audio/Biquad.cpp:
1237         (WebCore::Biquad::process):
1238
1239 2012-03-14  James Robinson  <jamesr@chromium.org>
1240
1241         [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
1242         https://bugs.webkit.org/show_bug.cgi?id=79823
1243
1244         Reviewed by Adrienne Walker.
1245
1246         LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
1247         using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
1248         the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
1249         caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
1250         actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
1251         always set the viewport for the default render surface.
1252
1253         * platform/graphics/chromium/LayerRendererChromium.cpp:
1254         (WebCore::LayerRendererChromium::beginDrawingFrame):
1255         (WebCore::LayerRendererChromium::useRenderSurface):
1256
1257 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
1258
1259         Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
1260         https://bugs.webkit.org/show_bug.cgi?id=80155
1261
1262         Reviewed by Antti Koivisto.
1263
1264         This patch ensures that an iframe only schedules and calls parent's layout,
1265         when it is going to be flattened. Non-flattened iframe does not affect
1266         parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
1267         function has been added to test whether a particular child frame is changing
1268         parent's layout. This function also ensures that scheduleRelayout() and layout()
1269         are in sync of checking againts frame flattening.
1270
1271         Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
1272
1273         * page/FrameView.cpp:
1274         (WebCore::FrameView::avoidScrollbarCreation):
1275         (WebCore::FrameView::layout):
1276         (WebCore::FrameView::scheduleRelayout):
1277         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
1278         (WebCore):
1279         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
1280         * page/FrameView.h:
1281         (FrameView):
1282         * rendering/RenderIFrame.h:
1283         (RenderIFrame):
1284         (WebCore::RenderIFrame::renderName):
1285
1286 2012-03-14  Anders Carlsson  <andersca@apple.com>
1287
1288         Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
1289         https://bugs.webkit.org/show_bug.cgi?id=81146
1290         <rdar://problem/10850075>
1291
1292         Reviewed by Beth Dakin.
1293
1294         If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
1295         to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
1296         can look really bad if layout happens in response to the page being scrolled.
1297
1298         * platform/ScrollView.cpp:
1299         (WebCore::ScrollView::updateScrollbars):
1300
1301 2012-03-14  Tommy Widenflycht  <tommyw@google.com>
1302
1303         MediaStream API (JSEP): Introducing IceCandidate
1304         https://bugs.webkit.org/show_bug.cgi?id=80699
1305
1306         Reviewed by Adam Barth.
1307
1308         Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
1309         see bug 80589 for more information.
1310         Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
1311         This object will be created both from JS and the embedder.
1312
1313         Not possible to test until the entire JSEP feature is commited.
1314
1315         * GNUmakefile.list.am:
1316         * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1317         (WebCore):
1318         (WebCore::IceCandidate::create):
1319         (WebCore::IceCandidate::IceCandidate):
1320         (WebCore::IceCandidate::~IceCandidate):
1321         (WebCore::IceCandidate::label):
1322         (WebCore::IceCandidate::candidateLine):
1323         (WebCore::IceCandidate::toSdp):
1324         (WebCore::IceCandidate::descriptor):
1325         * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1326         (WebCore):
1327         (IceCandidate):
1328         * Modules/mediastream/IceCandidate.idl: Added.
1329         * WebCore.gypi:
1330         * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1331         (WebCore):
1332         (WebCore::IceCandidateDescriptor::create):
1333         (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
1334         (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
1335         (WebCore::IceCandidateDescriptor::toSdp):
1336         * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1337         (WebCore):
1338         (IceCandidateDescriptor):
1339         (WebCore::IceCandidateDescriptor::label):
1340         (WebCore::IceCandidateDescriptor::candidateLine):
1341         * platform/mediastream/MediaStreamCenter.cpp:
1342         (WebCore::MediaStreamCenter::constructSdp):
1343         (WebCore):
1344         * platform/mediastream/MediaStreamCenter.h:
1345         (WebCore):
1346         (MediaStreamCenter):
1347
1348 2012-03-14  Simon Fraser  <simon.fraser@apple.com>
1349
1350         background-visibility:hidden should create a RenderLayer
1351         https://bugs.webkit.org/show_bug.cgi?id=81134
1352
1353         Reviewed by Dean Jackson.
1354         
1355         Background-visibility:hidden has to create RenderLayers, because it's implemented
1356         via compositing and/or paint short-circuiting in RenderLayer code.
1357
1358         Test: transforms/3d/general/background-visibility-layers.html
1359
1360         * rendering/RenderBox.h:
1361         * rendering/RenderBoxModelObject.h:
1362         (WebCore::RenderBoxModelObject::requiresLayer):
1363         * rendering/RenderObject.h:
1364         (WebCore::RenderObject::hasHiddenBackface):
1365         * rendering/RenderTableRow.h:
1366
1367 2012-03-14  Raul Hudea  <rhudea@adobe.com>
1368
1369         [CSSRegions][CSSOM] Implement regionLayoutEvent
1370         https://bugs.webkit.org/show_bug.cgi?id=78882
1371
1372         Reviewed by David Hyatt.
1373
1374         Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
1375
1376         Tests: fast/regions/region-event-add-to-flow.html
1377                fast/regions/region-event-remove-from-dom.html
1378                fast/regions/region-event-remove-from-flow.html
1379                fast/regions/region-event.html
1380
1381         * dom/Document.cpp:
1382         (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
1383         * dom/Document.h:
1384         * dom/EventNames.h:
1385         (WebCore):
1386         * dom/Node.cpp:
1387         (WebCore::Node::dispatchRegionLayoutUpdateEvent):
1388         (WebCore):
1389         * dom/Node.h:
1390         (Node):
1391         * rendering/RenderFlowThread.cpp:
1392         (WebCore::RenderFlowThread::RenderFlowThread):
1393         (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
1394         (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
1395         (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
1396         (WebCore):
1397         * rendering/RenderFlowThread.h:
1398         * rendering/RenderRegion.cpp:
1399         (WebCore::RenderRegion::RenderRegion):
1400         * rendering/RenderRegion.h:
1401         (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
1402         (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
1403         (RenderRegion):
1404
1405 2012-03-14  Pierre Rossi  <pierre.rossi@gmail.com>
1406
1407         [Qt] Add support for vertical sliders in mobile theme
1408         https://bugs.webkit.org/show_bug.cgi?id=80179
1409
1410         This makes sliders using the "slider-vertical" appearance more sensible.
1411
1412         Reviewed by Simon Hausmann.
1413
1414         No new tests, since the mobile theme still isn't used in layout tests.
1415
1416         * platform/qt/RenderThemeQtMobile.cpp:
1417         (WebCore):
1418         (WebCore::StylePainterMobile::drawProgress):
1419         (WebCore::RenderThemeQtMobile::paintSliderTrack):
1420         * platform/qt/RenderThemeQtMobile.h:
1421         (StylePainterMobile):
1422
1423 2012-03-14  Jer Noble  <jer.noble@apple.com>
1424
1425         WebProcess spins beneath [QTMovie movieFileTypes:]
1426         https://bugs.webkit.org/show_bug.cgi?id=81133
1427
1428         Reviewed by Eric Carlson.
1429
1430         No new tests; speculative fix for top WebProcess spin.
1431
1432         When checking to see if a given mime type is supported by QuickTime,
1433         immediately exclude all types that do not begin with 'audio/' or 'video/'.
1434         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1435         (WebCore::MediaPlayerPrivateQTKit::supportsType):
1436
1437 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
1438
1439         Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
1440         https://bugs.webkit.org/show_bug.cgi?id=80301
1441
1442         Reviewed by Antti Koivisto.
1443
1444         Reorganize RenderIFrame flattenFrame() code, so that it returns
1445         earlier for the normal use case, when frame flattening is disabled.
1446         It also removes leftover null check.
1447
1448         No new tests, since there's no new functionality.
1449
1450         * rendering/RenderIFrame.cpp:
1451         (WebCore::RenderIFrame::flattenFrame):
1452
1453 2012-03-14  James Robinson  <jamesr@chromium.org>
1454
1455         [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
1456         https://bugs.webkit.org/show_bug.cgi?id=80667
1457
1458         Reviewed by Darin Fisher.
1459
1460         Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
1461         instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
1462         back to software.
1463
1464         Covered by canvas layout tests in the virtual-gpu mode.
1465
1466         * html/HTMLCanvasElement.cpp:
1467         (WebCore::HTMLCanvasElement::shouldAccelerate):
1468         * platform/chromium/PlatformSupport.h:
1469
1470 2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1471
1472         [GTK] Handle printing errors in WebKit2
1473         https://bugs.webkit.org/show_bug.cgi?id=77197
1474
1475         Reviewed by Gustavo Noronha Silva.
1476
1477         * platform/gtk/ErrorsGtk.cpp:
1478         (WebCore::printError): Create a generic print error.
1479         (WebCore::printerNotFoundError): Create a print error to notify
1480         that the selected printer could not be found.
1481         (WebCore::invalidPageRangeToPrint): Create a print error when the
1482         selected page range is invalid and there are no pages to print.
1483         * platform/gtk/ErrorsGtk.h:
1484         (WebCore): Add print error doamin.
1485
1486 2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
1487
1488         Make SVGUseElement respect & support externalResourcesRequired
1489         https://bugs.webkit.org/show_bug.cgi?id=81109
1490
1491         Reviewed by Rob Buis.
1492
1493         Generalize the existing externalResourcesRequired support from SVGScriptElement
1494         into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
1495         was lacking proper externalResourcesRequired support.
1496
1497         <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
1498         The onload handler now fires _after_ the external resources loaded, making it possible
1499         to write reliable tests that switch from internal to external resources or the other
1500         way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
1501         to SVGLoad events, to make them reliable.
1502
1503         We may be able to generalize this to cover SVGImageElement as well (the only other class which
1504         is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).
1505
1506         Covered by existing tests and the changes to the new SVGUseElement tests.
1507
1508         * svg/SVGElement.h:
1509         (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
1510         * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
1511         (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
1512         (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
1513         (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
1514         (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
1515         (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
1516         * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
1517         (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
1518         (WebCore::SVGExternalResourcesRequired::isParserInserted):
1519         (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
1520         * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
1521         (WebCore::SVGScriptElement::svgAttributeChanged):
1522         (WebCore::SVGScriptElement::insertedIntoDocument):
1523         (WebCore::SVGScriptElement::finishParsingChildren):
1524         * svg/SVGScriptElement.h: Ditto.
1525         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
1526         (WebCore::SVGScriptElement::dispatchLoadEvent):
1527         (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
1528         (WebCore::SVGScriptElement::isParserInserted):
1529         (WebCore::SVGScriptElement::haveFiredLoadEvent):
1530         * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
1531         (WebCore::SVGTests::handleAttributeChange):
1532         * svg/SVGTests.h:
1533         * svg/SVGTextPathElement.cpp:
1534         (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
1535         * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
1536         (WebCore::SVGUseElement::SVGUseElement):
1537         (WebCore::SVGUseElement::create):
1538         (WebCore::SVGUseElement::insertedIntoDocument):
1539         (WebCore::SVGUseElement::svgAttributeChanged):
1540         (WebCore::SVGUseElement::notifyFinished):
1541         (WebCore::SVGUseElement::finishParsingChildren):
1542         (WebCore):
1543         * svg/SVGUseElement.h: Ditto.
1544         (WebCore::SVGUseElement::haveLoadedRequiredResources):
1545         (WebCore::SVGUseElement::setHaveFiredLoadEvent):
1546         (WebCore::SVGUseElement::isParserInserted):
1547         (WebCore::SVGUseElement::haveFiredLoadEvent):
1548         * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.
1549
1550 2012-03-14  Andrew Lo  <anlo@rim.com>
1551
1552         [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
1553         https://bugs.webkit.org/show_bug.cgi?id=81000
1554
1555         Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
1556         Moved refreshDisplayOnMainThread to platform independant part of header.
1557
1558         Reviewed by Antonio Gomes.
1559
1560         requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
1561
1562         * PlatformBlackBerry.cmake:
1563         * platform/graphics/DisplayRefreshMonitor.cpp:
1564         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
1565         * platform/graphics/DisplayRefreshMonitor.h:
1566         (WebCore):
1567         (DisplayAnimationClient):
1568         (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
1569         (DisplayRefreshMonitor):
1570         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
1571         (WebCore):
1572         (WebCore::DisplayAnimationClient::DisplayAnimationClient):
1573         (WebCore::DisplayAnimationClient::animationFrameChanged):
1574         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
1575         (WebCore::DisplayRefreshMonitor::startAnimationClient):
1576         (WebCore::DisplayRefreshMonitor::stopAnimationClient):
1577         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
1578         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1579
1580 2012-03-14  Yury Semikhatsky  <yurys@chromium.org>
1581
1582         Web Inspector: use class name indexes instead of class names when evaluating aggregates
1583         https://bugs.webkit.org/show_bug.cgi?id=81100
1584
1585         Class name and type name indexes are now used when calculating class aggregates
1586         in heap snapshots instead of string lookup followed by a string comparison.
1587
1588         Class names like "Window / www.webkit.org" are now left as is in the UI (it used
1589         to be trimed to just "Window").
1590
1591         Reviewed by Pavel Feldman.
1592
1593         * inspector/front-end/HeapSnapshot.js:
1594         (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
1595         (WebInspector.HeapSnapshotNode.prototype.hasType):
1596         (WebInspector.HeapSnapshot.prototype._init):
1597         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1598
1599 2012-03-14  Andrey Kosyakov  <caseq@chromium.org>
1600
1601         Web Inspector: add didCancelFrame timeline event
1602         https://bugs.webkit.org/show_bug.cgi?id=80994
1603
1604         Reviewed by Pavel Feldman.
1605
1606         - add an ability to cancel certain timeline events, unless they've been followed by other events.
1607         - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.
1608
1609         Test: inspector/timeline/timeline-frames.html
1610
1611         * WebCore.exp.in:
1612         * inspector/InspectorInstrumentation.cpp:
1613         (WebCore::InspectorInstrumentation::didCancelFrameImpl):
1614         (WebCore):
1615         * inspector/InspectorInstrumentation.h:
1616         (InspectorInstrumentation):
1617         (WebCore::InspectorInstrumentation::didCancelFrame):
1618         (WebCore):
1619         * inspector/InspectorTimelineAgent.cpp:
1620         (WebCore::InspectorTimelineAgent::didBeginFrame):
1621         (WebCore):
1622         (WebCore::InspectorTimelineAgent::didCancelFrame):
1623         (WebCore::InspectorTimelineAgent::appendRecord):
1624         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1625         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
1626         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
1627         (WebCore::InspectorTimelineAgent::cancelRecord):
1628         * inspector/InspectorTimelineAgent.h:
1629         (InspectorTimelineAgent):
1630         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1631         (TimelineRecordEntry):
1632         * testing/Internals.cpp:
1633         (WebCore::Internals::emitInspectorDidBeginFrame):
1634         (WebCore):
1635         (WebCore::Internals::emitInspectorDidCancelFrame):
1636         * testing/Internals.h:
1637         (Internals):
1638         * testing/Internals.idl:
1639
1640 2012-03-14  Dana Jansens  <danakj@chromium.org>
1641
1642         Region can acquire an empty span by subtracting an empty Region
1643         https://bugs.webkit.org/show_bug.cgi?id=81074
1644
1645         Reviewed by Anders Carlsson.
1646
1647         Subtracting an empty Region B from a Region A can cause A to end
1648         up with an empty span. This violates the rule that two Regions
1649         that cover the exact same area should have equal spans and segments.
1650
1651         Unit test: RegionTest.emptySpan
1652
1653         * platform/graphics/Region.cpp:
1654         (WebCore::Region::subtract):
1655
1656 2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
1657
1658         [Textmap] Disable driver based BGRA swizzling for OpenGL/ES
1659
1660         Reviewed by Noam Rosenthal.
1661
1662         The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
1663         is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
1664         In the meantime this patch reverts back to doing the swizzling in the texture mapper to
1665         get pixels back onto the screen.
1666
1667         * platform/graphics/texmap/TextureMapperGL.cpp:
1668         (WebCore::driverSupportsBGRASwizzling):
1669         (WebCore::BitmapTextureGL::updateContents):
1670
1671 2012-03-14  Leo Yang  <leo.yang@torchmobile.com.cn>
1672
1673         [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
1674         https://bugs.webkit.org/show_bug.cgi?id=81086
1675
1676         Reviewed by Rob Buis.
1677
1678         * platform/Cursor.h:
1679         (WebCore):
1680         (WebCore::Cursor::Cursor):
1681         Add the BlackBerry specific PlatformCursor.
1682         * platform/blackberry/PageClientBlackBerry.h:
1683         There was an alias named PlatformCursorHandle for PlatformCursor
1684         in the internal version of Cursor.h. But it's not necessary so it's
1685         not included in the upstreaming version of Cursor.h. As a result,
1686         use PlatformCursor directly in this file.
1687         (PageClientBlackBerry):
1688
1689 2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
1690
1691         [Qt] RunLoopQt is missing reentrancy guards
1692         https://bugs.webkit.org/show_bug.cgi?id=80982
1693
1694         Reviewed by Tor Arne Vestbø.
1695
1696         Avoid recursive calls to RunLoop::performWork() with a simple
1697         counting mechanism, to avoid out-of-order message dispatching.
1698
1699         * platform/qt/RunLoopQt.cpp:
1700         (WebCore::RunLoop::TimerObject::TimerObject):
1701         (WebCore::RunLoop::TimerObject::performWork):
1702         (RunLoop::TimerObject):
1703
1704 2012-03-14  Ilya Tikhonovsky  <loislo@chromium.org>
1705
1706         Web Inspector: small improvement for HeapSnapshot performance ~12%.
1707         https://bugs.webkit.org/show_bug.cgi?id=81033
1708
1709         Reviewed by Yury Semikhatsky.
1710
1711         * inspector/front-end/HeapSnapshot.js:
1712         (WebInspector.HeapSnapshot.prototype.get nodeCount):
1713         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1714         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
1715         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
1716         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1717
1718 2012-03-14  Kentaro Hara  <haraken@chromium.org>
1719
1720         Return null when shouldAllowAccessToNode() fails
1721         https://bugs.webkit.org/show_bug.cgi?id=80205
1722
1723         Reviewed by Adam Barth.
1724
1725         shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
1726         and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
1727         requires that they should return null when the security check fails.
1728         Thus this patch changes the return value from undefined to null.
1729
1730         http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
1731         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
1732
1733         Tests: http/tests/security/local-iFrame-from-remote.html
1734                http/tests/security/cross-frame-access-frameelement.html
1735                http/tests/security/cross-frame-access-put.html
1736
1737         * bindings/scripts/CodeGeneratorJS.pm:
1738         (GenerateImplementation):
1739         * bindings/scripts/CodeGeneratorV8.pm:
1740         (GenerateNormalAttrGetter):
1741         (GenerateFunctionCallback):
1742
1743         * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
1744         (WebCore::jsTestObjContentDocument):
1745         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
1746         * bindings/scripts/test/V8/V8TestObj.cpp:
1747         (WebCore::TestObjInternal::contentDocumentAttrGetter):
1748         (WebCore::TestObjInternal::getSVGDocumentCallback):
1749
1750 2012-03-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1751
1752         Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
1753         directory
1754         https://bugs.webkit.org/show_bug.cgi?id=81093
1755
1756         Reviewed by Philippe Normand.
1757
1758         Fix build error introduced by r110669.
1759
1760         * platform/network/soup/DNSSoup.cpp:
1761
1762 2012-03-14  Marja Hölttä  <marja@google.com>
1763
1764         WebHTTPBody: Keep track of whether the data includes passwords.
1765         https://bugs.webkit.org/show_bug.cgi?id=81003
1766
1767         Reviewed by Darin Fisher.
1768
1769         This change enables Chrome to save HTTP bodies selectively, only
1770         if they don't contain passwords.
1771
1772         * loader/FormSubmission.cpp:
1773         (WebCore::FormSubmission::create): Check if the data contains passwords.
1774         * platform/network/FormData.cpp:
1775         (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
1776         * platform/network/FormData.h:
1777         (WebCore::FormData::containsPasswordData): Added.
1778         (WebCore::FormData::setHasPasswordData): Added.
1779         (FormData):
1780
1781 2012-03-14  Vsevolod Vlasov  <vsevik@chromium.org>
1782
1783         Web Inspector: Add snippets tab to scripts navigator.
1784         https://bugs.webkit.org/show_bug.cgi?id=81018
1785
1786         Reviewed by Pavel Feldman.
1787
1788         * English.lproj/localizedStrings.js:
1789         * inspector/front-end/ScriptsNavigator.js:
1790         (WebInspector.ScriptsNavigator):
1791         (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
1792         (WebInspector.ScriptsNavigator.prototype.focus):
1793         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
1794         (WebInspector.ScriptsNavigator.prototype.reset):
1795         (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
1796         (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
1797         (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
1798         (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
1799         (WebInspector.NavigatorTreeOutline):
1800         * inspector/front-end/ScriptsPanel.js:
1801         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1802         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1803         * inspector/front-end/SnippetsModel.js:
1804
1805 2012-03-14  Pavel Feldman  <pfeldman@chromium.org>
1806
1807         Web Inspector: Copy on the Console gives a mangled result.
1808         https://bugs.webkit.org/show_bug.cgi?id=81091
1809
1810         Reviewed by Vsevolod Vlasov.
1811
1812         * inspector/front-end/ConsoleMessage.js:
1813         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1814         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1815
1816 2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
1817
1818         External <use> xlink:href references do not work
1819         https://bugs.webkit.org/show_bug.cgi?id=12499
1820
1821         Reviewed by Zoltan Herczeg.
1822
1823         Follow-up fix after r110676.
1824         Assertions are firing due last minute changes in isExternalURIReference.
1825
1826         Fix detecting local resources properly, when the given iri contains a /complex/path.
1827         Use document->completeURL() instead, and compare with the document->url() to decide
1828         if its a local reference or not.
1829
1830         If an external document load fails with an error (eg. file missing) don't assert
1831         in debug builds, instead handle it gracefully.
1832
1833         I decided to clean the code up as well, to make it more safe & obvious.
1834
1835         Test: svg/custom/use-external-crash.svg
1836
1837         * svg/SVGURIReference.cpp:
1838         (WebCore::SVGURIReference::targetElementFromIRIString):
1839         * svg/SVGURIReference.h:
1840         (WebCore::SVGURIReference::isExternalURIReference):
1841         * svg/SVGUseElement.cpp:
1842         (WebCore::SVGUseElement::externalDocument):
1843         (WebCore::SVGUseElement::buildPendingResource):
1844
1845 2012-03-14  Lars Knudsen  <lars.knudsen@nokia.com>
1846
1847         3D transformed surfaces with z>0 gets cropped
1848         https://bugs.webkit.org/show_bug.cgi?id=81009
1849
1850         Reviewed by Noam Rosenthal.
1851
1852         The scissor clipping in TextureMapperGL didn't take 3D transforms 
1853         into account when calculating the clipping region.
1854         Now, it will bail out early if the transform is not affine.
1855
1856         No new tests. Tested by current compositing layout tests.
1857
1858         * platform/graphics/texmap/TextureMapperGL.cpp:
1859         (WebCore::TextureMapperGL::beginScissorClip):
1860
1861 2012-03-14  Hajime Morrita  <morrita@chromium.org>
1862
1863         Unreviewed build fix.
1864
1865         * html/track/TextTrackList.cpp:
1866         (TextTrackList::append):
1867         (TextTrackList::remove):
1868         (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
1869         * html/track/TextTrackList.h:
1870         (TextTrackList):
1871
1872 2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
1873
1874         Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
1875         https://bugs.webkit.org/show_bug.cgi?id=81022
1876
1877         Reviewed by Pavel Feldman.
1878
1879         * inspector/front-end/IndexedDBViews.js:
1880         (WebInspector.IDBDataView):
1881         (WebInspector.IDBDataView.prototype._updateData.callback):
1882         (WebInspector.IDBDataView.prototype._updateData):
1883         (WebInspector.IDBDataView.prototype.get statusBarItems):
1884         (WebInspector.IDBDataView.prototype.clear):
1885         * inspector/front-end/ResourcesPanel.js:
1886         (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
1887         (WebInspector.IDBDatabaseTreeElement.prototype.update):
1888         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
1889         (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
1890         (WebInspector.IDBDatabaseTreeElement.prototype.clear):
1891         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
1892         (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
1893         (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
1894         (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
1895         (WebInspector.IDBIndexTreeElement.prototype.onselect):
1896         (WebInspector.IDBIndexTreeElement.prototype.clear):
1897
1898 2012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1899
1900         Web Inspector: Introduce SnippetsScriptMapping.
1901         https://bugs.webkit.org/show_bug.cgi?id=80890
1902
1903         Reviewed by Pavel Feldman.
1904
1905         * inspector/front-end/ScriptMapping.js:
1906         (WebInspector.MainScriptMapping):
1907         (WebInspector.MainScriptMapping.prototype.addScript):
1908         (WebInspector.MainScriptMapping.prototype._mappingForScript):
1909         * inspector/front-end/SnippetsModel.js:
1910         (WebInspector.SnippetsModel.prototype.snippetForId):
1911         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
1912         (WebInspector.SnippetsScriptMapping):
1913         (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
1914         (WebInspector.SnippetsScriptMapping.prototype.addScript):
1915         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1916         (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
1917         (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
1918         (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
1919         (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
1920         (WebInspector.SnippetsScriptMapping.prototype.reset):
1921         (WebInspector.SnippetContentProvider):
1922
1923 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1924
1925         Unreviewed, rolling out r110673.
1926         http://trac.webkit.org/changeset/110673
1927         https://bugs.webkit.org/show_bug.cgi?id=81090
1928
1929         "Qt minimal build broken" (Requested by yurys on #webkit).
1930
1931         * inspector/CodeGeneratorInspector.py:
1932         (CommandReturnPassModel.ByPointer.get_set_return_condition):
1933         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
1934         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
1935         (Generator.process_event):
1936         (Generator.process_command):
1937         * inspector/ContentSearchUtils.cpp:
1938         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
1939         (WebCore::ContentSearchUtils::searchInTextByLines):
1940         * inspector/ContentSearchUtils.h:
1941         (ContentSearchUtils):
1942         * inspector/InjectedScript.cpp:
1943         (WebCore::InjectedScript::evaluate):
1944         (WebCore::InjectedScript::callFunctionOn):
1945         (WebCore::InjectedScript::evaluateOnCallFrame):
1946         (WebCore::InjectedScript::makeEvalCall):
1947         * inspector/InjectedScript.h:
1948         (InjectedScript):
1949         * inspector/InspectorDOMDebuggerAgent.cpp:
1950         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
1951         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
1952         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
1953         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
1954         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1955         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1956         * inspector/InspectorDebuggerAgent.cpp:
1957         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1958         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1959         (WebCore::InspectorDebuggerAgent::searchInContent):
1960         (WebCore::InspectorDebuggerAgent::setScriptSource):
1961         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1962         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1963         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1964         (WebCore::InspectorDebuggerAgent::didPause):
1965         (WebCore::InspectorDebuggerAgent::breakProgram):
1966         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1967         * inspector/InspectorDebuggerAgent.h:
1968         (InspectorDebuggerAgent):
1969         * inspector/InspectorPageAgent.cpp:
1970         (WebCore::buildObjectForCookie):
1971         (WebCore::buildArrayForCookies):
1972         (WebCore::InspectorPageAgent::getCookies):
1973         (WebCore::InspectorPageAgent::getResourceTree):
1974         (WebCore::InspectorPageAgent::searchInResource):
1975         (WebCore::InspectorPageAgent::searchInResources):
1976         (WebCore::InspectorPageAgent::buildObjectForFrame):
1977         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1978         * inspector/InspectorPageAgent.h:
1979         * inspector/InspectorRuntimeAgent.cpp:
1980         (WebCore::InspectorRuntimeAgent::evaluate):
1981         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1982
1983 2012-03-14  Renata Hodovan  <reni@webkit.org>
1984
1985         External <use> xlink:href references do not work
1986         https://bugs.webkit.org/show_bug.cgi?id=12499
1987
1988         Reviewed by Nikolas Zimmermann.
1989
1990         This is a follow-up patch after r108785.
1991         In this patch we bind the previously introduced CachedSVGDocument class
1992         into the caching mechanism of SVGUseElement. The mode how external resources
1993         are handled is similar to the processing of internal ones. We build the instance
1994         and shadow tree the same way but we have to keep in mind that the requested resources
1995         maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.
1996
1997         SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
1998         computation needs to take the referenced documents URL into account, instead of the current documents.
1999
2000         The patch affects a lot of tests which have external resources especially in svg/batik. Because
2001         of the size of that test refactor they will be commited in a follow-up patch.
2002
2003         Tests: svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
2004                svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
2005                svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t.svg
2006                svg/custom/use-extern-href.svg
2007                svg/custom/use-referencing-an-image-expected.svg
2008                svg/custom/use-referencing-an-image.svg
2009                svg/custom/use-referencing-indirectly-itself-expected.svg
2010                svg/custom/use-referencing-indirectly-itself.svg
2011                svg/custom/use-referencing-itself-expected.svg
2012                svg/custom/use-referencing-itself.svg
2013                svg/dynamic-updates/SVGUseElement-dom-href1-attr.html
2014                svg/dynamic-updates/SVGUseElement-dom-href2-attr.html
2015                svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html
2016                svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html
2017
2018         * loader/cache/CachedResourceLoader.cpp:
2019         (WebCore):
2020         (WebCore::CachedResourceLoader::requestSVGDocument):
2021         * loader/cache/CachedResourceLoader.h:
2022         (WebCore):
2023         (CachedResourceLoader):
2024         * page/ContentSecurityPolicy.h:
2025         * platform/KURL.cpp:
2026         (WebCore::equalIgnoringFragmentIdentifier):
2027         * platform/network/chromium/ResourceRequest.h:
2028         * svg/SVGURIReference.cpp:
2029         (WebCore::urlFromIRIStringWithFragmentIdentifier):
2030         (WebCore):
2031         (WebCore::SVGURIReference::targetElementFromIRIString):
2032         * svg/SVGURIReference.h:
2033         (SVGURIReference):
2034         (WebCore::SVGURIReference::isExternalURIReference):
2035         * svg/SVGUseElement.cpp:
2036         (WebCore::SVGUseElement::SVGUseElement):
2037         (WebCore::SVGUseElement::~SVGUseElement):
2038         (WebCore):
2039         (WebCore::SVGUseElement::referencedDocument):
2040         (WebCore::SVGUseElement::externalDocument):
2041         (WebCore::SVGUseElement::svgAttributeChanged):
2042         (WebCore::dumpInstanceTree):
2043         (WebCore::SVGUseElement::buildPendingResource):
2044         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2045         (WebCore::SVGUseElement::hasCycleUseReferencing):
2046         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2047         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
2048         (WebCore::SVGUseElement::notifyFinished):
2049         (WebCore::SVGUseElement::cachedDocumentIsStillLoading):
2050         (WebCore::SVGUseElement::instanceTreeIsLoading):
2051         * svg/SVGUseElement.h:
2052         (WebCore):
2053         (SVGUseElement):
2054
2055 2012-03-14  Peter Rybin  <peter.rybin@gmail.com>
2056
2057         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
2058         https://bugs.webkit.org/show_bug.cgi?id=80789
2059
2060         Reviewed by Yury Semikhatsky.
2061
2062         OptOutput class is added for optional return parameters.
2063
2064         Strict mode added to Generator that makes all parameter types strict
2065         and drop pre-set default values for return parameters.
2066
2067         Debugger and Page domain is switched to strict mode.
2068
2069
2070         * inspector/CodeGeneratorInspector.py:
2071         (CommandReturnPassModel.ByPointer):
2072         (CommandReturnPassModel):
2073         (CommandReturnPassModel.OptOutput):
2074         (CommandReturnPassModel.OptOutput.__init__):
2075         (CommandReturnPassModel.OptOutput.get_return_var_type):
2076         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
2077         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
2078         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
2079         (CommandReturnPassModel.OptOutput.get_set_return_condition):
2080         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
2081         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
2082         (OptOutput):
2083         (Generator.process_event):
2084         (Generator.process_command):
2085         * inspector/ContentSearchUtils.cpp:
2086         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
2087         (WebCore::ContentSearchUtils::searchInTextByLines):
2088         * inspector/ContentSearchUtils.h:
2089         (ContentSearchUtils):
2090         * inspector/InjectedScript.cpp:
2091         (WebCore::InjectedScript::evaluate):
2092         (WebCore::InjectedScript::callFunctionOn):
2093         (WebCore::InjectedScript::evaluateOnCallFrame):
2094         (WebCore::InjectedScript::makeEvalCall):
2095         * inspector/InjectedScript.h:
2096         (InjectedScript):
2097         * inspector/InspectorDOMDebuggerAgent.cpp:
2098         (WebCore):
2099         * inspector/InspectorDebuggerAgent.cpp:
2100         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2101         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2102         (WebCore::InspectorDebuggerAgent::searchInContent):
2103         (WebCore::InspectorDebuggerAgent::setScriptSource):
2104         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2105         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
2106         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2107         (WebCore::InspectorDebuggerAgent::didPause):
2108         (WebCore::InspectorDebuggerAgent::breakProgram):
2109         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
2110         * inspector/InspectorDebuggerAgent.h:
2111         (InspectorDebuggerAgent):
2112         * inspector/InspectorPageAgent.cpp:
2113         (WebCore::buildObjectForCookie):
2114         (WebCore::buildArrayForCookies):
2115         (WebCore::InspectorPageAgent::getCookies):
2116         (WebCore::InspectorPageAgent::getResourceTree):
2117         (WebCore::InspectorPageAgent::searchInResource):
2118         (WebCore::InspectorPageAgent::searchInResources):
2119         (WebCore::InspectorPageAgent::buildObjectForFrame):
2120         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2121         * inspector/InspectorPageAgent.h:
2122         * inspector/InspectorRuntimeAgent.cpp:
2123         (WebCore::InspectorRuntimeAgent::evaluate):
2124         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2125
2126 2012-03-14  Sergio Villar Senin  <svillar@igalia.com>
2127
2128         Unreviewed. Build fix for EFL after r110669.
2129
2130         * PlatformEfl.cmake: added DNSSoup.cpp
2131
2132 2012-03-13  Sergio Villar Senin  <svillar@igalia.com>
2133
2134         [GTK] Use the same DNS prefetching path than the other ports.
2135         https://bugs.webkit.org/show_bug.cgi?id=80997
2136
2137         Reviewed by Martin Robinson.
2138
2139         This patch basically reverts r56128. There is no need to add an
2140         special code path for GTK+ DNS pre-fetching because the main
2141         reason to do that (some potential changes in libsoup) is not
2142         going to happen. It also reduces the amount of DNS queries by
2143         adding a NULL hostname check.
2144
2145         No need for new tests as this just moves code around.
2146
2147         * GNUmakefile.list.am:
2148         * html/HTMLAnchorElement.cpp:
2149         (WebCore::HTMLAnchorElement::parseAttribute):
2150         * html/HTMLLinkElement.cpp:
2151         * loader/LinkLoader.cpp:
2152         (WebCore::LinkLoader::loadLink):
2153         * page/Chrome.cpp:
2154         (WebCore::Chrome::mouseDidMoveOverElement):
2155         * platform/network/DNS.h:
2156         (WebCore):
2157         * platform/network/ResourceHandle.cpp:
2158         * platform/network/ResourceHandle.h:
2159         (ResourceHandle):
2160         * platform/network/chromium/DNSChromium.cpp:
2161         * platform/network/soup/DNSSoup.cpp: restored.
2162         (WebCore):
2163         (WebCore::prefetchDNS):
2164         * platform/network/soup/ResourceHandleSoup.cpp:
2165
2166 2012-03-14  Kentaro Hara  <haraken@chromium.org>
2167
2168         Return null when shouldAllowAccessToNode() fails
2169         https://bugs.webkit.org/show_bug.cgi?id=80205
2170
2171         Reviewed by Adam Barth.
2172
2173         shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
2174         and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
2175         requires that they should return null when the security check fails.
2176         Thus this patch changes the return value from undefined to null.
2177
2178         http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
2179         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
2180
2181         Tests: http/tests/security/local-iFrame-from-remote.html
2182                http/tests/security/cross-frame-access-frameelement.html
2183                http/tests/security/cross-frame-access-put.html
2184
2185         * bindings/scripts/CodeGeneratorJS.pm:
2186         (GenerateImplementation):
2187         * bindings/scripts/CodeGeneratorV8.pm:
2188         (GenerateNormalAttrGetter):
2189         (GenerateFunctionCallback):
2190
2191         * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
2192         (WebCore::jsTestObjContentDocument):
2193         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2194         * bindings/scripts/test/V8/V8TestObj.cpp:
2195         (WebCore::TestObjInternal::contentDocumentAttrGetter):
2196         (WebCore::TestObjInternal::getSVGDocumentCallback):
2197
2198 2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
2199
2200         [Forms] Hidden input element should not have labels. 
2201         https://bugs.webkit.org/show_bug.cgi?id=80403
2202
2203         Reviewed by Kent Tamura.
2204
2205         This patch changes "labels" attribute behavior for hidden input type.
2206         It returns null instead of NodeList of labels or empty node list.
2207
2208         Note: The HTML5 specification isn't clear for non-labelable element's "labels"
2209         attribute return value. Firefox and Opera return empty node list. IE returns null.
2210
2211         No new tests. Existing tests are updated.
2212
2213         * html/HTMLInputElement.cpp:
2214         (WebCore::HTMLInputElement::isLabelable): Added. Dispatch to InputType.
2215         * html/HiddenInputType.h:  Added isLabelable returning false.
2216         * html/InputType.cpp:
2217         (WebCore::InputType::isLabelable): Added. Returning true for all input types except for "hidden" type.
2218         (WebCore):
2219         * html/InputType.h:
2220         (InputType): Added isLabelable declaration.
2221
2222 2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
2223
2224         [Forms] The "output" element should have labels.
2225         https://bugs.webkit.org/show_bug.cgi?id=80466
2226
2227         Reviewed by Kent Tamura.
2228
2229         This patch enables functionality of "labels" attribute for
2230         HTMLOutputElement implemented in LabelableElement which use
2231         isLabelable predicate whether an element can have label or not.
2232
2233         Update existing tests in fast/forms/label/ directory to cover
2234         the "output" element with the "labels" attribute.
2235
2236         * html/HTMLOutputElement.h: Implement virtual method isLabelable.
2237
2238 2012-03-13  Luke Macpherson   <macpherson@chromium.org>
2239
2240         Move opacity clamping into RenderStyle setter.
2241         https://bugs.webkit.org/show_bug.cgi?id=76966
2242
2243         Reviewed by Eric Seidel.
2244
2245         Covered by existing tests.
2246
2247         * css/CSSStyleSelector.cpp:
2248         (WebCore::CSSStyleSelector::applyProperty):
2249         * rendering/style/RenderStyle.h:
2250         (WebCore::RenderStyleBitfields::setOpacity):
2251
2252 2012-03-12  Igor Oliveira  <igor.o@sisa.samsung.com>
2253
2254         Split the extra logic out of RenderObjectChildList::updateBeforeAfterContent
2255         https://bugs.webkit.org/show_bug.cgi?id=80856
2256
2257         Extra part of the generated content handling logic out of RenderObjectChildList::updateBeforeAfterContent
2258
2259         Reviewed by Julien Chaffraix.
2260
2261         No change in behavior expected.
2262
2263         * rendering/RenderObjectChildList.cpp:
2264         (WebCore::RenderObjectChildList::updateBeforeAfterStyle):
2265         (WebCore::createRenderForBeforeAfterContent):
2266         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2267         * rendering/RenderObjectChildList.h:
2268         (WebCore):
2269         (RenderObjectChildList):
2270
2271 2012-03-13  Simon Fraser  <simon.fraser@apple.com>
2272
2273         Fix potential crash when loading test results
2274         https://bugs.webkit.org/show_bug.cgi?id=81062
2275         <rdar://problem/11041732>
2276         
2277         Reviewed by Dean Jackson.
2278
2279         If RenderLayerBacking::isSimpleContainerCompositingLayer() is called early,
2280         before the document has a documentElement(), then it crashes. Fix with
2281         a null check on documentElement().
2282         
2283         No test because it's timing dependent.
2284
2285         * rendering/RenderLayerBacking.cpp:
2286         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2287
2288 2012-03-13  Dan Bernstein  <mitz@apple.com>
2289
2290         <rdar://problem/11025225> Assertion failure in RenderView::computeRectForRepaint() (!repaintContainer || repaintContainer == this) at store.apple.com
2291         https://bugs.webkit.org/show_bug.cgi?id=81051
2292
2293         Reviewed by Simon Fraser.
2294
2295         Test: ManualTests/inline-repaint-container.html.
2296
2297         * rendering/RenderInline.cpp:
2298         (WebCore::RenderInline::clippedOverflowRectForRepaint): This function was not handling the
2299         case of the repaint container being a descendant of the containing block correctly, leading
2300         to the assertion failure, but also to a correctness bug seen in the new test. If the repaint
2301         container is a descendant of the containing block, just return the rect in the repaint
2302         container coordinates.
2303
2304 2012-03-13  Dan Bernstein  <mitz@apple.com>
2305
2306         <rdar://problem/11025217> [Mac] Assertion failure in collectComplexTextRunsForCharactersCoreText
2307         https://bugs.webkit.org/show_bug.cgi?id=77044
2308
2309         Reviewed by Sam Weinig.
2310
2311         Test: platform/mac/fast/text/core-text-fallback-to-unknown-font.html
2312
2313         Handle the case of Core Text choosing a fallback font that NSFontManager cannot find by name.
2314
2315         * platform/graphics/FontCache.h:
2316         (FontCache): Made ComplexTextController a friend class.
2317         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2318         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Removed the
2319         failing assertion, which was not true, and added code to handle the case where a font
2320         cannot be found by name by using the font as returned from Core Text.
2321
2322 2012-03-13  Erik Arvidsson  <arv@chromium.org>
2323
2324         [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
2325         https://bugs.webkit.org/show_bug.cgi?id=80880
2326
2327         Reviewed by Adam Barth.
2328
2329         We used to add a hidden property in the getter to the returned wrapper.
2330         With this patch we instead handle the liveness of the wrapper in the GC phase by
2331         calling v8::V8::AddHiddenReference.
2332
2333         To reduce the amount of custom code we need, the V8 code generator now supports
2334         GenerateIsReachable (as well as CustomIsReachable) which, even though different
2335         from the JSC attribute, is used in the same cases and takes the same values (even though
2336         at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
2337         also have a dependent life time (just like if V8DependentLifetime was present).
2338
2339         Second try. This time with an added include in TextTrackList.cpp.
2340
2341         No new tests. Covered by existing tests.
2342
2343         * Target.pri:
2344         * UseV8.cmake:
2345         * WebCore.gypi:
2346         * bindings/scripts/CodeGeneratorJS.pm:
2347         (GetGenerateIsReachable):
2348         (GetCustomIsReachable):
2349         (GenerateHeader):
2350         (GenerateImplementation):
2351         * bindings/scripts/CodeGeneratorV8.pm:
2352         (NeedsToVisitDOMWrapper):
2353         (GetGenerateIsReachable):
2354         (GetCustomIsReachable):
2355         (GenerateVisitDOMWrapper):
2356         (GenerateHeader):
2357         (GenerateNamedConstructorCallback):
2358         (GenerateImplementation):
2359         * bindings/scripts/IDLAttributes.txt:
2360         * bindings/scripts/test/V8/V8Float64Array.cpp:
2361         (WebCore):
2362         * bindings/scripts/test/V8/V8Float64Array.h:
2363         (V8Float64Array):
2364         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2365         (WebCore):
2366         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2367         (V8TestActiveDOMObject):
2368         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2369         (WebCore):
2370         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2371         (V8TestCustomNamedGetter):
2372         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2373         (WebCore):
2374         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2375         (V8TestEventConstructor):
2376         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2377         (WebCore):
2378         * bindings/scripts/test/V8/V8TestEventTarget.h:
2379         (V8TestEventTarget):
2380         * bindings/scripts/test/V8/V8TestInterface.cpp:
2381         (WebCore):
2382         * bindings/scripts/test/V8/V8TestInterface.h:
2383         (V8TestInterface):
2384         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2385         (WebCore):
2386         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2387         (V8TestMediaQueryListListener):
2388         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2389         (WebCore):
2390         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2391         (V8TestNamedConstructor):
2392         * bindings/scripts/test/V8/V8TestObj.cpp:
2393         (WebCore):
2394         * bindings/scripts/test/V8/V8TestObj.h:
2395         (V8TestObj):
2396         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2397         (WebCore):
2398         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2399         (V8TestSerializedScriptValueInterface):
2400         * bindings/v8/NPV8Object.cpp:
2401         (WebCore::npObjectTypeInfo):
2402         * bindings/v8/V8GCController.cpp:
2403         (WebCore::GrouperVisitor::visitDOMWrapper):
2404         * bindings/v8/WrapperTypeInfo.h:
2405         (WebCore):
2406         (WrapperTypeInfo):
2407         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
2408         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2409         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
2410         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2411         (WebCore):
2412         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2413         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2414         (WebCore::toV8):
2415         * css/CSSStyleSheet.idl:
2416         * css/StyleSheet.idl:
2417         * dom/DOMStringMap.idl:
2418         * dom/NamedNodeMap.idl:
2419         * html/DOMTokenList.idl:
2420         * html/track/TextTrackList.cpp:
2421         * html/track/TextTrackList.idl:
2422
2423 2012-03-13  Jacky Jiang  <zhajiang@rim.com>
2424
2425         MathML crash in WebCore::Node::previousSibling()
2426         https://bugs.webkit.org/show_bug.cgi?id=80773
2427
2428         Reviewed by Julien Chaffraix.
2429
2430         When adding child for msub render, if the child is mtr or mtd render,
2431         we will creat an anonymous render as the container. As the anonymous
2432         render's node is 0, accessing it directly can cause crash.
2433         We should do a valid check of the node before using. In addition to
2434         that, for msub, attach the anonymous render and it's children to render
2435         tree. For msubsup, such kind of situation should never happen based on
2436         the current codebase.
2437
2438         Test: mathml/msub-anonymous-child-render-crash.html
2439
2440         * rendering/mathml/RenderMathMLSubSup.cpp:
2441         (WebCore::RenderMathMLSubSup::addChild):
2442
2443 2012-03-13  Mihnea Ovidenie  <mihnea@adobe.com>
2444
2445         [CSSRegions]NamedFlow::getRegionsByContentNode should not return a live NodeList
2446         https://bugs.webkit.org/show_bug.cgi?id=81021
2447
2448         Reviewed by Ryosuke Niwa.
2449
2450         Reverting the original patch as we need a better solution.
2451
2452         * CMakeLists.txt:
2453         * GNUmakefile.list.am:
2454         * Target.pri:
2455         * WebCore.gypi:
2456         * WebCore.vcproj/WebCore.vcproj:
2457         * WebCore.xcodeproj/project.pbxproj:
2458         * dom/Node.cpp:
2459         (WebCore::NodeListsNodeData::invalidateCaches):
2460         (WebCore::NodeListsNodeData::isEmpty):
2461         * dom/Node.h:
2462         (Node):
2463         * dom/NodeRareData.h:
2464         (NodeListsNodeData):
2465         * dom/RegionNodeList.cpp: Removed.
2466         * dom/RegionNodeList.h: Removed.
2467         * dom/WebKitNamedFlow.cpp:
2468         * dom/WebKitNamedFlow.h:
2469         (WebKitNamedFlow):
2470         * dom/WebKitNamedFlow.idl:
2471         * rendering/RenderFlowThread.cpp:
2472         * rendering/RenderFlowThread.h:
2473         * rendering/RenderRegion.h:
2474         (RenderRegion):
2475
2476 2012-03-13  Shawn Singh  <shawnsingh@chromium.org>
2477
2478         [chromium] wrong transform causing incorrect culling
2479         https://bugs.webkit.org/show_bug.cgi?id=80471
2480
2481         Reviewed by James Robinson.
2482
2483         Unit test added to CCRenderSurfaceTest.cpp
2484
2485         In addition to using originTransform() instead of drawTransform(),
2486         this patch shuffles a bit of code so that a unit test can be
2487         easily added.
2488
2489         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2490         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
2491         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2492         (WebCore::CCRenderSurface::createSharedQuadState):
2493         (WebCore):
2494         * platform/graphics/chromium/cc/CCRenderSurface.h:
2495         (CCRenderSurface):
2496
2497 2012-03-13  Dave Tharp  <dtharp@codeaurora.org>
2498
2499         Alternate xml-stylesheets with no title are loaded, in violation of the CSSOM draft
2500         https://bugs.webkit.org/show_bug.cgi?id=77549
2501
2502         Reviewed by David Hyatt.
2503
2504         Amended code to ignore alternate stylesheets that do not have a title attribute.
2505
2506         Test: fast/css/xml-stylesheet-alternate-no-title.xhtml
2507
2508         * dom/ProcessingInstruction.cpp:
2509         (WebCore::ProcessingInstruction::checkStyleSheet):
2510
2511 2012-03-13  Levi Weintraub  <leviw@chromium.org>
2512
2513         Revert RenderLayer::absoluteBoundingBox to an IntRect
2514         https://bugs.webkit.org/show_bug.cgi?id=81017
2515
2516         Reviewed by Eric Seidel.
2517
2518         Reverting RenderLayer::absoluteBoundingBox to an (pixel snapped) IntRect. Whenever
2519         possible, we use integers representing for absolute coordinates. This is especially
2520         relevant for methods, such as this one, that are exported and used in platform code.
2521
2522         No new tests. No change in behavior.
2523
2524         * rendering/RenderLayer.cpp:
2525         (WebCore::RenderLayer::absoluteBoundingBox):
2526         * rendering/RenderLayer.h:
2527         (RenderLayer):
2528         * rendering/RenderLayerCompositor.cpp:
2529         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): This intersects
2530         the absolute bounding box with the FrameView, which uses all integer values. It's
2531         the only use of absoluteBoundingBox in WebCore.
2532
2533 2012-03-13  Nat Duca  <nduca@chromium.org>
2534
2535         [chromium] vsync ticks are needed in invisible tabs when we are still updating resources
2536         https://bugs.webkit.org/show_bug.cgi?id=80910
2537
2538         Reviewed by James Robinson.
2539
2540         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2541         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
2542
2543 2012-03-13  Dave Tharp  <dtharp@codeaurora.org>
2544
2545         Alternate stylesheets (without title attribute) are loaded on refresh
2546         https://bugs.webkit.org/show_bug.cgi?id=24354
2547
2548         Reviewed by David Hyatt.
2549
2550         Alternate stylesheets are now ignored in <link> tags if 
2551         they have no title attribute (per spec).
2552
2553         Tests: fast/css/link-alternate-stylesheet-1.html
2554                fast/css/link-alternate-stylesheet-2.html
2555                fast/css/link-alternate-stylesheet-3.html
2556                fast/css/link-alternate-stylesheet-4.html
2557                fast/css/link-alternate-stylesheet-5.html
2558
2559         * dom/Document.cpp:
2560         (WebCore::Document::collectActiveStylesheets):
2561
2562 2012-03-13  Dana Jansens  <danakj@chromium.org>
2563
2564         Region::contains(IntPoint) is slow
2565         https://bugs.webkit.org/show_bug.cgi?id=81008
2566
2567         Reviewed by Anders Carlsson.
2568
2569         Speed up Region::contains(IntPoint) by directly testing if the point
2570         is inside the Region's shape, rather than using a temporary 1x1 Region
2571         for the test.
2572
2573         Unit test: RegionTest.containsPoint
2574
2575         * platform/graphics/Region.cpp:
2576         (WebCore::Region::contains):
2577
2578 2012-03-13  Adrienne Walker  <enne@google.com>
2579
2580         [chromium] Mark root layer scrollbars as always opaque to disable blending
2581         https://bugs.webkit.org/show_bug.cgi?id=79951
2582
2583         Reviewed by James Robinson.
2584
2585         Now that scrollbar layers exist, mark non-overlay root scrollbars as
2586         opaque. This disables blending for correctness and performance.
2587
2588         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2589         (WebCore::scrollbarLayerDidChange):
2590         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2591         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2592         * platform/graphics/chromium/LayerRendererChromium.cpp:
2593         (WebCore::LayerRendererChromium::drawTileQuad):
2594
2595 2012-03-13  Gavin Peters  <gavinp@chromium.org>
2596
2597         Remove vestigal abortEvent from image attribute.
2598         https://bugs.webkit.org/show_bug.cgi?id=80795
2599
2600         Reviewed by Adam Barth.
2601
2602         It seems we installed a listener for the abort event on images,
2603         but never ever raised them.  So this patch removes it.  This could
2604         cause different behaviour if the user sends abort events directly
2605         at an image element, although addEventListener will still work.
2606
2607         * html/HTMLImageElement.cpp:
2608         (WebCore::HTMLImageElement::parseAttribute):
2609
2610 2012-03-13  Nate Chapin  <japhet@chromium.org>
2611
2612         Rework how a CachedRawResource decides if it can be reused
2613         for a given ResourceRequest. Ensure method, body, cookie policy,
2614         and all headers match.
2615         http://bugs.webkit.org/show_bug.cgi?id=79325
2616
2617         Reviewed by Oliver Hunt.
2618
2619         Test: http/tests/cache/xhr-body.html
2620
2621         * loader/cache/CachedRawResource.cpp:
2622         (WebCore::CachedRawResource::canReuse):
2623         * loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
2624         * loader/cache/CachedResourceLoader.cpp:
2625         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
2626             check, since it is now redundant.
2627
2628 2012-03-13  Rob Buis  <rbuis@rim.com>
2629
2630         Fix cast-align GCC warning
2631         https://bugs.webkit.org/show_bug.cgi?id=80790
2632
2633         Reviewed by Dan Bates.
2634
2635         This touches unpackOneRowOfBGRA8ToRGBA8.
2636
2637         * platform/graphics/GraphicsContext3D.cpp:
2638         (WebCore):
2639
2640 2012-03-12  Simon Fraser  <simon.fraser@apple.com>
2641
2642         Refactor some code that is used to check whether a layer needs backing store
2643         https://bugs.webkit.org/show_bug.cgi?id=80917
2644
2645         Reviewed by Dean Jackson.
2646
2647         Move some code out of isSimpleContainerCompositingLayer() in two new
2648         methods to make the code more self-descriptive.
2649         
2650         No behavior change, so no tests.
2651
2652         * rendering/RenderLayerBacking.cpp:
2653         (WebCore::RenderLayerBacking::paintsBoxDecorations):
2654         (WebCore::RenderLayerBacking::paintsChildren):
2655         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2656         * rendering/RenderLayerBacking.h:
2657         (RenderLayerBacking):
2658
2659 2012-03-13  Daniel Bates  <dbates@webkit.org>
2660
2661         REGRESSION(r99369): File input button doesn't highlight when pressed
2662         https://bugs.webkit.org/show_bug.cgi?id=79385
2663
2664         Reviewed by Kent Tamura.
2665
2666         Fixes an issue where the file input button doesn't highlight on mouse press.
2667
2668         Currently we always override the active state of the button with whether
2669         a dragged file is being hovered over the file input control (i.e. can the control
2670         receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
2671         Instead, we should only override the active state of the button when the state
2672         changes for whether we can receive dropped files (e.g. during a drag) so that
2673         we honor the active state of the button when it is pressed.
2674
2675         Test: fast/forms/file/file-input-pressed-state.html
2676
2677         * rendering/RenderFileUploadControl.cpp:
2678         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
2679         (WebCore::RenderFileUploadControl::updateFromElement):
2680         * rendering/RenderFileUploadControl.h:
2681         (RenderFileUploadControl):
2682
2683 2012-03-13  Dana Jansens  <danakj@chromium.org>
2684
2685         [chromium] Use CCOcclusionTracker for draw culling
2686         https://bugs.webkit.org/show_bug.cgi?id=80743
2687
2688         Reviewed by Adrienne Walker.
2689
2690         In this CL we enable the use of CCOcclusionTracker for draw-side
2691         culling. This means moving from a per-quad culling model to a
2692         per-layer model.
2693
2694         When calculating RenderPasses, we construct the set of passes,
2695         then iterate over layers in front-to-back order. We make
2696         CCQuadCuller instantiable, and pass it to the layer
2697         appendQuads() methods instead of the bare list, where it can
2698         filter quads before the end up in the list.
2699
2700         Covered by existing tests.
2701
2702         * platform/graphics/chromium/LayerRendererChromium.cpp:
2703         (WebCore::LayerRendererChromium::drawRenderPass):
2704         * platform/graphics/chromium/LayerRendererChromium.h:
2705         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2706         (WebCore::CCCanvasLayerImpl::appendQuads):
2707         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2708         (CCCanvasLayerImpl):
2709         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2710         (WebCore::CCLayerImpl::appendQuads):
2711         (WebCore::CCLayerImpl::appendGutterQuads):
2712         (WebCore::CCLayerImpl::appendDebugBorderQuad):
2713         * platform/graphics/chromium/cc/CCLayerImpl.h:
2714         (WebCore):
2715         (CCLayerImpl):
2716         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2717         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2718         (WebCore::CCLayerTreeHostImpl::drawLayers):
2719         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2720         (CCLayerTreeHostImpl):
2721         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2722         (WebCore::CCPluginLayerImpl::appendQuads):
2723         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2724         (CCPluginLayerImpl):
2725         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2726         (WebCore::CCQuadCuller::CCQuadCuller):
2727         (WebCore::CCQuadCuller::append):
2728         * platform/graphics/chromium/cc/CCQuadCuller.h:
2729         (WebCore):
2730         (CCQuadCuller):
2731         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2732         (WebCore::CCRenderPass::appendQuadsForLayer):
2733         * platform/graphics/chromium/cc/CCRenderPass.h:
2734         (WebCore):
2735         (CCQuadList):
2736         (WebCore::CCQuadList::backToFrontBegin):
2737         (WebCore::CCQuadList::backToFrontEnd):
2738         (CCRenderPass):
2739         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2740         (WebCore::CCScrollbarLayerImpl::appendQuads):
2741         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2742         (CCScrollbarLayerImpl):
2743         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2744         (WebCore::CCSolidColorLayerImpl::appendQuads):
2745         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2746         (CCSolidColorLayerImpl):
2747         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2748         (WebCore::CCTiledLayerImpl::appendQuads):
2749         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2750         (CCTiledLayerImpl):
2751         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2752         (WebCore::CCVideoLayerImpl::appendQuads):
2753         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2754         (CCVideoLayerImpl):
2755
2756 2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
2757
2758         Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
2759         https://bugs.webkit.org/show_bug.cgi?id=78853
2760
2761         Reviewed by Adam Barth.
2762
2763         * CMakeLists.txt:
2764         * Configurations/FeatureDefines.xcconfig:
2765         * GNUmakefile.am:
2766         * GNUmakefile.list.am:
2767         * Modules/geolocation/Geolocation.cpp:
2768         (WebCore):
2769         (WebCore::createPositionError):
2770         (WebCore::Geolocation::Geolocation):
2771         (WebCore::Geolocation::stop):
2772         (WebCore::Geolocation::lastPosition):
2773         (WebCore::Geolocation::requestPermission):
2774         (WebCore::Geolocation::startUpdating):
2775         (WebCore::Geolocation::stopUpdating):
2776         * Modules/geolocation/Geolocation.h:
2777         (WebCore):
2778         (Geolocation):
2779         * Modules/geolocation/GeolocationController.cpp:
2780         * Modules/geolocation/GeolocationController.h:
2781         * Modules/geolocation/GeolocationError.h:
2782         * Modules/geolocation/GeolocationPosition.h:
2783         * Target.pri:
2784         * WebCore.exp.in:
2785         * WebCore.gypi:
2786         * WebCore.vcproj/WebCore.vcproj:
2787         * bindings/js/JSGeolocationCustom.cpp:
2788         * loader/EmptyClients.h:
2789         (EmptyChromeClient):
2790         * page/ChromeClient.h:
2791         (ChromeClient):
2792         * page/Page.cpp:
2793         (WebCore::Page::Page):
2794         * page/Page.h:
2795         (Page):
2796         * platform/GeolocationService.cpp: Removed.
2797         * platform/GeolocationService.h: Removed.
2798         * platform/mock/GeolocationClientMock.cpp:
2799         * platform/mock/GeolocationClientMock.h:
2800         * platform/mock/GeolocationServiceMock.cpp: Removed.
2801         * platform/mock/GeolocationServiceMock.h: Removed.
2802
2803 2012-03-12  Antonio Gomes  <agomes@rim.com>
2804
2805         Convert nodesFromRect tests to use Internals interface
2806         https://bugs.webkit.org/show_bug.cgi?id=80886
2807
2808         Reviewed by Ryosuke Niwa.
2809
2810         Add Internals::nodesFromRect implementation to unify
2811         the codepath for testing Document::nodesFromRect in a
2812         cross port way.
2813
2814         No new tests, since we are improving here the infra-structure
2815         for testing a specific method.
2816
2817         * testing/Internals.cpp:
2818         (WebCore::Internals::nodesFromRect):
2819         (WebCore):
2820         * testing/Internals.h:
2821         (Internals):
2822         * testing/Internals.idl:
2823
2824 2012-03-13  Philip Rogers  <pdr@google.com>
2825
2826         Fix the use of stale text fragments
2827         https://bugs.webkit.org/show_bug.cgi?id=80729
2828
2829         Reviewed by Nikolas Zimmermann.
2830
2831         Previously, we were allowing SVGTextFragments to get out of sync with the
2832         actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
2833         box code in RenderText::setTextWithOffset to force
2834         clearTextFragments() when setTextWithOffset is called, preventing the use
2835         of stale SVGTextFragments.
2836
2837         Test: svg/custom/delete-text-crash.html
2838
2839         * rendering/InlineBox.h:
2840         (InlineBox):
2841         * rendering/svg/SVGInlineTextBox.cpp:
2842         (WebCore::SVGInlineTextBox::dirtyLineBoxes):
2843         (WebCore):
2844         * rendering/svg/SVGInlineTextBox.h:
2845         (SVGInlineTextBox):
2846
2847 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2848
2849         SVG Animations update baseVal instead of animVal
2850         https://bugs.webkit.org/show_bug.cgi?id=12437
2851
2852         Reviewed by Dirk Schulze.
2853
2854         Blind fix for some GC related assertions firing on v8.
2855
2856         Assure that animationStarted/animationEnded calls are happening
2857         on the same SVGAnimatedProperty. Always call animationEnded(),
2858         even if we shouldn't do anything for the target element, as its
2859         destructed, as we still have to reset m_isAnimating.
2860
2861         * svg/SVGAnimateElement.cpp:
2862         (WebCore::SVGAnimateElement::SVGAnimateElement):
2863         (WebCore::SVGAnimateElement::resetToBaseValue):
2864         (WebCore::SVGAnimateElement::targetElementWillChange):
2865         * svg/SVGAnimateElement.h:
2866         (SVGAnimateElement):
2867         * svg/properties/SVGAnimatedPropertyTearOff.h:
2868         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2869
2870 2012-03-13  Mark Pilgrim  <pilgrim@chromium.org>
2871
2872         Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
2873         https://bugs.webkit.org/show_bug.cgi?id=80625
2874
2875         Reviewed by Adam Barth.
2876
2877         No new tests, all existing tests pass.
2878
2879         * CMakeLists.txt:
2880         * DerivedSources.make:
2881         * DerivedSources.pri:
2882         * GNUmakefile.am:
2883         * GNUmakefile.list.am:
2884         * Modules/filesystem: Added.
2885         * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
2886         * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
2887         * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
2888         * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
2889         * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
2890         * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
2891         * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
2892         * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
2893         * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
2894         * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
2895         * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
2896         * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
2897         * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
2898         * Target.pri:
2899         * WebCore.gyp/WebCore.gyp:
2900         * WebCore.gypi:
2901         * WebCore.pri:
2902         * WebCore.vcproj/WebCore.vcproj:
2903         * WebCore.xcodeproj/project.pbxproj:
2904         * fileapi/DirectoryEntry.cpp: Removed.
2905         * fileapi/DirectoryEntry.h: Removed.
2906         * fileapi/DirectoryEntry.idl: Removed.
2907         * fileapi/DirectoryEntrySync.cpp: Removed.
2908         * fileapi/DirectoryEntrySync.h: Removed.
2909         * fileapi/DirectoryEntrySync.idl: Removed.
2910         * fileapi/DirectoryReader.cpp: Removed.
2911         * fileapi/DirectoryReader.h: Removed.
2912         * fileapi/DirectoryReader.idl: Removed.
2913         * fileapi/DirectoryReaderBase.h: Removed.
2914         * fileapi/DirectoryReaderSync.cpp: Removed.
2915         * fileapi/DirectoryReaderSync.h: Removed.
2916         * fileapi/DirectoryReaderSync.idl: Removed.
2917
2918 2012-03-13  Igor Oliveira  <igor.o@sisa.samsung.com>
2919
2920         animation-iteration-count does not handle floating point values correctly.
2921         https://bugs.webkit.org/show_bug.cgi?id=69531
2922
2923         Implements support for non-integers animation-iteration-count numbers.
2924         Non-integer numbers will cause the animation to end part-way through a cycle.
2925
2926         Reviewed by Dean Jackson.
2927
2928         Tests: animations/fill-mode-iteration-count-non-integer.html
2929                animations/keyframes-iteration-count-non-integer.html
2930
2931         * css/CSSComputedStyleDeclaration.cpp:
2932         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2933         * css/CSSParser.cpp:
2934         (WebCore::CSSParser::parseAnimationIterationCount):
2935         * css/CSSStyleApplyProperty.cpp:
2936         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2937         * css/CSSStyleSelector.cpp:
2938         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2939         * page/animation/AnimationBase.cpp:
2940         (WebCore::AnimationBase::fractionalTime):
2941         (WebCore::AnimationBase::progress):
2942         * page/animation/CompositeAnimation.cpp:
2943         (WebCore::CompositeAnimation::pauseAnimationAtTime):
2944         * platform/animation/Animation.h:
2945         (WebCore::Animation::iterationCount):
2946         (WebCore::Animation::setIterationCount):
2947         (Animation):
2948         (WebCore::Animation::initialAnimationIterationCount):
2949
2950 2012-03-13  Tommy Widenflycht  <tommyw@google.com>
2951
2952         MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
2953         https://bugs.webkit.org/show_bug.cgi?id=80692
2954
2955         Reviewed by Adam Barth.
2956
2957         First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
2958         see bug 80589 for more information.
2959
2960         Patch covered by modified existing tests.
2961
2962         * GNUmakefile.list.am:
2963         * Modules/mediastream/DOMWindowMediaStream.idl:
2964         * Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
2965         (WebCore):
2966         (WebCore::DeprecatedPeerConnection::create):
2967         (WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
2968         (WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
2969         (WebCore::DeprecatedPeerConnection::processSignalingMessage):
2970         (WebCore::DeprecatedPeerConnection::readyState):
2971         (WebCore::DeprecatedPeerConnection::send):
2972         (WebCore::DeprecatedPeerConnection::addStream):
2973         (WebCore::DeprecatedPeerConnection::removeStream):
2974         (WebCore::DeprecatedPeerConnection::localStreams):
2975         (WebCore::DeprecatedPeerConnection::remoteStreams):
2976         (WebCore::DeprecatedPeerConnection::close):
2977         (WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
2978         (WebCore::DeprecatedPeerConnection::didGenerateSDP):
2979         (WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
2980         (WebCore::DeprecatedPeerConnection::didAddRemoteStream):
2981         (WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
2982         (WebCore::DeprecatedPeerConnection::interfaceName):
2983         (WebCore::DeprecatedPeerConnection::scriptExecutionContext):
2984         (WebCore::DeprecatedPeerConnection::stop):
2985         (WebCore::DeprecatedPeerConnection::eventTargetData):
2986         (WebCore::DeprecatedPeerConnection::ensureEventTargetData):
2987         (WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
2988         (WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
2989         (WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
2990         (WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
2991         (WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
2992         (WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
2993         (WebCore::DeprecatedPeerConnection::changeReadyState):
2994         * Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
2995         (WebCore):
2996         (DeprecatedPeerConnection):
2997         (WebCore::DeprecatedPeerConnection::didChangeState):
2998         (WebCore::DeprecatedPeerConnection::refEventTarget):
2999         (WebCore::DeprecatedPeerConnection::derefEventTarget):
3000         * Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
3001         * Modules/mediastream/SignalingCallback.h:
3002         (WebCore):
3003         (SignalingCallback):
3004         * Modules/mediastream/SignalingCallback.idl:
3005         * WebCore.gypi:
3006         * bindings/generic/RuntimeEnabledFeatures.h:
3007         (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
3008         * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
3009         (WebCore):
3010         (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
3011         * dom/EventTarget.h:
3012         (WebCore):
3013         * dom/EventTargetFactory.in:
3014         * platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
3015         (WebCore):
3016         (DeprecatedPeerConnectionHandler):
3017         * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
3018         (WebCore):
3019         (DeprecatedPeerConnectionHandlerClient):
3020         (WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
3021         * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
3022         (WebCore):
3023         (WebCore::DeprecatedPeerConnectionHandler::create):
3024         (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
3025         (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
3026         (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
3027         (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
3028         (WebCore::DeprecatedPeerConnectionHandler::processSDP):
3029         (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
3030         (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
3031         (WebCore::DeprecatedPeerConnectionHandler::stop):
3032
3033 2012-03-13  Pavel Feldman  <pfeldman@chromium.org>
3034
3035         Web Inspector: front-end compilation was broken while supporting large arrays.
3036         https://bugs.webkit.org/show_bug.cgi?id=81013
3037
3038         Reviewed by Vsevolod Vlasov.
3039
3040         * inspector/front-end/ExtensionPanel.js:
3041         * inspector/front-end/ObjectPropertiesSection.js:
3042         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
3043         * inspector/front-end/RemoteObject.js:
3044
3045 2012-03-13  Tony Chang  <tony@chromium.org>
3046
3047         flexbox's computePreferredLogicalWidth needs to take multiline into account
3048         https://bugs.webkit.org/show_bug.cgi?id=80931
3049
3050         Reviewed by Ojan Vafai.
3051
3052         Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
3053                css3/flexbox/multiline-shrink-to-fit.html
3054
3055         * rendering/RenderFlexibleBox.cpp:
3056         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
3057         (WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
3058         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.
3059
3060 2012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3061
3062         Unreviewed, rolling out r110469.
3063         http://trac.webkit.org/changeset/110469
3064         https://bugs.webkit.org/show_bug.cgi?id=81010
3065
3066         This patch still appears to crash (Requested by abarth on
3067         #webkit).
3068
3069         * page/FrameView.cpp:
3070         (WebCore::FrameView::FrameView):
3071         (WebCore::FrameView::reset):
3072         (WebCore::FrameView::repaintContentRectangle):
3073         (WebCore):
3074         (WebCore::FrameView::endDeferredRepaints):
3075         (WebCore::FrameView::doDeferredRepaints):
3076         (WebCore::FrameView::deferredRepaintTimerFired):
3077         * page/FrameView.h:
3078         (FrameView):
3079         * rendering/RenderView.cpp:
3080         (WebCore::RenderView::shouldRepaint):
3081         * svg/graphics/SVGImage.cpp:
3082         (WebCore::SVGImage::drawSVGToImageBuffer):
3083         (WebCore::SVGImage::draw):
3084         * svg/graphics/SVGImage.h:
3085         * svg/graphics/SVGImageCache.cpp:
3086         (WebCore::SVGImageCache::imageContentChanged):
3087         (WebCore::SVGImageCache::redrawTimerFired):
3088         * svg/graphics/SVGImageCache.h:
3089         (SVGImageCache):
3090
3091 2012-03-13  Max Vujovic  <mvujovic@adobe.com>
3092
3093         Add a method to window.internals to enable testing of inspector highlight rects
3094         https://bugs.webkit.org/show_bug.cgi?id=80338
3095
3096         Reviewed by Pavel Feldman.
3097
3098         Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
3099         positions and sizes of inspector highlight rects.
3100
3101         Test: inspector/elements/highlight-node.html
3102
3103         * WebCore.exp.in: Export symbols.
3104         * testing/Internals.cpp:
3105         (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
3106         return the highlight's quads as a ClientRectList.
3107         (WebCore):
3108         * testing/Internals.h:
3109         (WebCore):
3110         (Internals):
3111         * testing/Internals.idl:
3112
3113             Add inspectorHighlightRects to the window.internals interface.
3114
3115 2012-03-13  Konrad Piascik  <kpiascik@rim.com>
3116
3117         [BlackBerry] Remove sublayers before clamping just in case the layer already exists
3118         https://bugs.webkit.org/show_bug.cgi?id=80989
3119
3120         Reviewed by Antonio Gomes.
3121
3122         Discovered when trying to add a highlight sublayer for web inspector.  Since that layer
3123         may already exist in the tree we need to see if it will be pruned before we clamp on the
3124         size.
3125
3126         This was manually tested during the writing of another patch to add web inspector highlights
3127         to accelrated compositing.
3128
3129         * platform/graphics/blackberry/LayerWebKitThread.cpp:
3130         (WebCore::LayerWebKitThread::insertSublayer):
3131
3132 2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
3133
3134         Web Inspector: Add snippets model.
3135         https://bugs.webkit.org/show_bug.cgi?id=80863
3136
3137         Reviewed by Yury Semikhatsky.
3138
3139         Test: inspector/debugger/snippets-model.html
3140
3141         * WebCore.gypi:
3142         * WebCore.vcproj/WebCore.vcproj:
3143         * inspector/compile-front-end.py:
3144         * inspector/front-end/Settings.js:
3145         (WebInspector.ExperimentsSettings):
3146         * inspector/front-end/SnippetsModel.js: Added.
3147         * inspector/front-end/WebKit.qrc:
3148         * inspector/front-end/inspector.html:
3149         * inspector/front-end/inspector.js:
3150
3151 2012-03-13  'Pavel Feldman'  <pfeldman@chromium.org>
3152
3153         Not reviewed: chromium build fix.
3154
3155         * history/CachedFrame.cpp:
3156
3157 2012-03-13  Peter Rybin  <peter.rybin@gmail.com>
3158
3159         Web Inspector: CodeGeneratorInspector.py: refactor copy-paste getter methods
3160         https://bugs.webkit.org/show_bug.cgi?id=80923
3161
3162         Reviewed by Yury Semikhatsky.
3163
3164         Several methods are combined in one using C++ templates.
3165
3166         * inspector/CodeGeneratorInspector.py:
3167
3168 2012-03-13  Rob Buis  <rbuis@rim.com>
3169
3170         [BlackBerry] Fix cast-align warning in QuotesData.cpp
3171         https://bugs.webkit.org/show_bug.cgi?id=80601
3172
3173         Reviewed by Nikolas Zimmermann.
3174
3175         Fix warning by adding variable of correct return type.
3176
3177         * rendering/style/QuotesData.cpp:
3178         (WebCore::QuotesData::create):
3179
3180 2012-03-12  Brady Eidson  <beidson@apple.com>
3181
3182         <rdar://problem/7908830> and https://bugs.webkit.org/show_bug.cgi?id=34679
3183         Location and other objects are dysfunctional after a document gets restored from page cache
3184
3185         Reviewed by Adam Barth.
3186
3187         Test: fast/loader/window-properties-restored-from-page-cache.html
3188
3189         Give DOMWindowProperties the ability to reconnect to their Frame:
3190         * page/DOMWindowProperty.cpp:
3191         (WebCore::DOMWindowProperty::reconnectFrame):
3192         * page/DOMWindowProperty.h:
3193         (DOMWindowProperty):
3194
3195         Let ApplicationCache do some extra work when reconnecting:
3196         * loader/appcache/DOMApplicationCache.cpp:
3197         (WebCore::DOMApplicationCache::reconnectFrame):
3198         (WebCore):
3199         * loader/appcache/DOMApplicationCache.h:
3200         (DOMApplicationCache):
3201
3202         Let IndexDB do some extra work when reconnecting:
3203         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
3204         (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
3205         (WebCore::DOMWindowIndexedDatabase::reconnectFrame):
3206         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
3207         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
3208         (DOMWindowIndexedDatabase):
3209
3210         Tell the DOMWindow to suspend to the page cache:
3211         * history/CachedFrame.cpp:
3212         (WebCore::CachedFrame::CachedFrame):
3213
3214         Tell the DOMWindow to resume from the page cache:
3215         * loader/FrameLoader.cpp:
3216         (WebCore::FrameLoader::open):
3217
3218         * page/DOMWindow.cpp:
3219         (WebCore::DOMWindow::DOMWindow):
3220         (WebCore::DOMWindow::~DOMWindow): Call clearDOMWindowProperties directly instead of clear()
3221         (WebCore::DOMWindow::frameDestroyed): Ditto.
3222         (WebCore::DOMWindow::clear): Only clear if the DOMWindow is not suspended for the page cache.
3223         (WebCore::DOMWindow::suspendForPageCache): Disconnect properties and set the page cache flag.
3224         (WebCore::DOMWindow::resumeFromPageCache): Reconnect properties and revert the page cache flag.
3225         (WebCore::DOMWindow::disconnectDOMWindowProperties): Only disconnect the registered properties.
3226         (WebCore::DOMWindow::reconnectDOMWindowProperties):
3227         (WebCore::DOMWindow::clearDOMWindowProperties): Disconnect the registered properties then clear them out.
3228
3229         For all of the following, if the DOMWindow is not displayed in a frame (i.e., it is suspended), do nothing:
3230         (WebCore::DOMWindow::screen):
3231         (WebCore::DOMWindow::history):
3232         (WebCore::DOMWindow::crypto):
3233         (WebCore::DOMWindow::locationbar):
3234         (WebCore::DOMWindow::menubar):
3235         (WebCore::DOMWindow::personalbar):
3236         (WebCore::DOMWindow::scrollbars):
3237         (WebCore::DOMWindow::statusbar):
3238         (WebCore::DOMWindow::toolbar):
3239         (WebCore::DOMWindow::console):
3240         (WebCore::DOMWindow::applicationCache):
3241         (WebCore::DOMWindow::navigator):
3242         (WebCore::DOMWindow::performance):
3243         (WebCore::DOMWindow::location):
3244         (WebCore::DOMWindow::sessionStorage):
3245         (WebCore::DOMWindow::localStorage):
3246         (WebCore::DOMWindow::webkitNotifications):
3247         (WebCore::DOMWindow::postMessageTimerFired):
3248         (WebCore::DOMWindow::getSelection):
3249         (WebCore::DOMWindow::styleMedia):
3250         (WebCore::DOMWindow::webkitStorageInfo):
3251         * page/DOMWindow.h:
3252
3253 2012-03-13  Dana Jansens  <danakj@chromium.org>
3254
3255         [chromium] Use projectQuad to apply inverse mapRect
3256         https://bugs.webkit.org/show_bug.cgi?id=80741
3257
3258         Reviewed by Adrienne Walker.
3259
3260         Unit test: CCOcclusionTrackerTest3dTransform
3261                    CCOcclusionTrackerTestPerspectiveTransform
3262                    CCOcclusionTrackerTestPerspectiveTransformBehindCamera
3263
3264         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3265         (WebCore::projectQuad):
3266         (WebCore):
3267         (WebCore::computeUnoccludedContentRect):
3268
3269 2012-03-13  Gavin Peters  <gavinp@chromium.org>
3270
3271         New PageCache histogram which counts failures ignoring Settings.
3272         https://bugs.webkit.org/show_bug.cgi?id=80864
3273
3274         Reviewed by Brady Eidson.
3275
3276         Chrome has a command line switch to turn on the page cache.
3277         Currently it doesn't work, but it can cause the PageCache reasons
3278         for failure count to read lower than it should.  Add a new
3279         histogram to report the corrected value.
3280
3281         * history/PageCache.cpp:
3282         (WebCore::logCanCachePageDecision):
3283
3284 2012-03-13  George Staikos  <staikos@webkit.org>
3285
3286         Fix signed/unsigned mismatch compiler warnings.
3287         https://bugs.webkit.org/show_bug.cgi?id=80790
3288
3289         Reviewed by Alexey Proskuryakov.
3290
3291         * loader/icon/IconDatabase.cpp:
3292         (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
3293         * platform/network/MIMESniffing.cpp:
3294
3295 2012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3296
3297         Unreviewed, rolling out r110510.
3298         http://trac.webkit.org/changeset/110510
3299         https://bugs.webkit.org/show_bug.cgi?id=80987
3300
3301         depends on chromium r 125700, which isn't rolled into webkit
3302         yet :-/ (Requested by thakis_ on #webkit).
3303
3304         * WebCore.gyp/mac/adjust_visibility.sh:
3305
3306 2012-03-13  Gavin Peters  <gavinp@chromium.org>
3307
3308         Make ApplicationCacheHost::canCacheInPageCache() non-const.
3309         https://bugs.webkit.org/show_bug.cgi?id=80904
3310
3311         Reviewed by Alexey Proskuryakov.
3312
3313         A const pointer to a large object like ApplicationCacheHost is not our standard
3314         practice; so remove this (implicit) one.  See also https://bugs.webkit.org/show_bug.cgi?id=80898
3315
3316         * loader/appcache/ApplicationCacheHost.cpp:
3317         (WebCore::ApplicationCacheHost::canCacheInPageCache):
3318         * loader/appcache/ApplicationCacheHost.h:
3319         (ApplicationCacheHost):
3320
3321 2012-03-13  Stephen Chenney  <schenney@chromium.org>
3322
3323         Crash in WebCore::GraphicsContext::paintingDisabled
3324         https://bugs.webkit.org/show_bug.cgi?id=80669
3325
3326         Reviewed by Nikolas Zimmermann.
3327
3328         The SVGImageBufferTools::clipToImageBuffer method deletes the clip
3329         image when it thinks it is not needed. However, there are cases when
3330         it is in fact still needed, particularly when the clip buffer is
3331         coming from higher up in the stack where it may be needed again.
3332
3333         So this patch adds a flag to only allow deletion of the image buffer
3334         if it was created at the most recent call site.
3335
3336         Tests: svg/custom/circular-clip-path-references-crash-expected.svg
3337                svg/custom/circular-clip-path-references-crash.svg
3338
3339         * rendering/svg/RenderSVGResourceClipper.cpp:
3340         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3341         * rendering/svg/RenderSVGResourceGradient.cpp:
3342         (WebCore::clipToTextMask):
3343         * rendering/svg/RenderSVGResourceMasker.cpp:
3344         (WebCore::RenderSVGResourceMasker::applyResource):
3345         * rendering/svg/SVGImageBufferTools.cpp:
3346         (WebCore::SVGImageBufferTools::clipToImageBuffer):
3347         * rendering/svg/SVGImageBufferTools.h:
3348         (SVGImageBufferTools):
3349
3350 2012-03-13  Gavin Peters  <gavinp@chromium.org>
3351
3352         Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
3353         https://bugs.webkit.org/show_bug.cgi?id=80849
3354
3355         Reviewed by Brady Eidson.
3356
3357         It seems that somebody goofed, and named one of the
3358         ReasonsFrameCannotBeInPageCache antonymically.
3359
3360         * history/PageCache.cpp:
3361         (WebCore::logCanCacheFrameDecision):
3362
3363 2012-03-12  Kinuko Yasuda  <kinuko@chromium.org>
3364
3365         File upload control should use File.name() rather than File.path() to show chosen filenames
3366         https://bugs.webkit.org/show_bug.cgi?id=80970
3367
3368         In some rare cases (e.g. files from FileSystem API or files created
3369         using the newly added WebKit API) File.name has different displayName
3370         from the basename of file.path, and in the file uploader controller we
3371         should use File.name rather than File.path.
3372
3373         Reviewed by Kent Tamura.
3374
3375         No new tests: existing tests should pass as this should not change
3376         behavior in regular use cases.  (New behavior where File.name differs
3377         from File.path can be only tested in chromeos environment, therefore
3378         not adding new tests for that)
3379
3380         * platform/gtk/RenderThemeGtk.cpp:
3381         (WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
3382         * platform/gtk/RenderThemeGtk.h:
3383         * platform/qt/RenderThemeQt.cpp:
3384         (WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
3385         * platform/qt/RenderThemeQt.h:
3386         * rendering/RenderFileUploadControl.cpp:
3387         (WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
3388         * rendering/RenderTheme.cpp:
3389         (WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
3390         * rendering/RenderTheme.h:
3391         * rendering/RenderThemeMac.h:
3392         * rendering/RenderThemeMac.mm:
3393         (WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.
3394
3395 2012-03-13  Kinuko Yasuda  <kinuko@chromium.org>
3396
3397         Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
3398         https://bugs.webkit.org/show_bug.cgi?id=80719
3399
3400         Reviewed by Kent Tamura.
3401
3402         No new tests: this change itself shouldn't change existing behavior.
3403
3404         * fileapi/File.cpp:
3405         (WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
3406         * fileapi/File.h:
3407         * html/FileInputType.cpp:
3408         (WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
3409         (WebCore::FileInputType::restoreFormControlState): Ditto.
3410         (WebCore::FileInputType::setFileList): Changed the signature to take
3411         FileChooserFileInfo.
3412         (WebCore::FileInputType::filesChosen): Ditto.
3413         (WebCore::FileInputType::receiveDroppedFiles):
3414         * html/FileInputType.h:
3415         (FileInputType):
3416         * platform/FileChooser.cpp:
3417         (WebCore::FileChooser::chooseFiles): Added an overloaded method that
3418         takes FileChooserFileInfo.
3419         (WebCore):
3420         * platform/FileChooser.h:
3421         (WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
3422         * platform/MIMETypeRegistry.cpp:
3423         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
3424         * platform/MIMETypeRegistry.h:
3425         (MIMETypeRegistry):
3426
3427 2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
3428
3429         Unreviewed inspector compilation module name fix after r110550.
3430
3431         * inspector/compile-front-end.py:
3432
3433 2012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
3434
3435         Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
3436         https://bugs.webkit.org/show_bug.cgi?id=80872
3437
3438         Reviewed by Pavel Feldman.
3439
3440         * inspector/compile-front-end.py: Added.
3441         * inspector/compile-front-end.sh:
3442
3443 2012-03-12  Pavel Podivilov  <podivilov@chromium.org>
3444
3445         Web Inspector: move ResourceScriptMapping to a separate file.
3446         https://bugs.webkit.org/show_bug.cgi?id=80859
3447
3448         Reviewed by Vsevolod Vlasov.
3449
3450         * WebCore.gypi:
3451         * WebCore.vcproj/WebCore.vcproj:
3452         * inspector/compile-front-end.sh:
3453         * inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
3454         (WebInspector.ResourceScriptMapping):
3455         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
3456         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
3457         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
3458         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
3459         (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
3460         (WebInspector.ResourceScriptMapping.prototype.setFormatSource):
3461         (WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
3462         (WebInspector.ResourceScriptMapping.prototype.reset):
3463         * inspector/front-end/ScriptMapping.js:
3464         * inspector/front-end/WebKit.qrc:
3465         * inspector/front-end/inspector.html:
3466
3467 2012-03-12  Kentaro Hara  <haraken@chromium.org>
3468
3469         Rename OptionsObject to Dictionary
3470         https://bugs.webkit.org/show_bug.cgi?id=80802
3471
3472         Reviewed by Adam Barth.
3473
3474         For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
3475         This patch just renames and sorts alphabetically.
3476
3477         No tests. No change in behavior.
3478
3479         * GNUmakefile.list.am:
3480         * Modules/indexeddb/IDBDatabase.cpp:
3481         (WebCore::IDBDatabase::createObjectStore):
3482         * Modules/indexeddb/IDBDatabase.h:
3483         (WebCore::IDBDatabase::createObjectStore):
3484         (IDBDatabase):
3485         * Modules/indexeddb/IDBDatabase.idl:
3486         * Modules/indexeddb/IDBKeyRange.h:
3487         * Modules/indexeddb/IDBObjectStore.cpp:
3488         (WebCore::IDBObjectStore::createIndex):
3489         * Modules/indexeddb/IDBObjectStore.h:
3490         (WebCore::IDBObjectStore::createIndex):
3491         (IDBObjectStore):
3492         * Modules/indexeddb/IDBObjectStore.idl:
3493         * Target.pri:
3494         * UseV8.cmake:
3495         * WebCore.gypi:
3496         * WebCore.vcproj/WebCore.vcproj:
3497         * bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
3498         (WebCore):
3499         (Dictionary):
3500         (WebCore::Dictionary::Dictionary):
3501         (WebCore::Dictionary::isObject):
3502         (WebCore::Dictionary::isUndefinedOrNull):
3503         (WebCore::Dictionary::get):
3504         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
3505         * bindings/js/IDBBindingUtilities.cpp:
3506         (WebCore::createDictionaryFromValue):
3507         * bindings/js/IDBBindingUtilities.h:
3508         (WebCore):
3509         * bindings/scripts/CodeGeneratorJS.pm:
3510         (JSValueToNative):
3511         * bindings/scripts/CodeGeneratorV8.pm:
3512         (GenerateHeader):
3513         (GenerateParametersCheck):
3514         (GenerateEventConstructorCallback):
3515         (GetNativeType):
3516         (JSValueToNative):
3517         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3518         (WebDOMTestObj::optionsObject):
3519         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3520         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3521         (webkit_dom_test_obj_options_object):
3522         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3523         * bindings/scripts/test/JS/JSTestObj.cpp:
3524         (WebCore::jsTestObjPrototypeFunctionIdbKey):
3525         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3526         * bindings/scripts/test/ObjC/DOMTestObj.h:
3527         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3528         (-[DOMTestObj optionsObject:ooo:]):
3529         * bindings/scripts/test/TestObj.idl:
3530         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3531         (WebCore::V8TestEventConstructor::constructorCallback):
3532         (WebCore::fillTestEventConstructorInit):
3533         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3534         (WebCore):
3535         * bindings/scripts/test/V8/V8TestObj.cpp:
3536         (WebCore::TestObjInternal::optionsObjectCallback):
3537         * bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
3538         (WebCore):
3539         (WebCore::Dictionary::Dictionary):
3540         (WebCore::Dictionary::~Dictionary):
3541         (WebCore::Dictionary::operator=):
3542         (WebCore::Dictionary::isObject):
3543         (WebCore::Dictionary::isUndefinedOrNull):
3544         (WebCore::Dictionary::getKey):
3545         (WebCore::Dictionary::get):
3546         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
3547         * bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
3548         (WebCore):
3549         (Dictionary):
3550         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3551         (WebCore::V8WebKitMutationObserver::observeCallback):
3552
3553 2012-03-12  Nikolas Zimmermann  <nzimmermann@rim.com>
3554
3555         SVG Animations update baseVal instead of animVal
3556         https://bugs.webkit.org/show_bug.cgi?id=12437
3557
3558         Reviewed by Dirk Schulze.
3559
3560         Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
3561         Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
3562         "readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
3563         "readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
3564         From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
3565         Its underlying value is the same though, if no animation is running on that attribute.
3566
3567         As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
3568         baseVal and animVal may begin to differ. The animVal always reflect the current animated
3569         value (including all effects of additive/accumulated animations) which is shown on screen
3570         when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
3571         property value / SVG DOM value, but may be influenced through dynamic changes.
3572         (Consider changing rect1.width.baseVal.value while 'width' is animated)
3573
3574         During the last year we prepared our animation code to turn on animVal support.
3575         This patch adds the last missing pieces to turn on animVal support for the SVGLength.
3576         SVGLengthList and all other types will follow, one after the other.
3577
3578         I've decided to write an exhaustive ChangeLog, as this as the base for any future
3579         work in this area - hopefully making this more reviewable.
3580
3581         Tests: svg/animations/additive-from-to-width-animation.html
3582                svg/animations/additive-values-width-animation.html
3583                svg/animations/change-baseVal-while-animating-fill-freeze-2.html
3584                svg/animations/change-baseVal-while-animating-fill-freeze.html
3585                svg/animations/change-baseVal-while-animating-fill-remove-2.html
3586                svg/animations/change-baseVal-while-animating-fill-remove.html
3587                svg/animations/change-target-while-animating-SVG-property.html
3588                svg/animations/multiple-animations-fill-freeze.html
3589                svg/animations/remove-animation-element-while-animation-is-running.html
3590                svg/repaint/repainting-after-animation-element-removal.svg
3591
3592         * svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
3593         (WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
3594         (WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
3595         (WebCore::SVGAnimateElement::resetToBaseValue):
3596             Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
3597             Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
3598             currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
3599             either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
3600             which can be removed once all SVG DOM primitive types switched to the new animVal concept.
3601
3602             NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
3603             for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
3604             <rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
3605             will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
3606             When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
3607             SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
3608             will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
3609             <animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
3610             Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
3611             applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
3612             work. It's very important for the understanding when animationStarted/animationEnded need to be called.
3613
3614         (WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
3615         (WebCore::SVGAnimateElement::targetElementWillChange):
3616             Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
3617             - animation element is destructed
3618             - animation element is removed from document
3619             - target element of animation is destructed
3620             - target element of animation is removed from document
3621             - target element of animation changes id
3622
3623             Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
3624             eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
3625             value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
3626             if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
3627             state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
3628             needs to take care of resetting the animVal pointers.
3629
3630         * svg/SVGAnimatedLength.cpp:
3631         (WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
3632             Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
3633             It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
3634             This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.
3635
3636         * svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
3637         * svg/SVGAnimatedType.cpp:
3638         (WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
3639         (WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
3640         * svg/SVGAnimatedType.h:
3641         (SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
3642         (WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
3643         * svg/SVGAnimatedTypeAnimator.h:
3644         (WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
3645             New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
3646             In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.
3647
3648         * svg/SVGAnimationElement.cpp:
3649         (WebCore::SVGAnimationElement::svgAttributeChanged):
3650             Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
3651             rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
3652             animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
3653             , if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.
3654
3655         (WebCore::SVGAnimationElement::animationAttributeChanged):
3656             Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
3657             This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)
3658
3659         (WebCore::setTargetAttributeAnimatedCSSValue):
3660             Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
3661             this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
3662             if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).
3663
3664         (WebCore::findMatchingAnimatedProperty):
3665             Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
3666             type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
3667             exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
3668             used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
3669             SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.
3670
3671         (WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
3672         (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
3673             Helper function to share code betweeen animationStarted/animationEnded.
3674             It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
3675             It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
3676             It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.
3677
3678         (WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
3679         (WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
3680         (WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
3681             Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
3682             destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
3683             this can go away.
3684
3685         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
3686             Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
3687             decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
3688             to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
3689             that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
3690             SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
3691             no need to call animationStarted() at each animated step!
3692
3693         (WebCore::SVGAnimationElement::animatedPropertyForType):
3694             Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
3695             current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
3696             Reuses the existing findMatchingAnimatedProperty code.
3697
3698         * svg/SVGAnimationElement.h:
3699         * svg/animation/SMILTimeContainer.cpp:
3700         (WebCore::SMILTimeContainer::updateAnimations):
3701             Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
3702             This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.
3703
3704         * svg/animation/SVGSMILElement.cpp:
3705         (WebCore::SVGSMILElement::removedFromDocument):
3706             Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
3707             we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
3708             otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.
3709             
3710             This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
3711             and svg/repaint/repainting-after-animation-element-removal.svg tests.
3712
3713         (WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
3714         (WebCore::SVGSMILElement::svgAttributeChanged):
3715             Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
3716             If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
3717             ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
3718             but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
3719             for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).
3720     
3721         (WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
3722         (WebCore::SVGSMILElement::targetElementWillChange):
3723             Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
3724             use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
3725             dangling pointers around (verified manually by guard malloc runs, that none of this happens).
3726
3727             Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
3728             Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
3729             just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.
3730
3731         (WebCore::SVGSMILElement::resetTargetElement):
3732             Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
3733             targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().
3734
3735             resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
3736             - targetElement gets destructed
3737             - targetElement gets removed from the document
3738             - targetElement id changes
3739
3740             If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
3741             as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
3742             targetElementWillChange now - that's why this has to be called from here as well.
3743             That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.
3744
3745         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
3746             Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
3747             Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
3748             to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
3749             strict type-checking, whenever SVGGenericAnimatedTypes are passed around.
3750
3751         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
3752         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
3753         * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
3754         (WebCore::SVGAnimatedListPropertyTearOff::create):
3755         (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
3756         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
3757         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
3758         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
3759         * svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
3760         (WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
3761         (WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
3762         (WebCore::SVGAnimatedProperty::animationStarted): Ditto.
3763         (WebCore::SVGAnimatedProperty::animationEnded): Ditto.
3764         (WebCore::SVGAnimatedProperty::currentBaseValue):
3765             Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
3766             It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
3767             the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.
3768
3769         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
3770         * svg/properties/SVGAnimatedPropertyTearOff.h:
3771         (WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
3772         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
3773         (SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
3774         (WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
3775         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
3776         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
3777             Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
3778             As this is important, here's an example of how this affects methods like rect->x() used in the renderers.
3779
3780             Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
3781             rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
3782             m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
3783             methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
3784             rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
3785             rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().
3786
3787             These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
3788             DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.
3789
3790             PropertyType& LowerProperty() const
3791             {
3792                 if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
3793                     if (wrapper->isAnimating())
3794                         return wrapper->currentAnimatedValue();
3795                 }
3796                 return m_##LowerProperty.value;
3797             }
3798
3799             PropertyType& LowerProperty##BaseValue() const
3800             {
3801                 return m_##LowerProperty.value;
3802             }
3803
3804             void set##UpperProperty##BaseValue(const PropertyType& type)
3805             {
3806                 m_##LowerProperty.value = type;
3807             }
3808
3809             Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
3810             During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
3811             is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
3812             I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)
3813
3814         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
3815         (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
3816         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
3817         (WebCore::SVGAnimatedStaticPropertyTearOff::create):
3818         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
3819         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
3820         (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
3821         (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
3822         * svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
3823         * svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.
3824
3825 2012-03-13  Luke Macpherson   <macpherson@chromium.org>
3826
3827         Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
3828         https://bugs.webkit.org/show_bug.cgi?id=80934
3829
3830         Reviewed by Andreas Kling.
3831
3832         No new tests / refactoring only.
3833
3834         * css/CSSStyleApplyProperty.cpp:
3835         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3836         * css/CSSStyleSelector.cpp:
3837         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3838
3839 2012-03-12  Matt Falkenhagen  <falken@chromium.org>
3840
3841         Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
3842         https://bugs.webkit.org/show_bug.cgi?id=80935
3843
3844         Reviewed by Kent Tamura.
3845
3846         ICU seems to have issues with non-well-formed locale strings.
3847         Currently, the only port that uses LocaleToScriptMappingICU.cpp is
3848         Chromium.
3849
3850         No new tests. LocaleToScriptMappingDefault.cpp is already used by
3851         other ports and covered by existing tests.
3852
3853         * WebCore.gyp/WebCore.gyp:
3854
3855 2012-03-12  Benjamin Poulain  <bpoulain@apple.com>
3856
3857         Fix IndexedDB build with JSC
3858         https://bugs.webkit.org/show_bug.cgi?id=80207
3859
3860         Reviewed by Adam Barth.
3861
3862         This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
3863         empty implementation, it compiles but IndexedDB is not working.
3864
3865         * DerivedSources.make: Added missing IDL files.
3866         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
3867         (IDBDatabaseBackendImpl):
3868         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
3869         (WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
3870         * Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
3871         (WebCore::IDBFactoryBackendImpl::openBackingStore):
3872         * Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
3873         (WebCore::IDBIndexBackendImpl::countInternal):
3874         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
3875         an empty implementation.
3876         (WebCore):
3877         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
3878         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
3879         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
3880         (WebCore::IDBObjectStoreBackendImpl::countInternal):
3881         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
3882         (WebCore::transactions):
3883         * Modules/indexeddb/IDBRequest.cpp: ditto.
3884         (WebCore::IDBRequest::resetReadyState):
3885         * Modules/indexeddb/IDBRequest.h: ditto.
3886         (WebCore::IDBRequest::onSuccessWithPrefetch):
3887         (WebCore):
3888         (WebCore::JSIDBVersionChangeRequest::visitChildren):
3889         * WebCore.xcodeproj/project.pbxproj:
3890         * bindings/js/IDBBindingUtilities.cpp:
3891         (WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
3892         (WebCore::createOptionsObjectFromValue): Add an empty implementation of
3893         the handling of database options (IDBObjectStoreParameters).
3894         (WebCore):
3895         * bindings/js/IDBBindingUtilities.h:
3896         (WebCore):
3897         * bindings/js/JSIDBAnyCustom.cpp:
3898         (WebCore::toJS): Add the missing IDBAny's types.
3899         * bindings/js/JSIDBKeyCustom.cpp:
3900         (WebCore::toJS): Add the missing IDBKey's types.
3901         * bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
3902         IDBVersionChangeRequest has the attribute EventTarget so it requires
3903         the visitChildren() function. An empty implementation was added.
3904         * bindings/js/OptionsObject.h: Add an empty implementation.
3905         (WebCore):
3906         (OptionsObject):
3907         (WebCore::OptionsObject::OptionsObject):
3908         (WebCore::OptionsObject::isObject):
3909         (WebCore::OptionsObject::isUndefinedOrNull):
3910         (WebCore::OptionsObject::get):
3911         (WebCore::OptionsObject::getWithUndefinedOrNullCheck):
3912         * bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
3913         (WebCore):
3914         (WebCore::SerializedScriptValue::create):
3915         (WebCore::SerializedScriptValue::toWireString):
3916         (WebCore::SerializedScriptValue::createFromWire):
3917         (WebCore::SerializedScriptValue::numberValue):
3918         (WebCore::SerializedScriptValue::deserialize):
3919         * bindings/js/SerializedScriptValue.h:
3920         (SerializedScriptValue):
3921         * bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
3922         -Support the IDBKey type correctly.
3923         -Support the OptionsObject type.
3924         -Generate valid function call for static functions.
3925         (GenerateImplementationFunctionCall):
3926         (JSValueToNative):
3927         (NativeToJSValue):
3928         * inspector/InspectorIndexedDBAgent.cpp:
3929         (WebCore):
3930
3931 2012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3932
3933         Unreviewed, rolling out r110529.
3934         http://trac.webkit.org/changeset/110529
3935         https://bugs.webkit.org/show_bug.cgi?id=80969
3936
3937         breaks mac build (Requested by morrita on #webkit).
3938
3939         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3940         (WebCore::computeUnoccludedContentRect):
3941
3942 2012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3943
3944         Unreviewed, rolling out r110524.
3945         http://trac.webkit.org/changeset/110524
3946         https://bugs.webkit.org/show_bug.cgi?id=80936
3947
3948         breaks chromium win build. (Requested by morrita on #webkit).
3949
3950         * Target.pri:
3951         * UseV8.cmake:
3952         * WebCore.gypi:
3953         * bindings/scripts/CodeGeneratorJS.pm:
3954         (GenerateHeader):
3955         (GenerateImplementation):
3956         * bindings/scripts/CodeGeneratorV8.pm:
3957         (GenerateHeader):
3958         (GenerateNamedConstructorCallback):
3959         (GenerateImplementation):
3960         * bindings/scripts/IDLAttributes.txt:
3961         * bindings/scripts/test/V8/V8Float64Array.cpp:
3962         (WebCore):
3963         * bindings/scripts/test/V8/V8Float64Array.h:
3964         (V8Float64Array):
3965         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3966         (WebCore):
3967         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3968         (V8TestActiveDOMObject):
3969         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3970         (WebCore):
3971         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3972         (V8TestCustomNamedGetter):
3973         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3974         (WebCore):
3975         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3976         (V8TestEventConstructor):
3977         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3978         (WebCore):
3979         * bindings/scripts/test/V8/V8TestEventTarget.h:
3980         (V8TestEventTarget):
3981         * bindings/scripts/test/V8/V8TestInterface.cpp:
3982         (WebCore):
3983         * bindings/scripts/test/V8/V8TestInterface.h:
3984         (V8TestInterface):
3985         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3986         (WebCore):
3987         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3988         (V8TestMediaQueryListListener):
3989         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3990         (WebCore):
3991         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3992         (V8TestNamedConstructor):
3993         * bindings/scripts/test/V8/V8TestObj.cpp:
3994         (WebCore):
3995         * bindings/scripts/test/V8/V8TestObj.h:
3996         (V8TestObj):
3997         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3998         (WebCore):
3999         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
400