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