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