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