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