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