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