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