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