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