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