2010-08-30 Alejandro G. Castro <alex@igalia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-08-30  Alejandro G. Castro  <alex@igalia.com>
2
3         Reviewed by Martin Robinson.
4
5         [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
6         are deprecated
7         https://bugs.webkit.org/show_bug.cgi?id=44787
8
9         We have replaced GtkVersioning.cpp with GtkVersioning.c and
10         created a function (getDefaultGDKPointerDevice) to get the pointer
11         of the window with the new APIs. We added that function to DRT and
12         copyandpaste unit test.
13
14         * GNUmakefile.am:
15         * platform/gtk/GtkVersioning.c: Added.
16         (gtk_adjustment_set_value):
17         (gtk_adjustment_configure):
18         (getDefaultGDKPointerDevice):
19         * platform/gtk/GtkVersioning.cpp: Removed.
20         * platform/gtk/GtkVersioning.h:
21
22 2010-08-30  Darin Adler  <darin@apple.com>
23
24         Reviewed by Sam Weinig.
25
26         Make SVG constructors private to make sure callers all use create
27         https://bugs.webkit.org/show_bug.cgi?id=44872
28
29         Made as many members private and protected as possible, and got rid of many
30         unneeded empty constructor and destructor definitions, in some cases changing
31         a class to be non-polymorphic. Made some functions inline. Used the word document
32         instead of the abbreviation doc. Removed unneeded explicit base class
33         initialization in cases where it is no different from the default behavior.
34
35         * svg/SVGAElement.cpp:
36         (WebCore::SVGAElement::SVGAElement):
37         (WebCore::SVGAElement::childShouldCreateRenderer):
38         * svg/SVGAElement.h:
39         * svg/SVGAltGlyphElement.cpp:
40         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
41         * svg/SVGAltGlyphElement.h:
42         * svg/SVGAngle.cpp:
43         * svg/SVGAngle.h:
44         * svg/SVGAnimateColorElement.cpp:
45         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
46         * svg/SVGAnimateColorElement.h:
47         * svg/SVGAnimateElement.cpp:
48         (WebCore::SVGAnimateElement::SVGAnimateElement):
49         * svg/SVGAnimateElement.h:
50         * svg/SVGAnimateMotionElement.cpp:
51         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
52         * svg/SVGAnimateMotionElement.h:
53         * svg/SVGAnimateTransformElement.cpp:
54         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
55         * svg/SVGAnimateTransformElement.h:
56         * svg/SVGAnimatedPathData.cpp:
57         * svg/SVGAnimatedPathData.h:
58         * svg/SVGAnimatedPoints.cpp:
59         * svg/SVGAnimatedPoints.h:
60         * svg/SVGAnimationElement.cpp:
61         (WebCore::SVGAnimationElement::SVGAnimationElement):
62         * svg/SVGAnimationElement.h:
63         * svg/SVGCircleElement.cpp:
64         (WebCore::SVGCircleElement::SVGCircleElement):
65         * svg/SVGCircleElement.h:
66         * svg/SVGClipPathElement.cpp:
67         (WebCore::SVGClipPathElement::SVGClipPathElement):
68         * svg/SVGClipPathElement.h:
69         * svg/SVGColor.cpp:
70         * svg/SVGColor.h:
71         * svg/SVGComponentTransferFunctionElement.cpp:
72         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
73         * svg/SVGComponentTransferFunctionElement.h:
74         * svg/SVGCursorElement.cpp:
75         (WebCore::SVGCursorElement::SVGCursorElement):
76         * svg/SVGCursorElement.h:
77         * svg/SVGDefsElement.cpp:
78         (WebCore::SVGDefsElement::SVGDefsElement):
79         * svg/SVGDefsElement.h:
80         * svg/SVGDescElement.cpp:
81         (WebCore::SVGDescElement::SVGDescElement):
82         * svg/SVGDescElement.h:
83         * svg/SVGDocument.cpp:
84         * svg/SVGDocument.h:
85         * svg/SVGDocumentExtensions.cpp:
86         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
87         (WebCore::SVGDocumentExtensions::reportWarning):
88         (WebCore::SVGDocumentExtensions::reportError):
89         * svg/SVGDocumentExtensions.h:
90         * svg/SVGElement.h:
91         * svg/SVGElementInstanceList.h:
92         * svg/SVGEllipseElement.cpp:
93         (WebCore::SVGEllipseElement::SVGEllipseElement):
94         * svg/SVGEllipseElement.h:
95         * svg/SVGExternalResourcesRequired.cpp:
96         * svg/SVGExternalResourcesRequired.h:
97         * svg/SVGFEBlendElement.cpp:
98         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
99         * svg/SVGFEBlendElement.h:
100         * svg/SVGFEColorMatrixElement.cpp:
101         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
102         * svg/SVGFEColorMatrixElement.h:
103         * svg/SVGFEComponentTransferElement.cpp:
104         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
105         * svg/SVGFEComponentTransferElement.h:
106         * svg/SVGFECompositeElement.cpp:
107         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
108         * svg/SVGFECompositeElement.h:
109         * svg/SVGFEConvolveMatrixElement.cpp:
110         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
111         * svg/SVGFEConvolveMatrixElement.h:
112         * svg/SVGFEDiffuseLightingElement.cpp:
113         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
114         * svg/SVGFEDiffuseLightingElement.h:
115         * svg/SVGFEDisplacementMapElement.cpp:
116         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
117         * svg/SVGFEDisplacementMapElement.h:
118         * svg/SVGFEDistantLightElement.cpp:
119         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
120         * svg/SVGFEDistantLightElement.h:
121         * svg/SVGFEFloodElement.cpp:
122         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
123         * svg/SVGFEFloodElement.h:
124         * svg/SVGFEFuncAElement.cpp:
125         (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
126         * svg/SVGFEFuncAElement.h:
127         * svg/SVGFEFuncBElement.cpp:
128         (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
129         * svg/SVGFEFuncBElement.h:
130         * svg/SVGFEFuncGElement.cpp:
131         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
132         * svg/SVGFEFuncGElement.h:
133         * svg/SVGFEFuncRElement.cpp:
134         (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
135         * svg/SVGFEFuncRElement.h:
136         * svg/SVGFEGaussianBlurElement.cpp:
137         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
138         * svg/SVGFEGaussianBlurElement.h:
139         * svg/SVGFEImageElement.cpp:
140         (WebCore::SVGFEImageElement::SVGFEImageElement):
141         * svg/SVGFEImageElement.h:
142         * svg/SVGFELightElement.cpp:
143         (WebCore::SVGFELightElement::SVGFELightElement):
144         * svg/SVGFELightElement.h:
145         * svg/SVGFEMergeElement.cpp:
146         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
147         * svg/SVGFEMergeElement.h:
148         * svg/SVGFEMergeNodeElement.cpp:
149         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
150         * svg/SVGFEMergeNodeElement.h:
151         * svg/SVGFEMorphologyElement.cpp:
152         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
153         * svg/SVGFEMorphologyElement.h:
154         * svg/SVGFEOffsetElement.cpp:
155         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
156         * svg/SVGFEOffsetElement.h:
157         * svg/SVGFEPointLightElement.cpp:
158         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
159         (WebCore::SVGFEPointLightElement::lightSource):
160         * svg/SVGFEPointLightElement.h:
161         * svg/SVGFESpecularLightingElement.cpp:
162         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
163         * svg/SVGFESpecularLightingElement.h:
164         * svg/SVGFESpotLightElement.cpp:
165         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
166         * svg/SVGFESpotLightElement.h:
167         * svg/SVGFETileElement.cpp:
168         (WebCore::SVGFETileElement::SVGFETileElement):
169         * svg/SVGFETileElement.h:
170         * svg/SVGFETurbulenceElement.cpp:
171         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
172         * svg/SVGFETurbulenceElement.h:
173         * svg/SVGFilterElement.cpp:
174         (WebCore::SVGFilterElement::SVGFilterElement):
175         * svg/SVGFilterElement.h:
176         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
177         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
178         * svg/SVGFilterPrimitiveStandardAttributes.h:
179         * svg/SVGFitToViewBox.cpp:
180         * svg/SVGFitToViewBox.h:
181         * svg/SVGFontData.cpp:
182         * svg/SVGFontData.h:
183         * svg/SVGFontElement.cpp:
184         (WebCore::SVGFontElement::SVGFontElement):
185         * svg/SVGFontElement.h:
186         * svg/SVGFontFaceElement.cpp:
187         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
188         * svg/SVGFontFaceElement.h:
189         * svg/SVGFontFaceFormatElement.cpp:
190         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
191         * svg/SVGFontFaceFormatElement.h:
192         * svg/SVGFontFaceNameElement.cpp:
193         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
194         * svg/SVGFontFaceNameElement.h:
195         * svg/SVGFontFaceSrcElement.cpp:
196         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
197         * svg/SVGFontFaceSrcElement.h:
198         * svg/SVGFontFaceUriElement.cpp:
199         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
200         * svg/SVGFontFaceUriElement.h:
201         * svg/SVGForeignObjectElement.cpp:
202         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
203         * svg/SVGForeignObjectElement.h:
204         * svg/SVGGElement.cpp:
205         (WebCore::SVGGElement::SVGGElement):
206         * svg/SVGGElement.h:
207         * svg/SVGGlyphElement.cpp:
208         (WebCore::SVGGlyphElement::SVGGlyphElement):
209         * svg/SVGGlyphElement.h:
210         * svg/SVGGradientElement.cpp:
211         (WebCore::SVGGradientElement::SVGGradientElement):
212         * svg/SVGGradientElement.h:
213         * svg/SVGHKernElement.cpp:
214         (WebCore::SVGHKernElement::SVGHKernElement):
215         * svg/SVGHKernElement.h:
216         * svg/SVGImageElement.cpp:
217         (WebCore::SVGImageElement::SVGImageElement):
218         * svg/SVGImageElement.h:
219         * svg/SVGImageLoader.cpp:
220         * svg/SVGImageLoader.h:
221         * svg/SVGLangSpace.cpp:
222         * svg/SVGLangSpace.h:
223         * svg/SVGLengthList.cpp:
224         * svg/SVGLengthList.h:
225         * svg/SVGLineElement.cpp:
226         (WebCore::SVGLineElement::SVGLineElement):
227         * svg/SVGLineElement.h:
228         * svg/SVGLinearGradientElement.cpp:
229         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
230         * svg/SVGLinearGradientElement.h:
231         * svg/SVGLocatable.cpp:
232         * svg/SVGLocatable.h:
233         * svg/SVGMPathElement.cpp:
234         (WebCore::SVGMPathElement::SVGMPathElement):
235         * svg/SVGMPathElement.h:
236         * svg/SVGMarkerElement.cpp:
237         (WebCore::SVGMarkerElement::SVGMarkerElement):
238         * svg/SVGMarkerElement.h:
239         * svg/SVGMaskElement.cpp:
240         (WebCore::SVGMaskElement::SVGMaskElement):
241         * svg/SVGMaskElement.h:
242         * svg/SVGMetadataElement.cpp:
243         (WebCore::SVGMetadataElement::SVGMetadataElement):
244         * svg/SVGMetadataElement.h:
245         * svg/SVGMissingGlyphElement.cpp:
246         (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
247         * svg/SVGMissingGlyphElement.h:
248         * svg/SVGNumberList.cpp:
249         * svg/SVGNumberList.h:
250         * svg/SVGPaint.cpp:
251         * svg/SVGPaint.h:
252         * svg/SVGParserUtilities.cpp:
253         (WebCore::genericParseNumber):
254         (WebCore::parseNumber):
255         * svg/SVGPathBlender.cpp:
256         * svg/SVGPathBlender.h:
257         * svg/SVGPathBuilder.h:
258         * svg/SVGPathByteStreamBuilder.h:
259         * svg/SVGPathByteStreamSource.cpp:
260         * svg/SVGPathByteStreamSource.h:
261         * svg/SVGPathConsumer.h:
262         * svg/SVGPathElement.cpp:
263         (WebCore::SVGPathElement::SVGPathElement):
264         * svg/SVGPathElement.h:
265         * svg/SVGPathParser.cpp:
266         * svg/SVGPathParser.h:
267         * svg/SVGPathSeg.cpp:
268         * svg/SVGPathSeg.h:
269         * svg/SVGPathSegArc.h:
270         * svg/SVGPathSegClosePath.cpp:
271         * svg/SVGPathSegClosePath.h:
272         * svg/SVGPathSegCurvetoCubic.h:
273         * svg/SVGPathSegCurvetoCubicSmooth.h:
274         * svg/SVGPathSegCurvetoQuadratic.h:
275         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
276         * svg/SVGPathSegLineto.h:
277         * svg/SVGPathSegLinetoHorizontal.h:
278         * svg/SVGPathSegLinetoVertical.h:
279         * svg/SVGPathSegList.cpp:
280         * svg/SVGPathSegList.h:
281         * svg/SVGPathSegListBuilder.h:
282         * svg/SVGPathSegListSource.cpp:
283         * svg/SVGPathSegListSource.h:
284         * svg/SVGPathSegMoveto.h:
285         * svg/SVGPathSource.h:
286         * svg/SVGPathStringBuilder.cpp:
287         * svg/SVGPathStringBuilder.h:
288         * svg/SVGPathStringSource.cpp:
289         * svg/SVGPathStringSource.h:
290         * svg/SVGPatternElement.cpp:
291         (WebCore::SVGPatternElement::SVGPatternElement):
292         * svg/SVGPatternElement.h:
293         * svg/SVGPointList.cpp:
294         * svg/SVGPointList.h:
295         * svg/SVGPolyElement.cpp:
296         (WebCore::SVGPolyElement::SVGPolyElement):
297         * svg/SVGPolyElement.h:
298         * svg/SVGPolygonElement.cpp:
299         (WebCore::SVGPolygonElement::SVGPolygonElement):
300         * svg/SVGPolygonElement.h:
301         * svg/SVGPolylineElement.cpp:
302         (WebCore::SVGPolylineElement::SVGPolylineElement):
303         * svg/SVGPolylineElement.h:
304         * svg/SVGPreserveAspectRatio.cpp:
305         * svg/SVGPreserveAspectRatio.h:
306         * svg/SVGRadialGradientElement.cpp:
307         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
308         * svg/SVGRadialGradientElement.h:
309         * svg/SVGRectElement.cpp:
310         (WebCore::SVGRectElement::SVGRectElement):
311         * svg/SVGRectElement.h:
312         * svg/SVGSVGElement.h:
313         * svg/SVGScriptElement.cpp:
314         (WebCore::SVGScriptElement::SVGScriptElement):
315         * svg/SVGScriptElement.h:
316         * svg/SVGSetElement.cpp:
317         (WebCore::SVGSetElement::SVGSetElement):
318         * svg/SVGSetElement.h:
319         * svg/SVGStopElement.cpp:
320         (WebCore::SVGStopElement::SVGStopElement):
321         * svg/SVGStopElement.h:
322         * svg/SVGStringList.cpp:
323         * svg/SVGStringList.h:
324         * svg/SVGStylable.cpp:
325         * svg/SVGStylable.h:
326         * svg/SVGStyleElement.cpp:
327         (WebCore::SVGStyleElement::SVGStyleElement):
328         * svg/SVGStyleElement.h:
329         * svg/SVGStyledElement.cpp:
330         (WebCore::SVGStyledElement::SVGStyledElement):
331         * svg/SVGStyledElement.h:
332         * svg/SVGStyledLocatableElement.cpp:
333         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
334         * svg/SVGStyledLocatableElement.h:
335         * svg/SVGStyledTransformableElement.cpp:
336         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
337         * svg/SVGStyledTransformableElement.h:
338         * svg/SVGSwitchElement.cpp:
339         (WebCore::SVGSwitchElement::SVGSwitchElement):
340         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
341         * svg/SVGSwitchElement.h:
342         * svg/SVGSymbolElement.cpp:
343         (WebCore::SVGSymbolElement::SVGSymbolElement):
344         * svg/SVGSymbolElement.h:
345         * svg/SVGTRefElement.cpp:
346         (WebCore::SVGTRefElement::SVGTRefElement):
347         * svg/SVGTRefElement.h:
348         * svg/SVGTSpanElement.cpp:
349         (WebCore::SVGTSpanElement::SVGTSpanElement):
350         * svg/SVGTests.cpp:
351         * svg/SVGTests.h:
352         * svg/SVGTextContentElement.cpp:
353         (WebCore::SVGTextContentElement::SVGTextContentElement):
354         * svg/SVGTextContentElement.h:
355         * svg/SVGTextElement.cpp:
356         (WebCore::SVGTextElement::SVGTextElement):
357         * svg/SVGTextElement.h:
358         * svg/SVGTextPathElement.cpp:
359         (WebCore::SVGTextPathElement::SVGTextPathElement):
360         * svg/SVGTextPathElement.h:
361         * svg/SVGTextPositioningElement.cpp:
362         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
363         * svg/SVGTextPositioningElement.h:
364         * svg/SVGTitleElement.cpp:
365         (WebCore::SVGTitleElement::SVGTitleElement):
366         * svg/SVGTransform.cpp:
367         * svg/SVGTransform.h:
368         * svg/SVGTransformable.cpp:
369         * svg/SVGTransformable.h:
370         * svg/SVGURIReference.cpp:
371         * svg/SVGURIReference.h:
372         * svg/SVGUseElement.cpp:
373         (WebCore::SVGUseElement::SVGUseElement):
374         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
375         * svg/SVGUseElement.h:
376         * svg/SVGViewElement.cpp:
377         (WebCore::SVGViewElement::SVGViewElement):
378         * svg/SVGViewElement.h:
379         * svg/SVGViewSpec.cpp:
380         (WebCore::SVGViewSpec::SVGViewSpec):
381         * svg/SVGViewSpec.h:
382         * svg/SVGZoomAndPan.cpp:
383         * svg/SVGZoomAndPan.h:
384         * svg/SVGZoomEvent.cpp:
385         * svg/SVGZoomEvent.h:
386
387 2010-08-30  Eric Carlson  <eric.carlson@apple.com>
388
389         Reviewed by Dan Bernstein.
390
391         Disable automatic looping
392         https://bugs.webkit.org/show_bug.cgi?id=44844
393
394         Test: media/video-does-not-loop.html
395
396         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
397         (WebCore::MediaPlayerPrivate::createQTMovie): Disable QuickTime automatic looping.
398
399         * platform/graphics/win/QTMovie.cpp:
400         (QTMoviePrivate::createMovieController): Ditto.
401
402 2010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
403
404         Reviewed by Darin Adler.
405
406         ApplyStyleCommand::applyInlineStyle needs cleanup
407         https://bugs.webkit.org/show_bug.cgi?id=44458
408
409         Cleanup:
410         1. Isolated code to find the highest ancestor with embedding style, and deployed it in
411            ApplyStyleCommand::applyInlineStyle.
412         2. Combined the code to remove embedding style up to enclosing block and the code to
413            remove unicode-bidi and direction properties between start and end nodes.
414         3. Simplified the conditionals to apply embedding styles.
415
416         No new tests are added since this is a cleanup.
417
418         * editing/ApplyStyleCommand.cpp:
419         (WebCore::highestEmbeddingAncestor): Added.
420         (WebCore::ApplyStyleCommand::applyInlineStyle): See above.
421
422 2010-08-30  Martin Robinson  <mrobinson@igalia.com>
423
424         Build fix. Add the new fileapi directory to the IDL vpath.
425
426         * GNUmakefile.am:
427
428 2010-08-30  Martin Robinson  <mrobinson@igalia.com>
429
430         Reviewed by Xan Lopez.
431
432         [GTK] WebKit DOM bindings build should not depend on output GNUMakefile
433         https://bugs.webkit.org/show_bug.cgi?id=44805
434
435         Move WebKit DOM bindings build rules to bindings/gobject/GNUmakefile.am to
436         prevent full WebKit API rebuilds when the automake files change.
437
438         No new tests as this is just a build change.
439
440         * bindings/gobject/GNUmakefile.am: Added.
441
442 2010-08-30  Pavel Feldman  <pfeldman@chromium.org>
443
444         Reviewed by Yury Semikhatsky.
445
446         Web Inspector: event listener properties are rendered as [object Object].
447         https://bugs.webkit.org/show_bug.cgi?id=44779
448
449         * inspector/front-end/EventListenersSidebarPane.js:
450
451 2010-08-30  Ryuan Choi  <ryuan.choi@samsung.com>
452
453         Unreviewed build fix with Blob Support
454
455         [EFL] Build break with Blob support
456         https://bugs.webkit.org/show_bug.cgi?id=44858
457
458         No new features added, so no new tests.
459
460         * CMakeLists.txt:
461
462 2010-08-30  Andras Becsi  <abecsi@webkit.org>
463
464         Unreviewed trivial fix.
465
466         [Qt] Let qmake know about HTML parser headers.
467
468         No new tests needed.
469
470         * WebCore.pro:
471
472 2010-08-30  Andras Becsi  <abecsi@webkit.org>
473
474         Unreviewed build fix.
475
476         [Qt] Fix fileapi header paths to fix warnings after r66365.
477
478         No new tests needed.
479
480         * WebCore.pro:
481
482 2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
483
484         Reviewed by Kent Tamura.
485
486         REGRESSION(r66355): Fix warnings in html/DateComponents.cpp
487         https://bugs.webkit.org/show_bug.cgi?id=44855
488
489         * html/DateComponents.cpp:
490         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): Suggested parentheses added around && within ||
491
492 2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
493
494         Reviewed by Darin Adler.
495
496         REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
497         https://bugs.webkit.org/show_bug.cgi?id=44843
498
499         * editing/ApplyStyleCommand.cpp:
500         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
501
502 2010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
503
504         Unreviewed, rolling out r66198.
505         http://trac.webkit.org/changeset/66198
506         https://bugs.webkit.org/show_bug.cgi?id=44856
507
508         It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
509
510         * inspector/Inspector.idl:
511         * inspector/InspectorController.cpp:
512         (WebCore::InspectorController::inspectedPageDestroyed):
513         (WebCore::InspectorController::close):
514         * inspector/InspectorFrontendClient.h:
515         * inspector/InspectorFrontendHost.cpp:
516         * inspector/InspectorFrontendHost.h:
517         * inspector/InspectorFrontendHost.idl:
518         * inspector/front-end/InspectorFrontendHostStub.js:
519         * inspector/front-end/inspector.js:
520         (WebInspector.inspectedPageDestroyed):
521
522 2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
523
524         Reviewed by Kent Tamura.
525
526         Split webcore_svg off webcore_remaining. webcore_svg contains all svg
527         sources files.
528         https://bugs.webkit.org/show_bug.cgi?id=44840
529
530         * WebCore.gyp/WebCore.gyp:
531
532 2010-08-13  MORITA Hajime  <morrita@google.com>
533
534         Reviewed by Kent Tamura.
535
536         https://bugs.webkit.org/show_bug.cgi?id=43960
537         [Chromium] styled scroll bar on the window is painted badly.
538
539         WebKit assumes outermost scrollbar always painted. 
540         So force their style to have the  background color if it isn't 
541         given by the stylesheet.
542         
543         Test: scrollbars/custom-scrollbar-with-incomplete-style.html
544
545         * rendering/RenderObject.h:
546         (WebCore::RenderObject::hasBackground): Extracted body to RenderStyle for sharing.
547         * rendering/RenderScrollbar.cpp:
548         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Added the workaround as mentioned above.
549         * rendering/RenderScrollbar.h:
550         * rendering/style/RenderStyle.h:
551         (WebCore::InheritedFlags::hasBackground): Extracted from RenderObject.
552
553 2010-08-30  Adam Barth  <abarth@webkit.org>
554
555         Reviewed by Darin Adler.
556
557         WebCore::RenderBlock::addChild* NULL ptrs
558         https://bugs.webkit.org/show_bug.cgi?id=43722
559
560         Also includes some cleanup of comments and ASSERTs.
561
562         Test: fast/ruby/before-doesnt-crash.html
563
564         * rendering/RenderRuby.cpp:
565         (WebCore::RenderRubyAsInline::addChild):
566
567 2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
568
569         Reviewed by Kent Tamura
570
571         Move most dependencies to webcore_prerequisites
572         https://bugs.webkit.org/show_bug.cgi?id=44814
573
574         * WebCore.gyp/WebCore.gyp:
575
576 2010-08-30  Adam Barth  <abarth@webkit.org>
577
578         Move AsyncImageResizer back to html to fix Chromium build.
579
580         * WebCore.gypi:
581
582 2010-08-30  Adam Barth  <abarth@webkit.org>
583
584         Fix silly typo that breaks the build.
585
586         * WebCore.pro:
587
588 2010-08-30  Adam Barth  <abarth@webkit.org>
589
590         Attempt to fix the Qt build.
591
592         * WebCore.pri:
593
594 2010-08-30  Adam Barth  <abarth@webkit.org>
595
596         Attempt to fix Chromium build.
597
598         * WebCore.gyp/WebCore.gyp:
599
600 2010-08-29  Adam Barth  <abarth@webkit.org>
601
602         Rubber-stamped by Maciej Stachowiak.
603
604         Move File and Blob related files from WebCore/html to WebCore/fileapi.
605
606         * Android.mk:
607         * CMakeLists.txt:
608         * DerivedSources.make:
609         * GNUmakefile.am:
610         * WebCore.gypi:
611         * WebCore.pro:
612         * WebCore.vcproj/WebCore.vcproj:
613         * WebCore.vcproj/WebCoreCommon.vsprops:
614         * WebCore.xcodeproj/project.pbxproj:
615         * fileapi: Added.
616         * fileapi/AsyncFileWriter.h: Copied from WebCore/html/AsyncFileWriter.h.
617         * fileapi/Blob.cpp: Copied from WebCore/html/Blob.cpp.
618         * fileapi/Blob.h: Copied from WebCore/html/Blob.h.
619         * fileapi/Blob.idl: Copied from WebCore/html/Blob.idl.
620         * fileapi/BlobBuilder.cpp: Copied from WebCore/html/BlobBuilder.cpp.
621         * fileapi/BlobBuilder.h: Copied from WebCore/html/BlobBuilder.h.
622         * fileapi/BlobBuilder.idl: Copied from WebCore/html/BlobBuilder.idl.
623         * fileapi/BlobURL.cpp: Copied from WebCore/html/BlobURL.cpp.
624         * fileapi/BlobURL.h: Copied from WebCore/html/BlobURL.h.
625         * fileapi/File.cpp: Copied from WebCore/html/File.cpp.
626         * fileapi/File.h: Copied from WebCore/html/File.h.
627         * fileapi/File.idl: Copied from WebCore/html/File.idl.
628         * fileapi/FileError.h: Copied from WebCore/html/FileError.h.
629         * fileapi/FileError.idl: Copied from WebCore/html/FileError.idl.
630         * fileapi/FileList.cpp: Copied from WebCore/html/FileList.cpp.
631         * fileapi/FileList.h: Copied from WebCore/html/FileList.h.
632         * fileapi/FileList.idl: Copied from WebCore/html/FileList.idl.
633         * fileapi/FileReader.cpp: Copied from WebCore/html/FileReader.cpp.
634         * fileapi/FileReader.h: Copied from WebCore/html/FileReader.h.
635         * fileapi/FileReader.idl: Copied from WebCore/html/FileReader.idl.
636         * fileapi/FileStreamProxy.cpp: Copied from WebCore/html/FileStreamProxy.cpp.
637         * fileapi/FileStreamProxy.h: Copied from WebCore/html/FileStreamProxy.h.
638         * fileapi/FileThread.cpp: Copied from WebCore/html/FileThread.cpp.
639         * fileapi/FileThread.h: Copied from WebCore/html/FileThread.h.
640         * fileapi/FileThreadTask.h: Copied from WebCore/html/FileThreadTask.h.
641         * fileapi/FileWriter.cpp: Copied from WebCore/html/FileWriter.cpp.
642         * fileapi/FileWriter.h: Copied from WebCore/html/FileWriter.h.
643         * fileapi/FileWriter.idl: Copied from WebCore/html/FileWriter.idl.
644         * fileapi/FileWriterClient.h: Copied from WebCore/html/FileWriterClient.h.
645         * fileapi/ThreadableBlobRegistry.cpp: Copied from WebCore/html/ThreadableBlobRegistry.cpp.
646         * fileapi/ThreadableBlobRegistry.h: Copied from WebCore/html/ThreadableBlobRegistry.h.
647         * html/AsyncFileWriter.h: Removed.
648         * html/Blob.cpp: Removed.
649         * html/Blob.h: Removed.
650         * html/Blob.idl: Removed.
651         * html/BlobBuilder.cpp: Removed.
652         * html/BlobBuilder.h: Removed.
653         * html/BlobBuilder.idl: Removed.
654         * html/BlobURL.cpp: Removed.
655         * html/BlobURL.h: Removed.
656         * html/File.cpp: Removed.
657         * html/File.h: Removed.
658         * html/File.idl: Removed.
659         * html/FileError.h: Removed.
660         * html/FileError.idl: Removed.
661         * html/FileList.cpp: Removed.
662         * html/FileList.h: Removed.
663         * html/FileList.idl: Removed.
664         * html/FileReader.cpp: Removed.
665         * html/FileReader.h: Removed.
666         * html/FileReader.idl: Removed.
667         * html/FileStreamProxy.cpp: Removed.
668         * html/FileStreamProxy.h: Removed.
669         * html/FileThread.cpp: Removed.
670         * html/FileThread.h: Removed.
671         * html/FileThreadTask.h: Removed.
672         * html/FileWriter.cpp: Removed.
673         * html/FileWriter.h: Removed.
674         * html/FileWriter.idl: Removed.
675         * html/FileWriterClient.h: Removed.
676         * html/ThreadableBlobRegistry.cpp: Removed.
677         * html/ThreadableBlobRegistry.h: Removed.
678
679 2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
680
681         Reviewed by Kent Tamura.
682
683         Move more common settings to webcore_prerequisites
684         https://bugs.webkit.org/show_bug.cgi?id=44812
685
686         * WebCore.gyp/WebCore.gyp:
687
688 2010-08-29  Darin Adler  <darin@apple.com>
689
690         Reviewed by Maciej Stachowiak.
691
692         Create SVG and WML elements with create functions instead of direct invocations of new
693         https://bugs.webkit.org/show_bug.cgi?id=44851
694
695         Added the create functions, made some existing constructors protected and private,
696         made some other member functions protected and and private, added some missing virtual
697         keywords for clarity to functions that already were overriding virtual functions,
698         fixed some inconsistent indentation, and removed some unneeded empty destructors.
699
700         In the future, it will be good to have the constructors all be private so we don't
701         use them by accident. Then we'll change the reference count rule globally and add
702         all the necessary calls to adoptRef.
703
704         The SVG changes are compiled and tested. The WML changes are speculative and untested.
705
706         * dom/make_names.pl: Removed supportfor the createWithNew keyword.
707         * svg/svgtags.in: Removed all the createWithNew keywords.
708         * wml/WMLTagNames.in: Ditto.
709
710         * svg/SVGAElement.cpp:
711         (WebCore::SVGAElement::create): Added.
712         * svg/SVGAElement.h:
713         * svg/SVGAltGlyphElement.cpp:
714         (WebCore::SVGAltGlyphElement::create): Added.
715         * svg/SVGAltGlyphElement.h:
716         * svg/SVGAnimateColorElement.cpp:
717         (WebCore::SVGAnimateColorElement::create): Added.
718         * svg/SVGAnimateColorElement.h:
719         * svg/SVGAnimateElement.cpp:
720         (WebCore::SVGAnimateElement::create): Added.
721         * svg/SVGAnimateElement.h:
722         * svg/SVGAnimateMotionElement.cpp:
723         (WebCore::SVGAnimateMotionElement::create): Added.
724         * svg/SVGAnimateMotionElement.h:
725         * svg/SVGAnimateTransformElement.cpp:
726         (WebCore::SVGAnimateTransformElement::create): Added.
727         * svg/SVGAnimateTransformElement.h:
728         * svg/SVGCircleElement.cpp:
729         (WebCore::SVGCircleElement::create): Added.
730         * svg/SVGCircleElement.h:
731         * svg/SVGClipPathElement.cpp:
732         (WebCore::SVGClipPathElement::create): Added.
733         * svg/SVGClipPathElement.h:
734         * svg/SVGCursorElement.cpp:
735         (WebCore::SVGCursorElement::create): Added.
736         * svg/SVGCursorElement.h:
737         * svg/SVGDefsElement.cpp:
738         (WebCore::SVGDefsElement::create): Added.
739         * svg/SVGDefsElement.h:
740         * svg/SVGDescElement.cpp:
741         (WebCore::SVGDescElement::create): Added.
742         * svg/SVGDescElement.h:
743         * svg/SVGEllipseElement.cpp:
744         (WebCore::SVGEllipseElement::create): Added.
745         * svg/SVGEllipseElement.h:
746         * svg/SVGFEBlendElement.cpp:
747         (WebCore::SVGFEBlendElement::create): Added.
748         * svg/SVGFEBlendElement.h:
749         * svg/SVGFEColorMatrixElement.cpp:
750         (WebCore::SVGFEColorMatrixElement::create): Added.
751         * svg/SVGFEColorMatrixElement.h:
752         * svg/SVGFEComponentTransferElement.cpp:
753         (WebCore::SVGFEComponentTransferElement::create): Added.
754         * svg/SVGFEComponentTransferElement.h:
755         * svg/SVGFECompositeElement.cpp:
756         (WebCore::SVGFECompositeElement::create): Added.
757         * svg/SVGFECompositeElement.h:
758         * svg/SVGFEConvolveMatrixElement.cpp:
759         (WebCore::SVGFEConvolveMatrixElement::create): Added.
760         * svg/SVGFEConvolveMatrixElement.h:
761         * svg/SVGFEDiffuseLightingElement.cpp:
762         (WebCore::SVGFEDiffuseLightingElement::create): Added.
763         * svg/SVGFEDiffuseLightingElement.h:
764         * svg/SVGFEDisplacementMapElement.cpp:
765         (WebCore::SVGFEDisplacementMapElement::create): Added.
766         * svg/SVGFEDisplacementMapElement.h:
767         * svg/SVGFEDistantLightElement.cpp:
768         (WebCore::SVGFEDistantLightElement::create): Added.
769         * svg/SVGFEDistantLightElement.h:
770         * svg/SVGFEFloodElement.cpp:
771         (WebCore::SVGFEFloodElement::create): Added.
772         * svg/SVGFEFloodElement.h:
773         * svg/SVGFEFuncAElement.cpp:
774         (WebCore::SVGFEFuncAElement::create): Added.
775         * svg/SVGFEFuncAElement.h:
776         * svg/SVGFEFuncBElement.cpp:
777         (WebCore::SVGFEFuncBElement::create): Added.
778         * svg/SVGFEFuncBElement.h:
779         * svg/SVGFEFuncGElement.cpp:
780         (WebCore::SVGFEFuncGElement::create): Added.
781         * svg/SVGFEFuncGElement.h:
782         * svg/SVGFEFuncRElement.cpp:
783         (WebCore::SVGFEFuncRElement::create): Added.
784         * svg/SVGFEFuncRElement.h:
785         * svg/SVGFEGaussianBlurElement.cpp:
786         (WebCore::SVGFEGaussianBlurElement::create): Added.
787         * svg/SVGFEGaussianBlurElement.h:
788         * svg/SVGFEImageElement.cpp:
789         (WebCore::SVGFEImageElement::create): Added.
790         * svg/SVGFEImageElement.h:
791         * svg/SVGFEMergeElement.cpp:
792         (WebCore::SVGFEMergeElement::create): Added.
793         * svg/SVGFEMergeElement.h:
794         * svg/SVGFEMergeNodeElement.cpp:
795         (WebCore::SVGFEMergeNodeElement::create): Added.
796         * svg/SVGFEMergeNodeElement.h:
797         * svg/SVGFEMorphologyElement.cpp:
798         (WebCore::SVGFEMorphologyElement::create): Added.
799         * svg/SVGFEMorphologyElement.h:
800         * svg/SVGFEOffsetElement.cpp:
801         (WebCore::SVGFEOffsetElement::create): Added.
802         * svg/SVGFEOffsetElement.h:
803         * svg/SVGFEPointLightElement.cpp:
804         (WebCore::SVGFEPointLightElement::create): Added.
805         * svg/SVGFEPointLightElement.h:
806         * svg/SVGFESpecularLightingElement.cpp:
807         (WebCore::SVGFESpecularLightingElement::create): Added.
808         * svg/SVGFESpecularLightingElement.h:
809         * svg/SVGFESpotLightElement.cpp:
810         (WebCore::SVGFESpotLightElement::create): Added.
811         * svg/SVGFESpotLightElement.h:
812         * svg/SVGFETileElement.cpp:
813         (WebCore::SVGFETileElement::create): Added.
814         * svg/SVGFETileElement.h:
815         * svg/SVGFETurbulenceElement.cpp:
816         (WebCore::SVGFETurbulenceElement::create): Added.
817         * svg/SVGFETurbulenceElement.h:
818         * svg/SVGFilterElement.cpp:
819         (WebCore::SVGFilterElement::create): Added.
820         * svg/SVGFilterElement.h:
821         * svg/SVGFontElement.cpp:
822         (WebCore::SVGFontElement::create): Added.
823         * svg/SVGFontElement.h:
824         * svg/SVGFontFaceElement.cpp:
825         (WebCore::SVGFontFaceElement::create): Added.
826         * svg/SVGFontFaceElement.h:
827         * svg/SVGFontFaceFormatElement.cpp:
828         (WebCore::SVGFontFaceFormatElement::create): Added.
829         * svg/SVGFontFaceFormatElement.h:
830         * svg/SVGFontFaceNameElement.cpp:
831         (WebCore::SVGFontFaceNameElement::create): Added.
832         * svg/SVGFontFaceNameElement.h:
833         * svg/SVGFontFaceSrcElement.cpp:
834         (WebCore::SVGFontFaceSrcElement::create): Added.
835         * svg/SVGFontFaceSrcElement.h:
836         * svg/SVGFontFaceUriElement.cpp:
837         (WebCore::SVGFontFaceUriElement::create): Added.
838         * svg/SVGFontFaceUriElement.h:
839         * svg/SVGForeignObjectElement.cpp:
840         (WebCore::SVGForeignObjectElement::create): Added.
841         * svg/SVGForeignObjectElement.h:
842         * svg/SVGGElement.cpp:
843         (WebCore::SVGGElement::create): Added.
844         * svg/SVGGElement.h:
845         * svg/SVGGlyphElement.cpp:
846         (WebCore::SVGGlyphElement::create): Added.
847         * svg/SVGGlyphElement.h:
848         * svg/SVGHKernElement.cpp:
849         (WebCore::SVGHKernElement::create): Added.
850         * svg/SVGHKernElement.h:
851         * svg/SVGImageElement.cpp:
852         (WebCore::SVGImageElement::create): Added.
853         * svg/SVGImageElement.h:
854         * svg/SVGLineElement.cpp:
855         (WebCore::SVGLineElement::create): Added.
856         * svg/SVGLineElement.h:
857         * svg/SVGLinearGradientElement.cpp:
858         (WebCore::SVGLinearGradientElement::create): Added.
859         * svg/SVGLinearGradientElement.h:
860         * svg/SVGMPathElement.cpp:
861         (WebCore::SVGMPathElement::create): Added.
862         * svg/SVGMPathElement.h:
863         * svg/SVGMarkerElement.cpp:
864         (WebCore::SVGMarkerElement::create): Added.
865         * svg/SVGMarkerElement.h:
866         * svg/SVGMaskElement.cpp:
867         (WebCore::SVGMaskElement::create): Added.
868         * svg/SVGMaskElement.h:
869         * svg/SVGMetadataElement.cpp:
870         (SVGMetadataElement::create): Added.
871         * svg/SVGMetadataElement.h:
872         * svg/SVGMissingGlyphElement.cpp:
873         (WebCore::SVGMissingGlyphElement::create): Added.
874         * svg/SVGMissingGlyphElement.h:
875         * svg/SVGPathElement.cpp:
876         (WebCore::SVGPathElement::create): Added.
877         * svg/SVGPathElement.h:
878         * svg/SVGPatternElement.cpp:
879         (WebCore::SVGPatternElement::create): Added.
880         * svg/SVGPatternElement.h:
881         * svg/SVGPolygonElement.cpp:
882         (WebCore::SVGPolygonElement::create): Added.
883         * svg/SVGPolygonElement.h:
884         * svg/SVGPolylineElement.cpp:
885         (WebCore::SVGPolylineElement::create): Added.
886         * svg/SVGPolylineElement.h:
887         * svg/SVGRadialGradientElement.cpp:
888         (WebCore::SVGRadialGradientElement::create): Added.
889         * svg/SVGRadialGradientElement.h:
890         * svg/SVGRectElement.cpp:
891         (WebCore::SVGRectElement::create): Added.
892         * svg/SVGRectElement.h:
893         * svg/SVGSVGElement.cpp:
894         (WebCore::SVGSVGElement::create): Added.
895         * svg/SVGSVGElement.h:
896         * svg/SVGScriptElement.cpp:
897         (WebCore::SVGScriptElement::create): Added.
898         * svg/SVGScriptElement.h:
899         * svg/SVGSetElement.cpp:
900         (WebCore::SVGSetElement::create): Added.
901         * svg/SVGSetElement.h:
902         * svg/SVGStopElement.cpp:
903         (WebCore::SVGStopElement::create): Added.
904         * svg/SVGStopElement.h:
905         (WebCore::SVGStyleElement::create): Added.
906         * svg/SVGStyleElement.h:
907         * svg/SVGSwitchElement.cpp:
908         (WebCore::SVGSwitchElement::create): Added.
909         * svg/SVGSwitchElement.h:
910         * svg/SVGSymbolElement.cpp:
911         (WebCore::SVGSymbolElement::create): Added.
912         * svg/SVGSymbolElement.h:
913         * svg/SVGTRefElement.cpp:
914         (WebCore::SVGTRefElement::create): Added.
915         * svg/SVGTRefElement.h:
916         * svg/SVGTSpanElement.cpp:
917         (WebCore::SVGTSpanElement::create): Added.
918         * svg/SVGTSpanElement.h:
919         * svg/SVGTextContentElement.h:
920         * svg/SVGTextElement.cpp:
921         (WebCore::SVGTextElement::create): Added.
922         * svg/SVGTextElement.h:
923         * svg/SVGTextPathElement.cpp:
924         (WebCore::SVGTextPathElement::create): Added.
925         * svg/SVGTextPathElement.h:
926         * svg/SVGTextPositioningElement.h:
927         * svg/SVGTitleElement.cpp:
928         (WebCore::SVGTitleElement::create): Added.
929         * svg/SVGTitleElement.h:
930         * svg/SVGUseElement.cpp:
931         (WebCore::SVGUseElement::create): Added.
932         * svg/SVGUseElement.h:
933         * svg/SVGVKernElement.cpp:
934         (WebCore::SVGVKernElement::create): Added.
935         * svg/SVGVKernElement.h:
936         * svg/SVGViewElement.cpp:
937         (WebCore::SVGViewElement::create): Added.
938         * svg/SVGViewElement.h:
939         * wml/WMLAElement.cpp:
940         (WebCore::WMLAElement::create): Added.
941         * wml/WMLAElement.h:
942         * wml/WMLAccessElement.cpp:
943         (WebCore::WMLAccessElement::create): Added.
944         * wml/WMLAccessElement.h:
945         * wml/WMLAnchorElement.cpp:
946         (WebCore::WMLAnchorElement::create): Added.
947         * wml/WMLAnchorElement.h:
948         * wml/WMLBRElement.cpp:
949         (WebCore::WMLBRElement::create): Added.
950         * wml/WMLBRElement.h:
951         * wml/WMLCardElement.cpp:
952         (WebCore::WMLCardElement::create): Added.
953         * wml/WMLCardElement.h:
954         * wml/WMLDoElement.cpp:
955         (WebCore::WMLDoElement::create): Added.
956         * wml/WMLDoElement.h:
957         * wml/WMLFieldSetElement.cpp:
958         (WebCore::WMLFieldSetElement::create): Added.
959         * wml/WMLFieldSetElement.h:
960         * wml/WMLFormControlElement.cpp:
961         (WebCore::WMLFormControlElement::create): Added.
962         * wml/WMLGoElement.cpp:
963         (WebCore::WMLGoElement::create): Added.
964         * wml/WMLGoElement.h:
965         * wml/WMLImageElement.cpp:
966         (WebCore::WMLImageElement::create): Added.
967         * wml/WMLImageElement.h:
968         * wml/WMLInputElement.cpp:
969         (WebCore::WMLInputElement::create): Added.
970         * wml/WMLInputElement.h:
971         * wml/WMLInsertedLegendElement.cpp:
972         (WebCore::WMLInsertedLegendElement::create): Added.
973         * wml/WMLInsertedLegendElement.h:
974         * wml/WMLIntrinsicEvent.cpp:
975         (WebCore::WMLIntrinsicEvent::create): Added.
976         * wml/WMLMetaElement.cpp:
977         (WebCore::WMLMetaElement::create): Added.
978         * wml/WMLMetaElement.h:
979         * wml/WMLNoopElement.cpp:
980         (WebCore::WMLNoopElement::create): Added.
981         * wml/WMLNoopElement.h:
982         * wml/WMLOnEventElement.cpp:
983         (WebCore::WMLOnEventElement::create): Added.
984         * wml/WMLOnEventElement.h:
985         * wml/WMLOptGroupElement.cpp:
986         (WebCore::WMLOptGroupElement::create): Added.
987         * wml/WMLOptGroupElement.h:
988         * wml/WMLOptionElement.cpp:
989         (WebCore::WMLOptionElement::create): Added.
990         * wml/WMLOptionElement.h:
991         * wml/WMLPElement.cpp:
992         (WebCore::WMLPElement::create): Added.
993         * wml/WMLPElement.h:
994         * wml/WMLPostfieldElement.cpp:
995         (WebCore::WMLPostfieldElement::create): Added.
996         * wml/WMLPostfieldElement.h:
997         * wml/WMLPrevElement.cpp:
998         (WebCore::WMLPrevElement::create): Added.
999         * wml/WMLPrevElement.h:
1000         * wml/WMLRefreshElement.cpp:
1001         (WebCore::WMLRefreshElement::create): Added.
1002         * wml/WMLRefreshElement.h:
1003         * wml/WMLSelectElement.cpp:
1004         (WebCore::WMLSelectElement::create): Added.
1005         * wml/WMLSelectElement.h:
1006         * wml/WMLSetvarElement.cpp:
1007         (WebCore::WMLSetvarElement::create): Added.
1008         * wml/WMLSetvarElement.h:
1009         * wml/WMLTableElement.cpp:
1010         (WebCore::WMLTableElement::create): Added.
1011         * wml/WMLTableElement.h:
1012         * wml/WMLTaskElement.cpp:
1013         (WebCore::WMLTaskElement::create): Added.
1014         * wml/WMLTaskElement.h:
1015         * wml/WMLTemplateElement.cpp:
1016         (WebCore::WMLTemplateElement::create): Added.
1017         * wml/WMLTemplateElement.h:
1018         * wml/WMLTimerElement.cpp:
1019         (WebCore::WMLTimerElement::create): Added.
1020         * wml/WMLTimerElement.h:
1021
1022 2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
1023
1024         Reviewed by Kent Tamura.
1025
1026         Rename webcore to 'webcore_remaining'.
1027         https://bugs.webkit.org/show_bug.cgi?id=44796
1028
1029         Create a meta-target webcore that inherits from every webcore_XXX targets. (Currently 1)
1030         Move direct_dependent_settings and export_dependent_settings from webcore_remaining to webcore
1031
1032         Obviously, there will be other webcore_XXX targets. Keeping the change as small as possible.
1033
1034         * WebCore.gyp/WebCore.gyp:
1035
1036 2010-08-29  Jeremy Moskovich  <jeremy@chromium.org>
1037
1038         Reviewed by Dimitri Glazkov.
1039
1040         First step in unforking Chrome's FontPlatformDataMac.mm.
1041         Move files from platform/graphics/mac to platform/graphics/cocoa
1042
1043         https://bugs.webkit.org/show_bug.cgi?id=41398
1044
1045         Just moving files around so no new tests.
1046
1047         * WebCore.gyp/WebCore.gyp:
1048         * WebCore.gypi:
1049         * WebCore.xcodeproj/project.pbxproj:
1050         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
1051         * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
1052         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
1053         * platform/graphics/mac/FontPlatformData.h: Removed.
1054         * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
1055
1056 2010-08-29  Kent Tamura  <tkent@chromium.org>
1057
1058         Reviewed by Darin Adler.
1059
1060         Introduce isValidValue(const String&) of HTMLInputElement and HTMLTextAreaElement
1061         https://bugs.webkit.org/show_bug.cgi?id=43537
1062
1063         isValidValue() is useful for browser implementations to propose
1064         form field values without breaking form validity.
1065         No new tests because these functions are not exposed to JavaScript.
1066
1067         * html/HTMLFormControlElement.h:
1068         (WebCore::HTMLTextFormControlElement::):
1069          Remove virtual valueMissing(), patternMismatch(), and tooLong().
1070         * html/HTMLInputElement.cpp:
1071         (WebCore::isValidColorString): Moved from ValidityState.
1072         (WebCore::isValidEmailAddress): ditto.
1073         (WebCore::HTMLInputElement::isValidValue): Added.
1074         (WebCore::HTMLInputElement::typeMismatch): Add a String parameter.
1075         (WebCore::HTMLInputElement::valueMissing): Add a String parameter.
1076         (WebCore::HTMLInputElement::patternMismatch): Add a String parameter.
1077         (WebCore::HTMLInputElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
1078         (WebCore::HTMLInputElement::rangeUnderflow): Add a String parameter.
1079         (WebCore::HTMLInputElement::rangeOverflow): Add a String parameter.
1080         (WebCore::HTMLInputElement::stepMismatch): Add a String parameter.
1081         * html/HTMLInputElement.h:
1082         * html/HTMLTextAreaElement.cpp:
1083         (WebCore::HTMLTextAreaElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
1084         (WebCore::HTMLTextAreaElement::isValidValue): Added.
1085         * html/HTMLTextAreaElement.h:
1086         (WebCore::HTMLTextAreaElement::valueMissing):
1087         * html/ValidityState.cpp:
1088         (WebCore::ValidityState::valueMissing): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
1089         (WebCore::ValidityState::typeMismatch): Passes value() to HTMLInputElement::typeMismatch().
1090         (WebCore::ValidityState::patternMismatch): Calls patternMismatch() of HTMLInputElement.
1091         (WebCore::ValidityState::tooLong): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
1092         (WebCore::ValidityState::rangeUnderflow): Passes value() to HTMLInputElement::rangeUnderflow().
1093         (WebCore::ValidityState::rangeOverflow): Passes value() to HTMLInputElement::rangeUnderflow().
1094         (WebCore::ValidityState::stepMismatch): Passes value() to HTMLInputElement::stepMismatch().
1095         * html/ValidityState.h:
1096
1097 2010-08-29  Kent Tamura  <tkent@chromium.org>
1098
1099         Reviewed by Darin Adler.
1100
1101         Change lower and higher limits of date/datetime/datetime-local/month/week types
1102         https://bugs.webkit.org/show_bug.cgi?id=39737
1103
1104         According to the latest draft of HTML5, ISO-8601 dates in HTML5
1105         should support A.D.0001 in Gregorian calendar though Gregorian
1106         calendar started in 1582. So, we change the lower limits of
1107         date&time types to 0001-01-01T00:00.
1108
1109         We also introduce the common higher limit, 275760-09-13T00:00. It
1110         is the higher limit of Date type of ECMAScript.
1111
1112         * html/DateComponents.cpp:
1113         (WebCore::DateComponents::parseYear):
1114          Rejects years less than A.D.1 and years greater than 275760.
1115         (WebCore::withinHTMLDateLimits):
1116          Helper functions to check lower and higher limits.
1117         (WebCore::DateComponents::addDay):
1118          - Remove an overflow check. 'year' can't be so large number because
1119            parseYear() rejects such numbers.
1120          - Add withinHTMLDateLimits() calls.
1121         (WebCore::DateComponents::addMinute):
1122          - Add an assertion for the base date.
1123          - Add withinHTMLDateLimits() calls.
1124         (WebCore::DateComponents::parseMonth):
1125          Add withinHTMLDateLimits() call.
1126         (WebCore::DateComponents::parseDate): ditto.
1127         (WebCore::DateComponents::parseWeek): ditto.
1128         (WebCore::DateComponents::parseDateTimeLocal): ditto.
1129         (WebCore::DateComponents::parseDateTime): ditto.
1130         (WebCore::DateComponents::setMillisecondsSinceEpochForDate): ditto.
1131         (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): ditto.
1132         (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): ditto.
1133         (WebCore::DateComponents::setMonthsSinceEpoch):
1134          Add year range check and withinHTMLDateLimits() call.
1135         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
1136          Add year range check and week range check.
1137         * html/DateComponents.h:
1138          Update minimum/maximum constant values.
1139         (WebCore::DateComponents::minimumDate):
1140         (WebCore::DateComponents::minimumDateTime):
1141         (WebCore::DateComponents::minimumMonth):
1142         (WebCore::DateComponents::minimumWeek):
1143         (WebCore::DateComponents::maximumDate):
1144         (WebCore::DateComponents::maximumDateTime):
1145         (WebCore::DateComponents::maximumMonth):
1146         (WebCore::DateComponents::maximumWeek):
1147
1148 2010-08-29  Kwang Yul Seo  <skyul@company100.net>
1149
1150         Reviewed by Kent Tamura.
1151
1152         [BREWMP] Port SharedBuffer::createWithContentsOfFile
1153         https://bugs.webkit.org/show_bug.cgi?id=34412
1154
1155         Implement SharedBuffer::createWithContentsOfFile with IFile.
1156
1157         * platform/brew/SharedBufferBrew.cpp: Added.
1158         (WebCore::SharedBuffer::createWithContentsOfFile):
1159
1160 2010-08-29  Enrica Casucci  <enrica@apple.com>
1161
1162         Reviewed by Adele Peterson.
1163
1164         Crash when dragging text in Google Docs
1165         https://bugs.webkit.org/show_bug.cgi?id=20471
1166         <rdar://problem/7783629>
1167         
1168         This fixes the crash but also fixes the generated markup when
1169         performing a replacement at the border with an inline, to avoid the 
1170         new content being merged into the inline.
1171         The crash is happening when doApply detects the need of merging
1172         the start and the end of the new paragraph and the destination position
1173         is moved inside an inline.
1174         
1175         I've added new test cases to an existing layout test.
1176         
1177         * editing/ReplaceSelectionCommand.cpp:
1178         (WebCore::ReplaceSelectionCommand::doApply): When the situation described above is detected,
1179         we insert a placeholder to avoid merging into the inline.
1180
1181 2010-08-29  Adam Barth  <abarth@webkit.org>
1182
1183         Reviewed by Darin Adler.
1184
1185         Implement HTML5's fakepath
1186         https://bugs.webkit.org/show_bug.cgi?id=29000
1187
1188         The HTML 5 spec says to prepend C:\fakepath\ to the value of an
1189         <input type="file"> control, so that's what we do now.
1190
1191         * html/HTMLInputElement.cpp:
1192         (WebCore::HTMLInputElement::value):
1193
1194 2010-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1195
1196         Unreviewed, rolling out r66329.
1197         http://trac.webkit.org/changeset/66329
1198         https://bugs.webkit.org/show_bug.cgi?id=44845
1199
1200         broke chromium mac (Requested by jamesr on #webkit).
1201
1202         * WebCore.gypi:
1203         * WebCore.xcodeproj/project.pbxproj:
1204         * platform/graphics/mac/FontPlatformData.h: Renamed from WebCore/platform/graphics/cocoa/FontPlatformData.h.
1205         (WebCore::toCTFontRef):
1206         (WebCore::FontPlatformData::FontPlatformData):
1207         (WebCore::FontPlatformData::isHashTableDeletedValue):
1208         (WebCore::FontPlatformData::size):
1209         (WebCore::FontPlatformData::syntheticBold):
1210         (WebCore::FontPlatformData::syntheticOblique):
1211         (WebCore::FontPlatformData::hash):
1212         (WebCore::FontPlatformData::operator==):
1213         (WebCore::FontPlatformData::font):
1214         (WebCore::FontPlatformData::isColorBitmapFont):
1215         (WebCore::FontPlatformData::cgFont):
1216         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1217         * platform/graphics/mac/FontPlatformDataMac.mm: Renamed from WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm.
1218         (WebCore::FontPlatformData::FontPlatformData):
1219         (WebCore::~FontPlatformData):
1220         (WebCore::FontPlatformData::operator=):
1221         (WebCore::FontPlatformData::setFont):
1222         (WebCore::FontPlatformData::roundsGlyphAdvances):
1223         (WebCore::FontPlatformData::allowsLigatures):
1224         (WebCore::FontPlatformData::ctFont):
1225         (WebCore::FontPlatformData::description):
1226
1227 2010-08-29  Simon Fraser  <simon.fraser@apple.com>
1228
1229         Reviewed by Darin Adler.
1230
1231         Fix RenderStyle::addCursor to use a StyleImage, not a CachedImage
1232         https://bugs.webkit.org/show_bug.cgi?id=44719
1233         
1234         Modernize the CSS cursor code to use a StyleImage, rather
1235         than a CachedImage in the CursorData, and handle the loading
1236         of pending images for the cursor property.
1237
1238         Covered by manual tests in WebCore/manual-tests
1239
1240         * css/CSSComputedStyleDeclaration.cpp:
1241         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1242         * css/CSSStyleSelector.cpp:
1243         (WebCore::CSSStyleSelector::applyProperty):
1244         (WebCore::CSSStyleSelector::loadPendingImages):
1245         * html/canvas/WebGLRenderingContext.cpp:
1246         * page/EventHandler.cpp:
1247         (WebCore::EventHandler::selectCursor):
1248         * rendering/style/CursorData.h:
1249         (WebCore::CursorData::CursorData):
1250         (WebCore::CursorData::image):
1251         (WebCore::CursorData::setImage):
1252         * rendering/style/CursorList.h:
1253         (WebCore::CursorList::operator[]):
1254         * rendering/style/RenderStyle.cpp:
1255         (WebCore::RenderStyle::addCursor):
1256         * rendering/style/RenderStyle.h:
1257
1258 2010-08-29  Simon Fraser  <simon.fraser@apple.com>
1259
1260         Reviewed by Darin Adler.
1261
1262         When properties are missing from animation keyframes, interpolate between those keyframes that specify them
1263         https://bugs.webkit.org/show_bug.cgi?id=40794
1264         
1265         When a property does not appear in all keyframes of a keyframe animation, we currently use the
1266         value of that property from the unanimated style. That forces the author to use additional
1267         keyframes for properties that need to "skip a keyframe", which is laborious.
1268         
1269         With this change, properties are interpolated between the keyframes in which they appear.
1270         This is equivalent to splitting each property out into its own set of keyframes.
1271
1272         Tests: animations/missing-keyframe-properties-repeating.html
1273                animations/missing-keyframe-properties-timing-function.html
1274                animations/missing-keyframe-properties.html
1275
1276         * css/CSSStyleSelector.h:
1277         * css/CSSStyleSelector.cpp:
1278         (WebCore::CSSStyleSelector::styleForKeyframe): Pass a KeyframeValue in so that we can
1279         collect which properties are represented per keyframe.
1280         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Keyframes are inserted into a
1281         KeyframeList by object now, rather than by key and style.
1282
1283         * page/animation/AnimationBase.cpp:
1284         (WebCore::AnimationBase::progress): Use AnimationDirectionAlternate for readability.
1285
1286         * page/animation/KeyframeAnimation.cpp:
1287         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): Renamed from getKeyframeAnimationInterval.
1288         Use fractionalTime etc to match AnimationBase::progress(), and do lookups per-property.
1289         Simplify the code that finds the relevant keyframe to do less work.
1290         (WebCore::KeyframeAnimation::animate): Call fetchIntervalEndpointsForProperty() for each property, rather than just once for the
1291         entire keyframe.
1292         (WebCore::KeyframeAnimation::getAnimatedStyle): Ditto.
1293         (WebCore::KeyframeAnimation::hasAnimationForProperty): FIXME comment.
1294
1295         * page/animation/KeyframeAnimation.h: Rename getKeyframeAnimationInterval() to fetchIntervalEndpointsForProperty().
1296
1297         * rendering/RenderLayerBacking.cpp:
1298         (WebCore::RenderLayerBacking::startAnimation): For hardware animations, only insert values
1299         for keyframes which contain the property.
1300
1301         (WebCore::KeyframeList::KeyframeList): insert() takes a KeyframeValue now.
1302         * rendering/style/KeyframeList.cpp:
1303         (WebCore::KeyframeList::operator==):
1304         (WebCore::KeyframeList::insert): Fix insert/replace logic, and ensure we maintain the
1305         m_properties hash.
1306
1307         * rendering/style/KeyframeList.h:
1308         (WebCore::KeyframeValue::KeyframeValue): Make members private, with accessors.
1309         Add a m_properties HashSet for the properties animated in this keyframe.
1310
1311
1312 2010-08-29  Csaba Osztrogonác  <ossy@webkit.org>
1313
1314         Reviewed by Darin Adler.
1315
1316         REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
1317         https://bugs.webkit.org/show_bug.cgi?id=44843
1318
1319         * editing/ApplyStyleCommand.cpp:
1320         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
1321
1322 2010-08-29  Darin Adler  <darin@apple.com>
1323
1324         Try to fix Mac build.
1325
1326         * WebCore.xcodeproj/project.pbxproj: Mark CounterContent.h Private instead of Project.
1327
1328 2010-08-29  Pawel Hajdan  <phajdan.jr@chromium.org>
1329
1330         Reviewed by Darin Adler.
1331
1332         Fix libxml workarounds to work with recent versions of libxml.
1333         I was testing locally with libxml2-2.7.6.
1334         https://bugs.webkit.org/show_bug.cgi?id=30508
1335
1336         Based on patch by Philippe Normand <pnormand@igalia.com>.
1337
1338         This also fixes a Chromium bug:
1339         http://code.google.com/p/chromium/issues/detail?id=29333
1340
1341         * dom/XMLDocumentParserLibxml2.cpp:
1342         (WebCore::switchToUTF16):
1343         (WebCore::XMLParserContext::createStringParser):
1344         (WebCore::XMLDocumentParser::doWrite):
1345         (WebCore::startDocumentHandler):
1346
1347 2010-08-29  Darin Adler  <darin@apple.com>
1348
1349         Try to fix Windows build.
1350
1351         * rendering/style/ContentData.h: Added include of CounterContent.h.
1352
1353         * css/CSSStyleSelector.cpp: Removed include of CounterContent.h.
1354         * rendering/style/ContentData.cpp: Ditto.
1355         * rendering/style/RenderStyle.cpp: Ditto.
1356
1357 2010-08-29  Darin Adler  <darin@apple.com>
1358
1359         Reviewed by Sam Weinig.
1360
1361         Deploy OwnPtr, PassOwnPtr, and adoptPtr in some CSS-related files
1362         https://bugs.webkit.org/show_bug.cgi?id=44834
1363
1364         * css/CSSFunctionValue.cpp:
1365         (WebCore::CSSFunctionValue::CSSFunctionValue): Updated since
1366         CSSParserFunction::args is an OwnPtr.
1367         (WebCore::CSSFunctionValue::parserValue): Ditto.
1368
1369         * css/CSSGrammar.y: Added leakPtr calls for putting MediaQueryExp*
1370         into the media query expression list, which is a vector of raw pointers
1371         that are deleted explicitly.
1372
1373         * css/CSSImportRule.cpp:
1374         (WebCore::CSSImportRule::setCSSStyleSheet): Updated to use document instead of doc.
1375         (WebCore::CSSImportRule::insertedIntoParent): Ditto.
1376         * css/CSSMutableStyleDeclaration.cpp:
1377         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): Ditto.
1378
1379         * css/CSSNamespace.h: Took the "m_" off the names of the data members of
1380         this structure. Used OwnPtr for the parent data member. Rewrote the
1381         namespaceForPrefix function so it's iterative instead of recursive.
1382
1383         * css/CSSParser.cpp:
1384         (WebCore::CSSParser::CSSParser): Update since m_mediaQuery, m_floatingMediaQuery,
1385         m_floatingMediaQueryExp, and m_floatingMediaQueryExpList are now all OwnPtr and
1386         thus don't need to be initialized.
1387         (WebCore::CSSParser::~CSSParser): Update to not delete the above OwnPtr.
1388         (WebCore::CSSParser::parseMediaQuery): Replaced the code that sets m_mediaQuery
1389         to 0 with an assertion. Also use release when passing the media query to
1390         appendMediaQuery.
1391         (WebCore::CSSParser::document): Updated to use document instead of doc and to
1392         use early return instead of a nested if.
1393         (WebCore::CSSParser::parseContent): Added a get() call needed since
1394         CSSParserFunction::args is an OwnPtr.
1395         (WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
1396         (WebCore::CSSParser::parseDashboardRegions): Ditto.
1397         (WebCore::CSSParser::parseShape): Ditto.
1398         (WebCore::isValidFormatFunction): Ditto.
1399         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
1400         (WebCore::CSSParser::parseColorParameters): Ditto.
1401         (WebCore::CSSParser::parseHSLParameters): Ditto.
1402         (WebCore::parseGradientColorStop): Ditto.
1403         (WebCore::CSSParser::parseGradient): Ditto.
1404         (WebCore::CSSParser::parseCanvas): Ditto.
1405         (WebCore::CSSParser::parseTransform): Ditto.
1406         (WebCore::CSSParser::createFloatingMediaQueryExp): Updated to use adoptPtr and
1407         remove the explicit deletion.
1408         (WebCore::CSSParser::sinkFloatingMediaQueryExp): Updated to use release.
1409         (WebCore::CSSParser::createFloatingMediaQueryExpList): Ditto.
1410         (WebCore::CSSParser::sinkFloatingMediaQueryExpList): Ditto.
1411         (WebCore::CSSParser::createFloatingMediaQuery): Ditto.
1412         (WebCore::CSSParser::sinkFloatingMediaQuery): Ditto.
1413         (WebCore::CSSParser::checkForVariables): Use get for CSSParserFunction::args.
1414
1415         * css/CSSParser.h: Made return values for sinkFloatingMediaQueryExp,
1416         sinkFloatingMediaQueryExpList, and sinkFloatingMediaQuery be PassOwnPtr.
1417         Made createFloatingMediaQuery take a PassOwnPtr. Made m_mediaQuery,
1418         m_floatingMediaQuery, m_floatingMediaQueryExp, and m_floatingMediaQueryExpList
1419         be OwnPtr.
1420
1421         * css/CSSParserValues.h: Made args be an OwnPtr.
1422
1423         * css/CSSStyleSelector.cpp: Made CSSRuleSet m_universalRules and m_pageRules
1424         be OwnPtr.
1425         (WebCore::CSSStyleSelector::CSSStyleSelector): Use document instead of doc.
1426         Got rid of the init function, only called here, because it did nothing that
1427         wasn't already done. Eliminated unneeded code to set m_userStyle to 0, since
1428         it's now an OwnPtr and will be 0 automatically. Use adoptPtr when initializing
1429         m_medium, m_authorStyle, and m_useStyle.
1430         (WebCore::CSSStyleSelector::~CSSStyleSelector): Got rid of unneeded delete of
1431         m_medium, m_authorStyle, and m_userStyle, and unneded clear of m_keyframesRuleMap.
1432         (WebCore::CSSStyleSelector::styleForElement): Use get with m_userStyle and
1433         m_authorStyle.
1434         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
1435         (WebCore::CSSStyleSelector::styleForPage): Ditto.
1436         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
1437         (WebCore::CSSRuleSet::CSSRuleSet): Got rid of unneeded initialization of
1438         m_universalRules and m_pageRules.
1439         (WebCore::CSSRuleSet::~CSSRuleSet): Got rid of unneeed deletion of same.
1440         (WebCore::CSSRuleSet::addRule): Use adoptPtr to initialize m_universalRules.
1441         (WebCore::CSSRuleSet::addPageRule): Use adoptPtr to initialize m_pageRules.
1442         (WebCore::CSSStyleSelector::applyProperty): Use adopPtr to create counter
1443         context object.
1444
1445         * css/CSSStyleSelector.h: Made m_authorStyle, m_userStyle, and m_medium use
1446         OwnPtr. Got rid of init function.
1447
1448         * css/CSSStyleSheet.cpp:
1449         (WebCore::CSSStyleSheet::CSSStyleSheet): Updatd for name change from m_doc
1450         and doc to m_document and document. Eliminated unneeded initialization of
1451         m_namespaces now that it is an OwnPtr.
1452         (WebCore::CSSStyleSheet::~CSSStyleSheet): Got rid of unneeded deletion of same.
1453         (WebCore::CSSStyleSheet::cssRules): Updated doc to document.
1454         (WebCore::CSSStyleSheet::addNamespace): Added adopPtr when setting m_namespaces.
1455         (WebCore::CSSStyleSheet::determineNamespace): Updated for changes to the
1456         CSSNamespace class, using uri data member instead of function.
1457         (WebCore::CSSStyleSheet::styleSheetChanged): Use document instead of doc.
1458
1459         * css/CSSStyleSheet.h: Renamed doc and m_doc to document and m_document.
1460         Made m_namespaces an OwnPtr.
1461
1462         * css/CSSValueList.cpp:
1463         (WebCore::CSSValueList::CSSValueList): Clean up logic a bit.
1464         (WebCore::CSSValueList::createParserValueList): Clean up logic a bit and
1465         return a PassOwnPtr.
1466
1467         * css/CSSValueList.h: Changed createParserValueList to return a PassOwnPtr.
1468
1469         * css/CSSVariablesDeclaration.cpp:
1470         (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): Updated to use
1471         document instead of doc.
1472
1473         * css/MediaList.cpp:
1474         (WebCore::MediaList::deleteMedium): Use OwnPtr instead of a boolean to
1475         make sure the newly-created query here is deleted.
1476         (WebCore::MediaList::appendMediaQuery): Updated to take PassOwnPtr.
1477
1478         * css/MediaList.h: Changed appendMediaQuery to take a PassOwnPtr.
1479
1480         * inspector/InspectorDOMAgent.cpp:
1481         (WebCore::InspectorDOMAgent::getStyleSheet): Use document instead of doc.
1482         (WebCore::InspectorDOMAgent::getRuleRanges): Ditto.
1483         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): Ditto.
1484
1485         * rendering/style/ContentData.cpp:
1486         (WebCore::ContentData::clear): Update since data members are OwnPtr.
1487         Also, fixed iterative deletion algorithm to be much simpler.
1488         (WebCore::ContentData::dataEquivalent): Added FIXMEs and tweaked formatting.
1489         (WebCore::ContentData::deleteContent): Tweaked formatting.
1490
1491         * rendering/style/ContentData.h: Changed m_next to an OwnPtr.
1492         Added assertions to getters to check that we get the correct type.
1493         Use leakRef instead of releaseRef. Changed setCounter and setNext functions
1494         to take PassOwnPtr arguments.
1495
1496         * rendering/style/RenderStyle.cpp:
1497         (WebCore::RenderStyle::prepareToSetContent): Refactored common part of the
1498         into a shared function so the three setContent functions don't have to repeat
1499         the logic. Used an OwnPtr to avoid confusing logic and leakPtr.
1500         (WebCore::RenderStyle::setContent): Changed argument to PassOwnPtr.
1501
1502         * rendering/style/RenderStyle.h: Changed setContent argument to a PassOwnPtr.
1503         Added declaration of prepareToSetContent helper function.
1504
1505 2010-08-29  Patrick Gansterer  <paroga@paroga.com>
1506
1507         Reviewed by Adam Roben.
1508
1509         [WINCE] Port ScrollbarThemeWin to WinCE
1510         https://bugs.webkit.org/show_bug.cgi?id=44818
1511
1512         Add a #ifdef around usage of unsupported DFCS_FLAT.
1513
1514         * platform/win/ScrollbarThemeWin.cpp:
1515         (WebCore::ScrollbarThemeWin::paintButton):
1516
1517 2010-08-29  Patrick Gansterer  <paroga@paroga.com>
1518
1519         Reviewed by Adam Roben.
1520
1521         [WINCE] Port SystemInfo to WinCE
1522         https://bugs.webkit.org/show_bug.cgi?id=44817
1523
1524         * platform/win/SystemInfo.cpp:
1525         (WebCore::isRunningOnVistaOrLater):
1526
1527 2010-08-28  Jeremy Moskovich  <jeremy@chromium.org>
1528
1529         Reviewed by Dimitri Glazkov.
1530
1531         First step in unforking Chrome's FontPlatformDataMac.mm.
1532         Move files from platform/graphics/mac to platform/graphics/cocoa
1533
1534         https://bugs.webkit.org/show_bug.cgi?id=41398
1535
1536         Just moving files around so no new tests.
1537
1538         * WebCore.gypi:
1539         * WebCore.xcodeproj/project.pbxproj:
1540         * platform/graphics/cocoa: Added.
1541         * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
1542         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
1543         * platform/graphics/mac/FontPlatformData.h: Removed.
1544         * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
1545
1546 2010-08-28  Darin Adler  <darin@apple.com>
1547
1548         Reviewed by Sam Weinig.
1549
1550         Some IDL attributes don't reflect URL content attributes properly
1551         https://bugs.webkit.org/show_bug.cgi?id=43650
1552
1553         * dom/Document.cpp:
1554         (WebCore::Document::processBaseElement): Added. Implements the rules for base elements
1555         from the HTML5 specification. Handles multiple base elements in the same document.
1556
1557         * dom/Document.h: Removed setBaseElementURL and setBaseElementTarget, replacing them
1558         with processBaseElement.
1559
1560         * html/HTMLBaseElement.cpp:
1561         (WebCore::HTMLBaseElement::parseMappedAttribute): Call the new processBaseElement
1562         function.
1563         (WebCore::HTMLBaseElement::insertedIntoDocument): Ditto.
1564         (WebCore::HTMLBaseElement::removedFromDocument): Ditto.
1565         (WebCore::HTMLBaseElement::isURLAttribute): Added.
1566         (WebCore::HTMLBaseElement::target): Moved here from the .h file and changed to not
1567         realy on an m_target local variable.
1568
1569         * html/HTMLBaseElement.h: Added an override of the isURLAttribute function. Removed
1570         unneeded process function. Removed declaration of nonexistent setHref and setTarget
1571         functions. Removed unneeded m_hrefAttrValue, m_href, and m_target. Moved
1572         implementation of target function into the .cpp file.
1573
1574         * html/HTMLBaseElement.idl: Marked the href attribute as URL.
1575
1576         * html/HTMLBlockquoteElement.cpp:
1577         (WebCore::HTMLBlockquoteElement::isURLAttribute): Added.
1578         * html/HTMLBlockquoteElement.h: Added isURLAttribute.
1579         * html/HTMLBlockquoteElement.idl: Marked the cite attribute as URL.
1580
1581         * html/HTMLEmbedElement.idl: Marked the src attribute as URL.
1582
1583         * html/HTMLFormElement.cpp: Added a comment about the action function, which should
1584         be removed.
1585
1586         * html/HTMLFormElement.idl: Marked the action attribute as URL.
1587
1588         * html/HTMLHtmlElement.cpp:
1589         (WebCore::HTMLHtmlElement::isURLAttribute): Added.
1590         (WebCore::HTMLHtmlElement::insertedIntoDocument): Tweaked a bit.
1591         * html/HTMLHtmlElement.h: Added isURLAttribute.
1592         * html/HTMLHtmlElement.idl: Marked the manifest attribute as URL.
1593
1594         * html/HTMLIFrameElement.idl: Marked the src attribute a URL.
1595
1596         * html/HTMLModElement.cpp:
1597         (WebCore::HTMLModElement::isURLAttribute): Added.
1598         * html/HTMLModElement.h: Added isURLAttribute.
1599         * html/HTMLModElement.idl: Marked the cite attribute as URL.
1600
1601         * html/HTMLQuoteElement.cpp:
1602         (WebCore::HTMLQuoteElement::isURLAttribute): Added.
1603         * html/HTMLQuoteElement.h: Added isURLAttribute.
1604         * html/HTMLQuoteElement.idl: Marked the cite attribute as URL.
1605
1606         * html/HTMLViewSourceDocument.cpp:
1607         (WebCore::HTMLViewSourceDocument::processTagToken): Changed code to create a base
1608         element instead of calling setBaseElementURL directly.
1609         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use AtomicString instead of String.
1610         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
1611         (WebCore::HTMLViewSourceDocument::addText): Ditto.
1612         (WebCore::HTMLViewSourceDocument::addBase): Added. Creates a base element and inserts it.
1613         (WebCore::HTMLViewSourceDocument::addLink): Use AtomicString instead of String.
1614  
1615         * html/HTMLViewSourceDocument.h: Updated function declarations as above.
1616
1617         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
1618         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
1619         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1620         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1621         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1622         Updated results, which changed due to the fixes for at
1623         least these bugs, and perhaps a few more:
1624         https://bugs.webkit.org/show_bug.cgi?id=42115
1625         https://bugs.webkit.org/show_bug.cgi?id=44597
1626         https://bugs.webkit.org/show_bug.cgi?id=44738
1627
1628         * bindings/scripts/test/TestObj.idl:
1629         * html/HTMLAnchorElement.idl:
1630         * html/HTMLAreaElement.idl:
1631         * html/HTMLEmbedElement.idl:
1632         * html/HTMLFormElement.cpp:
1633         * html/HTMLFormElement.idl:
1634         * html/HTMLFrameElement.idl:
1635         * html/HTMLIFrameElement.idl:
1636         * html/HTMLImageElement.idl:
1637         * html/HTMLInputElement.idl:
1638         * html/HTMLLinkElement.idl:
1639         * html/HTMLMediaElement.idl:
1640         * html/HTMLObjectElement.idl:
1641         * html/HTMLScriptElement.idl:
1642         * html/HTMLSourceElement.idl:
1643         * html/HTMLVideoElement.idl:
1644         Tweaked formatting.
1645
1646 2010-08-28  Ryosuke Niwa  <rniwa@webkit.org>
1647
1648         Reviewed by Darin Adler.
1649
1650         The logic to escape entities in appendEscapedContent and appendAttributeValue should be merged
1651         https://bugs.webkit.org/show_bug.cgi?id=44831
1652
1653         Added appendCharactersReplacingEntities to escape &, <, >, ", and nbsp based on the mask.
1654         Removed escapeContentText because it was only used in appendText, which now directly calls
1655         appendCharactersReplacingEntities. Replaced appendEscapedContent, ucharRange, and appendUCharRange
1656         by appendNodeValue.
1657
1658         No new tests are added since this is a cleanup.
1659
1660         * editing/markup.cpp:
1661         (WebCore::):
1662         (WebCore::appendCharactersReplacingEntities): Added.
1663         (WebCore::MarkupAccumulator::appendAttributeValue): Calls appendCharactersReplacingEntities.
1664         (WebCore::MarkupAccumulator::appendNodeValue): Added.
1665         (WebCore::MarkupAccumulator::appendText): Calls appendNodeValue and appendCharactersReplacingEntities.
1666         (WebCore::urlToMarkup): Calls escapeEntities.
1667
1668 2010-08-27  Ryosuke Niwa  <rniwa@webkit.org>
1669
1670         Reviewed by Darin Adler.
1671
1672         cannot remove text-decoration when style is added by u or s
1673         https://bugs.webkit.org/show_bug.cgi?id=44560
1674
1675         The bug was caused by WebKit not pushing down implicitly added styles to descendent nodes.
1676         Fixed the bug by pushing down all elements that implicitly add style.
1677
1678         extractInlineStyleToPushDown now calls removeImplicitlyStyledElement, which was modified to extract
1679         the style implicitly added by the element to extractStyle.
1680
1681         This revealed a bug in applyInlineStyleToPushDown where applyInlineStyleIfNeeded could add
1682         an implicitly styled element inside an element with a conflicting style, thereby overriding the style of the element.
1683         Fixed this by extending the logic to honor the existing inline style declaration used in
1684         the case of rewriting inline style declaration to all cases including the one calling addInlineStyleIfNeeded.
1685
1686         Also fixed a bug in removeInlineStyle where pushDownInlineStyleAroundNode was called on a text node
1687         outside of selection if start was at the end of the text node.
1688
1689         Test: editing/style/push-down-implicit-styles.html
1690
1691         * editing/ApplyStyleCommand.cpp:
1692         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added extractedStyle, which receives
1693         the style implicitly added by the element being removed.
1694         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Calls removeImplicitlyStyledElement
1695         to remove the implicitly styled element and extract the inline style added by the element.
1696         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Fixed a bug that addInlineStyleIfNeeded
1697         could override the inline style declaration style of the node.
1698         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Uses extractInlineStyleToPushDown
1699         (WebCore::ApplyStyleCommand::removeInlineStyle): See above.
1700         * editing/ApplyStyleCommand.h: Prototype changes.
1701
1702 2010-08-27  Mark Rowe  <mrowe@apple.com>
1703
1704         Reviewed by Adam Barth.
1705
1706         <http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts
1707
1708         Move create-html-entity-table in to WebCore so that the build is again self-contained.
1709         The script is also updated to take input as a CSV file rather than JSON as the former
1710         can be parsed without requiring a third-party Python module be installed.
1711
1712         * CMakeLists.txt:
1713         * DerivedSources.make:
1714         * GNUmakefile.am:
1715         * WebCore.gyp/WebCore.gyp:
1716         * WebCore.pri:
1717         * WebCore.xcodeproj/project.pbxproj: Stop copying the input file in to the WebCore framework wrapper.
1718         * html/parser/HTMLEntityNames.in: Added.
1719         * html/parser/HTMLEntityNames.json: Removed.
1720         * html/parser/create-html-entity-table: Renamed from WebKitTools/Scripts/create-html-entity-table.
1721
1722 2010-08-28  Daniel Bates  <dbates@rim.com>
1723
1724         Attempt to fix Chromium Mac Release bot after changeset 66305 <http://trac.webkit.org/changeset/66305>.
1725
1726         * accessibility/chromium/AXObjectCacheChromium.cpp:
1727         (WebCore::AXObjectCache::postPlatformNotification): Added case statements for missing enum values.
1728         These case statements simply fall through to a "break" statement.
1729
1730 2010-08-26  Kevin Ollivier  <kevino@theolliviers.com>
1731
1732         Reviewed by Nikolas Zimmermann.
1733
1734         Add explicit destructor for C++ DOM bindings to avoid memory leaks when using SWIG.
1735         https://bugs.webkit.org/attachment.cgi?bugid=44738
1736
1737         * bindings/scripts/CodeGeneratorCPP.pm:
1738
1739 2010-08-28  Eric Carlson  <eric.carlson@apple.com>
1740
1741         Reviewed by Dan Bernstein.
1742
1743         Add WebM MIME types to type registry
1744         https://bugs.webkit.org/show_bug.cgi?id=44826
1745
1746         * platform/MIMETypeRegistry.cpp:
1747         (WebCore::TypeExtensionPair::): Add "video/webm" and "audio/webm" types.
1748
1749 2010-08-28  Eric Carlson  <eric.carlson@apple.com>
1750
1751         Reviewed by Simon Fraser.
1752
1753         Crash reloading fast/events/tabindex-focus-blur-all.html test
1754         https://bugs.webkit.org/show_bug.cgi?id=44743
1755
1756         * html/HTMLMediaElement.cpp:
1757         (WebCore::HTMLMediaElement::asyncEventTimerFired): If m_isWaitingToDecrementLoadEventDelayCount
1758         is true, call setShouldDelayLoadEvent(false) and set the timer to fire the pending events
1759         on the next idle.
1760         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): Don't clear the delay from within a
1761         media engine callback because document 'load' event handlers that cause the page to become
1762         inactive will delete the media engine. 
1763         * html/HTMLMediaElement.h: Add m_isWaitingToDecrementLoadEventDelayCount.
1764
1765 2010-08-28  Simon Fraser  <simon.fraser@apple.com>
1766
1767         Reviewed by Sam Weinig.
1768
1769         When properties are missing from animation keyframes, interpolate between those keyframes that specify them
1770         https://bugs.webkit.org/show_bug.cgi?id=40794
1771
1772         Some preliminary cleanup; for vectors, prefer indexed access rather than using iterators.
1773         
1774         No behavior changes.
1775
1776         * css/CSSStyleSelector.cpp:
1777         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1778         * page/animation/KeyframeAnimation.cpp:
1779         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
1780         (WebCore::KeyframeAnimation::validateTransformFunctionList):
1781         * rendering/RenderLayerBacking.cpp:
1782         (WebCore::RenderLayerBacking::startAnimation):
1783         * rendering/style/KeyframeList.h:
1784         (WebCore::KeyframeList::at):
1785         (WebCore::KeyframeList::keyframes):
1786
1787 2010-08-28  Dan Bernstein  <mitz@apple.com>
1788
1789         Reviewed by Simon Fraser.
1790
1791         Speculative fix for <rdar://problem/7275077> Crash in InlineBox::root() under RenderTextControl::textWithHardLineBreaks()
1792         https://bugs.webkit.org/show_bug.cgi?id=44816
1793
1794         No test because I could not reproduce the crash.
1795
1796         In a common variant of the crash, InlineBox::root() is called with this == 12. This suggests that
1797         a RenderInline* was cast into a RenderBox*, so RenderBox::inlineBoxWrapper() interpreted the
1798         m_lineHeight and m_verticalPosition members of a RenderInline as a pointer to an InlineBox.
1799
1800         The cast into RenderBox* in textWithHardLineBreaks() was introduced in r40881 with no exaplanation.
1801
1802         * rendering/RenderTextControl.cpp:
1803         (WebCore::RenderTextControl::textWithHardLineBreaks): Fetch the first line directly from the inner
1804         text block instead of relying on the first child being a text node.
1805
1806 2010-08-28  Moritz Lipp  <mlq@pwmt.org>
1807
1808         Reviewed by Xan Lopez.
1809
1810         [GTK] Improper webkit_dom_document_evaluate implementation.
1811         https://bugs.webkit.org/show_bug.cgi?id=42115
1812
1813         The generated webkit_dom_document_evaluate() function does not meet the
1814         evaluate interface described in the W3 Documentation
1815         http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
1816         "If this is specified as nullor the implementation does not reuse the
1817         specified result,...". The current implementation did not accept the
1818         result parameter to be NULL.
1819
1820         * bindings/scripts/CodeGeneratorGObject.pm:
1821
1822 2010-08-28  Adam Barth  <abarth@webkit.org>
1823
1824         Reviewed by Eric Seidel.
1825
1826         HTMLTreeBuilder needs to call HTMLFormElement::setDemoted
1827         https://bugs.webkit.org/show_bug.cgi?id=44781
1828
1829         This patch teaches the HTMLTreeBuilder about demoted form elements.
1830         Demoting a form element magically stops the form element from
1831         rendering.  Demoted form elements are a concept from the
1832         LegacyHTMLTreeBuilder, but they are somewhat of a hack because
1833         rendering should be DOM-based.  We'll likely look for a better solution
1834         in a future patch.
1835
1836         * html/parser/HTMLConstructionSite.cpp:
1837         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
1838         * html/parser/HTMLConstructionSite.h:
1839         * html/parser/HTMLTreeBuilder.cpp:
1840         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1841
1842 2010-08-28  Chris Guillory   <chris.guillory@google.com>
1843
1844         Reviewed by Chris Fleizach.
1845
1846         Add AX notification for childrenChanged
1847         https://bugs.webkit.org/show_bug.cgi?id=44472
1848
1849         Test by running platform/chromium/accessibility/children-changed-notification.html within chromium's DRT
1850
1851         * accessibility/AXObjectCache.h:
1852         (WebCore::AXObjectCache::):
1853         * accessibility/AccessibilityRenderObject.cpp:
1854         (WebCore::AccessibilityRenderObject::childrenChanged):
1855         * accessibility/chromium/AXObjectCacheChromium.cpp:
1856         (WebCore::AXObjectCache::postPlatformNotification):
1857         * page/chromium/ChromeClientChromium.h:
1858
1859 2010-08-28  Eric Uhrhane  <ericu@chromium.org>
1860
1861         Reviewed by Darin Fisher.
1862
1863         Implement the DOM FileWriter class
1864         https://bugs.webkit.org/show_bug.cgi?id=44362
1865
1866         No new tests until the delegate class has an implementation; bug logged.
1867
1868         Build file additions.
1869         * GNUmakefile.am:
1870         * WebCore.gypi:
1871         * WebCore.pro:
1872         * WebCore.vcproj/WebCore.vcproj:
1873         * WebCore.xcodeproj/project.pbxproj:
1874
1875         The AsyncFileWriter is an abstract interface to which FileWriter delegates all the hard work.
1876         * html/AsyncFileWriter.h: Added.
1877
1878         The FileWriterClient is the interface for communications back from the AsyncFileWriter [success/failure, progress events].
1879         * html/FileWriterClient.h: Added.
1880         (WebCore::FileWriterClient::~FileWriterClient):
1881
1882         Added all delegation, state tracking, and progress event processing.
1883         * html/FileWriter.cpp:
1884         (WebCore::FileWriter::FileWriter):
1885         (WebCore::FileWriter::initialize):
1886         (WebCore::FileWriter::~FileWriter):
1887         ActiveDomObject stuff
1888         (WebCore::FileWriter::hasPendingActivity):
1889         (WebCore::FileWriter::stop):
1890         (WebCore::FileWriter::write):
1891         FileWriter public interface
1892         (WebCore::FileWriter::seek):
1893         (WebCore::FileWriter::truncate):
1894         (WebCore::FileWriter::abort):
1895         FileWriterClient interface
1896         (WebCore::FileWriter::didWrite):
1897         (WebCore::FileWriter::didTruncate):
1898         (WebCore::FileWriter::didFail):
1899         Progress events
1900         (WebCore::FileWriter::fireEvent):
1901         * html/FileWriter.h:
1902
1903 2010-08-28  Marc-Antoine Ruel  <maruel@chromium.org>
1904
1905         Reviewed by Dimitri Glazkov.
1906
1907         Preparatory patch to split libwebcore in multiple libraries.
1908
1909         Start with a webcore_prerequisites pseudo-target what will be the common
1910         target for all the other ones.
1911
1912         * WebCore.gyp/WebCore.gyp:
1913
1914 2010-08-28  Pratik Solanki  <psolanki@apple.com>
1915
1916         Reviewed by Dan Bernstein.
1917
1918         Add an ENABLE define for purgeable memory support
1919         https://bugs.webkit.org/show_bug.cgi?id=44777
1920
1921         * platform/PurgeableBuffer.h:
1922         * platform/mac/PurgeableBufferMac.cpp:
1923
1924 2010-08-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1925
1926         Reviewed by Kenneth Rohde Christiansen.
1927
1928         [EFL] Fix error message when theme loading fails
1929         https://bugs.webkit.org/show_bug.cgi?id=44775
1930
1931         Parameters for logging were in the wrong order.
1932
1933         No new functionality so no new tests.
1934
1935         * platform/efl/ScrollbarEfl.cpp:
1936         (ScrollbarEfl::setParent): exchange argument order in log function
1937         call
1938
1939 2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1940
1941         Reviewed by Dirk Schulze.
1942
1943         REGRESSION: some tests no longer painting
1944         https://bugs.webkit.org/show_bug.cgi?id=44773
1945
1946         Fix regression from the RenderImageResource introduction, fast/canvas/canvas-as-image.html
1947         and fast/canvas/canvas-as-image-incremental-repaint.html pixel tests did not work anymore.
1948
1949         * rendering/RenderImageResource.h:
1950         (WebCore::RenderImageResource::hasImage): Make hasImage virtual.
1951         * rendering/RenderImageResourceStyleImage.h:
1952         (WebCore::RenderImageResourceStyleImage::hasImage): Always return true, just like RenderImageGeneratedContent did.
1953
1954 2010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
1955
1956         Reviewed by Kenneth Rohde Christiansen.
1957
1958         [Qt] Cache plugin info to a persistent database
1959
1960         https://bugs.webkit.org/show_bug.cgi?id=43179
1961
1962         Implement a cache of NPAPI plugin metadata. Write the metadata to aa
1963         file that gets rewritten if any plugin is added / removed.  Compilation
1964         of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
1965
1966         Currently only enabled for Qt UNIX flavors.
1967
1968         * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
1969         * platform/qt/FileSystemQt.cpp:
1970         (WebCore::openFile): Added.
1971         (WebCore::readFromFile): Added.
1972         * plugins/PluginDatabase.cpp:
1973         (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
1974         (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
1975         (WebCore::PluginDatabase::refresh):
1976         (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
1977         (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
1978         (WebCore::PluginDatabase::clear):
1979         (WebCore::fillBufferWithContentsOfFile): Static helper function.
1980         (WebCore::readUTF8String): Static helper function.
1981         (WebCore::readTime): Static helper function.
1982         (WebCore::PluginDatabase::loadPersistentMetadataCache):
1983         (WebCore::writeUTF8String): Static helper function.
1984         (WebCore::writeTime): Static helper function.
1985         (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
1986         (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
1987         (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
1988         (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
1989         (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
1990         * plugins/PluginDatabase.h:
1991         * plugins/PluginPackage.cpp:
1992         (WebCore::PluginPackage::PluginPackage): Add instance variable.
1993         (WebCore::PluginPackage::createPackageFromCache): Added.
1994         (WebCore::PluginPackage::ensurePluginLoaded): Added.
1995         * plugins/PluginPackage.h:
1996         (WebCore::PluginPackage::fullMIMEDescription): Added.
1997         * plugins/qt/PluginPackageQt.cpp:
1998         (WebCore::PluginPackage::fetchInfo): Split mime parsing.
1999         (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
2000
2001 2010-08-27  Daniel Bates  <dbates@rim.com>
2002
2003         Reviewed by Darin Adler.
2004
2005         Implement symbolic CSS3 list-style-types
2006         https://bugs.webkit.org/show_bug.cgi?id=36734
2007
2008         Implements all of the symbolic CSS3 list-style-types as per
2009         section 4.5 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#symbolic>.
2010
2011         Test: fast/lists/w3-css3-list-styles-symbolic.html
2012
2013         * css/CSSPrimitiveValueMappings.h:
2014         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added list style types Asterisks and Footnotes.
2015         * css/CSSValueKeywords.in: Ditto.
2016         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
2017         * rendering/RenderListMarker.cpp:
2018         (WebCore::toAlphabeticOrNumeric): Changed type of parameter sequenceSize from int to unsigned.
2019         (WebCore::toSymbolic): Added.
2020         (WebCore::toAlphabetic): Changed type of parameter alphabetSize from int to unsigned.
2021         (WebCore::toNumeric): Changed type of parameter numeralsSize from int to unsigned.
2022         (WebCore::effectiveListMarkerType): Added.
2023         (WebCore::listMarkerSuffix): Added list style types Asterisks and Footnotes.
2024         (WebCore::listMarkerText): Ditto.
2025         (WebCore::RenderListMarker::paint): Ditto.
2026         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
2027         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
2028         * rendering/style/RenderStyleConstants.h: Ditto.
2029         (WebCore::):
2030
2031 2010-08-27  Vincent Scheib  <scheib@chromium.org>
2032
2033         Reviewed by Darin Fisher.
2034
2035         CanvasRenderingContext2D::willDraw changed to didDraw
2036
2037         Solves issue with canvas to canvas draw calls, and simplifies
2038         mixed software and GPU acceleration of GraphicsContext implementations
2039         which must track dirty rects for backing stores.
2040
2041         https://bugs.webkit.org/show_bug.cgi?id=44741
2042
2043         * html/HTMLCanvasElement.cpp:
2044         (WebCore::HTMLCanvasElement::didDraw):
2045         * html/HTMLCanvasElement.h:
2046         * html/canvas/CanvasRenderingContext2D.cpp:
2047         (WebCore::CanvasRenderingContext2D::fill):
2048         (WebCore::CanvasRenderingContext2D::stroke):
2049         (WebCore::CanvasRenderingContext2D::clearRect):
2050         (WebCore::CanvasRenderingContext2D::fillRect):
2051         (WebCore::CanvasRenderingContext2D::strokeRect):
2052         (WebCore::CanvasRenderingContext2D::drawImage):
2053         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2054         (WebCore::CanvasRenderingContext2D::didDraw):
2055         (WebCore::CanvasRenderingContext2D::putImageData):
2056         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2057         * html/canvas/CanvasRenderingContext2D.h:
2058         * html/canvas/WebGLRenderingContext.cpp:
2059         (WebCore::WebGLRenderingContext::markContextChanged):
2060
2061 2010-08-27  Daniel Cheng  <dcheng@chromium.org>
2062
2063         Reviewed by Tony Chang.
2064
2065         [chromium] Add new WebClipboard method for setting generic data in copy/cut handlers.
2066         https://bugs.webkit.org/show_bug.cgi?id=42121
2067
2068         No new tests.
2069
2070         * platform/chromium/ChromiumBridge.h:
2071
2072 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
2073
2074         Reviewed by Adam Roben.
2075
2076         Remove unnecessary AlphaBlend in PasteboardWin.
2077         https://bugs.webkit.org/show_bug.cgi?id=44720
2078
2079         Replacing AlphaBlend with BitBlt is safe because testing showed that alpha
2080         never survives copy-and-paste on Windows in any browser, and StretchBlt 
2081         was a overkill since the source and destination size are always equal.
2082
2083         * platform/win/PasteboardWin.cpp:
2084         (WebCore::Pasteboard::writeImage):
2085
2086 2010-08-26  Zhenyao Mo  <zmo@google.com>
2087
2088         Reviewed by Kenneth Russell.
2089
2090         Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
2091         https://bugs.webkit.org/show_bug.cgi?id=38282
2092
2093         * platform/graphics/skia/GraphicsContext3DSkia.cpp: Dealing with the case of texImage2D with HTMLCanvasElement input.
2094         (WebCore::GraphicsContext3D::getImageData):
2095
2096 2010-08-26  Vangelis Kokkevis  <vangelis@chromium.org>
2097
2098         Reviewed by Darin Fisher.
2099
2100         [chromium] Working around compile issue in LayerRendererChromium.cpp
2101         when DEBUG_GL_CALLS=1
2102         https://bugs.webkit.org/show_bug.cgi?id=44739
2103
2104         No new functionality, no new tests.
2105
2106         * platform/graphics/chromium/LayerRendererChromium.cpp:
2107         (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
2108
2109 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
2110
2111         Reviewed by Adam Roben.
2112
2113         [WINCE] Port SoftLinking to WinCE
2114         https://bugs.webkit.org/show_bug.cgi?id=44693
2115
2116         WinCE provides GetProcAddressW and GetProcAddressA for softlinking.
2117         Unfortunately WinNT provides only GetProcAddress (without A or W).
2118
2119         Add a platform dependent macro for GetProcAddress.
2120
2121         * platform/win/SoftLinking.h:
2122
2123 2010-08-27  Martin Robinson  <mrobinson@igalia.com>
2124
2125         Reviewed by Xan Lopez.
2126
2127         [GTK] ScrollbarThemeGtk should account for the trough_under_steppers property
2128         https://bugs.webkit.org/show_bug.cgi?id=44742
2129
2130         No new tests until this code is activated, at which point pixel tests will
2131         test the scrollbar rendering.
2132
2133         * platform/gtk/ScrollbarThemeGtk.cpp:
2134         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Only inflate the track background
2135         if the style specifies trough_under_steppers.
2136         (WebCore::ScrollbarThemeGtk::paint): If the theme specifies trough_under_steppers,
2137         a dirty stepper also triggers a repaint of the trough region.
2138
2139 2010-08-27  Joseph Pecoraro  <joepeck@webkit.org>
2140
2141         Reviewed by Alexey Proskuryakov.
2142
2143         Extra Events triggered by <input> on focus
2144         https://bugs.webkit.org/show_bug.cgi?id=44731
2145
2146         Tests: fast/events/input-focus-no-duplicate-events.html
2147                fast/events/input-tab-focus-no-duplicate-events.html
2148
2149         * dom/Element.cpp:
2150         (WebCore::Element::focus): do not continue and update the appearance of the element if it was not focused.
2151         * page/FocusController.cpp:
2152         (WebCore::FocusController::setFocusedNode): respect the return value of Document::setFocusedNode.
2153
2154 2010-08-26  Joseph Pecoraro  <joepeck@webkit.org>
2155
2156         Reviewed by Pavel Feldman.
2157
2158         Web Inspector: attribute nodes don't get rendered in the console
2159         https://bugs.webkit.org/show_bug.cgi?id=44736
2160
2161         Extended Test: inspector/console-format.html
2162
2163         * inspector/InspectorDOMAgent.cpp:
2164         (WebCore::InspectorDOMAgent::buildObjectForNode): add "name" and "value" properties for Attribute nodes.
2165         * inspector/front-end/DOMAgent.js:
2166         (WebInspector.DOMNode): add "name" and "value" properties for Attribute nodes.
2167         * inspector/front-end/ElementsTreeOutline.js: display html for Attribute nodes.
2168
2169 2010-08-27  Adam Barth  <abarth@webkit.org>
2170
2171         Rubber-stamped by Eric Seidel.
2172
2173         Finshing moving the HTML parser into WebCore/html/parser.
2174
2175         * Android.derived.mk:
2176         * Android.mk:
2177         * CMakeLists.txt:
2178         * DerivedSources.make:
2179         * GNUmakefile.am:
2180         * WebCore.gyp/WebCore.gyp:
2181         * WebCore.gypi:
2182         * WebCore.pri:
2183         * WebCore.pro:
2184         * WebCore.vcproj/WebCore.vcproj:
2185         * WebCore.xcodeproj/project.pbxproj:
2186         * html/CSSPreloadScanner.cpp: Removed.
2187         * html/CSSPreloadScanner.h: Removed.
2188         * html/HTMLConstructionSite.cpp: Removed.
2189         * html/HTMLConstructionSite.h: Removed.
2190         * html/HTMLDocumentParser.cpp: Removed.
2191         * html/HTMLDocumentParser.h: Removed.
2192         * html/HTMLEntityNames.json: Removed.
2193         * html/HTMLEntityParser.cpp: Removed.
2194         * html/HTMLEntityParser.h: Removed.
2195         * html/HTMLEntitySearch.cpp: Removed.
2196         * html/HTMLEntitySearch.h: Removed.
2197         * html/HTMLEntityTable.h: Removed.
2198         * html/HTMLFormattingElementList.cpp: Removed.
2199         * html/HTMLFormattingElementList.h: Removed.
2200         * html/HTMLParserScheduler.cpp: Removed.
2201         * html/HTMLParserScheduler.h: Removed.
2202         * html/HTMLPreloadScanner.cpp: Removed.
2203         * html/HTMLPreloadScanner.h: Removed.
2204         * html/HTMLScriptRunner.cpp: Removed.
2205         * html/HTMLScriptRunner.h: Removed.
2206         * html/HTMLScriptRunnerHost.h: Removed.
2207         * html/HTMLTokenizer.cpp: Removed.
2208         * html/HTMLTokenizer.h: Removed.
2209         * html/HTMLViewSourceParser.cpp: Removed.
2210         * html/HTMLViewSourceParser.h: Removed.
2211         * html/parser/CSSPreloadScanner.cpp: Copied from WebCore/html/CSSPreloadScanner.cpp.
2212         * html/parser/CSSPreloadScanner.h: Copied from WebCore/html/CSSPreloadScanner.h.
2213         * html/parser/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLConstructionSite.cpp.
2214         * html/parser/HTMLConstructionSite.h: Copied from WebCore/html/HTMLConstructionSite.h.
2215         * html/parser/HTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
2216         * html/parser/HTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
2217         * html/parser/HTMLEntityNames.json: Copied from WebCore/html/HTMLEntityNames.json.
2218         * html/parser/HTMLEntityParser.cpp: Copied from WebCore/html/HTMLEntityParser.cpp.
2219         * html/parser/HTMLEntityParser.h: Copied from WebCore/html/HTMLEntityParser.h.
2220         * html/parser/HTMLEntitySearch.cpp: Copied from WebCore/html/HTMLEntitySearch.cpp.
2221         * html/parser/HTMLEntitySearch.h: Copied from WebCore/html/HTMLEntitySearch.h.
2222         * html/parser/HTMLEntityTable.h: Copied from WebCore/html/HTMLEntityTable.h.
2223         * html/parser/HTMLFormattingElementList.cpp: Copied from WebCore/html/HTMLFormattingElementList.cpp.
2224         * html/parser/HTMLFormattingElementList.h: Copied from WebCore/html/HTMLFormattingElementList.h.
2225         * html/parser/HTMLParserScheduler.cpp: Copied from WebCore/html/HTMLParserScheduler.cpp.
2226         * html/parser/HTMLParserScheduler.h: Copied from WebCore/html/HTMLParserScheduler.h.
2227         * html/parser/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTMLPreloadScanner.cpp.
2228         * html/parser/HTMLPreloadScanner.h: Copied from WebCore/html/HTMLPreloadScanner.h.
2229         * html/parser/HTMLScriptRunner.cpp: Copied from WebCore/html/HTMLScriptRunner.cpp.
2230         * html/parser/HTMLScriptRunner.h: Copied from WebCore/html/HTMLScriptRunner.h.
2231         * html/parser/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTMLScriptRunnerHost.h.
2232         * html/parser/HTMLTokenizer.cpp: Copied from WebCore/html/HTMLTokenizer.cpp.
2233         * html/parser/HTMLTokenizer.h: Copied from WebCore/html/HTMLTokenizer.h.
2234         * html/parser/HTMLViewSourceParser.cpp: Copied from WebCore/html/HTMLViewSourceParser.cpp.
2235         * html/parser/HTMLViewSourceParser.h: Copied from WebCore/html/HTMLViewSourceParser.h.
2236
2237 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
2238
2239         Reviewed by Tony Chang.
2240
2241         Insertion point does not show when dragging text into an editable area
2242         https://bugs.webkit.org/show_bug.cgi?id=44295
2243         
2244         r65681 caused the caret to use the last-computed caret rect when
2245         painting, rather than forcing a style update. Because of this,
2246         we now need to eagerly update the caret rect when changing
2247         the drag selection.
2248         
2249         Not testable in DRT because the drag selection is always cleared
2250         before EventSender returns, so the drag caret can never show in
2251         the pixel results.
2252
2253         Tested by running editing/selection/drag-in-iframe.html manually.
2254
2255         * editing/SelectionController.cpp:
2256         (WebCore::SelectionController::setSelection):
2257
2258 2010-08-27  Adam Barth  <abarth@webkit.org>
2259
2260         Attempt to fix the Windows build.
2261
2262         * WebCore.vcproj/WebCoreCommon.vsprops:
2263
2264 2010-08-27  Adam Barth  <abarth@webkit.org>
2265
2266         Attempt to fix the Qt build.
2267
2268         * WebCore.pro:
2269
2270 2010-08-27  Adam Barth  <abarth@webkit.org>
2271
2272         Rubber-stamped by Eric Seidel.
2273
2274         Move HTMLTreeBuilder and HTMLElementStack to WebCore/html/parser.
2275
2276         * Android.mk:
2277         * CMakeLists.txt:
2278         * GNUmakefile.am:
2279         * WebCore.gypi:
2280         * WebCore.pro:
2281         * WebCore.vcproj/WebCore.vcproj:
2282         * WebCore.xcodeproj/project.pbxproj:
2283         * html/HTMLElementStack.cpp: Removed.
2284         * html/HTMLElementStack.h: Removed.
2285         * html/HTMLTreeBuilder.cpp: Removed.
2286         * html/HTMLTreeBuilder.h: Removed.
2287         * html/parser/HTMLElementStack.cpp: Copied from WebCore/html/HTMLElementStack.cpp.
2288         * html/parser/HTMLElementStack.h: Copied from WebCore/html/HTMLElementStack.h.
2289         * html/parser/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
2290         * html/parser/HTMLTreeBuilder.h: Copied from WebCore/html/HTMLTreeBuilder.h.
2291
2292 2010-08-27  Adam Barth  <abarth@webkit.org>
2293
2294         Reviewed by Darin Adler.
2295
2296         Create WebCore/html/parser
2297         https://bugs.webkit.org/show_bug.cgi?id=44792
2298
2299         This patch begins the process of moving the HTML parser code to the
2300         WebCore/html/parser directory.  This patch moves a single header file.
2301         More files will follow in future patches.
2302
2303         * CMakeLists.txt:
2304         * GNUmakefile.am:
2305         * WebCore.gyp/WebCore.gyp:
2306         * WebCore.gypi:
2307         * WebCore.pro:
2308         * WebCore.vcproj/WebCore.vcproj:
2309         * WebCore.vcproj/WebCoreCommon.vsprops:
2310         * WebCore.xcodeproj/project.pbxproj:
2311         * html/parser/HTMLToken.h: Renamed from WebCore/html/HTMLToken.h.
2312
2313 2010-08-27  Chris Marrin  <cmarrin@apple.com>
2314
2315         Reviewed by Simon Fraser.
2316
2317         https://bugs.webkit.org/show_bug.cgi?id=42862
2318         WebGL in CSS Canvas crashes
2319
2320         This fixes the crash, which was a simple null pointer deref. But this
2321         revealed that -webkit-canvas no longer works for WebGL. I believe this
2322         is due to the recent ImageBuffer optimizations done by Dave Hyatt
2323         (https://bugs.webkit.org/show_bug.cgi?id=43507). This changed ImageBuffer
2324         from always keeping a copy of the pixels to doing a copy to get them
2325         when needed. Since We need to get pixels out of the WebGL drawing buffer
2326         to use them as a CSS background, I had to change when I return those
2327         pixels to the ImageBuffer.
2328
2329         Tests: fast/canvas/webgl/css-webkit-canvas-repaint.html
2330                fast/canvas/webgl/css-webkit-canvas.html
2331
2332         * html/HTMLCanvasElement.cpp:
2333         (WebCore::HTMLCanvasElement::copiedImage): Add logic to get image from WebGL so it works with new ImageBuffer logic (see above)
2334         * html/canvas/WebGLRenderingContext.cpp:
2335         (WebCore::WebGLRenderingContext::create): Fixed null pointer deref
2336
2337 2010-08-27  James Robinson  <jamesr@chromium.org>
2338
2339         Reviewed by Dimitri Glazkov.
2340
2341         Move Shader class from platform/graphics/chromium to platform/graphics/gpu
2342         https://bugs.webkit.org/show_bug.cgi?id=44793
2343
2344         The Shader class and its subclasses are not chromium-specific.  This moves
2345         them to a common location so they can be re-used on all platforms.  Also
2346         moves the Shader subclasses into their own .h/.cpp files.
2347
2348         Refactor, no new tests.
2349
2350         * WebCore.gypi:
2351         * platform/graphics/chromium/GLES2Canvas.cpp:
2352         * platform/graphics/chromium/Shader.cpp: Removed.
2353         * platform/graphics/chromium/Shader.h: Removed.
2354         * platform/graphics/gpu/Shader.cpp: Added.
2355         (WebCore::Shader::affineTo3x3):
2356         (WebCore::Shader::loadShader):
2357         (WebCore::Shader::loadProgram):
2358         (WebCore::Shader::Shader):
2359         (WebCore::Shader::~Shader):
2360         * platform/graphics/gpu/Shader.h: Added.
2361         * platform/graphics/gpu/SolidFillShader.cpp: Added.
2362         (WebCore::SolidFillShader::SolidFillShader):
2363         (WebCore::SolidFillShader::create):
2364         (WebCore::SolidFillShader::use):
2365         * platform/graphics/gpu/SolidFillShader.h: Added.
2366         * platform/graphics/gpu/TexShader.cpp: Added.
2367         (WebCore::TexShader::TexShader):
2368         (WebCore::TexShader::create):
2369         (WebCore::TexShader::use):
2370         * platform/graphics/gpu/TexShader.h: Added.
2371
2372 2010-08-27  Kinuko Yasuda  <kinuko@chromium.org>
2373
2374         Reviewed by Darin Fisher.
2375
2376         Add AsyncFileSystem interface for platform-dependent FileSystem API implementation
2377         https://bugs.webkit.org/show_bug.cgi?id=44433
2378
2379         No new tests; tests will be added later.
2380
2381         * CMakeLists.txt:
2382         * WebCore.gypi:
2383         * WebCore.pro:
2384         * WebCore.vcproj/WebCore.vcproj:
2385         * WebCore.xcodeproj/project.pbxproj:
2386         * platform/AsyncFileSystem.cpp: Added.
2387         * platform/AsyncFileSystem.h: Added.
2388         * platform/AsyncFileSystemCallbacks.h: Added.
2389         * storage/DOMFileSystem.cpp:
2390         (WebCore::DOMFileSystem::DOMFileSystem):
2391         (WebCore::DOMFileSystem::~DOMFileSystem):
2392         (WebCore::DOMFileSystem::stop):
2393         (WebCore::DOMFileSystem::hasPendingActivity):
2394         (WebCore::DOMFileSystem::contextDestroyed):
2395         * storage/DOMFileSystem.h:
2396         (WebCore::DOMFileSystem::create):
2397         * storage/FileSystemCallbacks.cpp:
2398         (WebCore::FileSystemCallbacksBase::didFail):
2399         (WebCore::FileSystemCallbacks::FileSystemCallbacks):
2400         (WebCore::FileSystemCallbacks::didOpenFileSystem):
2401         * storage/FileSystemCallbacks.h:
2402         * storage/LocalFileSystem.cpp: Added.
2403         * storage/LocalFileSystem.h: Added.
2404
2405         * storage/Flags.h: Nits fix.
2406
2407 2010-07-27  Jer Noble  <jer.noble@apple.com>
2408
2409         Reviewed by Eric Carlson.
2410
2411         Add JavaScript API to allow a page to go fullscreen.
2412         rdar://problem/6867795
2413         https://bugs.webkit.org/show_bug.cgi?id=43099
2414         
2415         Mozilla has proposed a new set of JavaScript APIs which allow any element in
2416         a document to go full-screen.  The current revision of their proposal can be 
2417         found here:
2418         <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429>
2419         
2420         The proposed specification includes the following:
2421         
2422         Document:
2423         - Three new methods on Document:
2424             + void requestFullScreen()
2425             + void requestFullScreenWithKeys()
2426             + void cancelFullScreen()
2427         - Three new attributes of Document:
2428             + readonly attribute boolean fullScreen
2429             + readonly attribute boolean fullScreenWithKeys
2430             + (optional) readonly attribute Element currentFullScreenElement
2431             
2432         Element:
2433         - Two new methods on Element:
2434             + void requestFullScreen()
2435             + void requestFullScreenWithKeys()
2436         
2437         Events:
2438         - One new event:
2439             + fullScreenChange
2440         
2441         CSS Pseudo-classes:
2442         - Three new Pseudo-classes:
2443             + :full-screen
2444             + :full-screen-doc
2445             + :full-screen-root-with-target
2446         
2447         For WebKit's initial implementation, all the above new APIs will be prefixed with 
2448         "webkit" or "-webkit" where appropriate.
2449         
2450         New tests:
2451         LayoutTests/fullscreen/full-screen-api.html
2452         LayoutTests/fullscreen/full-screen-css.html
2453         LayoutTests/fullscreen/full-screen-request.html
2454
2455         Project file changes:
2456         * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry.
2457         * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp.
2458         * WebCore.FullScreen.exp: Added export symbols for Document and Element functions.
2459         * WebCore.xcodeproj/project.pbxproj: New source files added to the project.
2460
2461         IDL changes:
2462         * dom/Document.idl: Added the new full-screen API to the Document's javascript interface.
2463         * dom/Element.idl: Added the new full-screen API to the Element's javascript interface.
2464
2465         Source changes:
2466         * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes.
2467         * css/CSSSelector.cpp: Added new FullScreen pseudo-classes.
2468         * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum.
2469         * css/CSSStyleSelector.cpp: 
2470         (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets.
2471         (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet.
2472         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes.
2473         * dom/Document.cpp:
2474         (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event.
2475         (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent"
2476         (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode.
2477         (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode.
2478         (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document.
2479         (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op.
2480         (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op.
2481         (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document.
2482         * dom/Document.h: Added const accessors for new full-screen instance variables.
2483         (WebCore::Document::):
2484         (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen.
2485         (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled.
2486         (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement.
2487         * dom/Element.cpp:
2488         (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. 
2489         * dom/Element.h:
2490         * dom/EventNames.h: Add a webkitfullscreenchange event name.
2491         * html/HTMLElement.cpp:
2492         (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener.
2493         * page/ChromeClient.h:
2494         (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate.
2495         (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
2496         (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
2497         * page/Settings.cpp:
2498         (WebCore::Settings::Settings):
2499         * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off)
2500         * rendering/MediaControlElements.cpp:
2501         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered).
2502         * rendering/style/RenderStyleConstants.h: Added new style constants.
2503
2504 2010-08-27  James Robinson  <jamesr@chromium.org>
2505
2506         Reviewed by Darin Fisher.
2507
2508         Move Texture class from p/g/chromium to p/g/gpu
2509         https://bugs.webkit.org/show_bug.cgi?id=44783
2510
2511         This class and its support were developed in platform/graphics/chromium but are not chromium-specific
2512         in any way.  This patch moves them to a common location so they can be shared by all platforms.
2513
2514         Pure refactor, so no new tests.
2515
2516         * WebCore.gyp/WebCore.gyp:
2517         * WebCore.gypi:
2518         * platform/graphics/chromium/GLES2Canvas.cpp:
2519         (WebCore::GLES2Canvas::drawTexturedRect):
2520         (WebCore::GLES2Canvas::drawTexturedRectTile):
2521         (WebCore::GLES2Canvas::createTexture):
2522         (WebCore::GLES2Canvas::getTexture):
2523         * platform/graphics/chromium/GLES2Canvas.h:
2524         * platform/graphics/chromium/GLES2Texture.cpp: Removed.
2525         * platform/graphics/chromium/GLES2Texture.h: Removed.
2526         * platform/graphics/gpu/Texture.cpp: Added.
2527         (WebCore::Texture::Texture):
2528         (WebCore::Texture::~Texture):
2529         (WebCore::convertFormat):
2530         (WebCore::Texture::create):
2531         (WebCore::copySubRect):
2532         (WebCore::Texture::load):
2533         (WebCore::Texture::bindTile):
2534         * platform/graphics/gpu/Texture.h: Added.
2535         (WebCore::Texture::):
2536         (WebCore::Texture::format):
2537         (WebCore::Texture::tiles):
2538         * platform/graphics/gpu/TilingData.cpp: Renamed from WebCore/platform/graphics/chromium/TilingData.cpp.
2539         (WebCore::computeNumTiles):
2540         (WebCore::TilingData::TilingData):
2541         (WebCore::TilingData::tileXIndexFromSrcCoord):
2542         (WebCore::TilingData::tileYIndexFromSrcCoord):
2543         (WebCore::TilingData::tileBounds):
2544         (WebCore::TilingData::tileBoundsWithBorder):
2545         (WebCore::TilingData::tileBoundsNormalized):
2546         (WebCore::TilingData::tilePositionX):
2547         (WebCore::TilingData::tilePositionY):
2548         (WebCore::TilingData::tileSizeX):
2549         (WebCore::TilingData::tileSizeY):
2550         (WebCore::TilingData::overlappedTileIndices):
2551         (WebCore::TilingData::intersectDrawQuad):
2552         * platform/graphics/gpu/TilingData.h: Renamed from WebCore/platform/graphics/chromium/TilingData.h.
2553         (WebCore::TilingData::maxTextureSize):
2554         (WebCore::TilingData::totalSizeX):
2555         (WebCore::TilingData::totalSizeY):
2556         (WebCore::TilingData::numTiles):
2557         (WebCore::TilingData::numTilesX):
2558         (WebCore::TilingData::numTilesY):
2559         (WebCore::TilingData::tileIndex):
2560         (WebCore::TilingData::tileXIndex):
2561         (WebCore::TilingData::tileYIndex):
2562         (WebCore::TilingData::TilingData):
2563         (WebCore::TilingData::assertTile):
2564         * platform/graphics/skia/ImageSkia.cpp:
2565         (WebCore::drawBitmapGLES2):
2566         * platform/graphics/skia/PlatformContextSkia.cpp:
2567         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2568         * platform/graphics/skia/PlatformContextSkia.h:
2569
2570 2010-08-27  David Hyatt  <hyatt@apple.com>
2571
2572         Reviewed by Simon Fraser.
2573
2574         https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
2575
2576         Rename the various modes to match the HTML5 specification:
2577             ParseMode -> CompatibilityMode
2578             CompatMode -> QuirksMode
2579             AlmostStrictMode -> LimitedQuirksMode
2580             StrictMode -> NoQuirksMode
2581             
2582         Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
2583         instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
2584         
2585         Clean up user stylesheets to minimize style recalculation when the mode is switched.
2586         
2587         Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
2588         dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
2589         Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
2590         a doctype token.
2591         
2592         determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
2593         precisely.
2594         
2595         * WebCore.exp.in:
2596         * css/CSSStyleSelector.cpp:
2597         (WebCore::CSSStyleSelector::styleForDocument):
2598         (WebCore::CSSStyleSelector::applyProperty):
2599         (WebCore::CSSStyleSelector::fontSizeForKeyword):
2600         * dom/ClassNodeList.cpp:
2601         (WebCore::ClassNodeList::ClassNodeList):
2602         * dom/DecodedDataDocumentParser.cpp:
2603         (WebCore::DecodedDataDocumentParser::appendBytes):
2604         * dom/Document.cpp:
2605         (WebCore::Document::Document):
2606         (WebCore::Document::setCompatibilityMode):
2607         (WebCore::Document::setDocType):
2608         (WebCore::Document::unscheduleStyleRecalc):
2609         (WebCore::Document::recalcStyle):
2610         (WebCore::Document::updateStyleIfNeeded):
2611         (WebCore::Document::createStyleSelector):
2612         (WebCore::Document::implicitOpen):
2613         (WebCore::Document::pageUserSheet):
2614         (WebCore::Document::clearPageUserSheet):
2615         (WebCore::Document::updatePageUserSheet):
2616         (WebCore::Document::pageGroupUserSheets):
2617         (WebCore::Document::clearPageGroupUserSheets):
2618         (WebCore::Document::updatePageGroupUserSheets):
2619         (WebCore::Document::findAnchor):
2620         * dom/Document.h:
2621         (WebCore::Document::):
2622         (WebCore::Document::setCompatibilityModeFromDoctype):
2623         (WebCore::Document::lockCompatibilityMode):
2624         (WebCore::Document::compatibilityMode):
2625         (WebCore::Document::inQuirksMode):
2626         (WebCore::Document::inLimitedQuirksMode):
2627         (WebCore::Document::inNoQuirksMode):
2628         * dom/Element.cpp:
2629         (WebCore::Element::clientWidth):
2630         (WebCore::Element::clientHeight):
2631         (WebCore::Element::webkitMatchesSelector):
2632         * dom/NamedNodeMap.cpp:
2633         (WebCore::NamedNodeMap::setClass):
2634         * dom/Node.cpp:
2635         (WebCore::Node::querySelector):
2636         (WebCore::Node::querySelectorAll):
2637         * dom/OptionElement.cpp:
2638         (WebCore::OptionElement::collectOptionLabelOrText):
2639         * dom/SelectorNodeList.cpp:
2640         (WebCore::createSelectorNodeList):
2641         * dom/StyleElement.cpp:
2642         (WebCore::StyleElement::createSheet):
2643         * dom/StyledElement.cpp:
2644         (WebCore::StyledElement::createInlineStyleDecl):
2645         (WebCore::StyledElement::parseMappedAttribute):
2646         * editing/ReplaceSelectionCommand.cpp:
2647         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
2648         * html/HTMLBodyElement.cpp:
2649         (WebCore::HTMLBodyElement::createLinkDecl):
2650         * html/HTMLCanvasElement.cpp:
2651         (WebCore::HTMLCanvasElement::getContext):
2652         * html/HTMLConstructionSite.cpp:
2653         (WebCore::HTMLConstructionSite::insertDoctype):
2654         * html/HTMLDocument.cpp:
2655         (WebCore::HTMLDocument::HTMLDocument):
2656         (WebCore::HTMLDocument::compatMode):
2657         (WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
2658         * html/HTMLDocument.h:
2659         * html/HTMLLinkElement.cpp:
2660         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2661         * html/HTMLTreeBuilder.cpp:
2662         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2663         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2664         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2665         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2666         (WebCore::HTMLTreeBuilder::defaultForInitial):
2667         * html/HTMLViewSourceDocument.cpp:
2668         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
2669         * loader/DocumentWriter.cpp:
2670         (WebCore::DocumentWriter::replaceDocument):
2671         (WebCore::DocumentWriter::reportDataReceived):
2672         * loader/DocumentWriter.h:
2673         * loader/ImageDocument.cpp:
2674         (WebCore::ImageDocument::ImageDocument):
2675         * loader/MediaDocument.cpp:
2676         (WebCore::MediaDocument::MediaDocument):
2677         * loader/PluginDocument.cpp:
2678         (WebCore::PluginDocument::PluginDocument):
2679         * loader/SinkDocument.cpp:
2680         (WebCore::SinkDocument::SinkDocument):
2681         * loader/TextDocument.cpp:
2682         (WebCore::TextDocument::TextDocument):
2683         * page/Page.cpp:
2684         (WebCore::Page::userStyleSheetLocationChanged):
2685         * page/PageGroup.cpp:
2686         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
2687         * page/Settings.cpp:
2688         (WebCore::Settings::Settings):
2689         (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
2690         * page/Settings.h:
2691         (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
2692         * rendering/AutoTableLayout.cpp:
2693         (WebCore::AutoTableLayout::recalcColumn):
2694         * rendering/FixedTableLayout.cpp:
2695         (WebCore::FixedTableLayout::calcPrefWidths):
2696         * rendering/InlineFlowBox.cpp:
2697         (WebCore::InlineFlowBox::paintBoxDecorations):
2698         (WebCore::InlineFlowBox::paintMask):
2699         (WebCore::InlineFlowBox::paintTextDecorations):
2700         * rendering/InlineTextBox.cpp:
2701         (WebCore::InlineTextBox::paint):
2702         * rendering/RenderBlock.cpp:
2703         (WebCore::RenderBlock::isSelfCollapsingBlock):
2704         (WebCore::RenderBlock::collapseMargins):
2705         (WebCore::RenderBlock::handleBottomOfBlock):
2706         (WebCore::RenderBlock::calcInlinePrefWidths):
2707         (WebCore::RenderBlock::calcBlockPrefWidths):
2708         * rendering/RenderBlockLineLayout.cpp:
2709         (WebCore::createInlineBoxForRenderer):
2710         (WebCore::RenderBlock::findNextLineBreak):
2711         * rendering/RenderBox.cpp:
2712         (WebCore::RenderBox::calcPercentageHeight):
2713         (WebCore::RenderBox::calcAbsoluteHorizontal):
2714         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2715         * rendering/RenderBox.h:
2716         (WebCore::RenderBox::stretchesToViewHeight):
2717         * rendering/RenderListItem.cpp:
2718         (WebCore::getParentOfFirstLineBox):
2719         * rendering/RenderTable.cpp:
2720         (WebCore::RenderTable::layout):
2721         * rendering/RenderTableSection.cpp:
2722         (WebCore::RenderTableSection::calcRowHeight):
2723         * rendering/RootInlineBox.cpp:
2724         (WebCore::RootInlineBox::verticallyAlignBoxes):
2725         * rendering/style/RenderStyle.cpp:
2726         (WebCore::RenderStyle::diff):
2727         * rendering/style/RenderStyle.h:
2728         (WebCore::):
2729         (WebCore::InheritedFlags::setBitDefaults):
2730
2731 2010-08-27  Gavin Barraclough  <barraclough@apple.com>
2732
2733         Reviewed by Oliver Hunt.
2734
2735         Bug 44745 - Number.toFixed/toExponential/toPrecision are inaccurate.
2736
2737         These methods should be using a version of dtoa that can generate results accurate
2738         to the requested precision, whereas our version of dtoa is only currently able to
2739         support producing results sufficiently accurate to distinguish the value from any
2740         other IEEE-754 double precision number.
2741
2742         * html/HTMLTreeBuilder.cpp:
2743         (WebCore::serializeForNumberType):
2744             doubleToStringInJavaScriptFormat renamed to numberToString.
2745
2746 2010-08-27  Michael Nordman  <michaeln@google.com>
2747
2748         Reviewed by David Levin.
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=44133
2751         IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
2752         Adds two new attributes, asBlob and responseBlob.
2753         Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
2754         
2755         No new tests, just adding some stubs.
2756
2757         * bindings/generic/RuntimeEnabledFeatures.cpp:
2758         * bindings/generic/RuntimeEnabledFeatures.h:
2759         (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
2760         (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
2761         (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
2762         * bindings/js/JSXMLHttpRequestCustom.cpp:
2763         (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
2764         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2765         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
2766         * xml/XMLHttpRequest.cpp:
2767         (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
2768         (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
2769         (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
2770         (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
2771         (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
2772         (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
2773         (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
2774         (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
2775         * xml/XMLHttpRequest.h:
2776         (WebCore::XMLHttpRequest::asBlob):
2777         * xml/XMLHttpRequest.idl:
2778
2779 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
2780
2781         Reviewed by Tony Chang.
2782
2783         Crash in CSSStyleSelector.cpp
2784         https://bugs.webkit.org/show_bug.cgi?id=44780
2785         
2786         Need to null-check the images when replacing pending images, because a later
2787         rule may have replaced an image with 'none'.
2788
2789         Test: fast/css/pending-images-crash.html
2790
2791         * css/CSSStyleSelector.cpp:
2792         (WebCore::CSSStyleSelector::loadPendingImages):
2793         * page/FrameView.cpp:
2794         (WebCore::FrameView::paintContents): Fix unrelated log message.
2795
2796 2010-08-27  Andrey Kosyakov  <caseq@chromium.org>
2797
2798         Unreviewed. Revert r66218 & r66220 due to GTK test failures.
2799
2800         * WebCore.gypi:
2801         * WebCore.vcproj/WebCore.vcproj:
2802         * inspector/front-end/AuditLauncherView.js:
2803         (WebInspector.AuditLauncherView.categorySortFunction):
2804         (WebInspector.AuditLauncherView):
2805         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
2806         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
2807         (WebInspector.AuditLauncherView.prototype._categoryClicked):
2808         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
2809         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
2810         * inspector/front-end/AuditResultView.js:
2811         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
2812         * inspector/front-end/AuditsPanel.js:
2813         (WebInspector.AuditsPanel):
2814         (WebInspector.AuditsPanel.prototype._executeAudit):
2815         (WebInspector.AuditCategory.prototype.runRules):
2816         * inspector/front-end/ExtensionAPI.js:
2817         (injectedExtensionAPI):
2818         (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
2819         (injectedExtensionAPI.EventSinkImpl.prototype._fire):
2820         (injectedExtensionAPI.EventSink):
2821         (injectedExtensionAPI.InspectorExtensionAPI):
2822         (injectedExtensionAPI.Panels.prototype.create):
2823         * inspector/front-end/ExtensionServer.js:
2824         (WebInspector.ExtensionServer):
2825         (WebInspector.ExtensionServer.prototype._postNotification):
2826         (WebInspector.ExtensionServer.prototype._addExtensions):
2827         (WebInspector.ExtensionStatus):
2828         * inspector/front-end/WebKit.qrc:
2829         * inspector/front-end/inspector.html:
2830         * inspector/front-end/utilities.js:
2831         ():
2832
2833 2010-08-27  Mihai Parparita  <mihaip@chromium.org>
2834
2835         Reviewed by Darin Fisher.
2836
2837         Crash in HistoryController::recursiveGoToItem when navigating in a frame
2838         while another frame has a custom window name
2839         https://bugs.webkit.org/show_bug.cgi?id=44183
2840         
2841         Fix up HistoryController::recursiveGoToItem to better check whether the
2842         current document frames, the curent history item frames, and the
2843         destination history frames match up.
2844         
2845         Test: fast/history/history-subframe-with-name.html
2846
2847         * history/HistoryItem.cpp:
2848         (WebCore::HistoryItem::childItemWithDocumentSequenceNumber): Add linear
2849         lookup of child by document sequence number
2850         (WebCore::HistoryItem::hasSameDocuments): Remove assumption that the
2851         other item has the children in the same order (it doesn't seem to be
2852         true)
2853         (WebCore::HistoryItem::hasSameFrames): Add recursive comparison of child
2854         frames.
2855         * history/HistoryItem.h:
2856         * loader/FrameLoader.cpp:
2857         (WebCore::FrameLoader::loadItem): Compare full set of documents in 
2858         history items, not just the topmost ones. Otherwise when going between
2859         framesets where only one of the subframes changed we wouldn't trigger a
2860         load.
2861         * loader/HistoryController.cpp:
2862         (WebCore::HistoryController::recursiveGoToItem): Also check that the
2863         two history items have the same frames
2864         (WebCore::HistoryController::currentFramesMatchItem): Refactor 
2865         childFramesMatchItem to also check the top-most frame, to make 
2866         recursiveGoToItem easier to read.
2867         * loader/HistoryController.h:
2868
2869 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
2870
2871         Reviewed by Nikolas Zimmermann.
2872
2873         [WINCE] Buildfix for graphics code after r65449
2874         https://bugs.webkit.org/show_bug.cgi?id=44510
2875
2876         * platform/graphics/wince/GraphicsContextWince.cpp:
2877         * platform/graphics/wince/ImageBufferWince.cpp:
2878         (WebCore::ImageBuffer::drawsUsingCopy):
2879         (WebCore::ImageBuffer::copyImage):
2880         (WebCore::ImageBuffer::clip):
2881         (WebCore::ImageBuffer::draw):
2882         (WebCore::ImageBuffer::drawPattern):
2883
2884 2010-08-27  Dawit Alemayehu  <adawit@kde.org>
2885
2886         Reviewed by Simon Hausmann.
2887
2888         [Qt] Search the Windows registry for the location of the Java plugin DLL.
2889         https://bugs.webkit.org/show_bug.cgi?id=38911
2890
2891         This change, in addition to the ones 34539 and 38911, is needed to
2892         make Java applet work in QtWebKit on the Windows platform.
2893
2894         * plugins/win/PluginDatabaseWin.cpp:
2895         (WebCore::addJavaPluginDirectory):
2896         (WebCore::PluginDatabase::defaultPluginDirectories):
2897
2898 2010-08-27  Pavel Feldman  <pfeldman@chromium.org>
2899
2900         Reviewed by Yury Semikhatsky.
2901
2902         Web Inspector: color-code property values in object notation.
2903         https://bugs.webkit.org/show_bug.cgi?id=44766
2904
2905         * inspector/front-end/ObjectPropertiesSection.js:
2906         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2907
2908 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
2909
2910         Reviewed by Nikolas Zimmermann.
2911
2912         [WINCE] Buildfix for FontPlatformData after r65021
2913         https://bugs.webkit.org/show_bug.cgi?id=44467
2914
2915         * platform/graphics/wince/FontPlatformData.h:
2916
2917 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
2918
2919         Reviewed by Nikolas Zimmermann.
2920
2921         RenderImage::imageChanged invalidates wrong area
2922         https://bugs.webkit.org/show_bug.cgi?id=43779
2923
2924         At the moment RenderSVGImage inherits from RenderImage, which makes non-SVG compatible
2925         assumptions about repainting, and thus has to be fixed to inherit from RenderSVGModelObject.
2926
2927         This patch moves the CachedImage from RenderImage into a separate class.
2928         The new class contains the common behavior of RenderImage and RenderSVGImage.
2929         An additional patch will remove the inheritance of RenderImage at RenderSVGImage.
2930
2931         * Android.mk:
2932         * CMakeLists.txt:
2933         * GNUmakefile.am:
2934         * WebCore.gypi:
2935         * WebCore.pro:
2936         * WebCore.vcproj/WebCore.vcproj:
2937         * WebCore.xcodeproj/project.pbxproj:
2938         * html/HTMLEmbedElement.cpp:
2939         (WebCore::HTMLEmbedElement::createRenderer):
2940         (WebCore::HTMLEmbedElement::attach):
2941         * html/HTMLImageElement.cpp:
2942         (WebCore::HTMLImageElement::createRenderer):
2943         (WebCore::HTMLImageElement::attach):
2944         * html/HTMLInputElement.cpp:
2945         (WebCore::HTMLInputElement::createRenderer):
2946         (WebCore::HTMLInputElement::attach):
2947         * html/HTMLObjectElement.cpp:
2948         (WebCore::HTMLObjectElement::createRenderer):
2949         * html/HTMLVideoElement.cpp:
2950         (WebCore::HTMLVideoElement::attach):
2951         (WebCore::HTMLVideoElement::parseMappedAttribute):
2952         * loader/ImageLoader.cpp:
2953         (WebCore::ImageLoader::setImage):
2954         (WebCore::ImageLoader::updateFromElement):
2955         (WebCore::ImageLoader::renderImageResource):
2956         (WebCore::ImageLoader::updateRenderer):
2957         * loader/ImageLoader.h:
2958         * rendering/RenderImage.cpp:
2959         (WebCore::RenderImage::RenderImage):
2960         (WebCore::RenderImage::~RenderImage):
2961         (WebCore::RenderImage::setImageResource):
2962         (WebCore::RenderImage::imageChanged):
2963         (WebCore::RenderImage::notifyFinished):
2964         (WebCore::RenderImage::paintReplaced):
2965         (WebCore::RenderImage::paintIntoRect):
2966         (WebCore::RenderImage::minimumReplacedHeight):
2967         (WebCore::RenderImage::calcReplacedWidth):
2968         (WebCore::RenderImage::calcReplacedHeight):
2969         (WebCore::RenderImage::calcAspectRatioWidth):
2970         (WebCore::RenderImage::calcAspectRatioHeight):
2971         * rendering/RenderImage.h:
2972         (WebCore::RenderImage::imageResource):
2973         (WebCore::RenderImage::cachedImage):
2974         (WebCore::RenderImage::intrinsicSizeChanged):
2975         (WebCore::toRenderImage):
2976         * rendering/RenderImageGeneratedContent.cpp: Removed.
2977         * rendering/RenderImageGeneratedContent.h: Removed.
2978         * rendering/RenderImageResource.cpp: Added.
2979         (WebCore::RenderImageResource::RenderImageResource):
2980         (WebCore::RenderImageResource::~RenderImageResource):
2981         (WebCore::RenderImageResource::initialize):
2982         (WebCore::RenderImageResource::shutdown):
2983         (WebCore::RenderImageResource::setCachedImage):
2984         (WebCore::RenderImageResource::resetAnimation):
2985         (WebCore::RenderImageResource::setImageContainerSize):
2986         (WebCore::RenderImageResource::nullImage):
2987         * rendering/RenderImageResource.h: Added.
2988         (WebCore::RenderImageResource::create):
2989         (WebCore::RenderImageResource::cachedImage):
2990         (WebCore::RenderImageResource::hasImage):
2991         (WebCore::RenderImageResource::image):
2992         (WebCore::RenderImageResource::errorOccurred):
2993         (WebCore::RenderImageResource::usesImageContainerSize):
2994         (WebCore::RenderImageResource::imageHasRelativeWidth):
2995         (WebCore::RenderImageResource::imageHasRelativeHeight):
2996         (WebCore::RenderImageResource::imageSize):
2997         (WebCore::RenderImageResource::imagePtr):
2998         * rendering/RenderImageResourceStyleImage.cpp: Added.
2999         (WebCore::RenderImageResourceStyleImage::RenderImageResourceStyleImage):
3000         (WebCore::RenderImageResourceStyleImage::~RenderImageResourceStyleImage):
3001         (WebCore::RenderImageResourceStyleImage::initialize):
3002         (WebCore::RenderImageResourceStyleImage::shutdown):
3003         * rendering/RenderImageResourceStyleImage.h: Added.
3004         (WebCore::RenderImageResourceStyleImage::create):
3005         (WebCore::RenderImageResourceStyleImage::image):
3006         (WebCore::RenderImageResourceStyleImage::errorOccurred):
3007         (WebCore::RenderImageResourceStyleImage::setImageContainerSize):
3008         (WebCore::RenderImageResourceStyleImage::usesImageContainerSize):
3009         (WebCore::RenderImageResourceStyleImage::imageHasRelativeWidth):
3010         (WebCore::RenderImageResourceStyleImage::imageHasRelativeHeight):
3011         (WebCore::RenderImageResourceStyleImage::imageSize):
3012         (WebCore::RenderImageResourceStyleImage::imagePtr):
3013         * rendering/RenderMedia.cpp:
3014         (WebCore::RenderMedia::RenderMedia):
3015         * rendering/RenderObject.cpp:
3016         (WebCore::RenderObject::createObject):
3017         * rendering/RenderObjectChildList.cpp:
3018         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3019         * rendering/RenderSVGImage.cpp:
3020         (WebCore::RenderSVGImage::RenderSVGImage):
3021         (WebCore::RenderSVGImage::layout):
3022         (WebCore::RenderSVGImage::paint):
3023         * rendering/RenderVideo.cpp:
3024         (WebCore::RenderVideo::calculateIntrinsicSize):
3025         * svg/SVGImageElement.cpp:
3026         (WebCore::SVGImageElement::attach):
3027         * wml/WMLImageElement.cpp:
3028         (WebCore::WMLImageElement::createRenderer):
3029
3030 2010-08-27  Pavel Feldman  <pfeldman@chromium.org>
3031
3032         Reviewed by Pavel Feldman.
3033
3034         Web Inspector: Elements panel breaks after calling "Edit as HTML" on <body>
3035         https://bugs.webkit.org/show_bug.cgi?id=44765
3036
3037         * inspector/InspectorDOMAgent.cpp:
3038         (WebCore::InspectorDOMAgent::setOuterHTML):
3039
3040 2010-08-25  Jeremy Orlow  <jorlow@chromium.org>
3041
3042         Reviewed by Steve Block.
3043
3044         Add setVersion to IndexedDB
3045         https://bugs.webkit.org/show_bug.cgi?id=44630
3046
3047         * storage/IDBDatabase.cpp:
3048         (WebCore::IDBDatabase::setVersion):
3049         * storage/IDBDatabase.h:
3050         * storage/IDBDatabase.idl:
3051         * storage/IDBDatabaseBackendImpl.cpp:
3052         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
3053         (WebCore::IDBDatabaseBackendImpl::setVersion):
3054         * storage/IDBDatabaseBackendImpl.h:
3055         * storage/IDBDatabaseBackendInterface.h:
3056
3057 2010-08-26  Pavel Podivilov  <podivilov@chromium.org>
3058
3059         Reviewed by Pavel Feldman.
3060
3061         Web Inspector: use context menu items with checkbox for setting and removing DOM breakpoints
3062         https://bugs.webkit.org/show_bug.cgi?id=44687
3063
3064         * English.lproj/localizedStrings.js:
3065         * inspector/front-end/BreakpointsSidebarPane.js:
3066         (WebInspector.DOMBreakpointItem):
3067         * inspector/front-end/DOMAgent.js:
3068         (WebInspector.DOMBreakpointManager.prototype.findBreakpoint):
3069         (WebInspector.DOMBreakpoint.labelForType):
3070         (WebInspector.DOMBreakpoint.contextMenuLabelForType):
3071         * inspector/front-end/ElementsTreeOutline.js:
3072         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3073         * inspector/front-end/inspector.js:
3074         (WebInspector.pausedScript):
3075
3076 2010-08-27  Steve Block  <steveblock@google.com>
3077
3078         Reviewed by Jeremy Orlow.
3079
3080         Calls to IndexedDB methods from V8Proxy::didLeaveScriptContext() are missing enable guards
3081         https://bugs.webkit.org/show_bug.cgi?id=44760
3082
3083         No new tests, build fix only.
3084
3085         * bindings/v8/V8Proxy.cpp:
3086         (WebCore::V8Proxy::didLeaveScriptContext):
3087
3088 2010-08-27  Dirk Schulze  <krit@webkit.org>
3089
3090         Reviewed by Nikolas Zimmermann.
3091
3092         getPointAtLength returns incorrect values for paths closed with the closepath command
3093         https://bugs.webkit.org/show_bug.cgi?id=44197
3094         
3095         The closepath segment was traversed by the wrong direction. Swap starting point and
3096         end point for closeSubpath.
3097
3098         Test: svg/dom/path-pointAtLength.html
3099
3100         * platform/graphics/PathTraversalState.cpp:
3101         (WebCore::PathTraversalState::closeSubpath):
3102
3103 2010-08-27  Dirk Schulze  <krit@webkit.org>
3104
3105         Reviewed by Nikolas Zimmermann.
3106
3107         SVG Filter with wrong results on repaint for non-CG platforms
3108         https://bugs.webkit.org/show_bug.cgi?id=44706
3109         
3110         The result of SVG Filter is transformed to linearRGB on every repaint. 
3111         Transform the result just once, right after creating it.
3112
3113         Test: svg/repaint/filter-repaint.svg
3114
3115         * rendering/RenderSVGResourceFilter.cpp:
3116         (WebCore::RenderSVGResourceFilter::postApplyResource):
3117
3118 2010-08-27  Yury Semikhatsky  <yurys@chromium.org>
3119
3120         Reviewed by Pavel Feldman.
3121
3122         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
3123         https://bugs.webkit.org/show_bug.cgi?id=44230
3124
3125         * inspector/Inspector.idl:
3126         * inspector/InspectorController.cpp:
3127         (WebCore::InspectorController::inspectedPageDestroyed):
3128         (WebCore::InspectorController::close):
3129         * inspector/InspectorFrontendClient.h:
3130         * inspector/InspectorFrontendHost.cpp:
3131         (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
3132         that frontend closes if InspectorController triggered the action.
3133         * inspector/InspectorFrontendHost.h:
3134         * inspector/InspectorFrontendHost.idl:
3135         * inspector/front-end/InspectorFrontendHostStub.js:
3136         (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
3137         * inspector/front-end/inspector.js:
3138         (WebInspector.disconnectFromBackend):
3139
3140 2010-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3141
3142         Unreviewed, rolling out r66188.
3143         http://trac.webkit.org/changeset/66188
3144         https://bugs.webkit.org/show_bug.cgi?id=44756
3145
3146         "Graphic libraries handle segement length differently. Fixing
3147         one platform might break another one. Rolling out this patch
3148         and think about another solution to get getPointAtLength"
3149         (Requested by krit on #webkit).
3150
3151         * platform/graphics/PathTraversalState.cpp:
3152         (WebCore::PathTraversalState::closeSubpath):
3153
3154 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
3155
3156         Reviewed by Nikolas Zimmermann.
3157
3158         r66141 caused fast/forms/select-style.html to fail on mac:
3159         https://bugs.webkit.org/show_bug.cgi?id=44737
3160
3161         Handle the fact that a CSSImageValue may have a value of CSSValueNone,
3162         in which case we should not return a pending image.
3163
3164         * css/CSSImageValue.cpp:
3165         (WebCore::CSSImageValue::cachedOrPendingImage):
3166         * css/CSSStyleSelector.cpp:
3167         (WebCore::CSSStyleSelector::cachedOrPendingFromValue):
3168
3169 2010-08-27  Alejandro G. Castro  <alex@igalia.com>
3170
3171         Reviewed by Dan Bernstein.
3172
3173         drawGDIGlyphs checks if the offset is empty incorrectly causing
3174         problems with the shadow
3175         https://bugs.webkit.org/show_bug.cgi?id=44619
3176
3177         Removed the offset empty condition, now we just check if we have
3178         offset or blur.
3179
3180         * platform/graphics/win/FontCGWin.cpp:
3181         (WebCore::drawGDIGlyphs):
3182
3183 2010-08-27  Dirk Schulze  <krit@webkit.org>
3184
3185         Reviewed by Nikolas Zimmermann.
3186
3187         getPointAtLength returns incorrect values for paths closed with the closepath command
3188         https://bugs.webkit.org/show_bug.cgi?id=44197
3189         
3190         The closepath segment was traversed by the wrong direction. Swap starting point and
3191         end point for closeSubpath.
3192
3193         Test: svg/dom/path-pointAtLength.html
3194
3195         * platform/graphics/PathTraversalState.cpp:
3196         (WebCore::PathTraversalState::closeSubpath):
3197
3198 2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3199
3200         Reviewed by Dirk Schulze.
3201
3202         SVGLocatable.getScreenCTM ignores scrolling
3203         https://bugs.webkit.org/show_bug.cgi?id=44083
3204
3205         getScreenCTM needs to include the FrameViews scrollOffset in the e/f parameters of the AffineTransform.
3206         Adding three new tests, which cover scrolling & getScreenCTM in large svgs with scrollbars, and with (nested) divs in overflow="scroll" mode.
3207
3208         Tests: svg/custom/getscreenctm-in-scrollable-div-area-nested.xhtml
3209                svg/custom/getscreenctm-in-scrollable-div-area.xhtml
3210                svg/custom/getscreenctm-in-scrollable-svg-area.xhtml
3211
3212         * svg/SVGSVGElement.cpp:
3213         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
3214
3215 2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
3216
3217         Reviewed by Darin Adler.
3218
3219         implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle, and removeHTMLBidiEmbeddingStyle should be merged
3220         https://bugs.webkit.org/show_bug.cgi?id=44622
3221
3222         Merged shouldRemoveTextDecorationTag, implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle,
3223         and removeHTMLBidiEmbeddingStyle into removeImplicitlyStyledElement.  New function uses CSSPropertyElementMapping to
3224         support all different cases dealt separately in each function.
3225
3226         No new tests are added since this is a cleanup.
3227
3228         * editing/ApplyStyleCommand.cpp:
3229         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls removeImplicitlyStyledElement.
3230         (WebCore::):
3231         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added.
3232         * editing/ApplyStyleCommand.h:
3233
3234 2010-08-26  Andy Estes  <aestes@apple.com>
3235
3236         Reviewed by Darin Adler.
3237         
3238         Based on a patch by Mihnea Ovidenie <mihnea@adobe.com>.
3239
3240         Percentage top value on position:relative descendant not resolved
3241         correctly if containing block height is not specified explicitly.
3242         https://bugs.webkit.org/show_bug.cgi?id=26396
3243
3244         If the containing block height is auto and the element is positioned
3245         relatively, and if the element's top/bottom is percent, then resolve the
3246         top/bottom as auto.
3247
3248         Test: fast/css/percent-top-relative-container-height-unspecified.html
3249
3250         * rendering/RenderBoxModelObject.cpp:
3251         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
3252
3253 2010-08-26  James Robinson  <jamesr@chromium.org>
3254
3255         Another chromium mac build fix. What a dumb version of GCC.
3256
3257         * platform/graphics/chromium/GLES2Texture.cpp:
3258         (WebCore::GLES2Texture::create):
3259
3260 2010-08-26  Kent Tamura  <tkent@chromium.org>
3261
3262         Unreviewed, build fix for Chromium-mac.
3263
3264         * platform/graphics/chromium/Shader.cpp:
3265         (WebCore::loadShader):
3266
3267 2010-08-26  James Robinson  <jamesr@chromium.org>
3268
3269         Fix chromium mac build. Unreviewed.
3270
3271         * platform/graphics/chromium/GLES2Canvas.cpp:
3272         (WebCore::GLES2Canvas::GLES2Canvas):
3273         * platform/graphics/chromium/GLES2Texture.cpp:
3274         (WebCore::GLES2Texture::load):
3275
3276 2010-08-26  Mark Rowe  <mrowe@apple.com>
3277
3278         Darin pointed out that the braces are unnecessary in an Objective-C interface
3279         declaration when there are no data members.
3280
3281         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Begone, evil braces!
3282
3283 2010-08-26  Gavin Barraclough  <barraclough@apple.com>
3284
3285         Rubber Stamped by Oliver Hunt.
3286
3287         Partially revert r65959. The toString changes regressed the v8 tests,
3288         but keep the toFixed/toExponential/toPrecision changes.
3289
3290         * html/HTMLTreeBuilder.cpp:
3291         (WebCore::serializeForNumberType):
3292
3293 2010-08-26  Mark Rowe  <mrowe@apple.com>
3294
3295         Reviewed by Adam Roben.
3296
3297         Fix two build issues that are revealed when building with clang.
3298
3299         * platform/mac/PopupMenuMac.h: Forward-declare as an Objective-C class when compiling for Objective-C.
3300         * platform/network/BlobResourceHandle.h: Forward-declare as a struct to match the real declaration.
3301
3302 2010-08-26  Mark Rowe  <mrowe@apple.com>
3303
3304         Reviewed by Sam Weinig.
3305
3306         <rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
3307
3308         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3309         (WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
3310         Since the message was being sent to a receiver of type id the compiler cannot accurately
3311         determine the return type. Typically this would be resolved by using a more specific type
3312         for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
3313         unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
3314         with the correct type of the method we care about (-delegate) and cast to that type instead.
3315
3316 2010-08-26  Andy Estes  <aestes@apple.com>
3317
3318         Reviewed by Darin Adler.
3319
3320         If an <embed> is part of an <object> element's fallback content, WebKit
3321         should only render the <embed> if the <object> fails to load.
3322         https://bugs.webkit.org/show_bug.cgi?id=44567
3323         <rdar://problem/7699852>
3324         
3325         Tests: fast/replaced/invalid-object-with-fallback.html
3326                fast/replaced/object-with-embed-url-param.html
3327
3328         * html/HTMLEmbedElement.cpp:
3329         (WebCore::HTMLEmbedElement::rendererIsNeeded): An <embed> now needs a
3330         renderer if its parent is an <object> but the <object> is using fallback
3331         content.
3332         * html/HTMLObjectElement.h:
3333         (WebCore::HTMLObjectElement::useFallbackContent): Add a public getter
3334         for m_useFallbackContent for use in HTMLEmbedElement::rendererIsNeeded.
3335         * rendering/RenderEmbeddedObject.cpp:
3336         (WebCore::RenderEmbeddedObject::updateWidget): Change the logic that
3337         determines the plug-in parameters to pass to the loader. Do not override
3338         parameters from <object> with those from a child <embed>.
3339
3340 2010-08-26  James Robinson  <jamesr@chromium.org>
3341
3342         Reviewed by Darin Fisher.
3343
3344         [chromium] Remove the USE(GLES2_RENDERING) define and associated code
3345         https://bugs.webkit.org/show_bug.cgi?id=43761
3346
3347         USE(GLES2_RENDERING) will not be useful since we'll be coding to GraphicsContext3D
3348         instead of OpenGL and can use ENABLE(ACCELERATED_2D_CANVAS) for canvas 2d specific
3349         changes.  This deletes the macro and deletes the ChromeClient API to query
3350         GLES2Contexts since we'll never need one of these outside of the compositor, which
3351         is created in platform-specific code.
3352
3353         * loader/EmptyClients.h:
3354         * page/ChromeClient.h:
3355         * platform/graphics/chromium/GLES2Canvas.cpp:
3356         * platform/graphics/chromium/GLES2Canvas.h:
3357         * platform/graphics/chromium/GLES2Texture.cpp:
3358         * platform/graphics/chromium/GLES2Texture.h:
3359         * platform/graphics/skia/GraphicsContextSkia.cpp:
3360         (WebCore::GraphicsContext::savePlatformState):
3361         (WebCore::GraphicsContext::restorePlatformState):
3362         (WebCore::GraphicsContext::clearRect):
3363         (WebCore::GraphicsContext::concatCTM):
3364         (WebCore::GraphicsContext::fillRect):
3365         (WebCore::GraphicsContext::scale):
3366         (WebCore::GraphicsContext::setAlpha):
3367         (WebCore::GraphicsContext::setCompositeOperation):
3368         (WebCore::GraphicsContext::setPlatformFillColor):
3369         (WebCore::GraphicsContext::rotate):
3370         (WebCore::GraphicsContext::translate):
3371         (WebCore::GraphicsContext::setGraphicsContext3D):
3372         (WebCore::GraphicsContext::syncSoftwareCanvas):
3373         * platform/graphics/skia/ImageSkia.cpp:
3374         (WebCore::drawBitmapGLES2):
3375         (WebCore::BitmapImage::draw):
3376         (WebCore::BitmapImageSingleFrameSkia::draw):
3377         * platform/graphics/skia/PlatformContextSkia.cpp:
3378         (WebCore::PlatformContextSkia::PlatformContextSkia):
3379         (WebCore::PlatformContextSkia::~PlatformContextSkia):
3380         * platform/graphics/skia/PlatformContextSkia.h:
3381
3382 2010-08-26  Martin Robinson  <mrobinson@igalia.com>
3383
3384         Build fix for GTK+, after a bad merge.
3385
3386         * platform/gtk/RenderThemeGtk.cpp:
3387         (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
3388
3389 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
3390
3391         Reviewed by Gustavo Noronha Silva.
3392
3393         [GTK] ScrollbarThemeGtk is incomplete
3394         https://bugs.webkit.org/show_bug.cgi?id=44471
3395
3396         Add theme drawing code for GTK+ scrollbars. Turn RenderThemeGtk::paintMozillaWidget
3397         into a public method so that ScrollbarThemeGtk can access Mozilla theme API properly.
3398
3399         Tests for this issue will be activated in the form of pixel tests, but
3400         only after fully-fake scrollbars are activated.
3401
3402         * platform/gtk/RenderThemeGtk.cpp:
3403         (WebCore::RenderThemeGtk::paintMozillaGtkWidget): Added this public method which takes
3404         the proper widget state, widget type, graphics context and rectangle and renders a
3405         widget using the Mozilla theming API.
3406         (WebCore::RenderThemeGtk::paintRenderObject): Added this method which first calculates
3407         the widget state before passing the information on to paintMozillaGtkWidget.
3408         (WebCore::RenderThemeGtk::paintCheckbox): Switch to use paintRenderObject.
3409         (WebCore::RenderThemeGtk::paintRadio): Switch to use paintRenderObject.
3410         (WebCore::RenderThemeGtk::paintButton): Switch to use paintRenderObject.
3411         (WebCore::RenderThemeGtk::paintMenuList): Switch to use paintRenderObject.
3412         (WebCore::RenderThemeGtk::paintTextField): Switch to use paintRenderObject.
3413         (WebCore::RenderThemeGtk::paintSliderTrack): Switch to use paintRenderObject.
3414         (WebCore::RenderThemeGtk::paintSliderThumb): Switch to use paintRenderObject.
3415         (WebCore::RenderThemeGtk::paintProgressBar): Switch to use paintRenderObject.
3416         * platform/gtk/RenderThemeGtk.h: Added new method declarations.
3417         * platform/gtk/ScrollbarThemeGtk.cpp: Added code which can render GTK+ scrollbars.
3418         (WebCore::ScrollbarThemeGtk::hasThumb): Added.
3419         (WebCore::ScrollbarThemeGtk::backButtonRect): Added.
3420         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Added.
3421         (WebCore::ScrollbarThemeGtk::trackRect): Added.
3422         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Added.
3423         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Added.
3424         (WebCore::ScrollbarThemeGtk::paintThumb): Added.
3425         (WebCore::ScrollbarThemeGtk::thumbRect): Added.
3426         (WebCore::ScrollbarThemeGtk::paint): Added.
3427         (WebCore::ScrollbarThemeGtk::paintButton): Added.
3428         (WebCore::ScrollbarThemeGtk::paintScrollCorner): Added.
3429         (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb): Added.
3430         (WebCore::ScrollbarThemeGtk::scrollbarThickness): Always get the metrics from the
3431         theme drawing API so that it stays up to date with theme changes.
3432         (WebCore::ScrollbarThemeGtk::buttonSize): Added.
3433         (WebCore::ScrollbarThemeGtk::minimumThumbLength): Added.
3434         * platform/gtk/ScrollbarThemeGtk.h:
3435         (WebCore::ScrollbarThemeGtk::hasButtons): Added.
3436         (WebCore::ScrollbarThemeGtk::initialAutoscrollTimerDelay): Added.
3437         (WebCore::ScrollbarThemeGtk::autoscrollTimerDelay): Added.
3438
3439 2010-08-26  Alexey Proskuryakov  <ap@apple.com>
3440
3441         Reviewed by Sam Weinig.
3442
3443         https://bugs.webkit.org/show_bug.cgi?id=44726
3444         <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
3445
3446         * loader/FrameLoader.cpp:
3447         (WebCore::FrameLoader::closeAndRemoveChild):
3448         (WebCore::FrameLoader::detachFromParent):
3449         Added a few FIXME comments. The logic we have to track frames is extremely convoluted.
3450
3451 2010-08-26  Ryosuke Niwa  <rniwa@webkit.org>
3452
3453         Unreviewed; build fix.
3454
3455         Speculative chromium mac fix by including "Color.h".
3456
3457         * platform/graphics/chromium/Shader.cpp:
3458
3459 2010-08-26  Simon Fraser  <simon.fraser@apple.com>
3460
3461         Reviewed by Dave Hyatt.
3462
3463         CSS downloads all background images related to element, instead of just final rule
3464         https://bugs.webkit.org/show_bug.cgi?id=24223
3465         
3466         We used to kick off image loads at the point where the style selector
3467         applies a CSS rule to an element, even if that rule was overridden
3468         by a rule in a later block of rules. This caused loads of images that
3469         weren't actually used.
3470         
3471         Fix this by delaying image loads until the style has been fully
3472         resolved. This is achieved by inserting a StylePendingImage into
3473         the RenderStyle for duration of the style resolution, and keeping
3474         an entry in a hash for the relevant CSS property.
3475         
3476         At the end of style resolution, we iterate through the hash, and
3477         replace the StylePendingImage with StyleCachedImages, which
3478         causes the loads to happen only for images that are in the final style.        
3479
3480         Tests: http/tests/css/border-image-loading.html
3481                http/tests/css/mask-image-loading.html
3482                http/tests/css/reflection-mask-image-loading.html
3483
3484         * GNUmakefile.am: Add StylePendingImage.h
3485         * WebCore.gypi: Ditto
3486         * WebCore.vcproj/WebCore.vcproj: Ditto
3487
3488         * css/CSSImageValue.h: Change m_image to a RefPtr<StyleImage>,
3489         since it may be a StylePendingImage or StyleCachedImage.
3490         * css/CSSImageValue.cpp:
3491         (WebCore::CSSImageValue::~CSSImageValue): Only call removeClient if it's a cachedImage.
3492         (WebCore::CSSImageValue::cachedOrPendingImage): If we have an image (pending or cached),
3493         return it. Otherwise make a pending image and return it.
3494         (WebCore::CSSImageValue::cachedImage): Only return the image if it's a cached image.
3495         (WebCore::CSSImageValue::cachedImageURL):
3496         (WebCore::CSSImageValue::clearCachedImage):
3497
3498         * css/CSSStyleSelector.h:
3499         * css/CSSStyleSelector.cpp:
3500         (WebCore::CSSStyleSelector::initForStyleResolve): Clear m_pendingImageProperties.
3501         (WebCore::CSSStyleSelector::styleForElement): Load pending images.
3502         (WebCore::CSSStyleSelector::styleForKeyframe): Ditto.
3503         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
3504         (WebCore::CSSStyleSelector::styleForPage): Ditto.
3505         (WebCore::CSSStyleSelector::applyProperty): Pull property into a local variable
3506         so we can use it in macros.
3507         (WebCore::CSSStyleSelector::mapFillAttachment): Pass the property down (needed to avoid
3508         additional macro complexity).
3509         (WebCore::CSSStyleSelector::mapFillClip): Ditto
3510         (WebCore::CSSStyleSelector::mapFillComposite): Ditto
3511         (WebCore::CSSStyleSelector::mapFillOrigin): Ditto
3512         (WebCore::CSSStyleSelector::styleImage): Call cachedOrPendingFromValue()
3513         (WebCore::CSSStyleSelector::cachedOrPendingFromValue): Get the cachedOrPendingImage()
3514         from the CSSValue, and if it's a pending image, record the property.
3515         (WebCore::CSSStyleSelector::mapFillImage): Pass the property down (needed to avoid
3516         additional macro complexity).
3517         (WebCore::CSSStyleSelector::mapFillRepeatX): Ditto
3518         (WebCore::CSSStyleSelector::mapFillRepeatY): Ditto
3519         (WebCore::CSSStyleSelector::mapFillSize): Ditto
3520         (WebCore::CSSStyleSelector::mapFillXPosition): Ditto
3521         (WebCore::CSSStyleSelector::mapFillYPosition): Ditto
3522         (WebCore::CSSStyleSelector::mapNinePieceImage): Ditto
3523         (WebCore::CSSStyleSelector::loadPendingImages): Iterate through the m_pendingImageProperties
3524         hash, and replace the pending images with cached images.
3525
3526         * rendering/style/StyleCachedImage.h: Make cssValue() const.
3527         * rendering/style/StyleCachedImage.cpp:
3528         (WebCore::StyleCachedImage::cssValue):
3529
3530      &nbs