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