2010-11-22 Charlie Reis <creis@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-22  Charlie Reis  <creis@chromium.org>
2
3         Reviewed by Darin Fisher.
4
5         Update correct content state during back/forward navigations
6         https://bugs.webkit.org/show_bug.cgi?id=48809
7
8         Ensures that history's previousItem is non-null when clients try to
9         update content state (e.g., Chromium's UpdateSessionHistory).  We now
10         track load completions with a boolean field rather than by clearing
11         previousItem.
12
13         Test: fast/history/saves-state-after-frame-nav.html
14
15         * loader/HistoryController.cpp:
16         * loader/HistoryController.h:
17
18 2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
19
20         Unreviewed, Windows build fix.
21
22         Adding JSMediaQueryList to DerivedSources.cpp.
23
24         * DerivedSources.cpp:
25
26 2010-11-22  Adam Roben  <aroben@apple.com>
27
28         Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
29
30         Apple's Windows build allows placing header files and import libraries for WebKit's
31         dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
32         $WebKitLibrariesDir environment variable. This is both required for production builds and
33         convenient for Apple-internal developer builds. Apple's production builds also require that
34         WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
35         builds, the files are copied into that directory tree by the
36         WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
37         copying is done by
38         JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
39
40         This .vsprops copying is problematic in one very important case: when a developer updates
41         their source tree and then tries to build. Visual Studio only reads .vsprops files when a
42         project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
43         updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
44         build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
45         $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
46         will proceed with out-of-date .vsprops files, which will likely result in a build failure.
47
48         To fix this, we now use normal relative paths to access the .vsprops files in the source
49         tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
50         variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
51         unset, so the normal relative paths are used to read the .vsprops files out of the source
52         tree directly. In production builds, this environment variable is set to a fake directory
53         that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
54         is resolved.
55         
56         For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
57
58         $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
59
60         In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
61         files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
62         JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
63         "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
64         FeatureDefines.vsprops becomes:
65
66         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
67
68         which resolves to:
69
70         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
71
72         (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
73         actually exist since they are matched by an equal number of ".." path components.)
74
75         Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
76         Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
77
78         Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
79         updated
80
81         Reviewed by Dave Hyatt.
82
83         * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
84         production builds can find the .vsprops files.
85
86         * WebCore.vcproj/QTMovieWin.vcproj:
87         * WebCore.vcproj/WebCore.vcproj:
88         Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
89         files.
90
91 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
92
93         Reviewed by Darin Adler.
94
95         Implement CSSOM View matchMedia interface
96         https://bugs.webkit.org/show_bug.cgi?id=37205
97
98         New interfaces may be used to evaluate media queries and to associate listeners
99         to media queries. Those listeners are called whenever the associated query changes.
100         Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
101
102         operator== added to JS version of ScriptValue.
103         Method isFunction added to JS and V8 versions of ScriptValue.
104
105         * bindings/js/ScriptValue.cpp:
106         (WebCore::ScriptValue::isFunction):
107         * bindings/js/ScriptValue.h:
108         (WebCore::ScriptValue::operator==):
109         * bindings/v8/ScriptValue.h:
110         (WebCore::ScriptValue::isFunction):
111
112         Some changes were needed to the code generators to handle type MediaQueryListListener.
113
114         * bindings/scripts/CodeGeneratorGObject.pm:
115         * bindings/scripts/CodeGeneratorJS.pm:
116         * bindings/scripts/CodeGeneratorV8.pm:
117
118         Some changes to the bindings test results that were previously added.
119
120         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
121         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
122         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
123         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
124         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
125         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
126         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
127
128         New interfaces:
129
130         * css/MediaQueryList.cpp: Added.
131         * css/MediaQueryList.h: Added.
132         * css/MediaQueryList.idl: Added.
133
134         * css/MediaQueryListListener.cpp: Added.
135         * css/MediaQueryListListener.h: Added.
136         * css/MediaQueryListListener.idl: Added.
137
138         To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
139
140         * css/MediaQueryMatcher.cpp: Added.
141         * css/MediaQueryMatcher.h: Added.
142
143         Document and DOMWindow have changed to support new features. DOMWindow is the class that
144         publishes methods matchMedia but for page cache to work properly the reference to the
145         MediaQueryMatcher must be in Document.
146
147         * dom/Document.cpp:
148         (WebCore::Document::~Document):
149         (WebCore::Document::mediaQueryMatcher):
150         (WebCore::Document::styleSelectorChanged):
151         * dom/Document.h:
152         * page/DOMWindow.cpp:
153         (WebCore::DOMWindow::matchMedia):
154         * page/DOMWindow.h:
155         * page/DOMWindow.idl:
156
157         Build systems
158
159         * CMakeLists.txt:
160         * DerivedSources.make:
161         * GNUmakefile.am:
162         * WebCore.gypi:
163         * WebCore.pri:
164         * WebCore.pro:
165         * WebCore.vcproj/WebCore.vcproj:
166         * WebCore.xcodeproj/project.pbxproj:
167         * bindings/gobject/GNUmakefile.am:
168
169         Tests: fast/media/media-query-list-01.html
170                fast/media/media-query-list-02.html
171                fast/media/media-query-list-03.html
172                fast/media/media-query-list-04.html
173                fast/media/media-query-list-05.html
174                fast/media/media-query-list-06.html
175                fast/media/media-query-list-07.html
176
177 2010-11-22  Alexander Pavlov  <apavlov@chromium.org>
178
179         Reviewed by Pavel Feldman.
180
181         Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
182         https://bugs.webkit.org/show_bug.cgi?id=49804
183
184         * css/CSSImportRule.cpp:
185         (WebCore::CSSImportRule::insertedIntoParent):
186         * inspector/InspectorCSSAgent.cpp:
187         (WebCore::InspectorCSSAgent::setStyleSheetText2):
188         * inspector/InspectorStyleSheet.cpp:
189         (WebCore::asCSSRuleList):
190         (WebCore::InspectorStyleSheet::reparseStyleSheet):
191         (WebCore::InspectorStyleSheet::setText):
192         (WebCore::InspectorStyleSheet::addRule):
193         (WebCore::InspectorStyleSheet::ruleForId):
194         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
195         (WebCore::InspectorStyleSheet::ensureText):
196         (WebCore::InspectorStyleSheet::ensureSourceData):
197         (WebCore::InspectorStyleSheet::ensureFlatRules):
198         (WebCore::InspectorStyleSheet::revalidateStyle):
199         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
200         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
201         (WebCore::InspectorStyleSheet::collectFlatRules):
202         * inspector/InspectorStyleSheet.h:
203
204 2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
205
206         Reviewed by Pavel Feldman.
207
208         Web Inspector: dump inspector protocol messages into console.
209         Sometimes I need to dump inspector messages into console.
210         It'd be much simple to have this code in repository and
211         enable protocol dumping just by a flag.
212
213         https://bugs.webkit.org/show_bug.cgi?id=49905
214
215         * inspector/CodeGeneratorInspector.pm:
216         * inspector/front-end/WorkersSidebarPane.js:
217         (WebInspector.WorkersSidebarPane.prototype.reset):
218         * inspector/front-end/inspector.js:
219         (WebInspector_syncDispatch):
220
221 2010-11-22  Andreas Kling  <kling@webkit.org>
222
223         Reviewed by Nikolas Zimmermann.
224
225         GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
226         https://bugs.webkit.org/show_bug.cgi?id=49840
227
228         This avoid copying a Path object when drawing focus rings.
229
230         * platform/graphics/GraphicsContext.h:
231         * platform/graphics/cairo/GraphicsContextCairo.cpp:
232         (WebCore::GraphicsContext::drawFocusRing):
233         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
234         (WebCore::GraphicsContext::drawFocusRing):
235         * platform/graphics/mac/GraphicsContextMac.mm:
236         (WebCore::GraphicsContext::drawFocusRing):
237         * platform/graphics/qt/GraphicsContextQt.cpp:
238         (WebCore::GraphicsContext::drawFocusRing):
239         * platform/graphics/skia/GraphicsContextSkia.cpp:
240         (WebCore::GraphicsContext::drawFocusRing):
241         * platform/graphics/win/GraphicsContextCGWin.cpp:
242         (WebCore::GraphicsContext::drawFocusRing):
243         * platform/graphics/wince/GraphicsContextWinCE.cpp:
244         (WebCore::GraphicsContext::drawFocusRing):
245         * platform/graphics/wx/GraphicsContextWx.cpp:
246         (WebCore::GraphicsContext::drawFocusRing):
247         * rendering/RenderImage.h:
248         * rendering/RenderImage.cpp:
249         (WebCore::RenderImage::paint):
250         (WebCore::RenderImage::paintFocusRing):
251         Renamed from paintFocusRings since it only paints one ring.
252
253 2010-11-22  Renata Hodovan  <reni@webkit.org>
254
255         Reviewed by Andreas Kling.
256
257         Outside list bullets ignore text-align style.
258         https://bugs.webkit.org/show-bug.cgi?id=15713
259
260         Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
261         First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
262         position. As for the others, this sum should be decremented with the previous marker's width.
263         In case of vertical markers the padding is unneeded.
264
265         Test: fast/lists/outSideListMarkers.html
266
267         * rendering/InlineFlowBox.cpp:
268         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
269         * rendering/RenderListItem.cpp:
270         (WebCore::RenderListItem::positionListMarker):
271
272 2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
273
274         Reviewed by Antonio Gomes.
275
276         Spatial Navigation: issues with the node selection algorithm.
277         https://bugs.webkit.org/show_bug.cgi?id=49382
278
279         Modify the Spatial Navigation algorithm, to better handle initial focus and
280         navigation between frames.
281         The new algorithm takes the rect of the focused node as the startingRect,
282         instead of the node itself. That allows us to construct a virtual rect if
283         there is no focused node, or if it is off the screen.
284         The virtual rect is the edge of the container in the direction of the navigation.
285
286         With this patch, scrollable containers and frames will scroll regardless of weather
287         they have focusable content. Users will be able to use arrow keys to view all the
288         content of such a container. The only exception is if the container has style overflow:hidden. 
289         We will not scroll in that case.
290
291         With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
292         we do a hit test and only the node on top can get focus.
293
294         hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
295         its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
296         and cannot scroll.
297
298         calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
299         the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
300         allowed to scroll.
301
302         * page/FocusController.cpp:
303         (WebCore::updateFocusCandidateIfNeeded):
304         (WebCore::FocusController::findFocusCandidateInContainer):
305         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
306         (WebCore::FocusController::advanceFocusDirectionally):
307         * page/FocusController.h:
308         * page/FrameView.h:
309         * page/SpatialNavigation.cpp:
310         (WebCore::FocusCandidate::FocusCandidate):
311         (WebCore::distanceDataForNode):
312         (WebCore::alignmentForRects):
313         (WebCore::areRectsMoreThanFullScreenApart):
314         (WebCore::isRectInDirection):
315         (WebCore::hasOffscreenRect):
316         (WebCore::scrollInDirection):
317         (WebCore::isScrollableContainerNode):
318         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
319         (WebCore::canScrollInDirection):
320         (WebCore::rectToAbsoluteCoordinates):
321         (WebCore::nodeRectInAbsoluteCoordinates):
322         (WebCore::frameRectInAbsoluteCoordinates):
323         (WebCore::entryAndExitPointsForDirection):
324         (WebCore::canBeScrolledIntoView):
325         (WebCore::virtualRectForDirection):
326         * page/SpatialNavigation.h:
327
328 2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
329
330         Reviewed by Dirk Schulze.
331
332         Fix various problems with the SVG*List code
333         https://bugs.webkit.org/show_bug.cgi?id=49880
334
335         Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
336         SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
337         by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
338
339         * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
340         * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
341         * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
342         * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
343
344         Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
345                svg/dom/SVGNumberList-basics.xhtml
346                svg/dom/SVGPointList-basics.xhtml
347                svg/dom/SVGStringList-basics.xhtml
348                svg/dom/SVGTransformList-basics.xhtml
349
350         * bindings/js/JSSVGLengthCustom.cpp:
351         (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
352         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
353         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
354         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
355         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
356         * bindings/v8/custom/V8SVGLengthCustom.cpp:
357         (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
358         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
359         * svg/SVGAElement.cpp:
360         (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
361         * svg/SVGAnimationElement.cpp:
362         (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
363         * svg/SVGCircleElement.cpp:
364         (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
365         * svg/SVGClipPathElement.cpp:
366         (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
367         * svg/SVGCursorElement.cpp:
368         (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
369         * svg/SVGDefsElement.cpp:
370         (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
371         * svg/SVGEllipseElement.cpp:
372         (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
373         * svg/SVGForeignObjectElement.cpp:
374         (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
375         * svg/SVGGElement.cpp:
376         (WebCore::SVGGElement::synchronizeProperty): Ditto.
377         * svg/SVGImageElement.cpp:
378         (WebCore::SVGImageElement::synchronizeProperty): Ditto.
379         * svg/SVGLengthList.cpp:
380         (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
381         * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
382         * svg/SVGLineElement.cpp:
383         (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
384         * svg/SVGMaskElement.cpp:
385         (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
386         * svg/SVGNumberList.cpp:
387         (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
388         * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
389         * svg/SVGPathElement.cpp:
390         (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
391         * svg/SVGPatternElement.cpp:
392         (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
393         * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
394         * svg/SVGPolyElement.cpp:
395         (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
396         * svg/SVGRectElement.cpp:
397         (WebCore::SVGRectElement::synchronizeProperty): Ditto.
398         * svg/SVGSVGElement.cpp:
399         (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
400         * svg/SVGStringList.cpp:
401         (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
402         * svg/SVGStringList.h:
403         * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
404         * svg/SVGSwitchElement.cpp:
405         (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
406         * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
407         (WebCore::SVGTests::SVGTests):
408         (WebCore::SVGTests::isValid):
409         (WebCore::SVGTests::parseMappedAttribute):
410         (WebCore::SVGTests::isKnownAttribute):
411         (WebCore::SVGTests::handleAttributeChange):
412         (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
413         (WebCore::SVGTests::synchronizeRequiredFeatures):
414         (WebCore::SVGTests::synchronizeRequiredExtensions):
415         (WebCore::SVGTests::synchronizeSystemLanguage):
416         (WebCore::SVGTests::requiredFeatures):
417         (WebCore::SVGTests::requiredExtensions):
418         (WebCore::SVGTests::systemLanguage):
419         * svg/SVGTests.h:
420         * svg/SVGTextContentElement.cpp:
421         (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
422         * svg/SVGTransform.cpp:
423         (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
424         * svg/SVGTransform.h:
425         * svg/SVGTransformList.cpp:
426         (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
427         * svg/SVGUseElement.cpp:
428         (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
429         * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
430         (WebCore::SVGListProperty::initializeValuesAndWrappers):
431         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
432         (WebCore::SVGListProperty::replaceItemValues):
433         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
434         (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
435         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
436         (WebCore::SVGListProperty::role): Expose the role of this list property.
437         * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
438         (WebCore::SVGPathSegListPropertyTearOff::initialize):
439         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
440         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
441         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
442         * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
443         * svg/properties/SVGPropertyTearOff.h:
444         (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
445         (WebCore::SVGPropertyTearOff::role):
446         (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
447         * svg/properties/SVGStaticPropertyTearOff.h:
448         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
449         * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
450         (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
451
452 2010-11-22  Yuzo Fujishima  <yuzo@google.com>
453
454         Reviewed by Dan Bernstein.
455
456         Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
457         https://bugs.webkit.org/show_bug.cgi?id=49374
458
459         Test: fast/css/font-face-data-uri.html
460
461         * css/CSSFontFaceSrcValue.cpp:
462         (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
463         extension" for data URI. For other URI, check against ".eot" rather
464         than "eot".
465
466 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
467
468         Reviewed by Csaba Osztrogonác.
469
470         Use WTF_ARRAY_LENGTH in WebCore directory
471         https://bugs.webkit.org/show_bug.cgi?id=49882
472
473         * accessibility/AccessibilityObject.cpp:
474         (WebCore::createARIARoleMap):
475         * bindings/js/JSDOMWindowBase.cpp:
476         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
477         * bindings/scripts/CodeGeneratorV8.pm:
478         * bindings/scripts/test/V8/V8TestObj.cpp:
479         (WebCore::ConfigureV8TestObjTemplate):
480         * css/CSSComputedStyleDeclaration.cpp:
481         * css/CSSMutableStyleDeclaration.cpp:
482         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
483         * css/CSSParser.cpp:
484         (WebCore::CSSParser::parseAnimationShorthand):
485         (WebCore::CSSParser::parseTransitionShorthand):
486         * css/CSSPropertyLonghand.cpp:
487         (WebCore::initShorthandMap):
488         * dom/ExceptionCode.cpp:
489         (WebCore::getExceptionCodeDescription):
490         * editing/ApplyStyleCommand.cpp:
491         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
492         * editing/EditingStyle.cpp:
493         * editing/Editor.cpp:
494         (WebCore::triStateOfStyle):
495         * editing/EditorCommand.cpp:
496         (WebCore::createCommandMap):
497         * editing/MarkupAccumulator.cpp:
498         (WebCore::appendCharactersReplacingEntities):
499         * html/canvas/WebGLBuffer.cpp:
500         (WebCore::WebGLBuffer::getCachedMaxIndex):
501         (WebCore::WebGLBuffer::setCachedMaxIndex):
502         * loader/FTPDirectoryParser.cpp:
503         (WebCore::parseOneFTPLine):
504         * mathml/RenderMathMLOperator.cpp:
505         (WebCore::RenderMathMLOperator::updateFromElement):
506         * page/animation/AnimationBase.cpp:
507         (WebCore::addShorthandProperties):
508         * rendering/RenderTextControl.cpp:
509         (WebCore::RenderTextControl::hasValidAvgCharWidth):
510         * rendering/break_lines.cpp:
511         * svg/SVGTransformable.cpp:
512         (WebCore::parseAndSkipType):
513         * svg/SVGViewSpec.cpp:
514         (WebCore::SVGViewSpec::parseViewSpec):
515         * svg/SVGZoomAndPan.cpp:
516         (WebCore::SVGZoomAndPan::parseZoomAndPan):
517         * xml/XPathFunctions.cpp:
518         (WebCore::XPath::createFunctionMap):
519
520 2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
521
522         Reviewed by Chris Fleizach.
523
524         [GTK] Implement ROLE_COMBO_BOX
525         https://bugs.webkit.org/show_bug.cgi?id=25678
526
527         Implement the remaining bits for combo boxes.
528
529         This patch finishes the implementation, from the point of view of
530         the Atk library, of those objects exposed to ATK as combo boxes,
531         and their related elements (menus and menu items). It therefore
532         implements the proper interfaces for each type of object related
533         to combo boxes (AtkSelection for the combo box, AtkText for every
534         menu item and AtkAction for the combo box, the menu and the menu
535         items), takes care of emitting the proper signals when focus or a
536         given a selection changes and adds a new unit test to check all
537         this new stuff.
538
539         Make possible to ask an AccessibleMenuListOption for a sensible
540         string representation, so far only available through the private
541         and MSAA related method nameForMSAA. Just moved the implementation
542         of that method to an overriden version of stringValue(), which is
543         platform independent, and called that from nameForMSAA().
544
545         * accessibility/AccessibilityMenuListOption.h:
546         * accessibility/AccessibilityMenuListOption.cpp:
547         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
548         stringValue(), which holds from now on that used to be here.
549         (WebCore::AccessibilityMenuListOption::stringValue): New, override
550         of AccessibilityObject::stringValue() to return a proper string.
551
552         Emit the missing signals when a selection is made.
553
554         * accessibility/gtk/AXObjectCacheAtk.cpp:
555         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
556         'focus' signals when a selection is made over the combo box.
557
558         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
559         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
560         Atk states are added to the state set when needed.
561         (listObjectForSelection): New, returns the proper list object (the
562         one holding the list of available options as its children) for an
563         specific AtkObject implementing AtkSelection. This is needed
564         because sometimes the selectable options are not directly children
565         of the AtkSelection object (i.e. a combo box has a 'menu' object
566         as its only child of it, holding the list of options as children).
567         (optionFromList): Use listObjectForSelection() to get the actual
568         object holding the list of children as the available options.
569         (optionFromSelection): Add support for combo boxes.
570         (webkit_accessible_selection_add_selection): Ditto.
571         (webkit_accessible_selection_clear_selection): Ditto.
572         (webkit_accessible_selection_get_selection_count): Ditto.
573         (webkit_accessible_selection_is_child_selected): Ditto.
574         (webkit_accessible_selection_remove_selection): Ditto.
575         (webkit_accessible_text_get_text): Makes sure stringValue() is
576         considered to get the result substring when it was already
577         considered when checking the maximum text length for the object.
578         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
579         is implemented for the combo boxes, that the AtkText is
580         implemented for the menu items and that the AtkAction interface is
581         now implemented for every object (WebCore will decide what to do).
582
583         Avoid a segfault crash when using this from unit tests.
584
585         * platform/gtk/PopupMenuGtk.cpp:
586         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
587         before calling gdk_window_get_origin() over it.
588
589 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
590
591         Reviewed by Csaba Osztrogonác.
592
593         Use WTF_ARRAY_LENGTH in WebCore/platform directory
594         https://bugs.webkit.org/show_bug.cgi?id=49881
595
596         * platform/KURL.cpp:
597         (WebCore::portAllowed):
598         * platform/KURLGoogle.cpp:
599         (WebCore::portAllowed):
600         * platform/MIMETypeRegistry.cpp:
601         (WebCore::initializeSupportedImageMIMETypes):
602         (WebCore::initializeSupportedJavaScriptMIMETypes):
603         (WebCore::initializeSupportedNonImageMimeTypes):
604         * platform/UUID.cpp:
605         (WebCore::createCanonicalUUIDString):
606         * platform/efl/RenderThemeEfl.cpp:
607         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
608         * platform/graphics/GraphicsTypes.cpp:
609         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
610         (WebCore::FontCodepage::if):
611         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
612         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
613         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
614         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
615         (WebCore::disableComponentsOnce):
616         * platform/graphics/mac/SimpleFontDataATSUI.mm:
617         (WebCore::SimpleFontData::checkShapesArabic):
618         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
619         (WebCore::SimpleFontData::getCFStringAttributes):
620         * platform/graphics/win/GraphicsContextCGWin.cpp:
621         (WebCore::GraphicsContext::drawLineForTextChecking):
622         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
623         (WebCore::disableComponentsOnce):
624         * platform/graphics/win/QTMovie.cpp:
625         (QTMovie::load):
626         * platform/network/cf/SocketStreamHandleCFNet.cpp:
627         (WebCore::SocketStreamHandle::createStreams):
628         * platform/text/TextEncodingRegistry.cpp:
629         (WebCore::pruneBlacklistedCodecs):
630         * platform/text/transcoder/FontTranscoder.cpp:
631         (WebCore::FontTranscoder::FontTranscoder):
632
633 2010-11-20  Andreas Kling  <kling@webkit.org>
634
635         Rubber-stamped by Antonio Gomes.
636
637         [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
638
639         * platform/graphics/qt/FontPlatformDataQt.cpp:
640         (WebCore::isEmptyValue):
641         (WebCore::FontPlatformData::FontPlatformData):
642
643 2010-11-20  Andreas Kling  <kling@webkit.org>
644
645         Reviewed by Antonio Gomes.
646
647         [Qt] Limit the size of image preview "cursor" when dragging
648         https://bugs.webkit.org/show_bug.cgi?id=49872
649
650         Respect DragController::maxDragImageSize() (currently 400x400.)
651
652         * platform/qt/DragImageQt.cpp:
653         (WebCore::dragImageSize):
654         (WebCore::scaleDragImage):
655
656 2010-11-20  Andreas Kling  <kling@webkit.org>
657
658         Reviewed by Antonio Gomes.
659
660         [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
661         https://bugs.webkit.org/show_bug.cgi?id=49870
662
663         Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
664
665         * page/qt/FrameQt.cpp:
666         (WebCore::Frame::dragImageForSelection):
667         * platform/qt/DragImageQt.cpp:
668         (WebCore::deleteDragImage):
669         (WebCore::createDragImageFromImage):
670
671 2010-11-20  Xan Lopez  <xlopez@igalia.com>
672
673         Reviewed by Martin Robinson.
674
675         [GTK] Memory managament for DOM GObject wrappers
676         https://bugs.webkit.org/show_bug.cgi?id=40302
677
678         Initial attempt to have a kind of poor man's garbage collection
679         for GObject DOM objects. We tie the object's lifecycle to their
680         parent Frame and/or its document; that is, all objects will be
681         collected when their parent frame is destroyed or when that frame
682         transitions to a new document. Manual management (calling
683         g_object_unref on them) is also allowed, and is required for
684         objects that are not in the DOM tree (eg NodeLists).
685
686         * GNUmakefile.am:
687         * bindings/gobject/DOMObjectCache.cpp: Added.
688         * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
689         * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
690         * bindings/gobject/WebKitDOMBinding.h: ditto.
691         * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
692
693 2010-11-20  Helder Correia  <helder@sencha.com>
694
695         Reviewed by Andreas Kling.
696
697         [Qt] Path stroke lacks blur shadow support
698         https://bugs.webkit.org/show_bug.cgi?id=49490
699
700         Add blur shadow support to strokePath().
701
702         Test: fast/canvas/canvas-strokePath-shadow.html
703
704         * platform/graphics/qt/GraphicsContextQt.cpp:
705         (WebCore::GraphicsContext::strokePath):
706
707 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
708
709         Reviewed by David Kilzer.
710
711         [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
712         https://bugs.webkit.org/show_bug.cgi?id=49518
713
714         HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
715
716         * platform/graphics/WOFFFileFormat.cpp:
717
718 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
719
720         Reviewed by David Kilzer.
721
722         [BREWMP] Use std_wstrlen instead of WSTRLEN
723         https://bugs.webkit.org/show_bug.cgi?id=49516
724
725         WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
726
727         * platform/text/brew/StringBrew.cpp:
728         (WTF::String::String):
729
730 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
731
732         Reviewed by David Kilzer.
733
734         [WINCE] Implement textBreakLast and textBreakPrevious
735         https://bugs.webkit.org/show_bug.cgi?id=49552
736
737         This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
738         Also unify the different TextBreakIterator::first() implementations.
739
740         * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
741         * platform/text/wince/TextBreakIteratorWinCE.cpp:
742         (WebCore::TextBreakIterator::first):
743         (WebCore::TextBreakIterator::last):
744         (WebCore::textBreakLast):
745         (WebCore::textBreakPrevious):
746
747 2010-11-20  Andreas Kling  <kling@webkit.org>
748
749         Reviewed by David Kilzer.
750
751         Path: Remove unused method swap()
752         https://bugs.webkit.org/show_bug.cgi?id=49853
753
754         * platform/graphics/Path.h:
755
756 2010-11-20  David Kilzer  <ddkilzer@apple.com>
757
758         <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
759
760         Reviewed by Dan Bernstein.
761
762         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
763         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
764         RetainPtr<NSDictionary> for movieAttributes.
765
766 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
767
768         Reviewed by Andreas Kling.
769
770         Use String::fromUTF8 instead of UTF8Encoding().decode
771         in the libxml XMLDocumentParser
772         https://bugs.webkit.org/show_bug.cgi?id=45488
773
774         * dom/XMLDocumentParser.cpp:
775         (WebCore::toString):
776
777 2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
778
779         Reviewed by Dirk Schulze.
780
781         FilterPrimitives should have a pointer to its Filter object.
782         https://bugs.webkit.org/show_bug.cgi?id=49863
783
784         FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
785         This patch adds this member to FilterEffect.
786
787         No new test is needed because these modifications are covered by all of SVG Filter tests.
788
789         * platform/graphics/filters/FEBlend.cpp:
790         (WebCore::FEBlend::FEBlend):
791         (WebCore::FEBlend::create):
792         (WebCore::FEBlend::apply):
793         * platform/graphics/filters/FEBlend.h:
794         * platform/graphics/filters/FEColorMatrix.cpp:
795         (WebCore::FEColorMatrix::FEColorMatrix):
796         (WebCore::FEColorMatrix::create):
797         (WebCore::FEColorMatrix::apply):
798         * platform/graphics/filters/FEColorMatrix.h:
799         * platform/graphics/filters/FEComponentTransfer.cpp:
800         (WebCore::FEComponentTransfer::FEComponentTransfer):
801         (WebCore::FEComponentTransfer::create):
802         (WebCore::FEComponentTransfer::apply):
803         * platform/graphics/filters/FEComponentTransfer.h:
804         * platform/graphics/filters/FEComposite.cpp:
805         (WebCore::FEComposite::FEComposite):
806         (WebCore::FEComposite::create):
807         (WebCore::FEComposite::determineAbsolutePaintRect):
808         (WebCore::FEComposite::apply):
809         * platform/graphics/filters/FEComposite.h:
810         * platform/graphics/filters/FEConvolveMatrix.cpp:
811         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
812         (WebCore::FEConvolveMatrix::create):
813         (WebCore::FEConvolveMatrix::apply):
814         * platform/graphics/filters/FEConvolveMatrix.h:
815         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
816         * platform/graphics/filters/FEDiffuseLighting.cpp:
817         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
818         (WebCore::FEDiffuseLighting::create):
819         * platform/graphics/filters/FEDiffuseLighting.h:
820         * platform/graphics/filters/FEDisplacementMap.cpp:
821         (WebCore::FEDisplacementMap::FEDisplacementMap):
822         (WebCore::FEDisplacementMap::create):
823         (WebCore::FEDisplacementMap::apply):
824         * platform/graphics/filters/FEDisplacementMap.h:
825         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
826         * platform/graphics/filters/FEFlood.cpp:
827         (WebCore::FEFlood::FEFlood):
828         (WebCore::FEFlood::create):
829         (WebCore::FEFlood::apply):
830         * platform/graphics/filters/FEFlood.h:
831         (WebCore::FEFlood::determineAbsolutePaintRect):
832         * platform/graphics/filters/FEGaussianBlur.cpp:
833         (WebCore::FEGaussianBlur::FEGaussianBlur):
834         (WebCore::FEGaussianBlur::create):
835         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
836         (WebCore::FEGaussianBlur::apply):
837         * platform/graphics/filters/FEGaussianBlur.h:
838         * platform/graphics/filters/FELighting.cpp:
839         (WebCore::FELighting::FELighting):
840         (WebCore::FELighting::apply):
841         * platform/graphics/filters/FELighting.h:
842         (WebCore::FELighting::determineAbsolutePaintRect):
843         * platform/graphics/filters/FEMerge.cpp:
844         (WebCore::FEMerge::FEMerge):
845         (WebCore::FEMerge::create):
846         (WebCore::FEMerge::apply):
847         * platform/graphics/filters/FEMerge.h:
848         * platform/graphics/filters/FEMorphology.cpp:
849         (WebCore::FEMorphology::FEMorphology):
850         (WebCore::FEMorphology::create):
851         (WebCore::FEMorphology::determineAbsolutePaintRect):
852         (WebCore::FEMorphology::apply):
853         * platform/graphics/filters/FEMorphology.h:
854         * platform/graphics/filters/FEOffset.cpp:
855         (WebCore::FEOffset::FEOffset):
856         (WebCore::FEOffset::create):
857         (WebCore::FEOffset::determineAbsolutePaintRect):
858         (WebCore::FEOffset::apply):
859         * platform/graphics/filters/FEOffset.h:
860         * platform/graphics/filters/FESpecularLighting.cpp:
861         (WebCore::FESpecularLighting::FESpecularLighting):
862         (WebCore::FESpecularLighting::create):
863         * platform/graphics/filters/FESpecularLighting.h:
864         * platform/graphics/filters/FETile.cpp:
865         (WebCore::FETile::FETile):
866         (WebCore::FETile::create):
867         (WebCore::FETile::apply):
868         * platform/graphics/filters/FETile.h:
869         (WebCore::FETile::determineAbsolutePaintRect):
870         * platform/graphics/filters/FETurbulence.cpp:
871         (WebCore::FETurbulence::FETurbulence):
872         (WebCore::FETurbulence::create):
873         (WebCore::FETurbulence::apply):
874         * platform/graphics/filters/FETurbulence.h:
875         (WebCore::FETurbulence::determineAbsolutePaintRect):
876         * platform/graphics/filters/FilterEffect.cpp:
877         (WebCore::FilterEffect::FilterEffect):
878         (WebCore::FilterEffect::determineAbsolutePaintRect):
879         (WebCore::FilterEffect::effectContext):
880         * platform/graphics/filters/FilterEffect.h:
881         (WebCore::FilterEffect::filter):
882         * platform/graphics/filters/SourceAlpha.cpp:
883         (WebCore::SourceAlpha::create):
884         (WebCore::SourceAlpha::determineAbsolutePaintRect):
885         (WebCore::SourceAlpha::apply):
886         * platform/graphics/filters/SourceAlpha.h:
887         (WebCore::SourceAlpha::SourceAlpha):
888         * platform/graphics/filters/SourceGraphic.cpp:
889         (WebCore::SourceGraphic::create):
890         (WebCore::SourceGraphic::determineAbsolutePaintRect):
891         (WebCore::SourceGraphic::apply):
892         * platform/graphics/filters/SourceGraphic.h:
893         (WebCore::SourceGraphic::SourceGraphic):
894         * rendering/RenderSVGResourceFilter.cpp:
895         (WebCore::RenderSVGResourceFilter::buildPrimitives):
896         (WebCore::RenderSVGResourceFilter::applyResource):
897         (WebCore::RenderSVGResourceFilter::postApplyResource):
898         * rendering/RenderSVGResourceFilter.h:
899         * rendering/SVGRenderTreeAsText.cpp:
900         (WebCore::writeSVGResourceContainer):
901         * svg/SVGFEBlendElement.cpp:
902         (WebCore::SVGFEBlendElement::build):
903         * svg/SVGFEBlendElement.h:
904         * svg/SVGFEColorMatrixElement.cpp:
905         (WebCore::SVGFEColorMatrixElement::build):
906         * svg/SVGFEColorMatrixElement.h:
907         * svg/SVGFEComponentTransferElement.cpp:
908         (WebCore::SVGFEComponentTransferElement::build):
909         * svg/SVGFEComponentTransferElement.h:
910         * svg/SVGFECompositeElement.cpp:
911         (WebCore::SVGFECompositeElement::build):
912         * svg/SVGFECompositeElement.h:
913         * svg/SVGFEConvolveMatrixElement.cpp:
914         (WebCore::SVGFEConvolveMatrixElement::build):
915         * svg/SVGFEConvolveMatrixElement.h:
916         * svg/SVGFEDiffuseLightingElement.cpp:
917         (WebCore::SVGFEDiffuseLightingElement::build):
918         * svg/SVGFEDiffuseLightingElement.h:
919         * svg/SVGFEDisplacementMapElement.cpp:
920         (WebCore::SVGFEDisplacementMapElement::build):
921         * svg/SVGFEDisplacementMapElement.h:
922         * svg/SVGFEFloodElement.cpp:
923         (WebCore::SVGFEFloodElement::build):
924         * svg/SVGFEFloodElement.h:
925         * svg/SVGFEGaussianBlurElement.cpp:
926         (WebCore::SVGFEGaussianBlurElement::build):
927         * svg/SVGFEGaussianBlurElement.h:
928         * svg/SVGFEImageElement.cpp:
929         (WebCore::SVGFEImageElement::build):
930         * svg/SVGFEImageElement.h:
931         * svg/SVGFEMergeElement.cpp:
932         (WebCore::SVGFEMergeElement::build):
933         * svg/SVGFEMergeElement.h:
934         * svg/SVGFEMorphologyElement.cpp:
935         (WebCore::SVGFEMorphologyElement::build):
936         * svg/SVGFEMorphologyElement.h:
937         * svg/SVGFEOffsetElement.cpp:
938         (WebCore::SVGFEOffsetElement::build):
939         * svg/SVGFEOffsetElement.h:
940         * svg/SVGFESpecularLightingElement.cpp:
941         (WebCore::SVGFESpecularLightingElement::build):
942         * svg/SVGFESpecularLightingElement.h:
943         * svg/SVGFETileElement.cpp:
944         (WebCore::SVGFETileElement::build):
945         * svg/SVGFETileElement.h:
946         * svg/SVGFETurbulenceElement.cpp:
947         (WebCore::SVGFETurbulenceElement::build):
948         * svg/SVGFETurbulenceElement.h:
949         * svg/SVGFilterPrimitiveStandardAttributes.h:
950         * svg/graphics/filters/SVGFEImage.cpp:
951         (WebCore::FEImage::FEImage):
952         (WebCore::FEImage::create):
953         (WebCore::FEImage::determineAbsolutePaintRect):
954         (WebCore::FEImage::apply):
955         * svg/graphics/filters/SVGFEImage.h:
956         * svg/graphics/filters/SVGFilterBuilder.cpp:
957         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
958         * svg/graphics/filters/SVGFilterBuilder.h:
959         (WebCore::SVGFilterBuilder::create):
960
961 2010-11-20  Helder Correia  <helder@sencha.com>
962
963         Reviewed by Andreas Kling.
964
965         [Qt] GraphicsContext::strokeArc() is not necessary any more
966         https://bugs.webkit.org/show_bug.cgi?id=49859
967
968         Remove strokeArc() from the Qt port.
969
970         No test is needed.
971
972         * platform/graphics/qt/GraphicsContextQt.cpp:
973
974 2010-11-20  Helder Correia  <helder@sencha.com>
975
976         Reviewed by Andreas Kling.
977
978         [Qt] Path fill lacks blur shadow support
979         https://bugs.webkit.org/show_bug.cgi?id=49491
980
981         Add blur shadow support to fillPath().
982
983         Test: fast/canvas/canvas-fillPath-shadow.html
984
985         * platform/graphics/qt/GraphicsContextQt.cpp:
986         (WebCore::GraphicsContext::fillPath):
987
988 2010-11-19  W. James MacLean  <wjmaclean@chromium.org>
989
990         Reviewed by James Robinson.
991
992         Scaled Resized images are blurred when sent to Skia
993         https://bugs.webkit.org/show_bug.cgi?id=42370
994
995         This patch modifies ImageSkia.cpp to fix the calculation of resampled
996         bitmap sizes so as to include the transform matrix of the canvas.
997         Includes a new test to catch a regression that occured the first time
998         this patch was applied.
999
1000         Tests: svg/custom/image-rescale-scroll.html
1001                svg/custom/image-rescale.svg
1002
1003         * platform/graphics/skia/ImageSkia.cpp:
1004         (WebCore::computeResamplingMode):
1005         (WebCore::drawResampledBitmap):
1006
1007 2010-11-19  Jia Pu  <jpu@apple.com>
1008
1009         Reviewed by Dan Bernstein.
1010
1011         Regression: contraction is considered misspelling.
1012         https://bugs.webkit.org/show_bug.cgi?id=49423
1013         <rdar://problem/8654206>
1014
1015         Test: platform/mac/editing/spelling/autocorrection-contraction.html
1016               manual-tests/autocorrection/autocorrection-contraction.html
1017
1018         * editing/Editor.cpp:
1019         (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
1020           be used by all other functions in the file.
1021         (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
1022           to improve readability, and to pass in additional argument. Before we apply pending
1023           autocorrection, we check to see if currently typed character makes current word a partial
1024           contraction, for instance "wouldn'". If that's the case, we would not apply the pending
1025           correction.
1026         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
1027           is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
1028           the location of ambiguous boundary if other replacements have changed the length of the
1029           paragraph.
1030         * editing/Editor.h:
1031         * editing/TypingCommand.cpp:
1032         (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
1033         * manual-tests/autocorrection/autocorrection-contraction.html: Added.
1034
1035 2010-11-19  Andreas Kling  <kling@webkit.org>
1036
1037         Reviewed by Antonio Gomes.
1038
1039         ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
1040         https://bugs.webkit.org/show_bug.cgi?id=49854
1041
1042         * page/FrameView.cpp:
1043         (WebCore::FrameView::delegatesScrolling):
1044         (WebCore::FrameView::avoidScrollbarCreation):
1045         * page/FrameView.h:
1046         * platform/ScrollView.h:
1047         (WebCore::ScrollView::delegatesScrolling):
1048         (WebCore::ScrollView::avoidScrollbarCreation):
1049
1050 2010-11-19  Pavel Podivilov  <podivilov@chromium.org>
1051
1052         Reviewed by Yury Semikhatsky.
1053
1054         Web Inspector: scripts panel should be shown before execution line is scrolled into view.
1055         https://bugs.webkit.org/show_bug.cgi?id=49792
1056
1057         * inspector/front-end/ScriptsPanel.js:
1058         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
1059
1060 2010-11-19  James Simonsen  <simonjam@chromium.org>
1061
1062         Reviewed by Tony Chang.
1063
1064         [chromium] Fix whitespace character handling in complex text on linux
1065         https://bugs.webkit.org/show_bug.cgi?id=49771
1066
1067         * platform/graphics/SimpleFontData.h:
1068         (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
1069         (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
1070         (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
1071         * platform/graphics/chromium/FontLinux.cpp:
1072         (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
1073         (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
1074         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
1075         (WebCore::TextRunWalker::getNormalizedTextRun):
1076
1077 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1078
1079         Reviewed by Adam Roben.
1080
1081         Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
1082         https://bugs.webkit.org/show_bug.cgi?id=49819
1083
1084         * WebCore.vcproj/QTMovieWin.vcproj:
1085         * WebCore.vcproj/WebCore.vcproj:
1086         * WebCore.vcproj/WebCoreGenerated.vcproj:
1087
1088 2010-11-19  Brady Eidson  <beidson@apple.com>
1089
1090         Reviewed by Darin Adler.
1091
1092         <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
1093         Add WebKit2 API relevant to customization of context menus
1094
1095         * WebCore.exp.in:
1096
1097 2010-11-19  Michael Saboff  <msaboff@apple.com>
1098
1099         Reviewed by Sam Weinig.
1100
1101         Removed import of DOMSVGAnimatedPathData.h to fix build.
1102
1103         * bindings/objc/DOMSVG.h:
1104
1105 2010-11-19  Avi Drissman  <avi@google.com>
1106
1107         Reviewed by Antonio Gomes.
1108
1109         Complete support for Unix editing mode
1110         https://bugs.webkit.org/show_bug.cgi?id=49757
1111
1112         * page/Settings.cpp:
1113         (WebCore::Settings::Settings):
1114         * page/Settings.h:
1115
1116 2010-11-19  Nate Chapin  <japhet@chromium.org>
1117
1118         Reviewed by Alexey Proskuryakov.
1119
1120         Remove requests from ResourceLoadScheduler's queue before
1121         actually starting them.  We're holding a RefPtr anyway, and
1122         the load might be terminated and removed from the queue synchronously.
1123         https://bugs.webkit.org/show_bug.cgi?id=49693
1124
1125         Test: fast/loader/subresource-willSendRequest-null.html
1126
1127         * loader/ResourceLoadScheduler.cpp:
1128         (WebCore::ResourceLoadScheduler::servePendingRequests):
1129
1130 2010-11-18  Zhenyao Mo  <zmo@google.com>
1131
1132         Reviewed by Kenneth Russell.
1133
1134         Make sure is* return false if the name is never bound
1135         https://bugs.webkit.org/show_bug.cgi?id=49767
1136
1137         * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
1138         (WebCore::WebGLBuffer::hasEverBeenBound):
1139         * html/canvas/WebGLFramebuffer.cpp: Ditto.
1140         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1141         * html/canvas/WebGLFramebuffer.h: Ditto.
1142         (WebCore::WebGLFramebuffer::hasEverBeenBound):
1143         (WebCore::WebGLFramebuffer::setBound):
1144         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
1145         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1146         * html/canvas/WebGLRenderbuffer.h: Ditto.
1147         (WebCore::WebGLRenderbuffer::hasEverBeenBound):
1148         (WebCore::WebGLRenderbuffer::setBound):
1149         * html/canvas/WebGLRenderingContext.cpp:
1150         (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
1151         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1152         (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
1153         (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
1154         (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
1155         (WebCore::WebGLRenderingContext::isTexture): Ditto.
1156         * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
1157         (WebCore::WebGLTexture::hasEverBeenBound):
1158
1159 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
1160
1161         Reviewed by Kenneth Rohde Christiansen.
1162
1163         [Qt] mask-box-image renders wrong in certain conditions
1164         https://bugs.webkit.org/show_bug.cgi?id=43476
1165
1166         Qt does not follow the same convention as the other port
1167         when rendering a pixmap with null width of height. When one
1168         of those dimension is null, we should ignore the painting call
1169         to behave like the other ports.
1170
1171         * platform/graphics/qt/ImageQt.cpp:
1172         (WebCore::Image::drawPattern):
1173
1174 2010-11-18  Zhenyao Mo  <zmo@google.com>
1175
1176         Reviewed by Kenneth Russell.
1177
1178         GraphicsContext3D::reshape is clearing using current clear color instead of transparent
1179         https://bugs.webkit.org/show_bug.cgi?id=44064
1180
1181         * platform/graphics/gpu/DrawingBuffer.cpp:
1182         (WebCore::DrawingBuffer::reset): Use 0 as clear values.
1183         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1184         (WebCore::GraphicsContext3D::reshape): Ditto.
1185
1186 2010-11-19  Chris Rogers  <crogers@google.com>
1187
1188         Reviewed by Darin Adler.
1189
1190         AudioContext should not include "HTMLNames.h"
1191         https://bugs.webkit.org/show_bug.cgi?id=49680
1192
1193         No new tests since audio API is not yet implemented.
1194
1195         * webaudio/AudioContext.cpp:
1196
1197 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1198
1199         Reviewed by Darin Adler.
1200
1201         Normalize Cairo/CFLite project/solution configuration names
1202         https://bugs.webkit.org/show_bug.cgi?id=49818
1203
1204         * WebCore.vcproj/WebCore.vcproj:
1205         * WebCore.vcproj/WebCoreGenerated.vcproj:
1206
1207 2010-11-19  Daniel Bates  <dbates@rim.com>
1208
1209         Reviewed by Antonio Gomes.
1210
1211         Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
1212         https://bugs.webkit.org/show_bug.cgi?id=49489
1213
1214         Substitute ASSERT(newParent) for null-checks for newParent in
1215         Frame::transferChildFrameToNewDocument() since newParent is
1216         never null.
1217
1218         When Frame::transferChildFrameToNewDocument() is called the child
1219         frame's owner element has already been transferred to the new
1220         document D and D is attached (i.e. has a frame).
1221
1222         * page/Frame.cpp:
1223         (WebCore::Frame::transferChildFrameToNewDocument):
1224
1225 2010-11-19  Anders Carlsson  <andersca@apple.com>
1226
1227         Reviewed by Sam Weinig.
1228
1229         Add SandboxExtension abstraction and use it for the injected bundle extension
1230         https://bugs.webkit.org/show_bug.cgi?id=49817
1231
1232         Export fileSystemRepresentation symbol needed by WebKit2.
1233
1234         * WebCore.exp.in:
1235
1236 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1237
1238         Windows build fix. Remove leftover Debug_Internal use.
1239
1240         * WebCore.vcproj/WebCore.vcproj:
1241
1242 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
1243
1244         Reviewed by Adam Roben.
1245
1246         Windows vcproj configuration names should be normalized across projects
1247         https://bugs.webkit.org/show_bug.cgi?id=49776
1248
1249         * WebCore.vcproj/WebCore.sln:
1250         * WebCore.vcproj/WebCore.submit.sln:
1251         * WebCore.vcproj/WebCoreGenerated.vcproj:
1252         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
1253         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
1254
1255 2010-11-19  James Simonsen  <simonjam@chromium.org>
1256
1257         Reviewed by Darin Fisher.
1258
1259         [Web Timing] Add unloadEventStart
1260         https://bugs.webkit.org/show_bug.cgi?id=49101
1261
1262         * loader/DocumentLoadTiming.h:
1263         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
1264         * loader/FrameLoader.cpp:
1265         (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
1266         * page/DOMWindow.cpp:
1267         (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
1268         (WebCore::DOMWindow::dispatchTimedEvent): Added.
1269         * page/DOMWindow.h:
1270         * page/Timing.cpp:
1271         (WebCore::Timing::unloadEventStart):
1272         * page/Timing.h:
1273         * page/Timing.idl:
1274
1275 2010-11-19  Martin Robinson  <mrobinson@igalia.com>
1276
1277         Reviewed by Daniel Bates.
1278
1279         [GTK] fast/text/international tests are flaky on the bots
1280         https://bugs.webkit.org/show_bug.cgi?id=49781
1281
1282         Beef up the == operator overload for Freetype FontPlatformData. Before
1283         if two FontPlatformDatas had hash values which fell into the same bucket
1284         and were similar enough, they would be evaluated as being equal, leading
1285         to failures.
1286
1287         No new tests for this change. It's very hard to test, because it depends
1288         on the memory address of new allocations. Hopefully flakiness on the bots
1289         will go away after patch.
1290
1291         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1292         (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
1293
1294 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
1295
1296         Reviewed by Kenneth Rohde Christiansen.
1297
1298         [Qt] mask-box-image renders wrong in certain conditions
1299         https://bugs.webkit.org/show_bug.cgi?id=43476
1300
1301         When rendering a pixmap with a dest rect having a null dimension,
1302         Qt uses the dimension of the Pixmap. The other ports do not render
1303         anything by convention.
1304
1305         This patch change BitmapImage to follow the convention of other ports and do not
1306         paint anything.
1307
1308         * platform/graphics/qt/ImageQt.cpp:
1309         (WebCore::BitmapImage::draw):
1310
1311 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1312
1313         Reviewed by Dirk Schulze.
1314
1315         Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
1316         https://bugs.webkit.org/show_bug.cgi?id=49807
1317
1318         Covered by existing tests.
1319
1320         * svg/SVGComponentTransferFunctionElement.cpp:
1321         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
1322         * svg/SVGFEColorMatrixElement.cpp:
1323         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
1324         * svg/SVGFEConvolveMatrixElement.cpp:
1325         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
1326         * svg/SVGGradientElement.cpp:
1327         (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
1328         * svg/SVGPatternElement.cpp:
1329         (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
1330         * svg/SVGStyledTransformableElement.cpp:
1331         (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
1332         * svg/SVGTextElement.cpp:
1333         (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
1334         * svg/SVGTextPositioningElement.cpp:
1335         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
1336         * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
1337
1338 2010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1339
1340         Unreviewed, rolling out r72399.
1341         http://trac.webkit.org/changeset/72399
1342         https://bugs.webkit.org/show_bug.cgi?id=49805
1343
1344         Broke Chromium build (Requested by antonm_ on #webkit).
1345
1346         * page/chromium/ChromeClientChromium.h:
1347         * platform/chromium/PopupMenuChromium.cpp:
1348         (WebCore::PopupContainer::showPopup):
1349         (WebCore::PopupContainer::showExternal):
1350         (WebCore::PopupListBox::layout):
1351         (WebCore::PopupMenuChromium::show):
1352         * platform/chromium/PopupMenuChromium.h:
1353
1354 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
1355
1356         Reviewed by Antonio Gomes.
1357
1358         Focus ring in image maps does not take zooming into account
1359         https://bugs.webkit.org/show_bug.cgi?id=49625
1360
1361         Take pageZoomFactor into account when calculating the path of the focus ring.
1362
1363         Test: fast/images/imagemap-focus-ring-zoom.html
1364
1365         * html/HTMLAreaElement.cpp:
1366         (WebCore::HTMLAreaElement::getPath):
1367
1368 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1369
1370         Reviewed by Dirk Schulze.
1371
1372         SVGTransformList::consolidate() fails on empty lists
1373         https://bugs.webkit.org/show_bug.cgi?id=49619
1374
1375         Return null in consolidate() when the list is empty, according to SVG 1.1.
1376
1377         Test: svg/dom/SVGTransformList-empty-list-consolidation.html
1378
1379         * svg/properties/SVGTransformListPropertyTearOff.h:
1380         (WebCore::SVGTransformListPropertyTearOff::consolidate):
1381
1382 2010-11-19  Jay Civelli  <jcivelli@chromium.org>
1383
1384         Reviewed by David Levin.
1385
1386         [chromium] Removing the now unused code to show popup externally on Mac.
1387         https://bugs.webkit.org/show_bug.cgi?id=49747
1388
1389         * page/chromium/ChromeClientChromium.h:
1390         * platform/chromium/PopupMenuChromium.cpp:
1391         (WebCore::PopupContainer::showPopup):
1392         (WebCore::PopupListBox::layout):
1393         (WebCore::PopupMenuChromium::show):
1394         * platform/chromium/PopupMenuChromium.h:
1395
1396 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
1397
1398         Reviewed by Yury Semikhatsky.
1399
1400         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
1401         InspectorBackendDispatcher is a generated file.
1402         Its content is not optimal and loc may be reduced by a quarter.
1403         In each generated function we have a code for getting 'in' values from
1404         the arguments properties object. I've extracted this code into separate getters.
1405         The side effect is better readability of the generated code.
1406
1407         https://bugs.webkit.org/show_bug.cgi?id=49729
1408
1409         * inspector/CodeGeneratorInspector.pm:
1410
1411 2010-11-19  John Knottenbelt  <jknotten@chromium.org>
1412
1413         Reviewed by Jeremy Orlow.
1414
1415         Reentrant Geolocation tests crash with an assertion.
1416         https://bugs.webkit.org/show_bug.cgi?id=39908
1417
1418         PositionErrors should not be sent to Geolocation watches or one shots
1419         that are due to receive a valid cached position.
1420
1421         Test: fast/dom/Geolocation/maximum-age.html
1422
1423         * page/Geolocation.cpp:
1424         (WebCore::Geolocation::sendError):
1425         (WebCore::Geolocation::copyCachedNotifiers):
1426         (WebCore::Geolocation::handleError):
1427         * page/Geolocation.h:
1428
1429 2010-11-19  Sam Magnuson  <smagnuso@gmail.com>
1430
1431         Reviewed by Laszlo Gombos.
1432
1433         [Qt] Compile with QT_NO_CLIPBOARD
1434         https://bugs.webkit.org/show_bug.cgi?id=49742
1435
1436         * platform/qt/PasteboardQt.cpp:
1437         (WebCore::Pasteboard::canSmartReplace):
1438
1439 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1440
1441         Reviewed by Andreas Kling.
1442
1443         Remove more unused V8/SVG code
1444         https://bugs.webkit.org/show_bug.cgi?id=49800
1445
1446         Remove DOMSVGObjectWithContextMap and all usages.
1447
1448         * bindings/scripts/CodeGeneratorV8.pm:
1449         * bindings/v8/DOMDataStore.cpp:
1450         (WebCore::DOMDataStore::DOMDataStore):
1451         (WebCore::DOMDataStore::getDOMWrapperMap):
1452         * bindings/v8/DOMDataStore.h:
1453         (WebCore::DOMDataStore::domSvgElementInstanceMap):
1454         * bindings/v8/ScopedDOMDataStore.cpp:
1455         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1456         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
1457         * bindings/v8/StaticDOMDataStore.cpp:
1458         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1459         * bindings/v8/StaticDOMDataStore.h:
1460         * bindings/v8/V8DOMMap.cpp:
1461         (WebCore::removeAllDOMObjectsInCurrentThread):
1462         * bindings/v8/V8DOMMap.h:
1463
1464 2010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>
1465
1466         Reviewed by Nikolas Zimmermann.
1467
1468         createImageBuffer fail should be handled in the same way as other fails
1469         https://bugs.webkit.org/show_bug.cgi?id=49799
1470
1471         When createImageBuffer fails (i.e the image width or height is less than
1472         0.5, which is rounded to 0) it just returs with false. Since the m_filter
1473         hash map is not updated in this case, the filter image is not drawn.
1474
1475         Test: svg/filters/filter-rounding-issues.svg
1476
1477         * rendering/RenderSVGResourceFilter.cpp:
1478         (WebCore::RenderSVGResourceFilter::applyResource):
1479
1480 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1481
1482         Reviewed by Andreas Kling.
1483
1484         Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
1485         https://bugs.webkit.org/show_bug.cgi?id=49796
1486
1487         Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
1488
1489         * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
1490         * WebCore.gypi: Ditto.
1491         * WebCore.pro: Ditto.
1492         * WebCore.vcproj/WebCore.vcproj: Ditto.
1493         * WebCore.xcodeproj/project.pbxproj: Ditto.
1494         * bindings/js/JSSVGContextCache.h: Removed.
1495         * bindings/js/JSSVGPODListCustom.h: Removed.
1496         * bindings/js/JSSVGPODTypeWrapper.h: Removed.
1497         * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
1498         * bindings/v8/V8Proxy.h: Ditto.
1499         * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
1500         * svg/DeprecatedSVGAnimatedProperty.h: Removed.
1501         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
1502         * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
1503         * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
1504         * svg/SVGList.h: Removed.
1505         * svg/SVGListTraits.h: Removed.
1506
1507 2010-11-19  Alexander Pavlov  <apavlov@chromium.org>
1508
1509         Reviewed by Pavel Feldman.
1510
1511         Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
1512         https://bugs.webkit.org/show_bug.cgi?id=49731
1513
1514         Temporarily disable building of styles for nested rules.
1515
1516         * inspector/InspectorStyleSheet.cpp:
1517         (WebCore::InspectorStyleSheet::buildObjectForRule):
1518         (WebCore::InspectorStyleSheet::buildObjectForStyle):
1519         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
1520         (WebCore::InspectorStyleSheet::ensureSourceData):
1521         * inspector/InspectorStyleSheet.h:
1522         * inspector/front-end/StylesSidebarPane.js:
1523         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1524         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
1525         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
1526
1527 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1528
1529         Not reviewed. Fix Qt build.
1530
1531         * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
1532
1533 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1534
1535         Reviewed by Dirk Schulze.
1536
1537         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
1538         https://bugs.webkit.org/show_bug.cgi?id=49580
1539
1540         SVGPathElement.cloneNode loses generated pathSegList
1541         https://bugs.webkit.org/show_bug.cgi?id=43388
1542
1543         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
1544         https://bugs.webkit.org/show_bug.cgi?id=30219
1545
1546         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
1547         https://bugs.webkit.org/show_bug.cgi?id=19741
1548
1549         SVGPathElement should only build SVGPathSeg* list on demand
1550         https://bugs.webkit.org/show_bug.cgi?id=10827
1551
1552         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
1553                svg/dom/SVGPathSegList-appendItem.xhtml
1554                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
1555                svg/dom/SVGPathSegList-cloning.html
1556                svg/dom/SVGPathSegList-insertItemBefore.xhtml
1557                svg/dom/SVGPathSegList-removeItem.xhtml
1558                svg/dom/SVGPathSegList-replaceItem.xhtml
1559                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
1560                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
1561                svg/dom/SVGPathSegList-segment-modification.svg
1562
1563         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
1564         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
1565         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
1566         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
1567         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
1568
1569         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
1570         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
1571         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
1572         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
1573         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
1574         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
1575
1576         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
1577         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
1578
1579         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1580         * CMakeLists.txt: Ditto.
1581         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
1582         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1583         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
1584         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1585         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
1586         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
1587         * WebCore.vcproj/WebCore.vcproj: Ditto.
1588         * WebCore.xcodeproj/project.pbxproj: Ditto.
1589         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
1590         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
1591         (WebCore::setDOMException):
1592         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
1593         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
1594         (WebCore::toJS):
1595         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
1596         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
1597         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
1598         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
1599         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
1600         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
1601         (WebCore::operator<<):
1602         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
1603         * svg/SVGAnimatedPathData.cpp: Removed.
1604         * svg/SVGAnimatedPathData.h: Removed.
1605         * svg/SVGAnimatedPathData.idl: Removed.
1606         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
1607         (WebCore::SVGPathElement::SVGPathElement):
1608         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
1609         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
1610         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
1611         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
1612         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
1613         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
1614         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
1615         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
1616         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
1617         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
1618         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
1619         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
1620         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
1621         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
1622         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
1623         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
1624         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
1625         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
1626         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
1627         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
1628         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
1629         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
1630         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
1631         (WebCore::SVGPathElement::synchronizeD): Added.
1632         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
1633         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
1634         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
1635         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
1636         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
1637         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
1638         * svg/SVGPathElement.h: Add new accessors...
1639         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
1640         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
1641         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
1642         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
1643         (WebCore::globalSVGPathSegListBuilder):
1644         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
1645         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
1646         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
1647         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
1648         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
1649         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
1650         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
1651         * svg/SVGPathParserFactory.h:
1652         * svg/SVGPathSeg.cpp: Removed.
1653         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
1654         (WebCore::SVGPathSeg::SVGPathSeg):
1655         * svg/SVGPathSeg.idl: Reindented.
1656         * svg/SVGPathSegArc.cpp: Removed.
1657         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
1658         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
1659         * svg/SVGPathSegArcRel.idl: Ditto.
1660         * svg/SVGPathSegClosePath.cpp: Removed.
1661         * svg/SVGPathSegClosePath.h:
1662         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
1663         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
1664         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
1665         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
1666         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
1667         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
1668         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
1669         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
1670         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
1671         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
1672         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
1673         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
1674         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
1675         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
1676         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
1677         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
1678         * svg/SVGPathSegLineto.cpp: Removed.
1679         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
1680         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
1681         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
1682         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
1683         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
1684         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
1685         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
1686         * svg/SVGPathSegLinetoVertical.cpp: Removed.
1687         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
1688         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
1689         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
1690         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
1691         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
1692         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
1693         * svg/SVGPathSegList.h:
1694         (WebCore::SVGPathSegList::SVGPathSegList):
1695         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
1696         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
1697         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
1698         (WebCore::SVGPathSegListBuilder::moveTo):
1699         (WebCore::SVGPathSegListBuilder::lineTo):
1700         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
1701         (WebCore::SVGPathSegListBuilder::lineToVertical):
1702         (WebCore::SVGPathSegListBuilder::curveToCubic):
1703         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
1704         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
1705         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
1706         (WebCore::SVGPathSegListBuilder::arcTo):
1707         (WebCore::SVGPathSegListBuilder::closePath):
1708         * svg/SVGPathSegListBuilder.h: Ditto.
1709         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
1710         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
1711         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
1712         (WebCore::SVGPathSegListBuilder::cleanup):
1713         * svg/SVGPathSegListSource.cpp: Ditto.
1714         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
1715         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
1716         (WebCore::SVGPathSegListSource::nextCommand):
1717         (WebCore::SVGPathSegListSource::parseMoveToSegment):
1718         (WebCore::SVGPathSegListSource::parseLineToSegment):
1719         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
1720         * svg/SVGPathSegListSource.h: Ditto.
1721         (WebCore::SVGPathSegListSource::create):
1722         * svg/SVGPathSegMoveto.cpp: Removed.
1723         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
1724         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
1725         * svg/SVGPathSegMovetoRel.idl: Ditto.
1726         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
1727         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
1728         (WebCore::SVGPathSegWithContext::animatedProperty):
1729         (WebCore::SVGPathSegWithContext::setContextAndRole):
1730         (WebCore::SVGPathSegWithContext::commitChange):
1731         (WebCore::SVGPathSegSingleCoordinate::x):
1732         (WebCore::SVGPathSegSingleCoordinate::setX):
1733         (WebCore::SVGPathSegSingleCoordinate::y):
1734         (WebCore::SVGPathSegSingleCoordinate::setY):
1735         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
1736         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
1737         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
1738         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
1739         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
1740         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
1741         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
1742         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
1743         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
1744         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
1745         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
1746         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
1747         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
1748         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
1749         (WebCore::SVGPathSegListPropertyTearOff::create):
1750         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
1751         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
1752         (WebCore::SVGPathSegListPropertyTearOff::initialize):
1753         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
1754         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
1755         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
1756         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
1757         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
1758         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
1759
1760 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
1761
1762         Not reviewed: one line follow up to r72376.
1763
1764         * inspector/InspectorResourceAgent.cpp:
1765         (WebCore::buildObjectForResourceResponse):
1766
1767 2010-11-19  Sergio Villar Senin  <svillar@igalia.com>
1768
1769         Reviewed by Xan Lopez.
1770
1771         [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
1772         https://bugs.webkit.org/show_bug.cgi?id=49666
1773
1774         WebKit resource load cache does validate its own resources by
1775         issuing conditional requests to the server. The HTTP cache was
1776         making the assumption that any possible conditional request was
1777         always generated by itself.
1778
1779         * platform/network/soup/cache/webkit/soup-cache.c:
1780         (webkit_soup_cache_entry_remove): added an assertion
1781         (msg_got_headers_cb):
1782
1783 2010-11-19  Dai Mikurube  <dmikurube@google.com>
1784
1785         Reviewed by Kent Tamura.
1786
1787         stepUp/stepDown for values in step-mismatching state for input elements
1788         https://bugs.webkit.org/show_bug.cgi?id=48976
1789
1790         Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
1791         HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
1792         step-mismatching values.
1793
1794         * html/HTMLInputElement.cpp:
1795         (WebCore::HTMLInputElement::applyStep):
1796
1797 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
1798
1799         Not reviewed. Rolled out build failures introduced in r72373.
1800
1801         * inspector/CodeGeneratorInspector.pm:
1802
1803 2010-11-18  Pavel Feldman  <pfeldman@chromium.org>
1804
1805         Reviewed by Yury Semikhatsky.
1806
1807         Web Inspector: provide response code and status text as
1808         a part of raw headers data.
1809         https://bugs.webkit.org/show_bug.cgi?id=49668
1810
1811         * GNUmakefile.am:
1812         * WebCore.gypi:
1813         * WebCore.pro:
1814         * WebCore.vcproj/WebCore.vcproj:
1815         * WebCore.xcodeproj/project.pbxproj:
1816         * inspector/InspectorResourceAgent.cpp:
1817         (WebCore::buildObjectForResourceResponse):
1818         * inspector/front-end/NetworkPanel.js:
1819         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1820         * inspector/front-end/ResourceManager.js:
1821         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
1822         * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
1823         (WebCore::ResourceLoadInfo::ResourceLoadInfo):
1824         * platform/network/ResourceResponseBase.cpp:
1825         (WebCore::ResourceResponseBase::resourceLoadInfo):
1826         (WebCore::ResourceResponseBase::setResourceLoadInfo):
1827         * platform/network/ResourceResponseBase.h:
1828
1829 2010-11-19  Mike Lawther  <mikelawther@chromium.org>
1830
1831         Reviewed by James Robinson.
1832
1833         [skia] assert when attempting to get (but not use) pointer to outside the canvas
1834         https://bugs.webkit.org/show_bug.cgi?id=49698
1835
1836         Early return to avoid getting a pointer to outside the canvas, and
1837         hence triggering a Skia assert.
1838
1839         * platform/graphics/skia/ImageBufferSkia.cpp:
1840         (WebCore::getImageData):
1841
1842 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
1843
1844         Reviewed by Yury Semikhatsky.
1845
1846         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
1847         InspectorBackendDispatcher is a generated file.
1848         Its content is not optimal and loc may be reduced by a quarter.
1849         In each generated function we have a code for getting 'in' values from
1850         the arguments properties object. I've extracted this code into separate getters.
1851         The side effect is better readability of the generated code.
1852
1853         https://bugs.webkit.org/show_bug.cgi?id=49729
1854
1855         * inspector/CodeGeneratorInspector.pm:
1856
1857 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
1858
1859         Reviewed by Antonio Gomes.
1860
1861         [Qt] Focus ring does not show for image maps
1862         https://bugs.webkit.org/show_bug.cgi?id=49615
1863
1864         Draw a focus ring for the paths surrounding the focus ring of image map area.
1865         Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
1866
1867         * platform/graphics/qt/GraphicsContextQt.cpp:
1868         (WebCore::GraphicsContext::drawFocusRing):
1869
1870 2010-11-01  MORITA Hajime  <morrita@google.com>
1871
1872         Reviewed by David Hyatt.
1873
1874         Navigating dark background websites results in blinding white flashes between pages. 
1875         https://bugs.webkit.org/show_bug.cgi?id=45640
1876
1877         This FOUC is caused by an early layout request before the <body> is ready, 
1878         and the page's background style given for <body>, instead of <html>.
1879         So many sites have such stylesheets that we should care them.
1880         
1881         - Some DOM operation such as 'element.offsetLeft' causes page layout.
1882         - The page layout results page repaint
1883         - The page page repaint makes a white screen. because there is nothing to paint
1884           before <body> is available.
1885         
1886         This change:
1887         - extracted existing FOUC check on RenderBlock and RenderLayer to 
1888           Document::mayCauseFlashOfUnstyledContent(),
1889         - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
1890         - added FOUC guards before requesting reapint on FrameView.
1891         
1892         Note that non-<head> document root children are typically <body>, but possibly
1893         some other type of elements in the case of non-HTML documents.
1894         
1895         No new tests. The data loading speed matters and it cannot be
1896         captured by DRT.
1897
1898         * dom/Document.cpp:
1899         (hasHeadSibling): Added.
1900         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
1901         * dom/Document.h:
1902         * page/FrameView.cpp:
1903         (WebCore::FrameView::invalidateRect): Added a guard.
1904         (WebCore::FrameView::repaintContentRectangle): Added a guard.
1905         (WebCore::FrameView::doDeferredRepaints): Added a guard.
1906         (WebCore::FrameView::shouldUpdate): Added.
1907         * page/FrameView.h:
1908         * rendering/RenderBlock.cpp:
1909         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1910         * rendering/RenderLayer.cpp:
1911         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1912
1913 2010-11-18  Kent Tamura  <tkent@chromium.org>
1914
1915         Reviewed by Tony Chang.
1916
1917         Add more validation message functions
1918         https://bugs.webkit.org/show_bug.cgi?id=49716
1919
1920         Add the following message functions:
1921         - validationMessageValueMissingForCheckbox()
1922         - validationMessageValueMissingForFile()
1923         - validationMessageValueMissingForMultipleFile()
1924         - validationMessageValueMissingForRadio()
1925         - validationMessageValueMissingForSelect()
1926
1927         and update ValidityState, HTMLInputElement, and InputTypes to use them.
1928
1929         No new tests because this doesn't change visible behavior.
1930
1931         * html/CheckboxInputType.cpp:
1932         (WebCore::CheckboxInputType::valueMissingText):
1933         * html/CheckboxInputType.h:
1934         * html/FileInputType.cpp:
1935         (WebCore::FileInputType::valueMissingText):
1936         * html/FileInputType.h:
1937         * html/HTMLInputElement.cpp:
1938         (WebCore::HTMLInputElement::valueMissingText):
1939         * html/HTMLInputElement.h:
1940         * html/InputType.cpp:
1941         (WebCore::InputType::valueMissingText):
1942         * html/InputType.h:
1943         * html/RadioInputType.cpp:
1944         (WebCore::RadioInputType::valueMissingText):
1945         * html/RadioInputType.h:
1946         * html/ValidityState.cpp:
1947         (WebCore::ValidityState::validationMessage):
1948         * platform/LocalizedStrings.cpp:
1949         (WebCore::validationMessageValueMissingForCheckboxText):
1950         (WebCore::validationMessageValueMissingForFileText):
1951         (WebCore::validationMessageValueMissingForMultipleFileText):
1952         (WebCore::validationMessageValueMissingForRadioText):
1953         (WebCore::validationMessageValueMissingForSelectText):
1954         * platform/LocalizedStrings.h:
1955         * platform/android/LocalizedStringsAndroid.cpp:
1956         (WebCore::validationMessageValueMissingForCheckboxText):
1957         (WebCore::validationMessageValueMissingForFileText):
1958         (WebCore::validationMessageValueMissingForMultipleFileText):
1959         (WebCore::validationMessageValueMissingForRadioText):
1960         (WebCore::validationMessageValueMissingForSelectText):
1961         * platform/brew/LocalizedStringsBrew.cpp:
1962         (WebCore::validationMessageValueMissingForCheckboxText):
1963         (WebCore::validationMessageValueMissingForFileText):
1964         (WebCore::validationMessageValueMissingForMultipleFileText):
1965         (WebCore::validationMessageValueMissingForRadioText):
1966         (WebCore::validationMessageValueMissingForSelectText):
1967         * platform/efl/LocalizedStringsEfl.cpp:
1968         (WebCore::validationMessageValueMissingForCheckboxText):
1969         (WebCore::validationMessageValueMissingForFileText):
1970         (WebCore::validationMessageValueMissingForMultipleFileText):
1971         (WebCore::validationMessageValueMissingForRadioText):
1972         (WebCore::validationMessageValueMissingForSelectText):
1973         * platform/gtk/LocalizedStringsGtk.cpp:
1974         (WebCore::validationMessageValueMissingForCheckboxText):
1975         (WebCore::validationMessageValueMissingForFileText):
1976         (WebCore::validationMessageValueMissingForMultipleFileText):
1977         (WebCore::validationMessageValueMissingForRadioText):
1978         (WebCore::validationMessageValueMissingForSelectText):
1979         * platform/haiku/LocalizedStringsHaiku.cpp:
1980         (WebCore::validationMessageValueMissingText):
1981         (WebCore::validationMessageValueMissingForCheckboxText):
1982         (WebCore::validationMessageValueMissingForFileText):
1983         (WebCore::validationMessageValueMissingForMultipleFileText):
1984         (WebCore::validationMessageValueMissingForRadioText):
1985         (WebCore::validationMessageValueMissingForSelectText):
1986         * platform/wx/LocalizedStringsWx.cpp:
1987         (WebCore::validationMessageValueMissingForCheckboxText):
1988         (WebCore::validationMessageValueMissingForFileText):
1989         (WebCore::validationMessageValueMissingForMultipleFileText):
1990         (WebCore::validationMessageValueMissingForRadioText):
1991         (WebCore::validationMessageValueMissingForSelectText):
1992
1993 2010-11-18  Gavin Barraclough  <barraclough@apple.com>
1994
1995         Reviewed by Oliver Hunt.
1996
1997         Bug 49708 - Stop recompiling functions to regenerate exception info.
1998
1999         Instead only hold info as necessary – keep divot info is the inspector
2000         is enabled, line number info is debugging or profiling, and handler
2001         info for functions with try/catch.
2002
2003         * bindings/js/JSDOMWindowBase.cpp:
2004         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2005             - report to JSC whether the inspector is enabled - in which
2006               case we will generate better error messages on exceptions.
2007         * bindings/js/JSDOMWindowBase.h:
2008
2009 2010-11-18  Jian Li  <jianli@chromium.org>
2010
2011         Reviewed by Kenneth Russell.
2012
2013         Make binding code generation scripts support 'short' type
2014         https://bugs.webkit.org/show_bug.cgi?id=49704
2015
2016         Updated binding tests.
2017
2018         * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
2019         * bindings/scripts/CodeGeneratorV8.pm:
2020         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2021         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2022         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2023         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2024         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2025         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2026         * bindings/scripts/test/JS/JSTestObj.cpp:
2027         * bindings/scripts/test/JS/JSTestObj.h:
2028         * bindings/scripts/test/ObjC/DOMTestObj.h:
2029         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2030         * bindings/scripts/test/TestObj.idl:
2031         * bindings/scripts/test/V8/V8TestObj.cpp:
2032
2033 2010-11-18  Mark Rowe  <mrowe@apple.com>
2034
2035         Rubber-stamped by Adam Roben.
2036
2037         <rdar://problem/8602509&8602717&8602724> Enable compaction support.
2038
2039         * Configurations/WebCore.xcconfig:
2040
2041 2010-11-18  Dave Hyatt  <hyatt@apple.com>
2042
2043         Reviewed by Dan Bernstein.
2044
2045         https://bugs.webkit.org/show_bug.cgi?id=49772
2046         
2047         Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
2048         together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
2049         This way the overflow from nested rubies is accounted for.
2050         
2051         Added fast/ruby/nested-ruby.html
2052
2053         * rendering/RenderRubyRun.cpp:
2054         (WebCore::RenderRubyRun::layout):
2055
2056 2010-11-18  Kinuko Yasuda  <kinuko@chromium.org>
2057
2058         Reviewed by Nate Chapin.
2059
2060         [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
2061         https://bugs.webkit.org/show_bug.cgi?id=49613
2062
2063         No new tests. Running existing worker tests like
2064         fast/workers/storage/execute-sql-args-worker.html in chromium
2065         would verify it.
2066
2067         * bindings/v8/V8Binding.cpp:
2068         (WebCore::int32ToWebCoreStringFast):
2069         (WebCore::int32ToWebCoreString):
2070
2071 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2072
2073         Windows build fix.
2074
2075         https://bugs.webkit.org/show_bug.cgi?id=49762
2076         Stylesheet wrappers are not GC protected
2077
2078         * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
2079
2080 2010-11-18  Dave Hyatt  <hyatt@apple.com>
2081
2082         Reviewed by Dan Bernstein.
2083
2084         https://bugs.webkit.org/show_bug.cgi?id=49717
2085         
2086         Implement better behavior for the logical height and block direction spacing of ruby text and ruby
2087         base text.
2088
2089         Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
2090         test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
2091         that ruby doesn't reset line-height.
2092
2093         * css/html.css:
2094         Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
2095         by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
2096
2097         * rendering/InlineBox.h:
2098         (WebCore::InlineBox::adjustBlockDirectionPosition):
2099         Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
2100         depending on orientation.
2101         
2102         * rendering/InlineFlowBox.cpp:
2103         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2104         placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
2105         to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
2106         crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
2107         
2108         Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
2109         mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
2110         This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
2111         
2112         Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
2113         the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
2114         and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
2115         as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
2116         in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
2117         Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
2118         interior on a previous line.
2119
2120         (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
2121         This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
2122         line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
2123         we're checking some highest previous position and computing the amount we have to move.
2124         
2125         For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
2126         to move the *following* line based off a lowest position.
2127         
2128         In all writing modes we will allow Ruby text to intrude into the padding of a block.
2129         
2130         * rendering/InlineFlowBox.h:
2131         * rendering/RenderBlock.cpp:
2132         (WebCore::RenderBlock::layoutBlockChildren):
2133         Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
2134         computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
2135         legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
2136
2137         * rendering/RenderBlock.h:
2138         (WebCore::RenderBlock::layoutSpecialExcludedChild):
2139         layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
2140
2141         * rendering/RenderBlockLineLayout.cpp:
2142         (WebCore::RenderBlock::layoutInlineChildren):
2143         When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
2144         to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
2145         writing mode only, and then we increase the logical height of the block if necessary.
2146
2147         * rendering/RenderFieldset.cpp:
2148         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2149         * rendering/RenderFieldset.h:
2150         No changes here other than the function rename.
2151
2152         * rendering/RenderRubyRun.cpp:
2153         (WebCore::RenderRubyRun::staticCreateRubyRun):
2154         Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
2155         now that RenderRubyRun has its own layout method.
2156     
2157         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
2158         RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
2159         and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 
2160
2161         (WebCore::RenderRubyRun::layout):
2162         * rendering/RenderRubyRun.h:
2163         RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
2164         RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
2165         one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
2166         as overflow.
2167
2168         * rendering/RootInlineBox.cpp:
2169         (WebCore::RootInlineBox::RootInlineBox):
2170         Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
2171
2172         (WebCore::RootInlineBox::adjustPosition):
2173         Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
2174         even in vertical writing modes (where dx needed to be used instead).
2175
2176         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2177         (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
2178         * rendering/RootInlineBox.h:
2179         (WebCore::RootInlineBox::containsRuby):
2180         RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
2181         the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
2182
2183 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2184
2185         Reviewed by Geoffrey Garen.
2186
2187         https://bugs.webkit.org/show_bug.cgi?id=49762
2188         Stylesheet wrappers are not GC protected
2189
2190         Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
2191                fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
2192
2193         * Android.jscbindings.mk:
2194         * CMakeLists.txt:
2195         * GNUmakefile.am:
2196         * WebCore.gypi:
2197         * WebCore.pro:
2198         * WebCore.vcproj/WebCore.vcproj:
2199         Added the new custom bindings files.
2200
2201         * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
2202         existing headers.
2203
2204         * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
2205         with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
2206         wrapper has to stay alive, too.
2207         While at it, also fixed the same issue with inline style declarations.
2208         Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
2209         approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
2210         check.
2211
2212         * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
2213         (WebCore::JSHTMLLinkElement::markChildren):
2214         * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
2215         (WebCore::JSHTMLStyleElement::markChildren):
2216         * bindings/js/JSProcessingInstructionCustom.cpp: Added.
2217         (WebCore::JSProcessingInstruction::markChildren):
2218         Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
2219         conservatively, without checking whether the stylesheet or any of its children have custom
2220         properties.
2221
2222         * dom/ProcessingInstruction.idl:
2223         * html/HTMLLinkElement.idl:
2224         * html/HTMLStyleElement.idl:
2225         These have custom mark functions now.
2226
2227 2010-11-18  Jian Li  <jianli@chromium.org>
2228
2229         Reviewed by Kenneth Russell.
2230
2231         Move length and slice out of ArrayBufferView interface
2232         https://bugs.webkit.org/show_bug.cgi?id=49697
2233
2234         No functionality change. Covered by existing ArrayBuffer tests.
2235
2236         * WebCore.gypi:
2237         * WebCore.pro:
2238         * WebCore.xcodeproj/project.pbxproj:
2239         * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
2240         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
2241         * html/canvas/ArrayBufferView.h:
2242         * html/canvas/ArrayBufferView.idl:
2243         * html/canvas/Float32Array.cpp:
2244         (WebCore::Float32Array::slice):
2245         * html/canvas/Float32Array.h:
2246         * html/canvas/Float32Array.idl:
2247         * html/canvas/Int16Array.cpp:
2248         (WebCore::Int16Array::slice):
2249         * html/canvas/Int16Array.h:
2250         * html/canvas/Int16Array.idl:
2251         * html/canvas/Int32Array.cpp:
2252         (WebCore::Int32Array::slice):
2253         * html/canvas/Int32Array.h:
2254         * html/canvas/Int32Array.idl:
2255         * html/canvas/Int8Array.cpp:
2256         (WebCore::Int8Array::slice):
2257         * html/canvas/Int8Array.h:
2258         * html/canvas/Int8Array.idl:
2259         * html/canvas/TypedArrayBase.h:
2260         (WebCore::TypedArrayBase::length):
2261         * html/canvas/Uint16Array.cpp:
2262         (WebCore::Uint16Array::slice):
2263         * html/canvas/Uint16Array.h:
2264         * html/canvas/Uint16Array.idl:
2265         * html/canvas/Uint32Array.cpp:
2266         (WebCore::Uint32Array::slice):
2267         * html/canvas/Uint32Array.h:
2268         * html/canvas/Uint32Array.idl:
2269         * html/canvas/Uint8Array.cpp:
2270         (WebCore::Uint8Array::slice):
2271         * html/canvas/Uint8Array.h:
2272         * html/canvas/Uint8Array.idl:
2273         * html/canvas/WebGLRenderingContext.cpp:
2274         (WebCore::WebGLRenderingContext::readPixels):
2275
2276 2010-11-17  Zhenyao Mo  <zmo@google.com>
2277
2278         Reviewed by Kenneth Russell.
2279
2280         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
2281         https://bugs.webkit.org/show_bug.cgi?id=47196
2282
2283         * platform/image-decoders/ImageDecoder.h:
2284         (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
2285         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2286         (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
2287         * platform/image-decoders/png/PNGImageDecoder.cpp:
2288         (WebCore::PNGImageDecoder::headerAvailable): Ditto.
2289
2290 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2291
2292         Reviewed by Adam Roben.
2293
2294         Remove leftover Windows Debug_Internal configurations
2295         https://bugs.webkit.org/show_bug.cgi?id=49758
2296
2297         * WebCore.vcproj/QTMovieWin.vcproj:
2298         * WebCore.vcproj/WebCore.vcproj:
2299
2300 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2301
2302         Unreviewed, rolling out r72299.
2303         http://trac.webkit.org/changeset/72299
2304         https://bugs.webkit.org/show_bug.cgi?id=49761
2305
2306         Broke chromium ui test SessionHistoryTest.FrameBackForward.
2307         (Requested by dave_levin on #webkit).
2308
2309         * loader/HistoryController.cpp:
2310         (WebCore::HistoryController::HistoryController):
2311         (WebCore::HistoryController::saveDocumentState):
2312         (WebCore::HistoryController::updateForBackForwardNavigation):
2313         (WebCore::HistoryController::updateForCommit):
2314         (WebCore::HistoryController::updateForFrameLoadCompleted):
2315         (WebCore::HistoryController::setCurrentItem):
2316         (WebCore::HistoryController::createItem):
2317         (WebCore::HistoryController::createItemTree):
2318         (WebCore::HistoryController::recursiveGoToItem):
2319         * loader/HistoryController.h:
2320
2321 2010-11-18  James Robinson  <jamesr@chromium.org>
2322
2323         Reviewed by Darin Fisher.
2324
2325         [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
2326         https://bugs.webkit.org/show_bug.cgi?id=49638
2327
2328         Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
2329         Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
2330         like Safari Win did in r72270.
2331
2332         Test: fast/text/font-size-zero.html
2333
2334         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2335         (WebCore::FontPlatformData::setupPaint):
2336         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2337         (WebCore::SimpleFontData::platformInit):
2338
2339 2010-11-18  Rob Buis  <rwlbuis@gmail.com>
2340
2341         Reviewed by Simon Fraser.
2342
2343         Only inject fullscreen.css when in fullscreen
2344         https://bugs.webkit.org/show_bug.cgi?id=49510
2345
2346         Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
2347
2348         * css/CSSStyleSelector.cpp:
2349         (WebCore::CSSStyleSelector::CSSStyleSelector):
2350         (WebCore::loadFullDefaultStyle):
2351         (WebCore::loadFullScreenRulesIfNeeded):
2352         (WebCore::CSSStyleSelector::styleForElement):
2353
2354 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2355
2356         Reviewed by Adam Roben.
2357
2358         Debug_Internal Windows configuration is unnecessary, should be removed
2359         https://bugs.webkit.org/show_bug.cgi?id=49753
2360
2361         * WebCorePrefix.h:
2362
2363 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2364
2365         Reviewed by Adam Roben.
2366
2367         Clean up vcproj errors
2368         https://bugs.webkit.org/show_bug.cgi?id=49741
2369
2370         * WebCore.vcproj/WebCore.vcproj:
2371
2372 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2373
2374         Reviewed by Anders Carlsson.
2375
2376         https://bugs.webkit.org/show_bug.cgi?id=49694
2377         Add some comments about XSLStyleSheet owner node
2378
2379         No change in behavior, so no tests.
2380
2381         * dom/ProcessingInstruction.cpp:
2382         (WebCore::ProcessingInstruction::checkStyleSheet):
2383         * xml/XSLStyleSheet.h:
2384         (WebCore::XSLStyleSheet::create):
2385         (WebCore::XSLStyleSheet::createEmbedded):
2386         (WebCore::XSLStyleSheet::createForXSLTProcessor):
2387         * xml/XSLStyleSheetLibxslt.cpp:
2388         (WebCore::XSLStyleSheet::XSLStyleSheet):
2389         * xml/XSLTProcessorLibxslt.cpp:
2390         (WebCore::xsltStylesheetPointer):
2391         * xml/XSLTProcessorQt.cpp:
2392         (WebCore::XSLTProcessor::transformToString):
2393
2394 2010-11-18  Jer Noble  <jer.noble@apple.com>
2395
2396         Reviewed by Eric Carlson.
2397
2398         REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
2399         https://bugs.webkit.org/show_bug.cgi?id=44439
2400         <rdar://problem/8342407>
2401         
2402         setUpCookiesForQuickTime() previously depended on having setFrameView() called first
2403         in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
2404         setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
2405         to retrieve the document and subsequently, the Frame.
2406
2407         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2408         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
2409
2410 2010-11-18  Joseph Pecoraro  <joepeck@webkit.org>
2411
2412         Reviewed by Darin Adler.
2413
2414         Allow no-store resources to be used for back navigation
2415         https://bugs.webkit.org/show_bug.cgi?id=49672
2416
2417         Test: http/tests/cache/history-only-cached-subresource-loads.html
2418
2419         HTTP allows "Cache-Control: no-store" resources to "cached" for the
2420         purposes of history, such as back/forward navigation. Previously
2421         WebCore just immediately evicted these resources, now we leave them in
2422         the cache as long as they are not "https". This allows us to use them
2423         if they are used in a back navigation, or lazily evict and replace
2424         them on other load types expecting non-stale resources.
2425
2426         (WebCore::CachedResource::CachedResource):
2427         (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
2428         * loader/cache/CachedResourceLoader.cpp:
2429         (WebCore::CachedResourceLoader::checkForReload):
2430         (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
2431         * loader/cache/MemoryCache.cpp:
2432         (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
2433         * loader/cache/MemoryCache.h: default the forHistory parameter to false.
2434
2435           Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
2436
2437         * loader/FrameLoader.cpp:
2438         (WebCore::FrameLoader::subresourceCachePolicy):
2439         * loader/cache/CachePolicy.h:
2440         * loader/cache/CachedResource.cpp:
2441
2442 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2443
2444         Reviewed by Darin Adler.
2445
2446         https://bugs.webkit.org/show_bug.cgi?id=49700
2447         XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
2448
2449         Test: fast/xsl/import-non-document-node.xhtml
2450
2451         * css/CSSStyleSheet.cpp:
2452         (WebCore::isAcceptableCSSStyleSheetParent):
2453         (WebCore::CSSStyleSheet::CSSStyleSheet):
2454         * css/StyleSheet.cpp:
2455         (WebCore::StyleSheet::StyleSheet):
2456         Moved the assertion - hopefully, it's valid for CSS stylesheets.
2457
2458 2010-11-18  Charlie Reis  <creis@chromium.org>
2459
2460         Reviewed by Darin Fisher.
2461
2462         Update correct content state during back/forward navigations
2463         https://bugs.webkit.org/show_bug.cgi?id=48809
2464
2465         Ensures that history's previousItem is non-null when clients try to
2466         update content state (e.g., Chromium's UpdateSessionHistory).  We now
2467         track load completions with a boolean field rather than by clearing
2468         previousItem.
2469
2470         Behavior covered by existing tests in fast/history and fast/loader.
2471
2472         * loader/HistoryController.cpp:
2473
2474 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2475
2476         Unreviewed, rolling out r72288.
2477         http://trac.webkit.org/changeset/72288
2478         https://bugs.webkit.org/show_bug.cgi?id=49730
2479
2480         'krit attempted to do that, but revert got stuck' (Requested
2481         by antonm on #webkit).
2482
2483         * Android.mk:
2484         * CMakeLists.txt:
2485         * DerivedSources.make:
2486         * GNUmakefile.am:
2487         * WebCore.gyp/WebCore.gyp:
2488         * WebCore.gypi:
2489         * WebCore.order:
2490         * WebCore.pro:
2491         * WebCore.vcproj/WebCore.vcproj:
2492         * WebCore.xcodeproj/project.pbxproj:
2493         * bindings/js/JSBindingsAllInOne.cpp:
2494         * bindings/js/JSDOMBinding.cpp:
2495         (WebCore::setDOMException):
2496         * bindings/js/JSDOMBinding.h:
2497         (WebCore::createDOMObjectWrapper):
2498         (WebCore::getDOMObjectWrapper):
2499         * bindings/js/JSSVGPathSegCustom.cpp:
2500         (WebCore::toJS):
2501         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
2502         (WebCore::JSSVGPathSegList::clear):
2503         (WebCore::JSSVGPathSegList::initialize):
2504         (WebCore::JSSVGPathSegList::getItem):
2505         (WebCore::JSSVGPathSegList::insertItemBefore):
2506         (WebCore::JSSVGPathSegList::replaceItem):
2507         (WebCore::JSSVGPathSegList::removeItem):
2508         (WebCore::JSSVGPathSegList::appendItem):
2509         * bindings/scripts/CodeGenerator.pm:
2510         * bindings/scripts/CodeGeneratorJS.pm:
2511         * bindings/scripts/CodeGeneratorObjC.pm:
2512         * bindings/scripts/CodeGeneratorV8.pm:
2513         * rendering/SVGRenderTreeAsText.cpp:
2514         (WebCore::operator<<):
2515         * svg/SVGAllInOne.cpp:
2516         * svg/SVGAnimatedPathData.cpp: Added.
2517         * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
2518         (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
2519         * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
2520         * svg/SVGPathElement.cpp:
2521         (WebCore::SVGPathElement::SVGPathElement):
2522         (WebCore::SVGPathElement::getPathSegAtLength):
2523         (WebCore::SVGPathElement::createSVGPathSegClosePath):
2524         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2525         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2526         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2527         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2528         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2529         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2530         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2531         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2532         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2533         (WebCore::SVGPathElement::createSVGPathSegArcRel):
2534         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2535         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2536         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2537         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2538         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2539         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2540         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2541         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2542         (WebCore::SVGPathElement::parseMappedAttribute):
2543         (WebCore::SVGPathElement::svgAttributeChanged):
2544         (WebCore::SVGPathElement::synchronizeProperty):
2545         (WebCore::SVGPathElement::pathSegList):
2546         (WebCore::SVGPathElement::normalizedPathSegList):
2547         (WebCore::SVGPathElement::animatedPathSegList):
2548         (WebCore::SVGPathElement::animatedNormalizedPathSegList):
2549         (WebCore::SVGPathElement::toPathData):
2550         * svg/SVGPathElement.h:
2551         (WebCore::SVGPathElement::isValid):
2552         (WebCore::SVGPathElement::supportsMarkers):
2553         * svg/SVGPathElement.idl:
2554         * svg/SVGPathParserFactory.cpp:
2555         (WebCore::globalSVGPathSegListBuilder):
2556         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
2557         (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
2558         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
2559         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
2560         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
2561         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
2562         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
2563         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
2564         * svg/SVGPathParserFactory.h:
2565         * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
2566         (WebCore::SVGPathSeg::associatedAttributeName):
2567         * svg/SVGPathSeg.h:
2568         (WebCore::SVGPathSegSingleCoord::setX):
2569         (WebCore::SVGPathSegSingleCoord::x):
2570         (WebCore::SVGPathSegSingleCoord::setY):
2571         (WebCore::SVGPathSegSingleCoord::y):
2572         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
2573         * svg/SVGPathSeg.idl:
2574         * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2575         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
2576         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
2577         * svg/SVGPathSegArc.h:
2578         (WebCore::SVGPathSegArc::SVGPathSegArc):
2579         (WebCore::SVGPathSegArc::setX):
2580         (WebCore::SVGPathSegArc::x):
2581         (WebCore::SVGPathSegArc::setY):
2582         (WebCore::SVGPathSegArc::y):
2583         (WebCore::SVGPathSegArc::setR1):
2584         (WebCore::SVGPathSegArc::r1):
2585         (WebCore::SVGPathSegArc::setR2):
2586         (WebCore::SVGPathSegArc::r2):
2587         (WebCore::SVGPathSegArc::setAngle):
2588         (WebCore::SVGPathSegArc::angle):
2589         (WebCore::SVGPathSegArc::setLargeArcFlag):
2590         (WebCore::SVGPathSegArc::largeArcFlag):
2591         (WebCore::SVGPathSegArc::setSweepFlag):
2592         (WebCore::SVGPathSegArc::sweepFlag):
2593         (WebCore::SVGPathSegArcAbs::create):
2594         (WebCore::SVGPathSegArcAbs::pathSegType):
2595         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
2596         (WebCore::SVGPathSegArcRel::create):
2597         (WebCore::SVGPathSegArcRel::pathSegType):
2598         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
2599         * svg/SVGPathSegArcAbs.idl:
2600         * svg/SVGPathSegArcRel.idl:
2601         * svg/SVGPathSegClosePath.cpp: Added.
2602         * svg/SVGPathSegClosePath.h:
2603         (WebCore::SVGPathSegClosePath::create):
2604         (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
2605         * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2606         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
2607         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
2608         * svg/SVGPathSegCurvetoCubic.h:
2609         (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
2610         (WebCore::SVGPathSegCurvetoCubic::setX):
2611         (WebCore::SVGPathSegCurvetoCubic::x):
2612         (WebCore::SVGPathSegCurvetoCubic::setY):
2613         (WebCore::SVGPathSegCurvetoCubic::y):
2614         (WebCore::SVGPathSegCurvetoCubic::setX1):
2615         (WebCore::SVGPathSegCurvetoCubic::x1):
2616         (WebCore::SVGPathSegCurvetoCubic::setY1):
2617         (WebCore::SVGPathSegCurvetoCubic::y1):
2618         (WebCore::SVGPathSegCurvetoCubic::setX2):
2619         (WebCore::SVGPathSegCurvetoCubic::x2):
2620         (WebCore::SVGPathSegCurvetoCubic::setY2):
2621         (WebCore::SVGPathSegCurvetoCubic::y2):
2622         (WebCore::SVGPathSegCurvetoCubicAbs::create):
2623         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
2624         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
2625         (WebCore::SVGPathSegCurvetoCubicRel::create):
2626         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
2627         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
2628         * svg/SVGPathSegCurvetoCubicAbs.idl:
2629         * svg/SVGPathSegCurvetoCubicRel.idl:
2630         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2631         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
2632         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
2633         * svg/SVGPathSegCurvetoCubicSmooth.h:
2634         (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
2635         (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
2636         (WebCore::SVGPathSegCurvetoCubicSmooth::x):
2637         (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
2638         (WebCore::SVGPathSegCurvetoCubicSmooth::y):
2639         (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
2640         (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
2641         (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
2642         (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
2643         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2644         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
2645         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
2646         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2647         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
2648         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
2649         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
2650         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
2651         * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2652         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
2653         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
2654         * svg/SVGPathSegCurvetoQuadratic.h:
2655         (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
2656         (WebCore::SVGPathSegCurvetoQuadratic::setX):
2657         (WebCore::SVGPathSegCurvetoQuadratic::x):
2658         (WebCore::SVGPathSegCurvetoQuadratic::setY):
2659         (WebCore::SVGPathSegCurvetoQuadratic::y):
2660         (WebCore::SVGPathSegCurvetoQuadratic::setX1):
2661         (WebCore::SVGPathSegCurvetoQuadratic::x1):
2662         (WebCore::SVGPathSegCurvetoQuadratic::setY1):
2663         (WebCore::SVGPathSegCurvetoQuadratic::y1):
2664         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2665         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
2666         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
2667         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2668         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
2669         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
2670         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
2671         * svg/SVGPathSegCurvetoQuadraticRel.idl:
2672         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2673         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
2674         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
2675         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2676         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2677         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
2678         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
2679         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2680         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
2681         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
2682         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
2683         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
2684         * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2685         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
2686         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
2687         * svg/SVGPathSegLineto.h:
2688         (WebCore::SVGPathSegLinetoAbs::create):
2689         (WebCore::SVGPathSegLinetoAbs::pathSegType):
2690         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
2691         (WebCore::SVGPathSegLinetoRel::create):
2692         (WebCore::SVGPathSegLinetoRel::pathSegType):
2693         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
2694         * svg/SVGPathSegLinetoAbs.idl:
2695         * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2696         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
2697         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
2698         * svg/SVGPathSegLinetoHorizontal.h:
2699         (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
2700         (WebCore::SVGPathSegLinetoHorizontal::setX):
2701         (WebCore::SVGPathSegLinetoHorizontal::x):
2702         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2703         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
2704         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
2705         (WebCore::SVGPathSegLinetoHorizontalRel::create):
2706         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
2707         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
2708         * svg/SVGPathSegLinetoHorizontalAbs.idl:
2709         * svg/SVGPathSegLinetoHorizontalRel.idl:
2710         * svg/SVGPathSegLinetoRel.idl:
2711         * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2712         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
2713         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
2714         * svg/SVGPathSegLinetoVertical.h:
2715         (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
2716         (WebCore::SVGPathSegLinetoVertical::setY):
2717         (WebCore::SVGPathSegLinetoVertical::y):
2718         (WebCore::SVGPathSegLinetoVerticalAbs::create):
2719         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
2720         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
2721         (WebCore::SVGPathSegLinetoVerticalRel::create):
2722         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
2723         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
2724         * svg/SVGPathSegLinetoVerticalAbs.idl:
2725         * svg/SVGPathSegLinetoVerticalRel.idl:
2726         * svg/SVGPathSegList.cpp:
2727         (WebCore::SVGPathSegList::SVGPathSegList):
2728         * svg/SVGPathSegList.h:
2729         (WebCore::SVGPathSegList::create):
2730         * svg/SVGPathSegList.idl:
2731         * svg/SVGPathSegListBuilder.cpp:
2732         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2733         (WebCore::SVGPathSegListBuilder::moveTo):
2734         (WebCore::SVGPathSegListBuilder::lineTo):
2735         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2736         (WebCore::SVGPathSegListBuilder::lineToVertical):
2737         (WebCore::SVGPathSegListBuilder::curveToCubic):
2738         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2739         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2740         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2741         (WebCore::SVGPathSegListBuilder::arcTo):
2742         (WebCore::SVGPathSegListBuilder::closePath):
2743         * svg/SVGPathSegListBuilder.h:
2744         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
2745         (WebCore::SVGPathSegListBuilder::cleanup):
2746         * svg/SVGPathSegListSource.cpp:
2747         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
2748         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
2749         (WebCore::SVGPathSegListSource::nextCommand):
2750         (WebCore::SVGPathSegListSource::parseMoveToSegment):
2751         (WebCore::SVGPathSegListSource::parseLineToSegment):
2752         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
2753         * svg/SVGPathSegListSource.h:
2754         (WebCore::SVGPathSegListSource::create):
2755         * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2756         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
2757         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
2758         * svg/SVGPathSegMoveto.h:
2759         (WebCore::SVGPathSegMovetoAbs::create):
2760         (WebCore::SVGPathSegMovetoAbs::pathSegType):
2761         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
2762         (WebCore::SVGPathSegMovetoRel::create):
2763         (WebCore::SVGPathSegMovetoRel::pathSegType):
2764         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
2765         * svg/SVGPathSegMovetoAbs.idl:
2766         * svg/SVGPathSegMovetoRel.idl:
2767         * svg/SVGPathSegWithContext.h: Removed.
2768         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
2769         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
2770         * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
2771
2772 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2773
2774         Unreviewed, rolling out r72292.
2775         http://trac.webkit.org/changeset/72292
2776         https://bugs.webkit.org/show_bug.cgi?id=49732
2777
2778         will break win build (Requested by loislo on #webkit).
2779
2780         * inspector/CodeGeneratorInspector.pm:
2781
2782 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
2783
2784         Reviewed by Yury Semikhatsky.
2785
2786         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
2787         InspectorBackendDispatcher is a generated file.
2788         Its content is not optimal and loc may be reduced by a quarter.
2789         In each generated function we have a code for getting 'in' values from
2790         the arguments properties object. I've extracted this code into separate getters.
2791         The side effect is better readability of the generated code.
2792
2793         https://bugs.webkit.org/show_bug.cgi?id=49729
2794
2795         * inspector/CodeGeneratorInspector.pm:
2796
2797 2010-11-18  Alexander Pavlov  <apavlov@chromium.org>
2798
2799         Reviewed by Pavel Feldman.
2800
2801         [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
2802         https://bugs.webkit.org/show_bug.cgi?id=49656
2803
2804         Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
2805
2806         * bindings/scripts/CodeGeneratorV8.pm:
2807
2808 2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2809
2810         Reviewed by Dirk Schulze.
2811
2812         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
2813         https://bugs.webkit.org/show_bug.cgi?id=49580
2814
2815         SVGPathElement.cloneNode loses generated pathSegList
2816         https://bugs.webkit.org/show_bug.cgi?id=43388
2817
2818         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
2819         https://bugs.webkit.org/show_bug.cgi?id=30219
2820
2821         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
2822         https://bugs.webkit.org/show_bug.cgi?id=19741
2823
2824         SVGPathElement should only build SVGPathSeg* list on demand
2825         https://bugs.webkit.org/show_bug.cgi?id=10827
2826
2827         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
2828                svg/dom/SVGPathSegList-appendItem.xhtml
2829                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
2830                svg/dom/SVGPathSegList-cloning.html
2831                svg/dom/SVGPathSegList-insertItemBefore.xhtml
2832                svg/dom/SVGPathSegList-removeItem.xhtml
2833                svg/dom/SVGPathSegList-replaceItem.xhtml
2834                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
2835                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
2836                svg/dom/SVGPathSegList-segment-modification.svg
2837
2838         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
2839         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
2840         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
2841         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
2842         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
2843
2844         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
2845         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
2846         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
2847         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
2848         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
2849         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
2850
2851         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
2852         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
2853
2854         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2855         * CMakeLists.txt: Ditto.
2856         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
2857         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2858         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
2859         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2860         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
2861         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
2862         * WebCore.vcproj/WebCore.vcproj: Ditto.
2863         * WebCore.xcodeproj/project.pbxproj: Ditto.
2864         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
2865         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
2866         (WebCore::setDOMException):
2867         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
2868         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
2869         (WebCore::toJS):
2870         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
2871         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
2872         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
2873         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
2874         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
2875         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
2876         (WebCore::operator<<):
2877         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
2878         * svg/SVGAnimatedPathData.cpp: Removed.
2879         * svg/SVGAnimatedPathData.h: Removed.
2880         * svg/SVGAnimatedPathData.idl: Removed.
2881         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
2882         (WebCore::SVGPathElement::SVGPathElement):
2883         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
2884         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
2885         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
2886         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
2887         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
2888         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
2889         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
2890         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
2891         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
2892         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
2893         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
2894         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
2895         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
2896         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
2897         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
2898         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
2899         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
2900         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
2901         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
2902         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
2903         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
2904         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
2905         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
2906         (WebCore::SVGPathElement::synchronizeD): Added.
2907         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
2908         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
2909         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
2910         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
2911         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
2912         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
2913         * svg/SVGPathElement.h: Add new accessors...
2914         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
2915         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
2916         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
2917         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
2918         (WebCore::globalSVGPathSegListBuilder):
2919         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
2920         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
2921         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
2922         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
2923         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
2924         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
2925         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
2926         * svg/SVGPathParserFactory.h:
2927         * svg/SVGPathSeg.cpp: Removed.
2928         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
2929         (WebCore::SVGPathSeg::SVGPathSeg):
2930         * svg/SVGPathSeg.idl: Reindented.
2931         * svg/SVGPathSegArc.cpp: Removed.
2932         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
2933         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
2934         * svg/SVGPathSegArcRel.idl: Ditto.
2935         * svg/SVGPathSegClosePath.cpp: Removed.
2936         * svg/SVGPathSegClosePath.h:
2937         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
2938         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
2939         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
2940         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
2941         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
2942         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
2943         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
2944         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
2945         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
2946         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
2947         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
2948         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
2949         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
2950         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
2951         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
2952         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
2953         * svg/SVGPathSegLineto.cpp: Removed.
2954         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
2955         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
2956         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
2957         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
2958         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
2959         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
2960         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
2961         * svg/SVGPathSegLinetoVertical.cpp: Removed.
2962         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
2963         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
2964         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
2965         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
2966         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
2967         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
2968         * svg/SVGPathSegList.h:
2969         (WebCore::SVGPathSegList::SVGPathSegList):
2970         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
2971         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
2972         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2973         (WebCore::SVGPathSegListBuilder::moveTo):
2974         (WebCore::SVGPathSegListBuilder::lineTo):
2975         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2976         (WebCore::SVGPathSegListBuilder::lineToVertical):
2977         (WebCore::SVGPathSegListBuilder::curveToCubic):
2978         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2979         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2980         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2981         (WebCore::SVGPathSegListBuilder::arcTo):
2982         (WebCore::SVGPathSegListBuilder::closePath):
2983         * svg/SVGPathSegListBuilder.h: Ditto.
2984         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
2985         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
2986         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
2987         (WebCore::SVGPathSegListBuilder::cleanup):
2988         * svg/SVGPathSegListSource.cpp: Ditto.
2989         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
2990         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
2991         (WebCore::SVGPathSegListSource::nextCommand):
2992         (WebCore::SVGPathSegListSource::parseMoveToSegment):
2993         (WebCore::SVGPathSegListSource::parseLineToSegment):
2994         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
2995         * svg/SVGPathSegListSource.h: Ditto.
2996         (WebCore::SVGPathSegListSource::create):
2997         * svg/SVGPathSegMoveto.cpp: Removed.
2998         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
2999         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
3000         * svg/SVGPathSegMovetoRel.idl: Ditto.
3001         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
3002         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
3003         (WebCore::SVGPathSegWithContext::animatedProperty):
3004         (WebCore::SVGPathSegWithContext::setContextAndRole):
3005         (WebCore::SVGPathSegWithContext::commitChange):
3006         (WebCore::SVGPathSegSingleCoordinate::x):
3007         (WebCore::SVGPathSegSingleCoordinate::setX):
3008         (WebCore::SVGPathSegSingleCoordinate::y):
3009         (WebCore::SVGPathSegSingleCoordinate::setY):
3010         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
3011         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
3012         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
3013         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
3014         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
3015         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
3016         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
3017         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
3018         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
3019         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
3020         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
3021         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
3022         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
3023         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
3024         (WebCore::SVGPathSegListPropertyTearOff::create):
3025         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
3026         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
3027         (WebCore::SVGPathSegListPropertyTearOff::initialize):
3028         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
3029         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
3030         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
3031         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
3032         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
3033         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
3034
3035 2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
3036
3037         Reviewed by Martin Robinson.
3038
3039         [Gtk]  atk_text_get_selection returns the wrong offsets after a link
3040         https://bugs.webkit.org/show_bug.cgi?id=49514
3041
3042         Consider possible embedded objects to calculate startOffset.
3043
3044         So far we were using offsetInContainerNode() to calculate the
3045         value of startOffset when checking the offsets for the current
3046         selection, which was wrong because that wouldn't work ok if any
3047         embedded object was present in the paragraph before the
3048         selection. Thus, we need to consider this fact when calculating
3049         the startOffset from the point of view of the object this function
3050         is called on, in order to return the right and actual values.
3051
3052         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3053         (getSelectionOffsetsForObject): Check range length from the first
3054         position in the object the function is called on until the first
3055         position of current selection, and use it as startOffset.
3056
3057 2010-11-12  Stephen White  <senorblanco@chromium.org>
3058
3059         Reviewed by Simon Fraser.
3060
3061         Fix for multiple urls in a background-image causing repeated repaints.
3062         https://bugs.webkit.org/show_bug.cgi?id=42390
3063
3064         Change the key of RenderBoxModelObject's LastPaintSizeMap to include
3065         the layer of the element being drawn, so that the same URL used
3066         repeated in the same background-image, or another element's
3067         background-image, can be uniquely identified.  The layer is a void
3068         pointer, since it is only used as part of the key and using a
3069         void pointer will discourage dereferencing it.  This pointer is NULL
3070         when called from RenderImage (<img> elements).
3071
3072         Covered by fast/backgrounds/size/contain-and-cover.html
3073
3074         * rendering/RenderBoxModelObject.cpp:
3075         (WebCore::ImageQualityController::keyDestroyed):
3076         The old objectDestroyed() is renamed to keyDestroyed().
3077         (WebCore::ImageQualityController::objectDestroyed):
3078         The new objectDestroyed() iterates over all outstanding resizes
3079         to remove any resizes pertaining to this object.
3080         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
3081         Retrieve the RenderBoxModelObject from the pair's "first" member.
3082         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
3083         Create a key from the {object, layer} pair, and use it to access
3084         the repaint size map.
3085         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
3086         Plumb the layer through to the image quality controller.
3087         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3088         Pass the bgLayer when checking 
3089         * rendering/RenderBoxModelObject.h:
3090         Add the void* layer parameter to shouldPaintAtLowQuality.
3091         * rendering/RenderImage.cpp:
3092         (WebCore::RenderImage::paintIntoRect):
3093         Pass 0 (null) for the layer parameter in this case.
3094
3095 2010-11-18  Chris Rogers  <crogers@google.com>
3096
3097         Reviewed by Dimitri Glazkov.
3098
3099         Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
3100         https://bugs.webkit.org/show_bug.cgi?id=49557
3101
3102         No new tests since audio API is not yet implemented.
3103
3104         * platform/chromium/ChromiumBridge.h:
3105
3106 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3107
3108         Unreviewed, rolling out r72228.
3109         http://trac.webkit.org/changeset/72228
3110         https://bugs.webkit.org/show_bug.cgi?id=49712
3111
3112         Caused many >10 regressions on Win and Linux gpu layout test
3113         runs. (Requested by dave_levin on #webkit).
3114
3115         * html/canvas/WebGLFramebuffer.cpp:
3116         (WebCore::WebGLFramebuffer::onAccess):
3117         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
3118         * html/canvas/WebGLFramebuffer.h:
3119         * html/canvas/WebGLRenderingContext.cpp:
3120         (WebCore::WebGLRenderingContext::clear):
3121         (WebCore::WebGLRenderingContext::copyTexImage2D):
3122         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
3123         (WebCore::WebGLRenderingContext::drawArrays):
3124         (WebCore::WebGLRenderingContext::drawElements):
3125         (WebCore::WebGLRenderingContext::readPixels):
3126         (WebCore::WebGLRenderingContext::texImage2DBase):
3127
3128 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3129
3130         Unreviewed, rolling out r72243.
3131         http://trac.webkit.org/changeset/72243
3132         https://bugs.webkit.org/show_bug.cgi?id=49710
3133
3134         Seemed to cause a large set of Chromium layout test to start
3135         failing. (Requested by dave_levin on #webkit).
3136
3137         * bindings/v8/V8NPUtils.cpp:
3138         (WebCore::convertV8ObjectToNPVariant):
3139
3140 2010-11-17  Adam Roben  <aroben@apple.com>
3141
3142         Fix Acid3 in Safari for Windows
3143
3144         Reviewed by Dave Hyatt.
3145
3146         * platform/graphics/win/SimpleFontDataWin.cpp:
3147         (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
3148         if we have a font size of 0.
3149
3150 2010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>
3151
3152         Reviewed by Darin Adler.
3153
3154         Converge means of querying a parent node into one way, which is Node::parentNode.
3155         https://bugs.webkit.org/show_bug.cgi?id=49686
3156
3157         No change in behavior, so no new tests.
3158
3159         * accessibility/AccessibilityObject.cpp:
3160         (WebCore::renderListItemContainerForNode): Changed to use parentNode.
3161         * accessibility/AccessibilityRenderObject.cpp:
3162         (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
3163         (WebCore::siblingWithAriaRole): Ditto.
3164         (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
3165         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
3166         * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
3167         (blockquoteLevel): Ditto.
3168         * bindings/v8/V8GCController.cpp:
3169         (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
3170         * dom/ContainerNode.cpp: Ditto.
3171         (WebCore::ContainerNode::insertBefore): Ditto.
3172         (WebCore::ContainerNode::insertBeforeCommon): Ditto.
3173         (WebCore::ContainerNode::replaceChild): Ditto.
3174         (WebCore::ContainerNode::removeChild): Ditto.
3175         (WebCore::ContainerNode::appendChild): Ditto.
3176         (WebCore::ContainerNode::parserAddChild): Ditto.
3177         * dom/DocumentType.cpp:
3178         (WebCore::DocumentType::insertedIntoDocument): Ditto.
3179         * dom/Element.cpp:
3180         (WebCore::Element::computeInheritedLanguage): Ditto.
3181         * dom/MouseRelatedEvent.cpp:
3182         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
3183         * dom/Position.cpp:
3184         (WebCore::Position::isCandidate): Changed to use parentNode.
3185         * dom/PositionIterator.cpp:
3186         (WebCore::PositionIterator::isCandidate): Ditto.
3187         * editing/AppendNodeCommand.cpp:
3188         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
3189         * editing/ApplyStyleCommand.cpp:
3190         (WebCore::dummySpanAncestorForNode): Ditto.
3191         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
3192         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
3193         (WebCore::highestEmbeddingAncestor): Ditto.
3194         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
3195         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
3196         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
3197         * editing/CompositeEditCommand.cpp:
3198         (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
3199         * editing/DeleteSelectionCommand.cpp:
3200         (WebCore::updatePositionForNodeRemoval): Ditto.
3201         * editing/Editor.cpp:
3202         (WebCore::Editor::textDirectionForSelection): Ditto.
3203         * editing/MergeIdenticalElementsCommand.cpp:
3204         (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
3205         * editing/htmlediting.cpp:
3206         (WebCore::isEmptyTableCell): Ditto.
3207         * editing/markup.cpp:
3208         (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
3209         * editing/visible_units.cpp:
3210         (WebCore::previousLinePosition): Ditto.
3211         (WebCore::nextLinePosition): Ditto.
3212         * html/HTMLAreaElement.cpp:
3213         (WebCore::HTMLAreaElement::imageElement): Ditto.
3214         * html/HTMLElement.cpp:
3215         (WebCore::HTMLElement::setOuterHTML): Ditto.
3216         (WebCore::HTMLElement::insertAdjacent): Ditto.
3217         (WebCore::HTMLElement::supportsFocus): Ditto.
3218         * html/HTMLEmbedElement.cpp:
3219         (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
3220         (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
3221         * html/HTMLTableElement.cpp:
3222         (WebCore::HTMLTableElement::insertRow): Ditto.
3223         * html/HTMLTableRowsCollection.cpp: Ditto.
3224         (WebCore::isInHead): Ditto.
3225         (WebCore::isInBody): Ditto.
3226         (WebCore::isInFoot): Ditto.
3227         (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
3228         * html/HTMLViewSourceDocument.cpp:
3229         (WebCore::HTMLViewSourceDocument::addRange): Ditto.
3230         * html/MediaDocument.cpp:
3231         (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
3232         * html/parser/HTMLConstructionSite.cpp:
3233         (WebCore::HTMLConstructionSite::attach): Ditto.
3234         (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
3235         * html/parser/HTMLTreeBuilder.cpp:
3236         * page/FocusController.cpp:
3237         (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
3238         * rendering/MediaControlElements.cpp:
3239         (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
3240         (WebCore::MediaControlElement::attach): Ditto.
3241         (WebCore::MediaControlElement::updateStyle): Ditto.
3242         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
3243         (WebCore::MediaControlInputElement::attach): Ditto.
3244         (WebCore::MediaControlInputElement::updateStyle): Ditto.
3245         * rendering/RenderSVGGradientStop.cpp:
3246         (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
3247         * svg/SVGAElement.cpp:
3248         (WebCore::SVGAElement::createRenderer): Ditto.
3249         (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
3250         * svg/SVGFELightElement.cpp:
3251         (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
3252         (WebCore::SVGFELightElement::childrenChanged): Ditto.
3253         * svg/SVGFEMergeNodeElement.cpp:
3254         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
3255         * svg/SVGLength.cpp:
3256         (WebCore::SVGLength::determineViewport): Ditto.
3257         * svg/SVGStyledElement.cpp:
3258         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
3259         * svg/SVGUseElement.cpp:
3260         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
3261         * svg/animation/SVGSMILElement.cpp:
3262         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
3263         * xml/XPathNodeSet.cpp:
3264         (WebCore::XPath::NodeSet::sort): Ditto.
3265         * xml/XPathStep.cpp:
3266         (WebCore::XPath::Step::nodesInAxis): Ditto.
3267         * xml/XSLTProcessorLibxslt.cpp:
3268         (WebCore::xsltStylesheetPointer): Ditto.
3269
3270 2010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3271
3272         Reviewed by Andreas Kling.
3273
3274         ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
3275
3276         This makes paint() with paintEntireContents() do exactly what it's supposed to:
3277         paint from 0,0 to contentsSize().
3278
3279         The clipping was a no-op anyway since visibleContentRect() will return the whole
3280         rect in paintsEntireContents() mode.
3281
3282         * platform/ScrollView.cpp:
3283         (WebCore::ScrollView::paint):
3284
3285 2010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>
3286
3287         Reviewed by Andreas Kling.
3288
3289         ScrollView: Update the actualVisibleContentRect after delegating a scroll.
3290
3291         This lets us avoid updating the actualVisibleContentRect from the client
3292         after each scroll. We had to do this synchronously for WebKit2 to support
3293         programmatic "animated scrolling" from JS.
3294
3295         * platform/ScrollView.cpp:
3296         (WebCore::ScrollView::setScrollPosition):
3297
3298 2010-11-17  Andreas Kling  <kling@webkit.org>
3299
3300         Reviewed by Kenneth Rohde Christiansen.
3301
3302         ScrollView: Decouple actualVisibleContentRect from visibleContentRect
3303
3304         Added actualVisibleContentRect() which will return the override provided
3305         by setActualVisibleContentRect() or fall back to visibleContentRect()
3306         if no override has been set.
3307
3308         This is similar to what the iPhone does.
3309
3310         * platform/ScrollView.cpp:
3311         (WebCore::ScrollView::visibleContentRect):
3312         * platform/ScrollView.h:
3313         (WebCore::ScrollView::actualVisibleContentRect):
3314         (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
3315
3316 2010-11-17  Tony Chang  <tony@chromium.org>
3317
3318         Reviewed by Adam Barth.
3319
3320         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
3321         https://bugs.webkit.org/show_bug.cgi?id=49036
3322
3323         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
3324
3325         In http://codereview.chromium.org/11574, the forked chromium test
3326         plugin changed how it testGetIntIdentifier to work around a change
3327         caused by a silverlight specific plugin fix:
3328         http://codereview.chromium.org/11569/diff/1/2
3329
3330         It's not clear to me that this change is needed anymore since
3331         silverlight has had multiple releases, testing without this patch
3332         works on a test windows build, and safari win seems to run silverlight
3333         without this either.  Since there's no test for this behavior, I'm
3334         rolling it out so we can match the upstream test.
3335
3336         * bindings/v8/V8NPUtils.cpp:
3337         (WebCore::convertV8ObjectToNPVariant):
3338
3339 2010-11-17  Andreas Kling  <kling@webkit.org>
3340
3341         Reviewed by Kenneth Rohde Christiansen.
3342
3343         ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
3344
3345         * platform/ScrollView.cpp:
3346         (WebCore::ScrollView::visibleContentRect):
3347
3348 2010-11-17  James Simonsen  <simonjam@chromium.org>
3349
3350         Reviewed by Tony Chang.
3351
3352         [chromium] Fix negative letter spacing in complex text on linux
3353         https://bugs.webkit.org/show_bug.cgi?id=49563
3354
3355         Test: fast/text/atsui-negative-spacing-features.html
3356
3357         * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
3358
3359 2010-11-17  Andreas Kling  <kling@webkit.org>
3360
3361         Reviewed by Kenneth Rohde Christiansen.
3362
3363         ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
3364
3365         * platform/ScrollView.cpp:
3366         (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
3367         newScrollPosition, so move that calculation below the delegation path.
3368
3369 2010-11-17  Dave Hyatt  <hyatt@apple.com>
3370
3371         Reviewed by Sam Weinig.
3372
3373         https://bugs.webkit.org/show_bug.cgi?id=48537
3374
3375         Fonts with no vertical metrics should synthesize baselines when they appear
3376         on lines that do use fonts with vertical metrics.  Basically we want to make
3377         sure that English text behaves like vertical-align:middle, i.e., its baseline
3378         should be treated as though it cuts through the middle of the ascent+descent.
3379         
3380         The way this works is that each line in the line box tree is labeled as having
3381         a baseline type that is either ideographic or alphabetic for the purposes of
3382         vertical alignment.  A line becomes ideographic if any font with vertical tables
3383         is either explicitly specified as the primary font or in any of the used fonts
3384         in the text on that line.
3385         
3386         This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
3387         and passed to the ascent and descent methods of the fonts that are examined.
3388         The underlying Font code selects an appropriate baseline given the type passed in.
3389         
3390         This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
3391         to instead carry around the cached vertical positions for RenderInlines in a new
3392         VerticalPositionCache object.  This cache only lives for a single layout
3393         operation, but it does cache information across all the lines built and placed during the
3394         layout.
3395         
3396         This matches the old behavior, since every call to layoutInlineChildren invalidated
3397         all of the vertical positions in all of the RenderInlines anyway.
3398         
3399         The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
3400         positions for both alphabetic and ideographic baseline types.
3401         
3402         The vertical-align computation has now been moved out of RenderBoxModelObject and
3403         RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
3404         This function has been changed to no longer be recursive when checking parents,
3405         and it now relies on the fact that the parent vertical alignment computation result
3406         has already been stored in the logicalTop() of that parent's line box.  By checking
3407         the line box logicalTop() value instead of recurring, the performance of first lines
3408         now significantly improves to no longer have O(n^2) behavior in the depth of the line
3409         box tree on the first line.
3410         
3411         All of the baselinePosition functions on the various RenderObjects have been amended
3412         to take a FontBaseline as the first argument.  This patch does not attempt to fix up
3413         MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
3414         
3415         The RenderTableCell baselinePosition virtual method has been made non-virtual and had
3416         all arguments removed, since it actually had no real connection with the rest of the 
3417         baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
3418         and that method has been patched to use the cached baselineType for the first line box
3419         when computing the baseline of that line.
3420          
3421         Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
3422
3423         * WebCore.xcodeproj/project.pbxproj:
3424         * mathml/RenderMathMLFraction.cpp:
3425         (WebCore::RenderMathMLFraction::baselinePosition):
3426         * mathml/RenderMathMLFraction.h:
3427         * mathml/RenderMathMLOperator.cpp:
3428         (WebCore::RenderMathMLOperator::baselinePosition):
3429         * mathml/RenderMathMLOperator.h:
3430         * mathml/RenderMathMLRow.cpp:
3431         (WebCore::RenderMathMLRow::baselinePosition):
3432         * mathml/RenderMathMLRow.h:
3433         * mathml/RenderMathMLSubSup.cpp:
3434         (WebCore::RenderMathMLSubSup::baselinePosition):
3435         * mathml/RenderMathMLSubSup.h:
3436         * mathml/RenderMathMLUnderOver.cpp:
3437         (WebCore::RenderMathMLUnderOver::layout):
3438         (WebCore::RenderMathMLUnderOver::baselinePosition):
3439         * mathml/RenderMathMLUnderOver.h:
3440         * platform/graphics/SimpleFontData.h:
3441         * rendering/InlineBox.h:
3442         (WebCore::InlineBox::baselinePosition):
3443         * rendering/InlineFlowBox.cpp:
3444         (WebCore::verticalPositionForBox):
3445         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3446         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3447         * rendering/InlineFlowBox.h:
3448         * rendering/InlineTextBox.cpp:
3449         (WebCore::InlineTextBox::baselinePosition):
3450         * rendering/InlineTextBox.h:
3451         * rendering/RenderBlock.cpp:
3452         (WebCore::RenderBlock::baselinePosition):
3453         (WebCore::RenderBlock::firstLin