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