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