Unreviewed, rolling out r106909.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r106909.
4         http://trac.webkit.org/changeset/106909
5         https://bugs.webkit.org/show_bug.cgi?id=77965
6
7         ~20 tests are crashing on chromium win release bot. (Requested
8         by loislo on #webkit).
9
10         * html/HTMLDetailsElement.cpp:
11         (WebCore::HTMLDetailsElement::createShadowSubtree):
12         * html/HTMLKeygenElement.cpp:
13         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
14         * html/HTMLMeterElement.cpp:
15         (WebCore::HTMLMeterElement::createShadowSubtree):
16         * html/HTMLProgressElement.cpp:
17         (WebCore::HTMLProgressElement::createShadowSubtree):
18         * html/HTMLSummaryElement.cpp:
19         (WebCore::HTMLSummaryElement::createShadowSubtree):
20         * html/HTMLTextAreaElement.cpp:
21         (WebCore::HTMLTextAreaElement::createShadowSubtree):
22
23 2012-02-07  Andreas Kling  <awesomekling@apple.com>
24
25         REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
26         <http://webkit.org/b/77952>
27
28         Reviewed by Andreas Kling.
29         Patch by Ryosuke Niwa.
30
31         The performance regression was caused by using ensureAttributeData() which forces the
32         regeneration of invalidated attributes ("style" and SVG animatable attributes.)
33         Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
34         of ElementAttributeData, not the validity of its contents. Use that when grabbing
35         at an element's inline and attribute styles.
36
37         * dom/Element.h:
38         (Element):
39         (WebCore::Element::ensureAttributeDataWithoutUpdate):
40         * dom/StyledElement.h:
41         (WebCore::StyledElement::ensureInlineStyleDecl):
42         (WebCore::StyledElement::ensureAttributeStyle):
43
44 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
45
46         [Qt][WK2] Compute and set cache capacities using the current CacheModel
47         https://bugs.webkit.org/show_bug.cgi?id=73918
48
49         Reviewed by Csaba Osztrogonác.
50
51         No new tests. (build fix).
52
53         * platform/qt/FileSystemQt.cpp:
54
55 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
56
57         [Qt][WK2] Compute and set cache capacities using the current CacheModel
58         https://bugs.webkit.org/show_bug.cgi?id=73918
59
60         Reviewed by Kenneth Rohde Christiansen.
61
62         No new tests. (Not applicable)
63
64         Added OS-specific implementation for retrieving the free disk space.
65
66         * platform/FileSystem.h:
67         (WebCore):
68         * platform/qt/FileSystemQt.cpp:
69         (WebCore::getVolumeFreeSizeForPath):
70         (WebCore):
71
72 2012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
73
74         [Inspector] Add the Nokia N9 user agent
75         https://bugs.webkit.org/show_bug.cgi?id=77949
76
77         Reviewed by Simon Hausmann.
78
79         * inspector/front-end/SettingsScreen.js:
80         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
81
82 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
83
84         [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
85         https://bugs.webkit.org/show_bug.cgi?id=77953
86
87         Reviewed by Andreas Kling.
88
89         * page/EventHandler.cpp:
90         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
91
92 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
93
94         Unreviewed, rolling out r106912.
95         http://trac.webkit.org/changeset/106912
96         https://bugs.webkit.org/show_bug.cgi?id=77947
97
98         "AppleWebKit build is broken" (Requested by haraken on
99         #webkit).
100
101         * dom/ScriptExecutionContext.cpp:
102         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
103         (WebCore):
104         * dom/ScriptExecutionContext.h:
105         (WebCore):
106         (ScriptExecutionContext):
107         * html/DOMURL.cpp:
108         (WebCore::DOMURL::DOMURL):
109         (WebCore):
110         (WebCore::DOMURL::~DOMURL):
111         (WebCore::DOMURL::contextDestroyed):
112         (WebCore::DOMURL::createObjectURL):
113         (WebCore::DOMURL::revokeObjectURL):
114         * html/DOMURL.h:
115         (WebCore::DOMURL::create):
116         (DOMURL):
117         * html/DOMURL.idl:
118         * html/PublicURLManager.h: Removed.
119         * page/DOMWindow.cpp:
120         (WebCore):
121         (WebCore::DOMWindow::webkitURL):
122         * page/DOMWindow.h:
123         (DOMWindow):
124         * page/DOMWindow.idl:
125         * workers/WorkerContext.cpp:
126         (WebCore):
127         (WebCore::WorkerContext::webkitURL):
128         * workers/WorkerContext.h:
129         (WorkerContext):
130         * workers/WorkerContext.idl:
131
132 2012-02-07  Kentaro Hara  <haraken@chromium.org>
133
134         Unreviewed, rolling out r106862.
135         http://trac.webkit.org/changeset/106862
136         https://bugs.webkit.org/show_bug.cgi?id=77510
137
138         Mac build fails if we manually remove generated code
139
140         * DerivedSources.make:
141         * bindings/scripts/generate-bindings.pl:
142         (generateEmptyHeaderAndCpp):
143         * bindings/scripts/resolve-supplemental.pl:
144         * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
145
146 2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
147
148         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
149         https://bugs.webkit.org/show_bug.cgi?id=74386
150
151         Reviewed by David Levin.
152
153         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
154         Already Existing:
155             fast/files/revoke-blob-url.html
156             fast/dom/window-domurl-crash.html
157             fast/files/apply-blob-url-to-img.html
158             fast/files/create-blob-url-crash.html
159             fast/files/workers/inline-worker-via-blob-url.html
160
161         * dom/ScriptExecutionContext.cpp:
162         (WebCore::ScriptExecutionContext::fileThread):
163         (WebCore):
164         (WebCore::ScriptExecutionContext::publicURLManager):
165         * dom/ScriptExecutionContext.h:
166         (WebCore):
167         (ScriptExecutionContext):
168         * html/DOMURL.cpp:
169         (WebCore):
170         (WebCore::DOMURL::createObjectURL): Changed to static.
171         (WebCore::DOMURL::revokeObjectURL): ditto.
172         * html/DOMURL.h:
173         (DOMURL):
174         (WebCore::DOMURL::create):
175         * html/DOMURL.idl:
176         * html/PublicURLManager.h: Added.
177         (WebCore):
178         (PublicURLManager):
179         (WebCore::PublicURLManager::create):
180         (WebCore::PublicURLManager::contextDestroyed):
181         (WebCore::PublicURLManager::blobURLs):
182         (WebCore::PublicURLManager::streamURLs):
183         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
184         (WebCore):
185         * page/DOMWindow.h: ditto.
186         (DOMWindow):
187         * page/DOMWindow.idl:
188         * workers/WorkerContext.cpp:
189         (WebCore):
190         * workers/WorkerContext.h:
191         (WorkerContext):
192         * workers/WorkerContext.idl:
193
194 2012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>
195
196         http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
197         https://bugs.webkit.org/show_bug.cgi?id=77661
198
199         Reviewed by Yury Semikhatsky.
200
201         * inspector/InspectorIndexedDBAgent.cpp:
202         (WebCore):
203
204 2012-02-07  Hayato Ito  <hayato@chromium.org>
205
206         Fix build on Mac with '--shadow-dom'.
207         https://bugs.webkit.org/show_bug.cgi?id=77940
208
209         Reviewed by Hajime Morita.
210
211         * WebCore.xcodeproj/project.pbxproj:
212
213 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
214
215         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
216         https://bugs.webkit.org/show_bug.cgi?id=77929
217
218         Reviewed by Hajime Morita.
219
220         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
221         So we want to remove Element::ensureShadowRoot().
222         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
223
224         No new tests, no change in behavior.
225
226         * html/HTMLDetailsElement.cpp:
227         (WebCore::HTMLDetailsElement::createShadowSubtree):
228         * html/HTMLKeygenElement.cpp:
229         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
230         * html/HTMLMeterElement.cpp:
231         (WebCore::HTMLMeterElement::createShadowSubtree):
232         * html/HTMLProgressElement.cpp:
233         (WebCore::HTMLProgressElement::createShadowSubtree):
234         * html/HTMLSummaryElement.cpp:
235         (WebCore::HTMLSummaryElement::createShadowSubtree):
236         * html/HTMLTextAreaElement.cpp:
237         (WebCore::HTMLTextAreaElement::createShadowSubtree):
238
239 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
240
241         Remove Element::ensureShadowRoot export.
242         https://bugs.webkit.org/show_bug.cgi?id=77932
243
244         Reviewed by Hajime Morita.
245
246         Removes Element::ensureShadowRoot export.
247
248         No new tests, no change in behavior.
249
250         * WebCore.exp.in:
251
252 2012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
253
254         Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
255
256         * inspector/front-end/DetailedHeapshotGridNodes.js:
257         * inspector/front-end/HeapSnapshot.js:
258         (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
259         (WebInspector.HeapSnapshot.prototype._init):
260
261 2012-02-06  Hayato Ito  <hayato@chromium.org>
262
263         Implement querySelector on ShadowRoot.
264         https://bugs.webkit.org/show_bug.cgi?id=77714
265
266         Reviewed by Dimitri Glazkov.
267
268         * dom/SelectorQuery.cpp:
269         (WebCore::nodeIsRootNodeOfTreeScope):
270         (WebCore):
271         (WebCore::SelectorDataList::execute):
272
273 2012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>
274
275         [GTK] Add TextureMapperGL implementation
276         https://bugs.webkit.org/show_bug.cgi?id=75308
277
278         Reviewed by Alejandro G. Castro.
279
280         No new tests. This will be covered by accelerated compositing and
281         3D CSS transform tests eventually.
282
283         * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
284         * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
285         * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
286         * platform/graphics/gtk/WindowGLContext.h: Added.
287         * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
288         * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
289
290 2012-02-06  Emil A Eklund  <eae@chromium.org>
291
292         Change baselinePosition and lineHeight to LayoutUnit
293         https://bugs.webkit.org/show_bug.cgi?id=77905
294
295         Reviewed by Eric Seidel.
296
297         Change the virtual baselinePosition and lineHeight methods to return
298         LayoutUnits as they are both computed from the height and top/bottom
299         margins (or width and left/right margins for vertical text), all of
300         which are LayoutUnits.
301
302         No new tests.
303
304         * platform/efl/RenderThemeEfl.cpp:
305         (WebCore::RenderThemeEfl::baselinePosition):
306         * platform/efl/RenderThemeEfl.h:
307         (RenderThemeEfl):
308         * platform/gtk/RenderThemeGtk.cpp:
309         (WebCore::RenderThemeGtk::baselinePosition):
310         * platform/gtk/RenderThemeGtk.h:
311         (RenderThemeGtk):
312         * platform/qt/RenderThemeQt.cpp:
313         (WebCore::RenderThemeQt::baselinePosition):
314         * platform/qt/RenderThemeQt.h:
315         (RenderThemeQt):
316         * rendering/RenderListMarker.cpp:
317         (WebCore::RenderListMarker::lineHeight):
318         (WebCore::RenderListMarker::baselinePosition):
319         * rendering/RenderListMarker.h:
320         (RenderListMarker):
321         * rendering/RenderSlider.cpp:
322         (WebCore::RenderSlider::baselinePosition):
323         * rendering/RenderSlider.h:
324         (RenderSlider):
325         * rendering/RootInlineBox.h:
326         (WebCore::RootInlineBox::baselinePosition):
327         (WebCore::RootInlineBox::lineHeight):
328         * rendering/mathml/RenderMathMLFraction.cpp:
329         (WebCore::RenderMathMLFraction::baselinePosition):
330         * rendering/mathml/RenderMathMLFraction.h:
331         (RenderMathMLFraction):
332         * rendering/mathml/RenderMathMLOperator.cpp:
333         (WebCore::RenderMathMLOperator::baselinePosition):
334         * rendering/mathml/RenderMathMLOperator.h:
335         (RenderMathMLOperator):
336         * rendering/mathml/RenderMathMLRow.cpp:
337         (WebCore::RenderMathMLRow::baselinePosition):
338         * rendering/mathml/RenderMathMLRow.h:
339         (RenderMathMLRow):
340         * rendering/mathml/RenderMathMLSubSup.cpp:
341         (WebCore::RenderMathMLSubSup::baselinePosition):
342         * rendering/mathml/RenderMathMLSubSup.h:
343         (RenderMathMLSubSup):
344         * rendering/mathml/RenderMathMLUnderOver.cpp:
345         (WebCore::RenderMathMLUnderOver::baselinePosition):
346         * rendering/mathml/RenderMathMLUnderOver.h:
347         (RenderMathMLUnderOver):
348
349 2012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>
350
351         Avoid Page::updateViewportArguments() if the causing frame is not the main frame
352         https://bugs.webkit.org/show_bug.cgi?id=77387
353
354         Reviewed by Kenneth Rohde Christiansen.
355
356         * dom/Document.cpp:
357         (WebCore::Document::processViewport):
358         (WebCore::Document::updateViewportArguments):
359         (WebCore::Document::setInPageCache):
360         * dom/Document.h:
361         (Document):
362         * html/HTMLBodyElement.cpp:
363         (WebCore::HTMLBodyElement::insertedIntoDocument):
364         * page/Frame.cpp:
365         (WebCore::Frame::setDocument):
366         * page/Page.cpp:
367         (WebCore::Page::viewportArguments):
368         (WebCore):
369         * page/Page.h:
370         (Page):
371
372 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
373
374         Fix some miscellaneous 'make dist' error for WebKitGTK+.
375
376         * GNUmakefile.list.am: Add some missing Shadow DOM files to the
377         source list.
378
379 2012-02-06  Dana Jansens  <danakj@chromium.org>
380
381         Add contains() test to Region
382         https://bugs.webkit.org/show_bug.cgi?id=72294
383
384         Reviewed by Anders Carlsson.
385
386         * platform/graphics/Region.cpp:
387         (WebCore::Region::contains):
388         (WebCore):
389         * platform/graphics/Region.h:
390         (Region):
391         (Shape):
392         (WebCore::operator==):
393         (WebCore):
394
395 2012-02-06  Kentaro Hara  <haraken@chromium.org>
396
397         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
398         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
399         https://bugs.webkit.org/show_bug.cgi?id=77852
400
401         Reviewed by Adam Barth.
402
403         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
404         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
405
406         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
407         constant value is equal to the expected constant value)
408         [ReturnsNew] => [ReturnNewObject] (For clarification)
409         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
410         with other [*Getter] IDLs)
411         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
412         with other [*Setter] IDLs)
413         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
414         name in implementation)
415
416         No tests. No change in behavior.
417
418         * bindings/scripts/CodeGenerator.pm:
419         (ShouldCheckEnums):
420         (GenerateCompileTimeCheckForEnumsIfNeeded):
421         * bindings/scripts/CodeGeneratorJS.pm:
422         (GenerateHeader):
423         (GenerateImplementation):
424         (NativeToJSValue):
425         * bindings/scripts/CodeGeneratorV8.pm:
426         (GenerateSingleBatchedAttribute):
427         (GenerateFunctionCallString):
428         (NativeToJSValue):
429
430         * bindings/scripts/test/TestObj.idl:
431         * bindings/scripts/test/TestTypedArray.idl:
432
433         * bindings/scripts/test/JS/JSTestInterface.cpp:
434         (WebCore):
435         * bindings/scripts/test/JS/JSTestObj.cpp:
436         (WebCore):
437         * bindings/scripts/test/V8/V8TestInterface.cpp:
438         (WebCore):
439         * bindings/scripts/test/V8/V8TestObj.cpp:
440         (WebCore):
441
442         * css/WebKitCSSFilterValue.idl:
443         * css/WebKitCSSTransformValue.idl:
444         * dom/DOMCoreException.idl:
445         * dom/Document.idl:
446         * dom/EventException.idl:
447         * dom/RangeException.idl:
448         * fileapi/FileException.idl:
449         * fileapi/OperationNotAllowedException.idl:
450         * html/HTMLFormElement.idl:
451         * html/canvas/Float32Array.idl:
452         * html/canvas/Float64Array.idl:
453         * html/canvas/Int16Array.idl:
454         * html/canvas/Int32Array.idl:
455         * html/canvas/Int8Array.idl:
456         * html/canvas/OESStandardDerivatives.idl:
457         * html/canvas/OESVertexArrayObject.idl:
458         * html/canvas/Uint16Array.idl:
459         * html/canvas/Uint32Array.idl:
460         * html/canvas/Uint8Array.idl:
461         * html/canvas/Uint8ClampedArray.idl:
462         * html/canvas/WebGLCompressedTextures.idl:
463         * html/canvas/WebGLDebugRendererInfo.idl:
464         * html/canvas/WebGLRenderingContext.idl:
465         * inspector/JavaScriptCallFrame.idl:
466         * loader/appcache/DOMApplicationCache.idl:
467         * page/Console.idl:
468         * page/DOMWindow.idl:
469         * page/Location.idl:
470         * storage/IDBCursor.idl:
471         * storage/IDBDatabaseException.idl:
472         * storage/IDBObjectStore.idl:
473         * storage/SQLException.idl:
474         * svg/SVGComponentTransferFunctionElement.idl:
475         * svg/SVGException.idl:
476         * svg/SVGFEBlendElement.idl:
477         * svg/SVGFEColorMatrixElement.idl:
478         * svg/SVGFECompositeElement.idl:
479         * svg/SVGFEConvolveMatrixElement.idl:
480         * svg/SVGFEDisplacementMapElement.idl:
481         * svg/SVGFEMorphologyElement.idl:
482         * svg/SVGFETurbulenceElement.idl:
483         * svg/SVGGradientElement.idl:
484         * xml/XMLHttpRequestException.idl:
485         * xml/XPathException.idl:
486
487 2012-02-06  James Robinson  <jamesr@chromium.org>
488
489         [chromium] canvas demo is slow due to unnecessary resource cleanups
490         https://bugs.webkit.org/show_bug.cgi?id=77135
491
492         Reviewed by Kenneth Russell.
493
494         This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
495         TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
496         particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
497         ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
498         rebuild the compositing tree frequently.
499
500         New unit test added for ManagedTexture / TextureManager interaction.
501
502         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
503         (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
504         (WebCore::Canvas2DLayerChromium::setTextureManager):
505         * platform/graphics/chromium/Canvas2DLayerChromium.h:
506         (Canvas2DLayerChromium):
507         * platform/graphics/chromium/LayerChromium.cpp:
508         (WebCore::LayerChromium::setLayerTreeHost):
509         * platform/graphics/chromium/LayerChromium.h:
510         (LayerChromium):
511         * platform/graphics/chromium/ManagedTexture.cpp:
512         (WebCore::ManagedTexture::setTextureManager):
513         (WebCore):
514         (WebCore::ManagedTexture::steal):
515         (WebCore::ManagedTexture::clear):
516         * platform/graphics/chromium/ManagedTexture.h:
517         (ManagedTexture):
518         * platform/graphics/chromium/RenderSurfaceChromium.h:
519         (RenderSurfaceChromium):
520         * platform/graphics/chromium/TiledLayerChromium.cpp:
521         (WebCore::TiledLayerChromium::setLayerTreeHost):
522         (WebCore):
523         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
524         * platform/graphics/chromium/TiledLayerChromium.h:
525
526 2012-02-06  Kentaro Hara  <haraken@chromium.org>
527
528         Unreviewed, rolling out r106883.
529         http://trac.webkit.org/changeset/106883
530         https://bugs.webkit.org/show_bug.cgi?id=77852
531
532         build failure around Chromium V8 bindings
533
534         * bindings/scripts/CodeGenerator.pm:
535         (ShouldCheckEnums):
536         (GenerateCompileTimeCheckForEnumsIfNeeded):
537         * bindings/scripts/CodeGeneratorJS.pm:
538         (GenerateHeader):
539         (GenerateImplementation):
540         (NativeToJSValue):
541         * bindings/scripts/CodeGeneratorV8.pm:
542         (GenerateSingleBatchedAttribute):
543         (GenerateFunctionCallString):
544         (NativeToJSValue):
545         * bindings/scripts/test/JS/JSTestInterface.cpp:
546         (WebCore):
547         * bindings/scripts/test/JS/JSTestObj.cpp:
548         (WebCore):
549         * bindings/scripts/test/TestObj.idl:
550         * bindings/scripts/test/TestTypedArray.idl:
551         * bindings/scripts/test/V8/V8TestInterface.cpp:
552         (WebCore):
553         * bindings/scripts/test/V8/V8TestObj.cpp:
554         (WebCore):
555         * css/WebKitCSSFilterValue.idl:
556         * css/WebKitCSSTransformValue.idl:
557         * dom/DOMCoreException.idl:
558         * dom/Document.idl:
559         * dom/EventException.idl:
560         * dom/RangeException.idl:
561         * fileapi/FileException.idl:
562         * fileapi/OperationNotAllowedException.idl:
563         * html/HTMLFormElement.idl:
564         * html/canvas/Float32Array.idl:
565         * html/canvas/Float64Array.idl:
566         * html/canvas/Int16Array.idl:
567         * html/canvas/Int32Array.idl:
568         * html/canvas/Int8Array.idl:
569         * html/canvas/OESStandardDerivatives.idl:
570         * html/canvas/OESVertexArrayObject.idl:
571         * html/canvas/Uint16Array.idl:
572         * html/canvas/Uint32Array.idl:
573         * html/canvas/Uint8Array.idl:
574         * html/canvas/Uint8ClampedArray.idl:
575         * html/canvas/WebGLCompressedTextures.idl:
576         * html/canvas/WebGLDebugRendererInfo.idl:
577         * html/canvas/WebGLRenderingContext.idl:
578         * inspector/JavaScriptCallFrame.idl:
579         * loader/appcache/DOMApplicationCache.idl:
580         * page/Console.idl:
581         * page/DOMWindow.idl:
582         * page/Location.idl:
583         * storage/IDBCursor.idl:
584         * storage/IDBDatabaseException.idl:
585         * storage/IDBObjectStore.idl:
586         * storage/SQLException.idl:
587         * svg/SVGComponentTransferFunctionElement.idl:
588         * svg/SVGException.idl:
589         * svg/SVGFEBlendElement.idl:
590         * svg/SVGFEColorMatrixElement.idl:
591         * svg/SVGFECompositeElement.idl:
592         * svg/SVGFEConvolveMatrixElement.idl:
593         * svg/SVGFEDisplacementMapElement.idl:
594         * svg/SVGFEMorphologyElement.idl:
595         * svg/SVGFETurbulenceElement.idl:
596         * svg/SVGGradientElement.idl:
597         * xml/XMLHttpRequestException.idl:
598         * xml/XPathException.idl:
599
600 2012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>
601
602         WebGL must allocate smaller drawing buffer when the allocation fails. 
603         https://bugs.webkit.org/show_bug.cgi?id=76654
604
605         Reviewed by Kenneth Russell.
606
607         Test: fast/canvas/webgl/drawingbuffer-test.html
608
609         * platform/graphics/gpu/DrawingBuffer.cpp:
610         (WebCore):
611         (WebCore::DrawingBuffer::create):
612         (WebCore::DrawingBuffer::reset):
613
614 2012-02-06  Kentaro Hara  <haraken@chromium.org>
615
616         Unreviewed. Rebaselined run-bindings-tests results.
617
618         * bindings/scripts/test/V8/V8TestObj.cpp:
619         (WebCore::TestObjInternal::optionsObjectCallback):
620
621 2012-02-06  Levi Weintraub  <leviw@chromium.org>
622
623         Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
624         https://bugs.webkit.org/show_bug.cgi?id=77891
625
626         Reviewed by Darin Adler.
627
628         Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
629         directories to properly use LayoutUnits vs ints.
630
631         No new tests. No new behavior.
632
633         * accessibility/AccessibilityObject.h:
634         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
635         (WebCore::AccessibilityObject::doAXBoundsForRange):
636         * accessibility/AccessibilityRenderObject.cpp:
637         (WebCore::AccessibilityRenderObject::isOffScreen):
638         (WebCore::AccessibilityRenderObject::clickPoint):
639         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
640         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
641         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
642         * accessibility/AccessibilityRenderObject.h:
643         (AccessibilityRenderObject):
644         * accessibility/AccessibilitySlider.cpp:
645         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
646         * accessibility/AccessibilitySlider.h:
647         (AccessibilitySlider):
648         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
649         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
650         * css/CSSComputedStyleDeclaration.cpp:
651         (WebCore::computedTransform):
652         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
653         * dom/Clipboard.h:
654         (WebCore::Clipboard::dragLocation):
655         (Clipboard):
656         * dom/DocumentMarkerController.cpp:
657         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
658         * dom/DocumentMarkerController.h:
659         * dom/Element.cpp:
660         (WebCore::Element::screenRect):
661         * dom/Element.h:
662         (Element):
663         * editing/Editor.cpp:
664         (WebCore::Editor::rangeForPoint):
665         (WebCore::Editor::firstRectForRange):
666         * editing/RenderedPosition.cpp:
667         (WebCore::RenderedPosition::absoluteRect):
668         * editing/RenderedPosition.h:
669         (WebCore::RenderedPosition::absoluteRect):
670         (RenderedPosition):
671         * editing/VisiblePosition.h:
672         (VisiblePosition):
673         * inspector/DOMNodeHighlighter.cpp:
674         * loader/SubframeLoader.cpp:
675         (WebCore::SubframeLoader::createJavaAppletWidget):
676         * loader/SubframeLoader.h:
677         (SubframeLoader):
678         * page/EventHandler.cpp:
679         (WebCore::EventHandler::handleMousePressEvent):
680         * page/Frame.cpp:
681         (WebCore::Frame::nodeImage):
682         * page/win/FrameCGWin.cpp:
683         (WebCore::Frame::nodeImage):
684
685 2012-02-05  Kentaro Hara  <haraken@chromium.org>
686
687         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
688         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
689         https://bugs.webkit.org/show_bug.cgi?id=77852
690
691         Reviewed by Adam Barth.
692
693         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
694         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
695
696         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
697         constant value is equal to the expected constant value)
698         [ReturnsNew] => [ReturnNewObject] (For clarification)
699         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
700         with other [*Getter] IDLs)
701         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
702         with other [*Setter] IDLs)
703         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
704         name in implementation)
705
706         No tests. No change in behavior.
707
708         * bindings/scripts/CodeGenerator.pm:
709         (ShouldCheckEnums):
710         (GenerateCompileTimeCheckForEnumsIfNeeded):
711         * bindings/scripts/CodeGeneratorJS.pm:
712         (GenerateHeader):
713         (GenerateImplementation):
714         (NativeToJSValue):
715         * bindings/scripts/CodeGeneratorV8.pm:
716         (GenerateSingleBatchedAttribute):
717         (GenerateFunctionCallString):
718         (NativeToJSValue):
719
720         * bindings/scripts/test/TestObj.idl:
721         * bindings/scripts/test/TestTypedArray.idl:
722
723         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
724         (WebCore):
725         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
726         (WebCore):
727         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
728         (WebCore):
729         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
730         (WebCore):
731
732         * bindings/scripts/test/TestObj.idl:
733         * bindings/scripts/test/TestTypedArray.idl:
734         * css/WebKitCSSFilterValue.idl:
735         * css/WebKitCSSTransformValue.idl:
736         * dom/DOMCoreException.idl:
737         * dom/Document.idl:
738         * dom/EventException.idl:
739         * dom/RangeException.idl:
740         * fileapi/FileException.idl:
741         * fileapi/OperationNotAllowedException.idl:
742         * html/HTMLFormElement.idl:
743         * html/canvas/Float32Array.idl:
744         * html/canvas/Float64Array.idl:
745         * html/canvas/Int16Array.idl:
746         * html/canvas/Int32Array.idl:
747         * html/canvas/Int8Array.idl:
748         * html/canvas/OESStandardDerivatives.idl:
749         * html/canvas/OESVertexArrayObject.idl:
750         * html/canvas/Uint16Array.idl:
751         * html/canvas/Uint32Array.idl:
752         * html/canvas/Uint8Array.idl:
753         * html/canvas/Uint8ClampedArray.idl:
754         * html/canvas/WebGLCompressedTextures.idl:
755         * html/canvas/WebGLDebugRendererInfo.idl:
756         * html/canvas/WebGLRenderingContext.idl:
757         * inspector/JavaScriptCallFrame.idl:
758         * loader/appcache/DOMApplicationCache.idl:
759         * page/Console.idl:
760         * page/DOMWindow.idl:
761         * page/Location.idl:
762         * storage/IDBCursor.idl:
763         * storage/IDBDatabaseException.idl:
764         * storage/IDBObjectStore.idl:
765         * storage/SQLException.idl:
766         * svg/SVGComponentTransferFunctionElement.idl:
767         * svg/SVGException.idl:
768         * svg/SVGFEBlendElement.idl:
769         * svg/SVGFEColorMatrixElement.idl:
770         * svg/SVGFECompositeElement.idl:
771         * svg/SVGFEConvolveMatrixElement.idl:
772         * svg/SVGFEDisplacementMapElement.idl:
773         * svg/SVGFEMorphologyElement.idl:
774         * svg/SVGFETurbulenceElement.idl:
775         * svg/SVGGradientElement.idl:
776         * xml/XMLHttpRequestException.idl:
777
778 2012-02-06  Stephen Chenney  <schenney@chromium.org>
779
780         RenderSVGShape::strokeContains will fail for some strokes
781         https://bugs.webkit.org/show_bug.cgi?id=76931
782
783         Reviewed by Darin Adler.
784
785         Adding support for rounded zero-length endcaps for SVG path hit
786         testing.
787
788         Tests: svg/hittest/zero-length-butt-cap-path.xhtml
789                svg/hittest/zero-length-round-cap-path.xhtml
790                svg/hittest/zero-length-square-cap-path.xhtml
791
792         * rendering/svg/RenderSVGShape.cpp:
793         (WebCore::RenderSVGShape::strokeContains):
794
795 2012-02-06  Gregg Tavares  <gman@google.com>
796
797         Add webGLErrorsToConsoleEnabled Settings flag
798         https://bugs.webkit.org/show_bug.cgi?id=77696
799
800         Reviewed by Kenneth Russell.
801
802         No new tests as there is no change in behavior.
803
804         * html/canvas/WebGLRenderingContext.cpp:
805         (WebCore):
806         (WebCore::WebGLRenderingContext::setupFlags):
807         * page/Settings.cpp:
808         (WebCore::Settings::Settings):
809         * page/Settings.h:
810         (Settings):
811         (WebCore::Settings::webGLErrorsToConsoleEnabled):
812
813 2012-02-06  Emil A Eklund  <eae@chromium.org>
814
815         Convert PopupMenuClient::clientPadding over to new layout abstraction
816         https://bugs.webkit.org/show_bug.cgi?id=77798
817
818         Reviewed by Eric Seidel.
819
820         Change PopupMenuClient and all classes inheriting from it to use the new
821         layout types for padding.
822
823         No new tests.
824
825         * platform/PopupMenuClient.h:
826         (PopupMenuClient):
827         * rendering/RenderMenuList.h:
828         * rendering/RenderTextControlSingleLine.cpp:
829         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
830         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
831         * rendering/RenderTextControlSingleLine.h:
832
833 2012-02-06  Philip Rogers  <pdr@google.com>
834
835         Fix color animations by value
836         https://bugs.webkit.org/show_bug.cgi?id=77812
837
838         Reviewed by Darin Adler.
839
840         Test: svg/animations/animate-color-fill-from-by.html
841
842         * svg/SVGAnimatedColor.cpp:
843         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
844
845 2012-02-03  Jer Noble  <jer.noble@apple.com>
846
847         REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
848         https://bugs.webkit.org/show_bug.cgi?id=77288
849
850         Reviewed by Darin Adler.
851
852         Test: media/video-mouse-focus.html
853
854         Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
855         and returning false.
856
857         * html/HTMLMediaElement.cpp:
858         (WebCore::HTMLMediaElement::isMouseFocusable):
859         * html/HTMLMediaElement.h:
860
861 2012-02-06  Anders Carlsson  <andersca@apple.com>
862
863         Overlay scrollbars flash when window is simply activated
864         https://bugs.webkit.org/show_bug.cgi?id=77911
865         <rdar://problem/10211995>
866
867         Reviewed by Kenneth Russell.
868
869         Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
870         that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
871         we only want to flash scrollers when the window becomes visible.
872
873         * WebCore.exp.in:
874         * page/FocusController.cpp:
875         (WebCore::FocusController::FocusController):
876         (WebCore::FocusController::setActive):
877         (WebCore::FocusController::setContainingWindowIsVisible):
878         (WebCore):
879         * page/FocusController.h:
880         (FocusController):
881         (WebCore::FocusController::containingWindowIsVisible):
882
883         * platform/mac/ScrollAnimatorMac.mm:
884         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
885         Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
886
887 2012-02-06  Greg Simon  <gregsimon@chromium.org>
888
889         postMessage leaks MemoryEvent object
890         https://bugs.webkit.org/show_bug.cgi?id=77893
891
892         Reviewed by Adam Barth.
893
894         Changed from PassRefPtr().leakRef() to RefPtr.get() when 
895         calling into FrameLoaderClient to stop +1 extra ref.
896
897         * page/DOMWindow.cpp:
898         (WebCore::DOMWindow::postMessageTimerFired):
899
900 2012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>
901
902         WebGL conformance test misc/functions-returning-strings.html fails
903         https://bugs.webkit.org/show_bug.cgi?id=77149
904
905         Make sure that WebGL methods returning strings don't return null when
906         they run successfully.
907
908         Reviewed by Kenneth Russell.
909
910         Test: fast/canvas/webgl/functions-returning-strings.html
911
912         * html/canvas/WebGLRenderingContext.cpp:
913         (WebCore):
914         (WebCore::WebGLRenderingContext::getProgramInfoLog):
915         (WebCore::WebGLRenderingContext::getShaderInfoLog):
916         (WebCore::WebGLRenderingContext::getShaderSource):
917         (WebCore::WebGLRenderingContext::ensureNotNull):
918         * html/canvas/WebGLRenderingContext.h:
919         (WebGLRenderingContext):
920
921 2012-02-06  Enrica Casucci  <enrica@apple.com>
922
923         Refactor Mac platform implementation of the Pasteboard class.
924         https://bugs.webkit.org/show_bug.cgi?id=77567
925         
926         The goal of this change is to remove the majority of the methods in
927         the class interface that are Mac specific.
928         writeSelectionForTypes has been left to support OS X services.
929         Some of the methods have been turned into static functions.
930         The method asURL was being used only by the DragData class and its
931         implementation has been moved there.
932         This is a first step in the direction of removing NSPasteboard access from
933         the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
934         leaving the WebKit1 behavior unchanged.
935
936         Reviewed by Alexey Proskuryakov.
937
938         No new tests. No changes in behavior.
939
940         * platform/Pasteboard.h: Removed most of the Mac specific methods.
941         * platform/mac/ClipboardMac.mm:
942         (WebCore::ClipboardMac::writeRange):
943         (WebCore::ClipboardMac::writeURL):
944         * platform/mac/DragDataMac.mm:
945         (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
946         because we only want to handle the case of single file, otherwise the user
947         doesn't know which of the files has been chosen.
948         * platform/mac/PasteboardMac.mm:
949         (WebCore::writeURLForTypes):
950         (WebCore::Pasteboard::writeURL):
951         (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
952         (WebCore::Pasteboard::writeImage):
953         (WebCore::documentFragmentWithImageResource): Ditto.
954         (WebCore::documentFragmentWithRTF): Ditto.
955         (WebCore::Pasteboard::documentFragment):
956
957 2012-02-06  James Robinson  <jamesr@chromium.org>
958
959         [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
960         https://bugs.webkit.org/show_bug.cgi?id=77910
961
962         Reviewed by Kenneth Russell.
963
964         When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
965         This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
966         ASSERT()s, as well as saves some memory.
967
968         New unit test added to TiledLayerChromiumTest.
969
970         * platform/graphics/chromium/TiledLayerChromium.cpp:
971         (WebCore::TiledLayerChromium::invalidateRect):
972         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
973         (WebCore::CCLayerTilingData::setBounds):
974
975 2012-02-06  Chris Rogers  <crogers@google.com>
976
977         zvmul incorrectly multiplies complex arrays on Windows.
978         https://bugs.webkit.org/show_bug.cgi?id=77900
979
980         Reviewed by Kenneth Russell.
981
982         * platform/audio/VectorMath.cpp:
983         (WebCore::VectorMath::zvmul):
984
985 2012-02-06  Andreas Kling  <awesomekling@apple.com>
986
987         REGRESSION(r106756): 10% performance hit on DOM/Template.
988         <http://webkit.org/b/77831>
989
990         Reviewed by Ryosuke Niwa.
991
992         Let the StylePropertySet used for element attribute style have the element as its parent.
993         This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
994         some of the internal logic with inline styles.
995
996         In the end, this means that CSSParser will now pick up the document's CSSValuePool when
997         parsing properties for attribute styles, which fixes the perf regression from r106756.
998
999         * css/StylePropertySet.cpp:
1000         (WebCore::StylePropertySet::StylePropertySet):
1001         (WebCore::StylePropertySet::contextStyleSheet):
1002
1003             Find contextStyleSheet via the parentElement() when there is one.
1004
1005         (WebCore::StylePropertySet::setNeedsStyleRecalc):
1006
1007             Always set FullStyleChange for attribute style mutations. We can probably use the
1008             same lighter invalidation as inline styles, but that's a topic for another patch.
1009
1010         * css/StylePropertySet.h:
1011         (WebCore::StylePropertySet::createInline):
1012         (WebCore::StylePropertySet::createAttributeStyle):
1013         (WebCore::StylePropertySet::parentRuleInternal):
1014         (WebCore::StylePropertySet::clearParentRule):
1015         (StylePropertySet):
1016         (WebCore::StylePropertySet::parentElement):
1017         (WebCore::StylePropertySet::clearParentElement):
1018
1019             Added m_parentIsElement bit and update assertions as appropriate to not just
1020             cover the inline style case. Added a createAttributeStyle() helper to create
1021             a StylePropertySet for use as Element::attributeStyle().
1022
1023         * dom/StyledElement.h:
1024         * dom/ElementAttributeData.h:
1025         * dom/ElementAttributeData.cpp:
1026         (WebCore::ElementAttributeData::ensureAttributeStyle):
1027
1028             Use StylePropertySet::createAttributeStyle().
1029
1030         * dom/StyledElement.cpp:
1031         (WebCore::StyledElement::removeCSSProperties):
1032         (WebCore::StyledElement::addCSSProperty):
1033         (WebCore::StyledElement::addCSSImageProperty):
1034
1035             Remove setNeedsStyleRecalc() calls since that is now handled automatically by
1036             StylePropertySet's mutation methods.
1037
1038 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1039
1040         In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
1041         https://bugs.webkit.org/show_bug.cgi?id=77510
1042
1043         Reviewed by Adam Barth.
1044
1045         Currently, if any IDL file is updated, all IDL files are rebuilt.
1046         This patch stops rebuilding IDL files which are not modified nor
1047         whose supplemental dependencies are not changed.
1048
1049         The new build flow is as follows:
1050
1051             supplemental.dep : $(ALL_IDLS)
1052                 perl resolve-supplemental.pl ...
1053
1054             %.idl-needs-rebuild : %.idl supplemental.dep
1055                 perl update-idl-needs-rebuild.pl ...
1056
1057             JS%.cpp : %.idl-needs-rebuild
1058                 perl generate-bindings.pl ...
1059
1060         resolve-supplemental.pl generates the following supplemental.dep.
1061         The number in () is the last access timestamp of the file.
1062
1063             A.idl(1200)
1064             B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
1065             C.idl(1000)
1066
1067         update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
1068         if X.idl-needs-rebuild is older than X.idl or the IDL files which are
1069         supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
1070         B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
1071         and B.idl-needs-rebuild will be touched.
1072
1073         Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
1074         but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
1075         will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
1076         generate-bindings.pl will run for the IDL files which are modified or whose
1077         dependencies are changed.
1078
1079         No tests. I manually confirmed the followings:
1080         - Touch Element.idl, then only Element.idl is rebuilt
1081         - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
1082         - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
1083
1084         * DerivedSources.make: Modified the build flow as described above.
1085         * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
1086         * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
1087         the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
1088         (touch):
1089
1090 2012-02-06  Wei James  <james.wei@intel.com>
1091
1092         AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
1093         https://bugs.webkit.org/show_bug.cgi?id=77609
1094
1095         Reviewed by Kenneth Russell.
1096
1097         Test: webaudio/stereo2mono-down-mixing.html
1098
1099         * platform/audio/AudioBus.cpp:
1100         (WebCore):
1101         (WebCore::AudioBus::copyFrom):
1102         (WebCore::AudioBus::sumFrom):
1103
1104 2012-02-06  Cris Neckar  <cdn@chromium.org>
1105
1106         Add RefPtrs for parent and sibling counter nodes
1107         https://bugs.webkit.org/show_bug.cgi?id=75212
1108
1109         Reviewed by Adam Barth.
1110
1111         Test: fast/css/counters/reparent-table-children-with-counters-crash.html
1112
1113         * rendering/RenderCounter.cpp:
1114         (WebCore::findPlaceForCounter):
1115         (WebCore::makeCounterNode):
1116         (WebCore::updateCounters):
1117
1118 2012-02-06  Kalev Lember  <kalevlember@gmail.com>
1119
1120         [GTK] Add missing pango include dir to fix build
1121         https://bugs.webkit.org/show_bug.cgi?id=77832
1122
1123         Reviewed by Martin Robinson.
1124
1125         * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
1126
1127 2012-02-06  Jochen Eisinger  <jochen@chromium.org>
1128
1129         Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
1130         https://bugs.webkit.org/show_bug.cgi?id=77370
1131
1132         Reviewed by Adam Barth.
1133
1134         I don't have a working reproduction of the crash yet. As soon as I have
1135         one,  I will add new layout tests.
1136
1137         * bindings/v8/PageScriptDebugServer.cpp:
1138         (WebCore::PageScriptDebugServer::addListener):
1139         * bindings/v8/ScheduledAction.cpp:
1140         (WebCore::ScheduledAction::execute):
1141         * bindings/v8/ScriptCachedFrameData.cpp:
1142         (WebCore::ScriptCachedFrameData::restore):
1143         * page/DOMTimer.cpp:
1144         (WebCore::DOMTimer::DOMTimer): remove temporary debug code
1145
1146 2012-02-06  James Robinson  <jamesr@chromium.org>
1147
1148         Support detaching TextureManager from ManagedTexture
1149         https://bugs.webkit.org/show_bug.cgi?id=77655
1150
1151         Reviewed by Kenneth Russell.
1152         Initial patch by Alok Priyadarshi.
1153
1154         TextureManager now holds references to the textures it manages.
1155         This allows TextureManager to inform managed textures when it gets deleted
1156         so that the texture that outlive the TextureManager can handle the situation gracefully.
1157
1158         Unit test in TextureManagerTest.cpp
1159
1160         * platform/graphics/chromium/ManagedTexture.cpp:
1161         (WebCore::ManagedTexture::ManagedTexture):
1162         (WebCore::ManagedTexture::~ManagedTexture):
1163         (WebCore):
1164         (WebCore::ManagedTexture::managerWillDie):
1165         (WebCore::ManagedTexture::isValid):
1166         (WebCore::ManagedTexture::reserve):
1167         (WebCore::ManagedTexture::unreserve):
1168         (WebCore::ManagedTexture::steal):
1169         (WebCore::ManagedTexture::reset):
1170         * platform/graphics/chromium/ManagedTexture.h:
1171         (WebCore::ManagedTexture::manager):
1172         (ManagedTexture):
1173         (WebCore::ManagedTexture::isReserved):
1174         * platform/graphics/chromium/TextureManager.cpp:
1175         (WebCore::TextureManager::~TextureManager):
1176         (WebCore):
1177         (WebCore::TextureManager::setPreferredMemoryLimitBytes):
1178         (WebCore::TextureManager::registerTexture):
1179         (WebCore::TextureManager::unregisterTexture):
1180         * platform/graphics/chromium/TextureManager.h:
1181         (WebCore):
1182         (TextureManager):
1183
1184 2012-02-06  Anders Carlsson  <andersca@apple.com>
1185
1186         Wheel event handler count not updated when adding handlers to the window
1187         https://bugs.webkit.org/show_bug.cgi?id=77895
1188
1189         Reviewed by Dan Bernstein.
1190
1191         Test: fast/events/wheelevent-handler-count.html
1192
1193         * page/DOMWindow.cpp:
1194         (WebCore::DOMWindow::addEventListener):
1195         (WebCore::DOMWindow::removeEventListener):
1196         Update the wheel event count.
1197
1198         * testing/Internals.cpp:
1199         (WebCore::Internals::wheelEventHandlerCount):
1200         * testing/Internals.h:
1201         * testing/Internals.idl:
1202         Add wheelEventHandlerCount to window.internals.
1203
1204 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
1205
1206         toDataURL() uses stale data after putImageData()
1207         https://bugs.webkit.org/show_bug.cgi?id=65767
1208
1209         This patch fixes the issue we've encountered of getting back
1210         stale copies of the CGContext of accelerated ImageBuffers who have seen
1211         putImageData calls but have not been drawn into via the CG API.
1212         This issue is fixed by modifying the way we implement putImageData
1213         in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
1214         is in a state where the data will effectively be copied (as is needed for
1215         implementing putImageData) instead of directly modifying the bits of the IOSurface.
1216
1217         Reviewed by Chris Marrin.
1218
1219         Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.
1220
1221         * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
1222         * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
1223             into a single and more sensibly named 'putByteArray', since that's what it does!
1224
1225         * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
1226         * platform/mac/WebCoreSystemInterface.h:
1227         * platform/mac/WebCoreSystemInterface.mm:
1228
1229         Using new method name.
1230         * html/canvas/CanvasRenderingContext2D.cpp:
1231         * platform/graphics/ImageBuffer.cpp:
1232         * platform/graphics/ShadowBlur.cpp:        
1233         * platform/graphics/filters/FEColorMatrix.cpp:
1234         * platform/graphics/filters/FEDropShadow.cpp:
1235         * platform/graphics/filters/FilterEffect.cpp:
1236
1237         Updated other ports' ImageBuffers to use new method.
1238         * platform/graphics/cairo/ImageBufferCairo.cpp:
1239         * platform/graphics/qt/ImageBufferQt.cpp:
1240         * platform/graphics/skia/ImageBufferSkia.cpp:
1241         * platform/graphics/wince/ImageBufferWinCE.cpp:
1242         * platform/graphics/wx/ImageBufferWx.cpp:
1243
1244 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1245
1246         Provide more attribute methods in Element
1247         https://bugs.webkit.org/show_bug.cgi?id=77800
1248
1249         Reviewed by Ryosuke Niwa.
1250
1251         Reduce the clients of NamedNodeMap. This will make easier to change the
1252         implementation of our attribute storage. The clients now use Element methods
1253         that expose Attribute* accessors.
1254
1255         Instead of checking the existence of NamedNodeMap, clients can call
1256         hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
1257         style or animation svg attributes).
1258
1259         If there are attributes, they can be accessed by index via attributeCount() /
1260         attributeItem(), as well as by QualifiedName. Those accessors assume there are an
1261         attribute storage.
1262
1263         * css/SelectorChecker.cpp:
1264         (WebCore::anyAttributeMatches):
1265         (WebCore::SelectorChecker::checkOneSelector):
1266         * css/SelectorChecker.h:
1267         (WebCore::SelectorChecker::checkExactAttribute):
1268         * dom/DatasetDOMStringMap.cpp:
1269         (WebCore::DatasetDOMStringMap::getNames):
1270         (WebCore::DatasetDOMStringMap::item):
1271         (WebCore::DatasetDOMStringMap::contains):
1272         * dom/Document.cpp:
1273         (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
1274         * dom/Element.h:
1275         (Element):
1276         (WebCore::Element::hasAttributesWithoutUpdate):
1277         (WebCore):
1278         (WebCore::Element::attributeCount):
1279         (WebCore::Element::attributeItem):
1280         (WebCore::Element::getAttributeItem):
1281         (WebCore::Element::removeAttribute):
1282         * dom/Node.cpp:
1283         (WebCore::Node::isDefaultNamespace):
1284         (WebCore::Node::lookupNamespaceURI):
1285         (WebCore::Node::lookupNamespacePrefix):
1286         (WebCore::Node::compareDocumentPosition):
1287         * editing/ApplyStyleCommand.cpp:
1288         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
1289         (WebCore::isEmptyFontTag):
1290         * editing/EditingStyle.cpp:
1291         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1292         * editing/InsertParagraphSeparatorCommand.cpp:
1293         (WebCore::highestVisuallyEquivalentDivBelowRoot):
1294         * editing/MarkupAccumulator.cpp:
1295         (WebCore::MarkupAccumulator::appendElement):
1296         * editing/markup.cpp:
1297         (WebCore::completeURLs):
1298         (WebCore::StyledMarkupAccumulator::appendElement):
1299         * html/HTMLEmbedElement.cpp:
1300         (WebCore::HTMLEmbedElement::parametersForPlugin):
1301         * html/HTMLInputElement.cpp:
1302         (WebCore::HTMLInputElement::updateType):
1303         * html/HTMLObjectElement.cpp:
1304         (WebCore::HTMLObjectElement::parametersForPlugin):
1305         * html/HTMLParamElement.cpp:
1306         (WebCore::HTMLParamElement::isURLAttribute):
1307         * html/parser/HTMLFormattingElementList.cpp:
1308         (WebCore::attributeCountWithoutUpdate):
1309         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
1310         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
1311         to avoid looking up the right element again by name.
1312         * inspector/DOMEditor.cpp:
1313         (WebCore::DOMEditor::innerPatchNode):
1314         (WebCore::DOMEditor::createDigest):
1315         * inspector/InspectorDOMAgent.cpp:
1316         (WebCore::InspectorDOMAgent::setAttributesAsText):
1317         (WebCore::InspectorDOMAgent::performSearch):
1318         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1319         * page/PageSerializer.cpp:
1320         (WebCore::isCharsetSpecifyingNode):
1321         * svg/SVGStyledElement.cpp:
1322         (WebCore::SVGStyledElement::getPresentationAttribute):
1323         * xml/XPathFunctions.cpp:
1324         (WebCore::XPath::FunLang::evaluate):
1325         * xml/XPathNodeSet.cpp:
1326         (WebCore::XPath::NodeSet::traversalSort):
1327         * xml/XPathStep.cpp:
1328         (WebCore::XPath::Step::nodesInAxis):
1329         * xml/parser/XMLDocumentParserLibxml2.cpp:
1330         (WebCore::XMLDocumentParser::XMLDocumentParser):
1331         * xml/parser/XMLTreeBuilder.cpp:
1332         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
1333
1334 2012-02-06  Joshua Bell  <jsbell@chromium.org>
1335
1336         IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
1337         https://bugs.webkit.org/show_bug.cgi?id=77374
1338
1339         If a put request will use a key generator, try inserting a dummy key during the sync
1340         put() call to check if the key insertion will succeed so an exception can be raised
1341         early, rather than deferring to the asynchronous task.
1342
1343         Reviewed by Tony Chang.
1344
1345         Test: storage/indexeddb/keypath-edges.html
1346
1347         * storage/IDBObjectStoreBackendImpl.cpp:
1348         (WebCore::IDBObjectStoreBackendImpl::put):
1349
1350 2012-02-06  Gustavo Noronha Silva  <gns@gnome.org>
1351
1352         Add a null check for the gdkwindow, that will happen if the window
1353         is not mapped.
1354
1355         Reviewed by Martin Robinson.
1356
1357         * platform/gtk/GtkUtilities.cpp:
1358         (WebCore::convertWidgetPointToScreenPoint):
1359
1360 2012-02-06  Eugene Girard  <girard@chromium.org>
1361
1362         IndexedDB createObjectStore should throw if options arg is invalid
1363         Added logic to OptionsObject to determine if an invalid object was created.
1364         Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
1365         https://bugs.webkit.org/show_bug.cgi?id=58471
1366
1367         Reviewed by Adam Barth.
1368
1369         Test: storage/indexeddb/createObjectStore-bad-options.html
1370
1371         * bindings/scripts/CodeGeneratorV8.pm:
1372         (GenerateParametersCheck):
1373         * bindings/v8/OptionsObject.cpp:
1374         (WebCore::OptionsObject::isObject):
1375         * bindings/v8/OptionsObject.h:
1376
1377 2012-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1378
1379         Unreviewed, rolling out r106797 and r106806.
1380         http://trac.webkit.org/changeset/106797
1381         http://trac.webkit.org/changeset/106806
1382         https://bugs.webkit.org/show_bug.cgi?id=77888
1383
1384         The change is still causing some crashes in webaudio/ on the
1385         Chromium bots (Requested by jchaffraix on #webkit).
1386
1387         * Modules/intents/IntentRequest.cpp:
1388         (WebCore::IntentRequest::create):
1389         * bindings/generic/ActiveDOMCallback.cpp:
1390         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
1391         * dom/ActiveDOMObject.cpp:
1392         (WebCore::ActiveDOMObject::ActiveDOMObject):
1393         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1394         * dom/ActiveDOMObject.h:
1395         (ActiveDOMObject):
1396         * dom/DocumentEventQueue.cpp:
1397         (WebCore::DocumentEventQueue::DocumentEventQueue):
1398         * dom/ScriptExecutionContext.cpp:
1399         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1400         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1401         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1402         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1403         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1404         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1405         * dom/ScriptExecutionContext.h:
1406         (ScriptExecutionContext):
1407         * fileapi/DOMFileSystem.cpp:
1408         (WebCore::DOMFileSystem::create):
1409         * fileapi/FileReader.cpp:
1410         (WebCore):
1411         * fileapi/FileReader.h:
1412         (WebCore::FileReader::create):
1413         * fileapi/FileWriter.cpp:
1414         (WebCore):
1415         * fileapi/FileWriter.h:
1416         (WebCore::FileWriter::create):
1417         * history/CachedFrame.cpp:
1418         (WebCore::CachedFrame::CachedFrame):
1419         * html/HTMLAudioElement.cpp:
1420         (WebCore::HTMLAudioElement::create):
1421         (WebCore::HTMLAudioElement::createForJSConstructor):
1422         * html/HTMLMarqueeElement.cpp:
1423         (WebCore::HTMLMarqueeElement::create):
1424         * html/HTMLVideoElement.cpp:
1425         (WebCore::HTMLVideoElement::create):
1426         * mediastream/PeerConnection.cpp:
1427         (WebCore::PeerConnection::create):
1428         * notifications/Notification.cpp:
1429         (WebCore::Notification::create):
1430         * notifications/NotificationCenter.cpp:
1431         * notifications/NotificationCenter.h:
1432         (WebCore::NotificationCenter::create):
1433         * page/DOMTimer.cpp:
1434         (WebCore::DOMTimer::install):
1435         (WebCore::DOMTimer::fired):
1436         * page/EventSource.cpp:
1437         (WebCore::EventSource::create):
1438         * page/SuspendableTimer.cpp:
1439         (WebCore::SuspendableTimer::SuspendableTimer):
1440         * storage/IDBDatabase.cpp:
1441         (WebCore::IDBDatabase::create):
1442         * storage/IDBRequest.cpp:
1443         (WebCore::IDBRequest::create):
1444         * storage/IDBTransaction.cpp:
1445         (WebCore::IDBTransaction::create):
1446         * storage/IDBVersionChangeRequest.cpp:
1447         (WebCore::IDBVersionChangeRequest::create):
1448         * webaudio/AudioContext.cpp:
1449         (WebCore::AudioContext::create):
1450         * websockets/WebSocket.cpp:
1451         * websockets/WebSocket.h:
1452         (WebCore::WebSocket::create):
1453         * workers/SharedWorker.cpp:
1454         (WebCore::SharedWorker::create):
1455         * workers/Worker.cpp:
1456         (WebCore::Worker::create):
1457         * xml/XMLHttpRequest.cpp:
1458         (WebCore::XMLHttpRequest::create):
1459
1460 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1461
1462         Move style related functions from NamedNodeMap to ElementAttributeData
1463         https://bugs.webkit.org/show_bug.cgi?id=77879
1464
1465         Reviewed by Ryosuke Niwa.
1466
1467         This commit also removes the NamedNodeMap::mappedAttributeCount(),
1468         which is a leftover from removal of mapped attributes.
1469
1470         * dom/ElementAttributeData.cpp:
1471         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
1472         (WebCore):
1473         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
1474         (WebCore::ElementAttributeData::ensureAttributeStyle):
1475         * dom/ElementAttributeData.h:
1476         (WebCore::ElementAttributeData::inlineStyleDecl):
1477         (ElementAttributeData):
1478         (WebCore::ElementAttributeData::attributeStyle):
1479         * dom/NamedNodeMap.cpp:
1480         * dom/NamedNodeMap.h:
1481         * dom/StyledElement.h:
1482         (StyledElement):
1483         (WebCore::StyledElement::inlineStyleDecl):
1484         (WebCore::StyledElement::ensureInlineStyleDecl):
1485         (WebCore::StyledElement::attributeStyle):
1486         (WebCore::StyledElement::ensureAttributeStyle):
1487         (WebCore::StyledElement::destroyInlineStyleDecl):
1488
1489 2012-02-06  Abhishek Arya  <inferno@chromium.org>
1490
1491         Crash in SubframeLoader::loadSubframe.
1492         https://bugs.webkit.org/show_bug.cgi?id=77345
1493
1494         Reviewed by Nate Chapin.
1495
1496         Mutation event when loading subframe can blow away the
1497         main frame. Add a RefPtr to protect against that.
1498
1499         Test: fast/frames/subframe-load-crash-main.html
1500
1501         * loader/SubframeLoader.cpp:
1502         (WebCore::SubframeLoader::loadSubframe):
1503
1504 2012-02-06  ChangSeok Oh  <shivamidow@gmail.com>
1505
1506         Initial implementation of GraphicsContext3DOpenGLES.cpp
1507         https://bugs.webkit.org/show_bug.cgi?id=76248
1508
1509         Reviewed by Martin Robinson.
1510
1511         Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
1512         But no way to run these codes right now, because they need an extra port
1513         specific implementation to work. I plan to add these extra codes for the GTK port
1514         in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
1515         will deal with it.
1516         Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
1517         It looks it could be shared between gl and gles.
1518         Two helper functions are added to avoid code duplication in GraphicsContext3D.
1519         Added a missing period at the end of comment lines.
1520
1521         No new tests required.
1522         We'll be able to verify this patch by using the existing webgl test cases.
1523
1524         * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
1525         (WebCore):
1526         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1527         (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
1528         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
1529         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1530         (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
1531         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1532         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1533
1534         Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
1535         (WebCore::GraphicsContext3D::prepareTexture):
1536         (WebCore):
1537         (WebCore::GraphicsContext3D::readRenderingResults):
1538         (WebCore::GraphicsContext3D::reshape):
1539         (WebCore::GraphicsContext3D::bindFramebuffer):
1540         (WebCore::GraphicsContext3D::copyTexImage2D):
1541         (WebCore::GraphicsContext3D::copyTexSubImage2D):
1542         (WebCore::GraphicsContext3D::getActiveUniform):
1543         (WebCore::GraphicsContext3D::readPixels):
1544
1545         Added a missing period at the end of comment line.
1546         (WebCore::GraphicsContext3D::compileShader):
1547         (WebCore::GraphicsContext3D::getActiveAttrib):
1548         (WebCore::GraphicsContext3D::uniform2fv):
1549         (WebCore::GraphicsContext3D::uniform3fv):
1550         (WebCore::GraphicsContext3D::uniform4fv):
1551         (WebCore::GraphicsContext3D::uniform2iv):
1552         (WebCore::GraphicsContext3D::uniform3iv):
1553         (WebCore::GraphicsContext3D::uniform4iv):
1554         (WebCore::GraphicsContext3D::uniformMatrix2fv):
1555         (WebCore::GraphicsContext3D::uniformMatrix3fv):
1556         (WebCore::GraphicsContext3D::uniformMatrix4fv):
1557         (WebCore::GraphicsContext3D::texSubImage2D):
1558
1559         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1560         (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
1561         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.
1562
1563         Brief explanation about what the differences are between gl and gles.
1564         (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
1565         (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
1566         (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.
1567
1568 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
1569
1570         Web Inspector: [Meta] Allow emulation of touch events
1571         https://bugs.webkit.org/show_bug.cgi?id=77096
1572
1573         Reviewed by Pavel Feldman.
1574
1575         This is the inspector part of the change, core part implementation tracked in bug 77105.
1576
1577         * English.lproj/localizedStrings.js:
1578         * inspector/Inspector.json:
1579         * inspector/InspectorDOMAgent.cpp:
1580         (DOMAgentState):
1581         (WebCore::InspectorDOMAgent::clearFrontend):
1582         (WebCore::InspectorDOMAgent::restore):
1583         (WebCore):
1584         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
1585         (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
1586         * inspector/InspectorDOMAgent.h:
1587         (InspectorDOMAgent):
1588         * inspector/front-end/DOMAgent.js:
1589         (WebInspector.DOMAgent.prototype._captureDOM):
1590         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
1591         * inspector/front-end/Settings.js:
1592         (WebInspector.Settings):
1593         * inspector/front-end/SettingsScreen.js:
1594         (WebInspector.SettingsScreen):
1595
1596 2012-02-06  Chris Guan  <chris.guan@torchmobile.com.cn>
1597
1598         [Blackberry] Non-supported about: operations never stops loading
1599         https://bugs.webkit.org/show_bug.cgi?id=76366
1600
1601         Reviewed by Rob Buis.
1602
1603         If user typed a non-supported "about:" scheme such as "about:nonsupport",
1604         the loadAboutURL() function in NetworkManger should recognize and handle it as 
1605         an error of invalid url.
1606
1607         * platform/network/blackberry/NetworkJob.cpp:
1608         (WebCore::NetworkJob::loadAboutURL):
1609         (WebCore::NetworkJob::handleAbout):
1610         * platform/network/blackberry/NetworkJob.h:
1611         (NetworkJob):
1612         * platform/network/blackberry/NetworkManager.cpp:
1613         (WebCore::NetworkManager::startJob):
1614
1615 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
1616
1617         Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
1618         https://bugs.webkit.org/show_bug.cgi?id=77876
1619
1620         Reviewed by Pavel Feldman.
1621
1622         * inspector/front-end/StylesSidebarPane.js:
1623         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
1624         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1625         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
1626         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
1627         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1628         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1629         (WebInspector.ComputedStylePropertiesSection):
1630         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
1631
1632 2012-02-06  Alexei Filippov  <alexeif@chromium.org>
1633
1634         Web Inspector: Redesign summary view / retaining tree contents
1635         https://bugs.webkit.org/show_bug.cgi?id=77870
1636
1637         Reviewed by Pavel Feldman.
1638
1639         1. Make object IDs less contrast.
1640         2. Put array indices in [].
1641         3. Do not write type if it's just "Object".
1642
1643         * inspector/front-end/DetailedHeapshotGridNodes.js:
1644         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
1645         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1646         (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
1647         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
1648         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1649         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
1650         * inspector/front-end/heapProfiler.css:
1651         (.detailed-heapshot-view .console-formatted-id):
1652         (.detailed-heapshot-view td.object-column span.grayed):
1653
1654 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
1655
1656         [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
1657         https://bugs.webkit.org/show_bug.cgi?id=77748
1658
1659         Reviewed by Kenneth Rohde Christiansen.
1660
1661         Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
1662
1663         Instrumentation shows that the deep image copies created from TextureMapperGL are
1664         eliminated.
1665
1666         * platform/graphics/opengl/TextureMapperGL.cpp:
1667         (WebCore::BitmapTextureGL::updateContents):
1668
1669 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1670
1671         LayoutTest failures on r106797
1672         https://bugs.webkit.org/show_bug.cgi?id=77868
1673
1674         Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
1675
1676         Reviewed by Simon Hausmann.
1677
1678         * storage/IDBVersionChangeRequest.cpp:
1679         (WebCore::IDBVersionChangeRequest::create):
1680
1681 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
1682
1683         [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
1684         https://bugs.webkit.org/show_bug.cgi?id=77689
1685
1686         Reviewed by Kenneth Rohde Christiansen.
1687
1688         Use StillImageQt::createForRendering when using DontCopyBackingStore.
1689         Enable DontCopyBackingStore in TextureMapperNode.
1690         This removes deep copies resulting from the use of ImageBuffer.
1691
1692         Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
1693
1694         * platform/graphics/qt/ImageBufferQt.cpp:
1695         (WebCore::ImageBuffer::copyImage):
1696         * platform/graphics/texmap/TextureMapperNode.cpp:
1697         (WebCore::TextureMapperNode::renderContent):
1698
1699 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1700
1701         WebGestureEvent can not encode delta and area.
1702         https://bugs.webkit.org/show_bug.cgi?id=77728
1703
1704         Add area field to PlatformGestureEvent.
1705
1706         Reviewed by Kenneth Rohde Christiansen.
1707
1708         * platform/PlatformGestureEvent.h:
1709         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
1710         (WebCore::PlatformGestureEvent::area):
1711
1712 2012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>
1713
1714         [BlackBerry]Use extension for a mimetype as the suggested extension
1715         if the url file doesn't have an extension.
1716         https://bugs.webkit.org/show_bug.cgi?id=76779
1717
1718         Reviewed by Antonio Gomes.
1719
1720         No new tests. 
1721
1722         * platform/network/blackberry/NetworkJob.cpp:
1723         (WebCore::NetworkJob::sendResponseIfNeeded):
1724
1725 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1726
1727         Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
1728         https://bugs.webkit.org/show_bug.cgi?id=77848
1729
1730         Reviewed by Adam Barth.
1731
1732         For naming consistency with [CustomGetter] and [CustomSetter],
1733         this patch renames the following IDLs:
1734
1735         [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
1736         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
1737         [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
1738         [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
1739         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
1740
1741         No tests. No change in behavior.
1742
1743         * bindings/scripts/CodeGeneratorJS.pm:
1744         (GenerateGetOwnPropertySlotBody):
1745         (GenerateGetOwnPropertyDescriptorBody):
1746         (GenerateHeader):
1747         (GenerateImplementation):
1748         * bindings/scripts/CodeGeneratorV8.pm:
1749         (GenerateHeaderNamedAndIndexedPropertyAccessors):
1750         (GenerateImplementationIndexer):
1751         (GenerateImplementationNamedPropertyGetter):
1752
1753         * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
1754         * bindings/scripts/test/TestTypedArray.idl: Ditto.
1755
1756         * Modules/gamepad/GamepadList.idl:
1757         * css/CSSRuleList.idl:
1758         * css/CSSStyleDeclaration.idl:
1759         * css/CSSValueList.idl:
1760         * css/MediaList.idl:
1761         * css/StyleSheetList.idl:
1762         * css/WebKitCSSFilterValue.idl:
1763         * css/WebKitCSSKeyframesRule.idl:
1764         * css/WebKitCSSTransformValue.idl:
1765         * dom/ClientRectList.idl:
1766         * dom/DOMStringList.idl:
1767         * dom/DOMStringMap.idl:
1768         * dom/DataTransferItemList.idl:
1769         * dom/NamedNodeMap.idl:
1770         * dom/NodeList.idl:
1771         * dom/TouchList.idl:
1772         * fileapi/EntryArray.idl:
1773         * fileapi/EntryArraySync.idl:
1774         * fileapi/FileList.idl:
1775         * html/DOMSettableTokenList.idl:
1776         * html/DOMTokenList.idl:
1777         * html/HTMLAllCollection.idl:
1778         * html/HTMLCollection.idl:
1779         * html/HTMLFormElement.idl:
1780         * html/HTMLOptionsCollection.idl:
1781         * html/HTMLPropertiesCollection.idl:
1782         * html/HTMLSelectElement.idl:
1783         * html/TextTrackCueList.idl:
1784         * html/canvas/CanvasPixelArray.idl:
1785         * html/canvas/Float32Array.idl:
1786         * html/canvas/Float64Array.idl:
1787         * html/canvas/Int16Array.idl:
1788         * html/canvas/Int32Array.idl:
1789         * html/canvas/Int8Array.idl:
1790         * html/canvas/Uint16Array.idl:
1791         * html/canvas/Uint32Array.idl:
1792         * html/canvas/Uint8Array.idl:
1793         * html/canvas/Uint8ClampedArray.idl:
1794         * html/track/TextTrackList.idl:
1795         * mediastream/MediaStreamList.idl:
1796         * mediastream/MediaStreamTrackList.idl:
1797         * page/SpeechInputResultList.idl:
1798         * page/WebKitAnimationList.idl:
1799         * plugins/DOMMimeTypeArray.idl:
1800         * plugins/DOMPlugin.idl:
1801         * plugins/DOMPluginArray.idl:
1802         * storage/Storage.idl:
1803
1804 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1805
1806         Ensure timers and other active DOM objects do not fire in suspended documents.
1807         https://bugs.webkit.org/show_bug.cgi?id=53733
1808
1809         ScriptExecutionContext now remembers it has suspended active DOM objects
1810         and suspends all newly installed active DOM objects as well.
1811
1812         All create-calls active DOM objects now calls the post constructor method
1813         suspendIfNeeded that updates the suspend state. It is post constructor
1814         because the suspend/resume functions are virtual and thus can not be called
1815         from constructors.
1816
1817         Reviewed by Mihai Parparita.
1818
1819         Test: fast/events/suspend-timers.html
1820
1821         * Modules/intents/IntentRequest.cpp:
1822         (WebCore::IntentRequest::create):
1823         * bindings/generic/ActiveDOMCallback.cpp:
1824         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
1825         * dom/ActiveDOMObject.cpp:
1826         (WebCore::ActiveDOMObject::ActiveDOMObject):
1827         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1828         (WebCore::ActiveDOMObject::suspendIfNeeded):
1829         * dom/ActiveDOMObject.h:
1830         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
1831         * dom/DocumentEventQueue.cpp:
1832         (WebCore::DocumentEventQueue::DocumentEventQueue):
1833         * dom/ScriptExecutionContext.cpp:
1834         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1835         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1836         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1837         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1838         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1839         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1840         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
1841         * dom/ScriptExecutionContext.h:
1842         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
1843         * fileapi/DOMFileSystem.cpp:
1844         (WebCore::DOMFileSystem::create):
1845         * fileapi/FileReader.cpp:
1846         (WebCore::FileReader::create):
1847         * fileapi/FileReader.h:
1848         * fileapi/FileWriter.cpp:
1849         (WebCore::FileWriter::create):
1850         * fileapi/FileWriter.h:
1851         * history/CachedFrame.cpp:
1852         (WebCore::CachedFrame::CachedFrame):
1853         * html/HTMLAudioElement.cpp:
1854         (WebCore::HTMLAudioElement::create):
1855         * html/HTMLMarqueeElement.cpp:
1856         (WebCore::HTMLMarqueeElement::create):
1857         * html/HTMLVideoElement.cpp:
1858         (WebCore::HTMLVideoElement::create):
1859         * mediastream/PeerConnection.cpp:
1860         (WebCore::PeerConnection::create):
1861         * notifications/Notification.cpp:
1862         (WebCore::Notification::create):
1863         * notifications/NotificationCenter.cpp:
1864         (WebCore::NotificationCenter::create):
1865         * notifications/NotificationCenter.h:
1866         * page/DOMTimer.cpp:
1867         (WebCore::DOMTimer::install):
1868         (WebCore::DOMTimer::fired):
1869         * page/EventSource.cpp:
1870         (WebCore::EventSource::create):
1871         * page/SuspendableTimer.cpp:
1872         (WebCore::SuspendableTimer::SuspendableTimer):
1873         * storage/IDBDatabase.cpp:
1874         (WebCore::IDBDatabase::create):
1875         * storage/IDBRequest.cpp:
1876         (WebCore::IDBRequest::create):
1877         * storage/IDBTransaction.cpp:
1878         (WebCore::IDBTransaction::create):
1879         * webaudio/AudioContext.cpp:
1880         (WebCore::AudioContext::create):
1881         * websockets/WebSocket.cpp:
1882         (WebCore::WebSocket::create):
1883         * websockets/WebSocket.h:
1884         * workers/SharedWorker.cpp:
1885         (WebCore::SharedWorker::create):
1886         * workers/Worker.cpp:
1887         (WebCore::Worker::create):
1888         * xml/XMLHttpRequest.cpp:
1889         (WebCore::XMLHttpRequest::create):
1890
1891 2012-02-06  Philippe Normand  <pnormand@igalia.com>
1892
1893         Adding FFTFrameGStreamer.cpp that I forgot to commit
1894         in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.
1895
1896         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
1897
1898 2012-02-06  Hayato Ito  <hayato@chromium.org>
1899
1900         Add <shadow> element, which is guarded by SHADOW_DOM flag.
1901         https://bugs.webkit.org/show_bug.cgi?id=76435
1902
1903         Reviewed by Dimitri Glazkov.
1904
1905         Test: fast/dom/shadow/shadow-element.html
1906
1907         * CMakeLists.txt:
1908         * DerivedSources.cpp:
1909         * DerivedSources.make:
1910         * DerivedSources.pri:
1911         * GNUmakefile.list.am:
1912         * Target.pri:
1913         * WebCore.gypi:
1914         * WebCore.vcproj/WebCore.vcproj:
1915         * WebCore.xcodeproj/project.pbxproj:
1916         * html/HTMLElementsAllInOne.cpp:
1917         * html/HTMLTagNames.in:
1918         * html/shadow/HTMLShadowElement.cpp: Added.
1919         (WebCore):
1920         (WebCore::HTMLShadowElement::HTMLShadowElement):
1921         (WebCore::HTMLShadowElement::create):
1922         (WebCore::HTMLShadowElement::~HTMLShadowElement):
1923         * html/shadow/HTMLShadowElement.h: Added.
1924         (WebCore):
1925         (HTMLShadowElement):
1926         * html/shadow/HTMLShadowElement.idl: Added.
1927
1928 2012-02-06  Joe Thomas  <joethomas@motorola.com>
1929
1930         https://bugs.webkit.org/show_bug.cgi?id=76995.
1931         WebKit fails IETC :indeterminate and input type=radio test.
1932
1933         All input types should respect indeterminate property(getter and setter). This is true with other browsers.
1934         Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
1935         for radio input type on other platforms.
1936
1937         Reviewed by Kent Tamura.
1938
1939         Test: fast/forms/indeterminate-input-types.html
1940
1941         * html/CheckboxInputType.cpp:
1942         (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
1943         (WebCore):
1944         * html/CheckboxInputType.h:
1945         (CheckboxInputType):
1946         * html/HTMLInputElement.cpp:
1947         (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
1948         (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
1949         (WebCore):
1950         * html/HTMLInputElement.h:
1951         (HTMLInputElement):
1952         * html/InputType.cpp:
1953         (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
1954         (WebCore):
1955         * html/InputType.h:
1956         (InputType):
1957         * html/RadioInputType.cpp:
1958         (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
1959         (WebCore::RadioInputType::didDispatchClick): Ditto.
1960         (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
1961         (WebCore):
1962         * html/RadioInputType.h:
1963         (RadioInputType):
1964
1965 2012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>
1966
1967         [BlackBerry] Remove unused variable in PluginViewBlackBerry
1968         https://bugs.webkit.org/show_bug.cgi?id=77847
1969
1970         Reviewed by Kentaro Hara.
1971
1972         No changes in behavior, so no new tests.
1973
1974         * plugins/blackberry/PluginViewBlackBerry.cpp:
1975         (WebCore::PluginView::updatePluginWidget):
1976
1977 2012-02-06  Peter Rybin  <peter.rybin@gmail.com>
1978
1979         Web Inspector: Fix CallArgument type in Inspector.json
1980         https://bugs.webkit.org/show_bug.cgi?id=77839
1981
1982         Reviewed by Yury Semikhatsky.
1983
1984         Protocol description is fixed: field type is changed. No changes to
1985         program code are necessary.
1986
1987         * inspector/Inspector-0.1.json:
1988         * inspector/Inspector-1.0.json:
1989         * inspector/Inspector.json:
1990
1991 2012-02-05  Gavin Barraclough  <barraclough@apple.com>
1992
1993         Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
1994         https://bugs.webkit.org/show_bug.cgi?id=77451
1995
1996         Reviewed by Sam Weinig.
1997
1998         These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
1999         Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.
2000
2001         * bindings/js/JSDOMWindowCustom.cpp:
2002         (WebCore):
2003         (WebCore::JSDOMWindow::defineOwnProperty):
2004         * bindings/js/JSDOMWindowShell.cpp:
2005         (WebCore):
2006         * bindings/js/JSDOMWindowShell.h:
2007         (JSDOMWindowShell):
2008         * bindings/js/JSLocationCustom.cpp:
2009         (WebCore::JSLocation::defineOwnProperty):
2010         (WebCore::JSLocationPrototype::defineOwnProperty):
2011         * bindings/scripts/CodeGeneratorJS.pm:
2012         (GenerateHeader):
2013         * page/DOMWindow.idl:
2014         * page/Location.idl:
2015
2016 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2017
2018         Unreviewed. Fix make distrcheck.
2019
2020         * GNUmakefile.am: Fix typo in inspector json file.
2021         * GNUmakefile.list.am: Remove non existent file.
2022
2023 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
2024
2025         Unreviewed. Qt minimal compilation fix after r106777.
2026
2027         * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.
2028
2029 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
2030
2031         Web Inspector: REGRESSION detached dom nodes aren't highlighted
2032         https://bugs.webkit.org/show_bug.cgi?id=77829
2033
2034         This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.
2035
2036         Reviewed by Yury Semikhatsky.
2037
2038         * inspector/front-end/HeapSnapshot.js:
2039         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
2040         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
2041
2042 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
2043
2044         Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
2045         https://bugs.webkit.org/show_bug.cgi?id=77850
2046
2047         Reviewed by Yury Semikhatsky.
2048
2049         * inspector/front-end/DetailedHeapshotGridNodes.js:
2050         (WebInspector.HeapSnapshotObjectNode):
2051         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
2052         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2053         * inspector/front-end/HeapSnapshot.js:
2054         (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
2055         (WebInspector.HeapSnapshot.prototype._init):
2056
2057 2012-02-05  Peter Rybin  <peter.rybin@gmail.com>
2058
2059         Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
2060         https://bugs.webkit.org/show_bug.cgi?id=77444
2061
2062         Reviewed by Yury Semikhatsky.
2063
2064         All agent code is switched to formal interfaces. Actual agent class
2065         names and includes are dropped from InspectorBackendDispatcher.h.
2066
2067         * inspector/CodeGeneratorInspector.py:
2068         (DomainNameFixes.get_fixed_data):
2069         (Generator.go):
2070         * inspector/InspectorAgent.h:
2071         * inspector/InspectorApplicationCacheAgent.h:
2072         * inspector/InspectorCSSAgent.cpp:
2073         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2074         * inspector/InspectorCSSAgent.h:
2075         (InspectorCSSAgent):
2076         * inspector/InspectorConsoleAgent.h:
2077         * inspector/InspectorDOMAgent.cpp:
2078         (WebCore::InspectorDOMAgent::highlightNode):
2079         * inspector/InspectorDOMAgent.h:
2080         (InspectorDOMAgent):
2081         * inspector/InspectorDOMDebuggerAgent.h:
2082         * inspector/InspectorDOMStorageAgent.h:
2083         * inspector/InspectorDatabaseAgent.h:
2084         * inspector/InspectorDebuggerAgent.cpp:
2085         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2086         (WebCore::InspectorDebuggerAgent::continueToLocation):
2087         * inspector/InspectorDebuggerAgent.h:
2088         (InspectorDebuggerAgent):
2089         * inspector/InspectorFileSystemAgent.h:
2090         * inspector/InspectorIndexedDBAgent.h:
2091         * inspector/InspectorMemoryAgent.h:
2092         * inspector/InspectorPageAgent.h:
2093         * inspector/InspectorProfilerAgent.cpp:
2094         (WebCore::InspectorProfilerAgent::getProfile):
2095         (WebCore::InspectorProfilerAgent::removeProfile):
2096         * inspector/InspectorProfilerAgent.h:
2097         (InspectorProfilerAgent):
2098         * inspector/InspectorResourceAgent.cpp:
2099         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
2100         * inspector/InspectorResourceAgent.h:
2101         (InspectorResourceAgent):
2102         * inspector/InspectorRuntimeAgent.h:
2103         * inspector/InspectorTimelineAgent.cpp:
2104         (WebCore::InspectorTimelineAgent::start):
2105         * inspector/InspectorTimelineAgent.h:
2106         (InspectorTimelineAgent):
2107         * inspector/InspectorWorkerAgent.cpp:
2108         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
2109         * inspector/InspectorWorkerAgent.h:
2110         (InspectorWorkerAgent):
2111
2112 2012-02-05  Kentaro Hara  <haraken@chromium.org>
2113
2114         Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
2115         [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
2116         https://bugs.webkit.org/show_bug.cgi?id=77611
2117
2118         Reviewed by Adam Barth.
2119
2120         While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
2121         the current WebKit treats them as (not an empty string but) a null string.
2122         To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
2123         and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
2124         (Eventually we should fix WebKit so that it uses an empty string and then
2125         rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
2126
2127         No tests. No change in behavior.
2128
2129         * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
2130         (JSValueToNative):
2131         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2132         (GetNativeTypeFromSignature):
2133
2134         * bindings/scripts/test/TestObj.idl:
2135         * css/CSSCharsetRule.idl:
2136         * css/CSSPageRule.idl:
2137         * css/CSSRule.idl:
2138         * css/CSSStyleDeclaration.idl:
2139         * css/CSSStyleRule.idl:
2140         * css/CSSValue.idl:
2141         * css/MediaList.idl:
2142         * css/WebKitCSSKeyframesRule.idl:
2143         * dom/Attr.idl:
2144         * dom/CharacterData.idl:
2145         * dom/DOMImplementation.idl:
2146         * dom/Document.idl:
2147         * dom/Element.idl:
2148         * dom/NamedNodeMap.idl:
2149         * dom/Node.idl:
2150         * dom/ProcessingInstruction.idl:
2151         * dom/ShadowRoot.idl:
2152         * fileapi/Blob.idl:
2153         * fileapi/DirectoryEntry.idl:
2154         * fileapi/DirectoryEntrySync.idl:
2155         * fileapi/Entry.idl:
2156         * fileapi/EntrySync.idl:
2157         * fileapi/WebKitBlobBuilder.idl:
2158         * html/HTMLAnchorElement.idl:
2159         * html/HTMLButtonElement.idl:
2160         * html/HTMLCanvasElement.idl:
2161         * html/HTMLDocument.idl:
2162         * html/HTMLElement.idl:
2163         * html/HTMLFieldSetElement.idl:
2164         * html/HTMLFormElement.idl:
2165         * html/HTMLFrameElement.idl:
2166         * html/HTMLInputElement.idl:
2167         * html/HTMLKeygenElement.idl:
2168         * html/HTMLMediaElement.idl:
2169         * html/HTMLObjectElement.idl:
2170         * html/HTMLOutputElement.idl:
2171         * html/HTMLScriptElement.idl:
2172         * html/HTMLSelectElement.idl:
2173         * html/HTMLTextAreaElement.idl:
2174         * html/HTMLTitleElement.idl:
2175         * html/canvas/CanvasRenderingContext2D.idl:
2176         * page/Console.idl:
2177         * page/DOMWindow.idl:
2178         * storage/StorageEvent.idl:
2179         * svg/SVGAngle.idl:
2180         * svg/SVGElement.idl:
2181         * svg/SVGLength.idl:
2182         * svg/SVGScriptElement.idl:
2183
2184 2012-02-05  Kentaro Hara  <haraken@chromium.org>
2185
2186         Rename [JSCCustom*] IDL to [JSCustom*] IDL
2187         https://bugs.webkit.org/show_bug.cgi?id=77844
2188
2189         Reviewed by Adam Barth.
2190
2191         Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
2192         [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
2193         [JSCustomSetter].
2194
2195         No tests. No change in behavior.
2196
2197         * bindings/scripts/CodeGeneratorJS.pm:
2198         (GenerateHeader):
2199         (GenerateImplementation):
2200         * css/CSSStyleDeclaration.idl:
2201         * html/HTMLDocument.idl:
2202         * html/canvas/DataView.idl:
2203         * page/DOMWindow.idl:
2204         * page/MemoryInfo.idl:
2205         * webaudio/ConvolverNode.idl:
2206         * webaudio/DOMWindowWebAudio.idl:
2207         * webaudio/WaveShaperNode.idl:
2208         * websockets/DOMWindowWebSocket.idl:
2209         * workers/WorkerContext.idl:
2210
2211 2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
2212
2213         [EFL] Enable WebGL with glx backend
2214         https://bugs.webkit.org/show_bug.cgi?id=77308
2215
2216         Reviewed by Martin Robinson.
2217
2218         Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
2219
2220         No new tests required. We can verify this feature with the existing test cases.
2221
2222         * CMakeLists.txt: Revised common files required for WebGL.
2223         * PlatformEfl.cmake: Added EFL specific files.
2224         * html/HTMLCanvasElement.cpp:
2225         (WebCore::HTMLCanvasElement::getContext):
2226         * platform/graphics/ANGLEWebKitBridge.h:
2227         * platform/graphics/GraphicsContext3D.h:
2228         (WebCore):
2229         (WebCore::GraphicsContext3D::platformTexture):
2230         (GraphicsContext3D):
2231         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
2232         * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
2233         (WebCore):
2234         (WebCore::DrawingBuffer::DrawingBuffer):
2235         (WebCore::DrawingBuffer::~DrawingBuffer):
2236         (WebCore::DrawingBuffer::platformColorBuffer):
2237         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2238         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
2239         (WebCore::GraphicsContext3D::create):
2240         (WebCore::GraphicsContext3D::GraphicsContext3D):
2241         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2242         (WebCore::GraphicsContext3D::makeContextCurrent):
2243         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2244         (WebCore::GraphicsContext3D::isGLES2Compliant):
2245         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2246         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2247         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
2248         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2249         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2250         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2251         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2252
2253 2012-02-05  Abhishek Arya  <inferno@chromium.org>
2254
2255         Crash in FormSubmission::create.
2256         https://bugs.webkit.org/show_bug.cgi?id=77813
2257
2258         Reviewed by Kent Tamura.
2259
2260         Test: fast/forms/form-submission-create-crash.xhtml
2261
2262         * loader/FormSubmission.cpp:
2263         (WebCore::FormSubmission::create):
2264
2265 2012-02-05  Andreas Kling  <awesomekling@apple.com>
2266
2267         Remove unused file MappedAttributeEntry.h.
2268         <http://webkit.org/b/77841>
2269
2270         Reviewed by Anders Carlsson.
2271
2272         * GNUmakefile.list.am:
2273         * WebCore.gypi:
2274         * WebCore.vcproj/WebCore.vcproj:
2275         * WebCore.xcodeproj/project.pbxproj:
2276         * dom/MappedAttributeEntry.h: Removed.
2277         * dom/StyledElement.h:
2278
2279 2012-02-05  Andreas Kling  <awesomekling@apple.com>
2280
2281         StyledElement: Rename parseMappedAttribute() to parseAttribute().
2282         <http://webkit.org/b/77830>
2283
2284         Reviewed by Anders Carlsson.
2285
2286         Rename across the board and decorate subclasses with OVERRIDE.
2287
2288 2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
2289
2290         Unreviewed syntax fix.
2291
2292         * English.lproj/localizedStrings.js:
2293
2294 2012-02-05  Andreas Kling  <awesomekling@apple.com>
2295
2296         Swedish buildfix.
2297
2298         * dom/Document.cpp:
2299         (WebCore::wheelEventHandlerCountChanged):
2300
2301 2012-02-05  Anders Carlsson  <andersca@apple.com>
2302
2303         The scrolling tree should be aware of any wheel event handlers on the page
2304         https://bugs.webkit.org/show_bug.cgi?id=77840
2305
2306         Reviewed by Andreas Kling.
2307
2308         If there are wheel event handlers on the page, any wheel events must be redispatched
2309         to the main thread so they can go through the DOM event handling.
2310
2311         * dom/Document.cpp:
2312         (WebCore::wheelEventHandlerCountChanged):
2313         Inform the scrolling coordinator that the wheel event count changed.
2314
2315         (WebCore::Document::didAddWheelEventHandler):
2316         (WebCore::Document::didRemoveWheelEventHandler):
2317         Call wheelEventHandlerCountChanged.
2318
2319         * page/scrolling/ScrollingCoordinator.cpp:
2320         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
2321         Call recomputeWheelEventHandlerCount.
2322
2323         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
2324         Update the scrolling tree state.
2325
2326         * page/scrolling/ScrollingTree.cpp:
2327         (WebCore::ScrollingTree::ScrollingTree):
2328         Initialize m_hasWheelEventHandlers to false.
2329
2330         (WebCore::ScrollingTree::tryToHandleWheelEvent):
2331         If m_hasWheelEventHandlers is true, bail.
2332
2333         (WebCore::ScrollingTree::commitNewTreeState):
2334         Update m_hasWheelEventHandlers.
2335
2336         * page/scrolling/ScrollingTreeState.cpp:
2337         (WebCore::ScrollingTreeState::ScrollingTreeState):
2338         (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
2339         Add getter and setter for the wheel event handler count.
2340
2341 2012-02-05  Andreas Kling  <awesomekling@apple.com>
2342
2343         Remove mapped vs non-mapped attribute distinction.
2344         <http://webkit.org/b/77827>
2345
2346         Reviewed by Antti Koivisto.
2347
2348         Removed the isMappedAttribute flag from Attribute as it no longer serves
2349         a practical purpose. Previously, StyledElement would generate mapped
2350         attributes and plain Element would generate non-mapped ones.
2351
2352         The distinction is now made much more clearly by dividing the work between
2353         Element's and StyledElement's attributeChanged() methods. The only thing
2354         that StyledElement wants to do in addition to what Element does is
2355         calling parseMappedAttribute() (which we'll rename in a later patch.)
2356
2357         * dom/Attribute.cpp:
2358         (WebCore::Attribute::clone):
2359         * dom/Attribute.h:
2360         (WebCore::Attribute::create):
2361         (WebCore::Attribute::Attribute):
2362         (Attribute):
2363         * dom/Document.cpp:
2364         (WebCore::Document::createAttributeNS):
2365         * dom/Element.cpp:
2366         (WebCore::Element::attributeChanged):
2367         * dom/Element.h:
2368         (Element):
2369         * dom/Node.cpp:
2370         (WebCore::Node::dumpStatistics):
2371         * dom/StyledElement.cpp:
2372         (WebCore::StyledElement::attributeChanged):
2373         (WebCore::StyledElement::parseMappedAttribute):
2374         * dom/StyledElement.h:
2375         (StyledElement):
2376         * html/parser/HTMLConstructionSite.cpp:
2377         (WebCore):
2378         * html/parser/HTMLTreeBuilder.cpp:
2379         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
2380         * html/parser/TextDocumentParser.cpp:
2381         (WebCore::TextDocumentParser::insertFakePreElement):
2382         * svg/SVGStyledElement.cpp:
2383         (WebCore::SVGStyledElement::getPresentationAttribute):
2384         * xml/parser/MarkupTokenBase.h:
2385         (WebCore::::initializeAttributes):
2386
2387 2012-02-05  Andreas Kling  <awesomekling@apple.com>
2388
2389         Kill CSSMappedAttributeDeclaration.
2390         <http://webkit.org/b/77820>
2391
2392         Reviewed by Antti Koivisto.
2393
2394         Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
2395         Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
2396         to the add/remove-CSS-property helpers in StyledElement.
2397
2398         This removes one step of indirection for attribute styles and reduces
2399         the size of elements that have presentational attributes by one pointer.
2400
2401         * CMakeLists.txt:
2402         * GNUmakefile.list.am:
2403         * Target.pri:
2404         * WebCore.gypi:
2405         * WebCore.order:
2406         * WebCore.vcproj/WebCore.vcproj:
2407         * WebCore.xcodeproj/project.pbxproj:
2408         * dom/CSSMappedAttributeDeclaration.cpp: Removed.
2409         * dom/CSSMappedAttributeDeclaration.h: Removed.
2410         * dom/DOMAllInOne.cpp:
2411
2412             Remove CSSMappedAttributeDeclaration.{cpp,h}
2413
2414         * css/CSSParser.h:
2415         * css/CSSParser.cpp:
2416         (WebCore::parseSimpleLengthValue):
2417
2418             Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
2419             directly instead. We lose the benefit of caching new CSSValues in the
2420             document's CSSValuePool but this optimization can be added back later.
2421
2422         * css/CSSStyleSelector.cpp:
2423         (WebCore::CSSStyleSelector::matchAllRules):
2424         * dom/ElementAttributeData.h:
2425         (ElementAttributeData):
2426         * dom/NamedNodeMap.cpp:
2427         (WebCore::NamedNodeMap::ensureAttributeStyle):
2428         * dom/NamedNodeMap.h:
2429         (WebCore::NamedNodeMap::attributeStyle):
2430         (NamedNodeMap):
2431         * dom/StyledElement.cpp:
2432         (WebCore::StyledElement::removeCSSProperties):
2433         (WebCore::StyledElement::addCSSProperty):
2434         (WebCore::StyledElement::addCSSImageProperty):
2435         (WebCore::StyledElement::addCSSLength):
2436         (WebCore::StyledElement::addCSSColor):
2437         * dom/StyledElement.h:
2438         (WebCore):
2439         (WebCore::StyledElement::attributeStyle):
2440         (WebCore::StyledElement::ensureAttributeStyle):
2441         * inspector/InspectorCSSAgent.cpp:
2442         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
2443
2444 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
2445
2446         Web Inspector: beautify retaining tree items view.
2447         https://bugs.webkit.org/show_bug.cgi?id=77810
2448
2449         Reviewed by Yury Semikhatsky.
2450
2451         * inspector/front-end/DetailedHeapshotGridNodes.js:
2452         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2453         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2454         * inspector/front-end/heapProfiler.css:
2455         (.cycled-ancessor-node):
2456         * inspector/front-end/profilesPanel.css:
2457
2458 2012-02-04  Shawn Singh  <shawnsingh@chromium.org>
2459
2460         [chromium] Add support to force full damage in CCDamageTracker
2461         https://bugs.webkit.org/show_bug.cgi?id=76805
2462
2463         Reviewed by James Robinson.
2464
2465         Unit test added to CCDamageTrackerTest.cpp.
2466
2467         This feature is needed for events that should cause the entire
2468         surface to be damaged, even if layers themselves had only partial
2469         damage or no damage at all. For example, tab-switching is one such
2470         event.
2471
2472         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2473         (WebCore::CCDamageTracker::CCDamageTracker):
2474         (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
2475         * platform/graphics/chromium/cc/CCDamageTracker.h:
2476         (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
2477         (CCDamageTracker):
2478
2479 2012-02-04  Anders Carlsson  <andersca@apple.com>
2480
2481         Remove dead code from ScrollingCoordinator
2482         https://bugs.webkit.org/show_bug.cgi?id=77821
2483
2484         Reviewed by Sam Weinig.
2485
2486         * WebCore.exp.in:
2487         * page/scrolling/ScrollingCoordinator.cpp:
2488         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2489         * page/scrolling/ScrollingCoordinator.h:
2490         (ScrollingCoordinator):
2491         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2492         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
2493         * rendering/RenderLayerCompositor.cpp:
2494         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2495         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2496
2497 2012-02-04  Anders Carlsson  <andersca@apple.com>
2498
2499         The scrolling tree should inform the main scrolling coordinator when the scroll position changes
2500         https://bugs.webkit.org/show_bug.cgi?id=77818
2501
2502         Reviewed by Sam Weinig.
2503
2504         * page/scrolling/ScrollingCoordinator.cpp:
2505         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
2506         Set the main frame scroll position.
2507
2508         * page/scrolling/ScrollingTree.cpp:
2509         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
2510         Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
2511
2512         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2513         (WebCore::ScrollingTreeNodeMac::scrollBy):
2514         Call ScrollingTree::updateMainFrameScrollPosition.
2515
2516 2012-02-04  Andreas Kling  <awesomekling@apple.com>
2517
2518         Element: Remove unnecessary attributeChanged() argument.
2519         <http://webkit.org/b/77814>
2520
2521         Reviewed by Ryosuke Niwa.
2522
2523         Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
2524         longer needed after the removal of per-attribute style declarations.
2525         Decorated subclass overrides with OVERRIDE since we're touching the lines.
2526
2527         Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
2528         attributeChanged() is absolutely necessary to initialize element-specific state.
2529
2530         * dom/Element.cpp:
2531         (WebCore::Element::attributeChanged):
2532         * dom/Element.h:
2533         (Element):
2534         * dom/NamedNodeMap.cpp:
2535         (WebCore::NamedNodeMap::setAttributes):
2536         * dom/StyledElement.cpp:
2537         (WebCore::StyledElement::attributeChanged):
2538         * dom/StyledElement.h:
2539         (StyledElement):
2540         * html/HTMLInputElement.cpp:
2541         (WebCore::HTMLInputElement::updateType):
2542         * html/HTMLMediaElement.cpp:
2543         (WebCore::HTMLMediaElement::attributeChanged):
2544         * html/HTMLMediaElement.h:
2545         (HTMLMediaElement):
2546         * html/HTMLScriptElement.cpp:
2547         (WebCore::HTMLScriptElement::attributeChanged):
2548         * html/HTMLScriptElement.h:
2549         (HTMLScriptElement):
2550         * html/HTMLTrackElement.cpp:
2551         (WebCore::HTMLTrackElement::attributeChanged):
2552         * html/HTMLTrackElement.h:
2553         (HTMLTrackElement):
2554         * svg/SVGAnimationElement.cpp:
2555         (WebCore::SVGAnimationElement::attributeChanged):
2556         * svg/SVGAnimationElement.h:
2557         * svg/SVGElement.cpp:
2558         (WebCore::SVGElement::attributeChanged):
2559         * svg/SVGElement.h:
2560         (SVGElement):
2561         * svg/animation/SVGSMILElement.cpp:
2562         (WebCore::SVGSMILElement::attributeChanged):
2563         * svg/animation/SVGSMILElement.h:
2564         (SVGSMILElement):
2565
2566 2012-02-04  Ken Buchanan  <kenrb@chromium.org>
2567
2568         Crash when reparenting children of flexible boxes
2569         https://bugs.webkit.org/show_bug.cgi?id=77458
2570
2571         Reviewed by Ojan Vafai.
2572
2573         This fixes some regressions I introduced in r106150. RenderBlock::
2574         removeChild needs to be careful about not collapsing anonymous
2575         blocks underneath flexible boxes, and also about node ordering
2576         when there is an after block.
2577
2578         * rendering/RenderBlock.cpp:
2579         (WebCore::RenderBlock::removeChild):
2580         (WebCore::RenderBlock::collapseAnonymousBoxChild):
2581
2582 2012-02-04  Ryosuke Niwa  <rniwa@webkit.org>
2583
2584         Debug build fix after r106715.
2585
2586         * html/HTMLDetailsElement.cpp:
2587         (WebCore::DetailsSummaryElement::create):
2588
2589 2012-02-04  Andreas Kling  <awesomekling@apple.com>
2590
2591         Unreviewed test fix after r106740.
2592         <http://webkit.org/b/77204>
2593
2594         Disable matched declaration caching for elements with attribute style until we can
2595         figure out how it's supposed to work.
2596
2597         * css/CSSStyleSelector.cpp:
2598         (WebCore::CSSStyleSelector::matchAllRules):
2599
2600 2012-02-03  Andreas Kling  <awesomekling@apple.com>
2601
2602         Kill per-Attribute style declarations.
2603         <http://webkit.org/b/77204>
2604
2605         Reviewed by Antti Koivisto.
2606
2607         TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
2608         style declaration on StyledElement that acts as a secondary inline style.
2609
2610         The previous design was conceived in the Age of the Old Web(tm) where the majority of
2611         element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
2612         this and we should optimize around that instead.
2613
2614         StyledElements now have an attributeStyle() which contains all the styling from attributes.
2615         parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
2616         as the corresponding attributes come in/out of the element.
2617
2618         Each Attribute instance shrinks by one pointer, each element that has attributes grows by
2619         one pointer. The styles from individual attributes are no longer shared, so content that
2620         uses a lot of repeating styling attributes will see a slight memory regression from this.
2621         Future improvements to this could enable sharing the attributeStyle between elements that
2622         have the same exact attributes to mitigate some of the damage.
2623
2624         There should be no web-facing behavior change from this, but it does break two things:
2625
2626         - The Inspector feature for displaying per-attribute styles. To keep things manageable,
2627           this patch simply files all the attribute styles together under an anonymous attribute
2628           in the Inspector.
2629
2630         - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
2631           though it's already deprecated. It will now always return nil, since there's no way to
2632           retrieve a live style declaration that's specific to a certain Attr.
2633
2634         * css/CSSStyleSelector.cpp:
2635         (WebCore::CSSStyleSelector::matchAllRules):
2636         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2637         * dom/Attr.h:
2638         (WebCore):
2639         (Attr):
2640         (WebCore::Attr::style):
2641         * dom/Attribute.cpp:
2642         (WebCore::Attribute::clone):
2643         * dom/Attribute.h:
2644         (WebCore):
2645         (WebCore::Attribute::create):
2646         (WebCore::Attribute::createMapped):
2647         (Attribute):
2648         (WebCore::Attribute::Attribute):
2649         * dom/CSSMappedAttributeDeclaration.cpp:
2650         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
2651         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
2652         * dom/CSSMappedAttributeDeclaration.h:
2653         (CSSMappedAttributeDeclaration):
2654         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
2655         * dom/Element.h:
2656         (Element):
2657         * dom/ElementAttributeData.h:
2658         (ElementAttributeData):
2659         * dom/NamedNodeMap.cpp:
2660         (WebCore::NamedNodeMap::ensureAttributeStyle):
2661         (WebCore):
2662         * dom/NamedNodeMap.h:
2663         (WebCore::NamedNodeMap::attributeStyle):
2664         (NamedNodeMap):
2665         * dom/StyledElement.cpp:
2666         (WebCore):
2667         (WebCore::StyledElement::attributeChanged):
2668         (WebCore::StyledElement::removeCSSProperties):
2669         (WebCore::StyledElement::addCSSProperty):
2670         (WebCore::StyledElement::addCSSImageProperty):
2671         (WebCore::StyledElement::addCSSLength):
2672         (WebCore::StyledElement::addCSSColor):
2673         * dom/StyledElement.h:
2674         (StyledElement):
2675         (WebCore::StyledElement::removeCSSProperty):
2676         (WebCore::StyledElement::attributeStyle):
2677         (WebCore::StyledElement::ensureAttributeStyle):
2678         * html/HTMLBRElement.cpp:
2679         (WebCore::HTMLBRElement::parseMappedAttribute):
2680         * html/HTMLBRElement.h:
2681         (HTMLBRElement):
2682         * html/HTMLBodyElement.cpp:
2683         (WebCore::HTMLBodyElement::parseMappedAttribute):
2684         * html/HTMLBodyElement.h:
2685         (HTMLBodyElement):
2686         * html/HTMLDivElement.cpp:
2687         (WebCore::HTMLDivElement::parseMappedAttribute):
2688         * html/HTMLDivElement.h:
2689         (HTMLDivElement):
2690         * html/HTMLElement.cpp:
2691         (WebCore::HTMLElement::applyBorderAttribute):
2692         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
2693         (WebCore::HTMLElement::parseMappedAttribute):
2694         (WebCore::HTMLElement::removeHTMLAlignment):
2695         (WebCore):
2696         (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
2697         (WebCore::HTMLElement::setContentEditable):
2698         * html/HTMLElement.h:
2699         (HTMLElement):
2700         * html/HTMLEmbedElement.cpp:
2701         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2702         * html/HTMLEmbedElement.h:
2703         (HTMLEmbedElement):
2704         * html/HTMLFontElement.cpp:
2705         (WebCore::HTMLFontElement::parseMappedAttribute):
2706         * html/HTMLFontElement.h:
2707         (HTMLFontElement):
2708         * html/HTMLFrameSetElement.cpp:
2709         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2710         * html/HTMLFrameSetElement.h:
2711         (HTMLFrameSetElement):
2712         * html/HTMLHRElement.cpp:
2713         (WebCore::HTMLHRElement::parseMappedAttribute):
2714         * html/HTMLHRElement.h:
2715         (HTMLHRElement):
2716         * html/HTMLIFrameElement.cpp:
2717         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2718         * html/HTMLIFrameElement.h:
2719         (HTMLIFrameElement):
2720         * html/HTMLImageElement.cpp:
2721         (WebCore::HTMLImageElement::parseMappedAttribute):
2722         * html/HTMLImageElement.h:
2723         (HTMLImageElement):
2724         * html/HTMLInputElement.cpp:
2725         (WebCore::HTMLInputElement::parseMappedAttribute):
2726         * html/HTMLInputElement.h:
2727         (HTMLInputElement):
2728         * html/HTMLLIElement.cpp:
2729         (WebCore::HTMLLIElement::parseMappedAttribute):
2730         * html/HTMLLIElement.h:
2731         (HTMLLIElement):
2732         * html/HTMLMarqueeElement.cpp:
2733         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
2734         * html/HTMLMarqueeElement.h:
2735         (HTMLMarqueeElement):
2736         * html/HTMLOListElement.cpp:
2737         (WebCore::HTMLOListElement::parseMappedAttribute):
2738         * html/HTMLOListElement.h:
2739         (HTMLOListElement):
2740         * html/HTMLOutputElement.cpp:
2741         * html/HTMLOutputElement.h:
2742         (HTMLOutputElement):
2743         * html/HTMLParagraphElement.cpp:
2744         (WebCore::HTMLParagraphElement::parseMappedAttribute):
2745         * html/HTMLParagraphElement.h:
2746         (HTMLParagraphElement):
2747         * html/HTMLPlugInElement.cpp:
2748         (WebCore::HTMLPlugInElement::parseMappedAttribute):
2749         * html/HTMLPlugInElement.h:
2750         (HTMLPlugInElement):
2751         * html/HTMLPreElement.cpp:
2752         (WebCore::HTMLPreElement::parseMappedAttribute):
2753         * html/HTMLPreElement.h:
2754         (HTMLPreElement):
2755         * html/HTMLTableCaptionElement.cpp:
2756         (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
2757         * html/HTMLTableCaptionElement.h:
2758         (HTMLTableCaptionElement):
2759         * html/HTMLTableCellElement.cpp:
2760         (WebCore::HTMLTableCellElement::parseMappedAttribute):
2761         * html/HTMLTableCellElement.h:
2762         (HTMLTableCellElement):
2763         * html/HTMLTableColElement.cpp:
2764         (WebCore::HTMLTableColElement::parseMappedAttribute):
2765         * html/HTMLTableColElement.h:
2766         (HTMLTableColElement):
2767         * html/HTMLTableElement.cpp:
2768         (WebCore::HTMLTableElement::parseMappedAttribute):
2769         * html/HTMLTableElement.h:
2770         (HTMLTableElement):
2771         * html/HTMLTablePartElement.cpp:
2772         (WebCore):
2773         (WebCore::HTMLTablePartElement::parseMappedAttribute):
2774         * html/HTMLTablePartElement.h:
2775         * html/HTMLTextAreaElement.cpp:
2776         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2777         * html/HTMLUListElement.cpp:
2778         (WebCore::HTMLUListElement::parseMappedAttribute):
2779         * html/HTMLUListElement.h:
2780         (HTMLUListElement):
2781         * html/HTMLVideoElement.cpp:
2782         (WebCore::HTMLVideoElement::parseMappedAttribute):
2783         * inspector/InspectorCSSAgent.cpp:
2784         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
2785         * mathml/MathMLElement.cpp:
2786         (WebCore::MathMLElement::parseMappedAttribute):
2787         * mathml/MathMLElement.h:
2788         * svg/SVGImageElement.cpp:
2789         (WebCore::SVGImageElement::parseMappedAttribute):
2790         * svg/SVGStyledElement.cpp:
2791         (WebCore::SVGStyledElement::parseMappedAttribute):
2792         (WebCore::SVGStyledElement::getPresentationAttribute):
2793         * svg/SVGStyledElement.h:
2794         (SVGStyledElement):
2795         * svg/SVGTextContentElement.cpp:
2796         (WebCore::SVGTextContentElement::parseMappedAttribute):
2797
2798 2012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>
2799
2800         Web Inspector: get rid of cycles in retaining tree
2801         https://bugs.webkit.org/show_bug.cgi?id=77801
2802
2803         Drive by fix: 'retained by' prefix was removed.
2804
2805         Reviewed by Yury Semikhatsky.
2806
2807         * inspector/front-end/DetailedHeapshotGridNodes.js:
2808         (WebInspector.HeapSnapshotObjectNode):
2809         (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
2810         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
2811         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2812         * inspector/front-end/profilesPanel.css:
2813         (.cycled-ancessor-node):
2814
2815 2012-02-04  Kentaro Hara  <haraken@chromium.org>
2816
2817         Add the "JS" prefix to JSC specific IDL attributes
2818         https://bugs.webkit.org/show_bug.cgi?id=77693
2819
2820         Reviewed by Darin Adler.
2821
2822         Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
2823         It might be OK since JSC is the main JavaScript engine in WebKit, but
2824         distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
2825         people understand the role of IDLs.
2826
2827         This patch renames the following JSC specific IDLs:
2828
2829             CustomFinalize => JSCustomFinalize
2830             CustomIsReachable => JSCustomIsReachable
2831             CustomMarkFunction => JSCustomMarkFunction
2832             CustomToJS => JSCustomToJS
2833             CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
2834             GenerateIsReachable => JSGenerateIsReachable
2835             GenerateToJS => JSGenerateToJS
2836             NoStaticTables => JSNoStaticTables
2837             WindowEventListener => JSWindowEventListener
2838             InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
2839             DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate
2840
2841         No tests. No changes in behavior.
2842
2843         * bindings/scripts/CodeGeneratorJS.pm:
2844         (GenerateGetOwnPropertySlotBody):
2845         (GenerateGetOwnPropertyDescriptorBody):
2846         (GenerateHeader):
2847         (GenerateImplementation):
2848         * bindings/scripts/CodeGeneratorV8.pm:
2849         (HasCustomToV8Implementation):
2850
2851         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
2852
2853         * css/CSSRule.idl:
2854         * css/CSSRuleList.idl:
2855         * css/CSSStyleDeclaration.idl:
2856         * css/CSSValue.idl:
2857         * css/MediaList.idl:
2858         * css/MediaQueryListListener.idl:
2859         * css/StyleMedia.idl:
2860         * css/StyleSheet.idl:
2861         * css/StyleSheetList.idl:
2862         * dom/Attr.idl:
2863         * dom/DOMCoreException.idl:
2864         * dom/DOMImplementation.idl:
2865         * dom/DOMStringMap.idl:
2866         * dom/Document.idl:
2867         * dom/Element.idl:
2868         * dom/ErrorEvent.idl:
2869         * dom/Event.idl:
2870         * dom/EventException.idl:
2871         * dom/EventListener.idl:
2872         * dom/MessageChannel.idl:
2873         * dom/MessageEvent.idl:
2874         * dom/MessagePort.idl:
2875         * dom/NamedNodeMap.idl:
2876         * dom/Node.idl:
2877         * dom/NodeFilter.idl:
2878         * dom/NodeIterator.idl:
2879         * dom/NodeList.idl:
2880         * dom/TreeWalker.idl:
2881         * dom/WebKitNamedFlow.idl:
2882         * fileapi/Blob.idl:
2883         * fileapi/DOMFileSystem.idl:
2884         * fileapi/DOMFileSystemSync.idl:
2885         * fileapi/DirectoryEntry.idl:
2886         * fileapi/DirectoryEntrySync.idl:
2887         * fileapi/DirectoryReader.idl:
2888         * fileapi/DirectoryReaderSync.idl:
2889         * fileapi/Entry.idl:
2890         * fileapi/EntryArray.idl:
2891         * fileapi/EntryArraySync.idl:
2892         * fileapi/EntrySync.idl:
2893         * fileapi/File.idl:
2894         * fileapi/FileEntry.idl:
2895         * fileapi/FileEntrySync.idl:
2896         * fileapi/FileError.idl:
2897         * fileapi/FileException.idl:
2898         * fileapi/FileList.idl:
2899         * fileapi/FileReader.idl:
2900         * fileapi/FileReaderSync.idl:
2901         * fileapi/FileWriter.idl:
2902         * fileapi/Metadata.idl:
2903         * fileapi/OperationNotAllowedException.idl:
2904         * fileapi/WebKitBlobBuilder.idl:
2905         * html/DOMFormData.idl:
2906         * html/DOMSettableTokenList.idl:
2907         * html/DOMTokenList.idl:
2908         * html/DOMURL.idl:
2909         * html/HTMLAllCollection.idl:
2910         * html/HTMLBodyElement.idl:
2911         * html/HTMLCollection.idl:
2912         * html/HTMLFrameSetElement.idl:
2913         * html/ImageData.idl:
2914         * html/MediaController.idl:
2915         * html/TextTrack.idl:
2916         * html/TextTrackCue.idl:
2917         * html/VoidCallback.idl:
2918         * html/canvas/ArrayBuffer.idl:
2919         * html/canvas/ArrayBufferView.idl:
2920         * html/canvas/CanvasRenderingContext.idl:
2921         * html/canvas/DataView.idl:
2922         * html/canvas/Float32Array.idl:
2923         * html/canvas/Float64Array.idl:
2924         * html/canvas/Int16Array.idl:
2925         * html/canvas/Int32Array.idl:
2926         * html/canvas/Int8Array.idl:
2927         * html/canvas/OESStandardDerivatives.idl:
2928         * html/canvas/OESTextureFloat.idl:
2929         * html/canvas/OESVertexArrayObject.idl:
2930         * html/canvas/Uint16Array.idl:
2931         * html/canvas/Uint32Array.idl:
2932         * html/canvas/Uint8Array.idl:
2933         * html/canvas/Uint8ClampedArray.idl:
2934         * html/canvas/WebGLCompressedTextures.idl:
2935         * html/canvas/WebGLDebugRendererInfo.idl:
2936         * html/canvas/WebGLDebugShaders.idl:
2937         * html/canvas/WebGLLoseContext.idl:
2938         * html/canvas/WebGLRenderingContext.idl:
2939         * html/track/TextTrackList.idl:
2940         * loader/appcache/DOMApplicationCache.idl:
2941         * mediastream/LocalMediaStream.idl:
2942         * page/BarInfo.idl:
2943         * page/Console.idl:
2944         * page/DOMSelection.idl:
2945         * page/DOMWindow.idl:
2946         * page/EventSource.idl:
2947         * page/Geolocation.idl:
2948         * page/History.idl:
2949         * page/Location.idl:
2950         * page/Navigator.idl:
2951         * page/Screen.idl:
2952         * page/WorkerNavigator.idl:
2953         * plugins/DOMMimeTypeArray.idl:
2954         * plugins/DOMPluginArray.idl:
2955         * storage/Database.idl:
2956         * storage/DatabaseSync.idl:
2957         * storage/IDBAny.idl:
2958         * storage/IDBKey.idl:
2959         * storage/SQLError.idl:
2960         * storage/SQLException.idl:
2961         * storage/SQLResultSet.idl:
2962         * storage/SQLResultSetRowList.idl:
2963         * storage/SQLTransaction.idl:
2964         * storage/SQLTransactionSync.idl:
2965         * storage/Storage.idl:
2966         * svg/SVGElementInstance.idl:
2967         * svg/SVGPathSeg.idl:
2968         * webaudio/AudioBufferCallback.idl:
2969         * webaudio/AudioBufferSourceNode.idl:
2970         * webaudio/AudioContext.idl:
2971         * webaudio/AudioDestinationNode.idl:
2972         * webaudio/AudioGain.idl:
2973         * webaudio/AudioGainNode.idl:
2974         * webaudio/AudioPannerNode.idl:
2975         * webaudio/AudioProcessingEvent.idl:
2976         * webaudio/BiquadFilterNode.idl:
2977         * webaudio/ConvolverNode.idl:
2978         * webaudio/DelayNode.idl:
2979         * webaudio/DynamicsCompressorNode.idl:
2980         * webaudio/HighPass2FilterNode.idl:
2981         * webaudio/JavaScriptAudioNode.idl:
2982         * webaudio/LowPass2FilterNode.idl:
2983         * webaudio/MediaElementAudioSourceNode.idl:
2984         * webaudio/OfflineAudioCompletionEvent.idl:
2985         * webaudio/RealtimeAnalyserNode.idl:
2986         * webaudio/WaveShaperNode.idl:
2987         * websockets/CloseEvent.idl:
2988         * websockets/WebSocket.idl:
2989         * workers/AbstractWorker.idl:
2990         * workers/DedicatedWorkerContext.idl:
2991         * workers/SharedWorker.idl:
2992         * workers/SharedWorkerContext.idl:
2993         * workers/Worker.idl:
2994         * workers/WorkerContext.idl:
2995         * workers/WorkerLocation.idl:
2996         * xml/XMLHttpRequest.idl:
2997         * xml/XMLHttpRequestException.idl:
2998         * xml/XMLHttpRequestProgressEvent.idl:
2999         * xml/XMLHttpRequestUpload.idl:
3000         * xml/XPathResult.idl:
3001
3002 2012-02-04  Emil A Eklund  <eae@chromium.org>
3003
3004         Convert RenderTheme over to new layout abstraction
3005         https://bugs.webkit.org/show_bug.cgi?id=77783
3006
3007         Reviewed by Eric Seidel.
3008
3009         Change the RenderTheme classes to use the new layout abstraction as a
3010         part of the ongoing conversion work.
3011
3012         No new tests.
3013
3014         * rendering/RenderTheme.cpp:
3015         (WebCore::RenderTheme::paint):
3016         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
3017         (WebCore::RenderTheme::baselinePosition):
3018         (WebCore::RenderTheme::adjustRepaintRect):
3019         (WebCore::RenderTheme::meterSizeForBounds):
3020         * rendering/RenderTheme.h:
3021         (RenderTheme):
3022         (WebCore::RenderTheme::paintCapsLockIndicator):
3023         * rendering/RenderThemeChromiumMac.h:
3024         (RenderThemeChromiumMac):
3025         * rendering/RenderThemeChromiumMac.mm:
3026         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
3027         * rendering/RenderThemeChromiumSkia.cpp:
3028         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
3029         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
3030         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
3031         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
3032         * rendering/RenderThemeChromiumSkia.h:
3033         * rendering/RenderThemeMac.h:
3034         (RenderThemeMac):
3035         * rendering/RenderThemeMac.mm:
3036         (WebCore::RenderThemeMac::adjustRepaintRect):
3037         (WebCore::RenderThemeMac::inflateRect):
3038         (WebCore::RenderThemeMac::setControlSize):
3039         (WebCore::RenderThemeMac::paintCapsLockIndicator):
3040         (WebCore::RenderThemeMac::paintMenuList):
3041         (WebCore::RenderThemeMac::meterSizeForBounds):
3042         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3043         (WebCore::RenderThemeMac::setPopupButtonCellState):
3044         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3045         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
3046         * rendering/RenderThemeSafari.cpp:
3047         (WebCore::RenderThemeSafari::baselinePosition):
3048         * rendering/RenderThemeSafari.h:
3049         (RenderThemeSafari):
3050         * rendering/RenderThemeWin.cpp:
3051         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
3052         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
3053         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
3054         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
3055         * rendering/RenderThemeWin.h:
3056         (RenderThemeWin):
3057
3058 2012-02-04  Stephen White  <senorblanco@chromium.org>
3059
3060         [chromium] Fix multi-second hangs in compositor invalidating large layers
3061         https://bugs.webkit.org/show_bug.cgi?id=77774
3062
3063         Reviewed by James Robinson.
3064
3065         Correctness covered by existing tests.
3066
3067         * platform/graphics/chromium/TiledLayerChromium.cpp:
3068         (WebCore::TiledLayerChromium::pushPropertiesTo):
3069         Remove tiles from the tiler when they are invalid (ie., no longer have
3070         texture backing).
3071         (WebCore::TiledLayerChromium::invalidateRect):
3072         Instead of iterating over the tile indices (which may be very large),
3073         iterate over the tile hash map instead.
3074
3075 2012-02-04  Swapna P  <spottabathini@innominds.com>
3076
3077         Reviewed by Antonio Gomes.
3078         
3079         Bug: iframe with scrolling=no incorrectly autoscrollable
3080         https://bugs.webkit.org/show_bug.cgi?id=61558
3081         
3082         Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
3083         
3084         Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
3085         
3086         * rendering/RenderLayer.cpp:
3087         (WebCore::RenderLayer::scrollRectToVisible):
3088
3089 2012-02-03  Tim Horton  <timothy_horton@apple.com>
3090
3091         Canvas-into-canvas drawing should respect backing store scale ratio
3092         https://bugs.webkit.org/show_bug.cgi?id=77784
3093         <rdar://problem/10549729>
3094
3095         Reviewed by Dan Bernstein.
3096
3097         Respect the backing store scale ratio when drawing a canvas into another
3098         canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
3099         drawing to differ based on the size of the backing store, which is ideally
3100         an implementation detail to authors.
3101
3102         Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
3103         to be more clear.
3104
3105         No new tests.
3106
3107         * html/canvas/CanvasRenderingContext2D.cpp:
3108         (WebCore::CanvasRenderingContext2D::drawImage):
3109
3110 2012-02-03  Beth Dakin  <bdakin@apple.com>
3111
3112         https://bugs.webkit.org/show_bug.cgi?id=77782
3113         WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
3114         once on some pages with frames
3115         -and corresponding-
3116         <rdar://problem/10798474>
3117
3118         Reviewed by Sam Weinig.
3119
3120         startCountingRelevantRepaintedObjects() should only be called for the main 
3121         frame. Otherwise, the counter will be re-set inappropriately, and 
3122         didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
3123         * page/FrameView.cpp:
3124         (WebCore::FrameView::performPostLayoutTasks):
3125
3126 2012-02-03  Benjamin Poulain  <bpoulain@apple.com>
3127
3128         Reduce the memory allocations of WebCore's cssPropertyName()
3129         https://bugs.webkit.org/show_bug.cgi?id=74782
3130
3131         Reviewed by Geoffrey Garen.
3132
3133         Add a fast path to avoid the use of the StringBuilder.
3134
3135         The string builder is needed for two cases:
3136         -CSS prefix (the character after the prefix must be uppercase)
3137         -JavaScript CamelCase name for CSS properties
3138
3139         We can skip all memory allocations if the property is not in those
3140         two cases. We start by testing the string for uppercase characters,
3141         and just return the an identical string.
3142
3143         This patch create a "fast case" 2.7 times faster than previously.
3144         The "slow case" is 2-3% slower due to the additional check at the beginning.
3145
3146         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3147         (WebCore):
3148         (WebCore::containsASCIIUpperChar):
3149         (WebCore::cssPropertyName):
3150         (WebCore::isCSSPropertyName):
3151
3152 2012-02-03  Anders Carlsson  <andersca@apple.com>
3153
3154         WebKit2 should dispatch wheel events to the new ScrollingTree class
3155         https://bugs.webkit.org/show_bug.cgi?id=77795
3156
3157         Reviewed by Andreas Kling.
3158
3159         * WebCore.exp.in:
3160         Add new symbols needed by WebKit2.
3161
3162         * WebCore.xcodeproj/project.pbxproj:
3163         Make ScrollingTree.h private so it can be included by WebKit2.
3164
3165         * page/scrolling/ScrollingCoordinator.cpp:
3166         (WebCore::ScrollingCoordinator::scrollingTree):
3167         * page/scrolling/ScrollingCoordinator.h:
3168         Add a scrolling tree getter.
3169
3170 2012-02-03  Dmitry Lomov  <dslomov@google.com>
3171
3172         [Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
3173         https://bugs.webkit.org/show_bug.cgi?id=77686.
3174
3175         Reviewed by Adam Barth.
3176
3177         * bindings/v8/V8Helpers.cpp:
3178         (WebCore::toV8Context):
3179
3180 2012-02-03  Anders Carlsson  <andersca@apple.com>
3181
3182         The scrolling tree should be able to handle wheel events
3183         https://bugs.webkit.org/show_bug.cgi?id=77794
3184
3185         Reviewed by Andreas Kling.
3186
3187         * page/scrolling/ScrollingTree.cpp:
3188         (WebCore::ScrollingTree::tryToHandleWheelEvent):
3189         New function. Currently this always returns that it was able to handle the wheel event,
3190         but this will change in the future.
3191
3192         (WebCore::ScrollingTree::handleWheelEvent):
3193         Ask the root node to handle the wheel event.
3194
3195         * page/scrolling/ScrollingTreeNode.h:
3196         Add a handleWheelEvent pure virtual member function.
3197
3198         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3199         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
3200         Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
3201         things like rubber-banding.
3202
3203         (WebCore::ScrollingTreeNodeMac::scrollPosition):
3204         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
3205         Add getters and setters for the scroll position.
3206
3207         (WebCore::ScrollingTreeNodeMac::scrollBy):
3208         Update the scroll position given the offset.
3209
3210 2012-02-03  Ryosuke Niwa  <rniwa@webkit.org>
3211
3212         Crash in Node::dispatchSubtreeModifiedEvent
3213         https://bugs.webkit.org/show_bug.cgi?id=77449
3214
3215         Reviewed by Alexey Proskuryakov.
3216
3217         The bug was caused by appendChild not retaining this pointer.
3218         This is normally okay because there's another owner within JSC/V8 binding code that
3219         holds onto the node but this isn't the case when nodes are created as a part
3220         of setting document.title. Fixed the crash by retaining the pointer as needed.
3221
3222         Test: fast/dom/remove-body-during-title-creation.html
3223
3224         * dom/ContainerNode.cpp:
3225         (WebCore::ContainerNode::appendChild):
3226
3227 2012-02-03  Anders Carlsson  <andersca@apple.com>
3228
3229         Apply changed properties from the updated scrolling tree state
3230         https://bugs.webkit.org/show_bug.cgi?id=77792
3231
3232         Reviewed by Andreas Kling.
3233
3234         * page/scrolling/ScrollingTreeNode.cpp:
3235         (WebCore::ScrollingTreeNode::update):
3236         Update the tree node properties from the scrolling tree state.
3237
3238         * page/scrolling/ScrollingTreeNode.h:
3239         (WebCore::ScrollingTreeNode::scrollingTree):
3240         (WebCore::ScrollingTreeNode::viewportRect):
3241         (WebCore::ScrollingTreeNode::contentsSize):
3242         Add getters.
3243
3244         * page/scrolling/ScrollingTreeState.h:
3245         (WebCore::ScrollingTreeState::changedProperties):
3246         New function for accessing the changed properties of the scrolling tree state.
3247
3248         * page/scrolling/mac/ScrollingTreeNodeMac.h:
3249         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3250         (WebCore::ScrollingTreeNodeMac::update):
3251         Update the scroll layer from the scrolling tree if necessary.
3252
3253 2012-02-03  Brady Eidson  <beidson@apple.com>
3254
3255         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
3256         Need a WK2 API to filter which subframes go into WebArchives as they are created.
3257
3258         Reviewed by Darin Adler.
3259
3260         This adds a filter callback object that allows clients to get called back for each
3261         subframe that might be added to a WebArchive.
3262
3263         API only, No new layout tests.
3264
3265         * WebCore.exp.in:
3266         * loader/archive/cf/LegacyWebArchive.cpp:
3267         (WebCore::LegacyWebArchive::create):
3268         (WebCore::LegacyWebArchive::createFromSelection):
3269         * loader/archive/cf/LegacyWebArchive.h:
3270         (FrameFilter):
3271         (WebCore:: FrameFilter::~ FrameFilter):
3272         (LegacyWebArchive):
3273
3274 2012-02-03  Joshua Bell  <jsbell@chromium.org>
3275
3276         IndexedDB: Key generators not rolled back if insertion fails or is aborted
3277         https://bugs.webkit.org/show_bug.cgi?id=77060
3278
3279         Reviewed by Tony Chang.
3280
3281         Test: storage/indexeddb/key-generator.html
3282
3283         * storage/IDBObjectStoreBackendImpl.cpp:
3284         (WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
3285         (WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
3286         (WebCore):
3287         (WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
3288         * storage/IDBObjectStoreBackendImpl.h:
3289         (IDBObjectStoreBackendImpl):
3290
3291 2012-02-03  Tony Chang  <tony@chromium.org>
3292
3293         positive and negative flex values are not being cleared on style changes
3294         https://bugs.webkit.org/show_bug.cgi?id=77771
3295
3296         Reviewed by Ojan Vafai.
3297
3298         If the width or height was a flex() value, but is no longer a flex
3299         value, we weren't clearing the positive and negative flex values in
3300         RenderStyle.
3301
3302         Test: css3/flexbox/flex-no-flex.html
3303
3304         * css/CSSStyleApplyProperty.cpp:
3305         (WebCore::ApplyPropertyLength::applyValue):
3306
3307 2012-02-03  James Robinson  <jamesr@chromium.org>
3308
3309         [chromium] Defer makeContextCurrent in compositor until first frame
3310         https://bugs.webkit.org/show_bug.cgi?id=77269
3311
3312         Reviewed by Kenneth Russell.
3313
3314         There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
3315         initialization work completes on another thread that we cannot block for. This defers the first
3316         makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
3317         assuming that the scheduler does the right thing.
3318
3319         This is accomplished by splitting up proxy initialization into two pieces:
3320         *) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
3321         context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().
3322
3323         *) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
3324             grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
3325             to the client as a lost context event.
3326
3327         Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
3328         LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
3329         TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
3330         painting so it doesn't have any impact outside of some overly intrustive unit tests.
3331
3332         * platform/graphics/chromium/ContentLayerChromium.cpp:
3333         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3334         (WebCore::ContentLayerChromium::createTextureUpdater):
3335         * platform/graphics/chromium/ContentLayerChromium.h:
3336         (ContentLayerChromium):
3337         * platform/graphics/chromium/ImageLayerChromium.cpp:
3338         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3339         * platform/graphics/chromium/ImageLayerChromium.h:
3340         (ImageLayerChromium):
3341         * platform/graphics/chromium/TiledLayerChromium.cpp:
3342         * platform/graphics/chromium/TiledLayerChromium.h:
3343         (WebCore::TiledLayerChromium::setSampledTexelFormat):
3344         (TiledLayerChromium):
3345         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3346         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3347         (WebCore::CCLayerTreeHost::initialize):
3348         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
3349         (WebCore):
3350         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
3351         (WebCore::CCLayerTreeHost::compositeAndReadback):
3352         (WebCore::CCLayerTreeHost::finishAllRendering):
3353         (WebCore::CCLayerTreeHost::setViewportSize):
3354         (WebCore::CCLayerTreeHost::setVisible):
3355         (WebCore::CCLayerTreeHost::updateLayers):
3356         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3357         (CCLayerTreeHost):
3358         ():
3359         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3360         (WebCore::CCLayerTreeHostImpl::isContextLost):
3361         * platform/graphics/chromium/cc/CCProxy.h:
3362         (CCProxy):
3363         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3364         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
3365         (WebCore::CCSingleThreadProxy::compositeAndReadback):
3366         (WebCore::CCSingleThreadProxy::initializeContext):
3367         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3368         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
3369         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3370         (CCSingleThreadProxy):
3371         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3372         (WebCore::CCThreadProxy::CCThreadProxy):
3373         (WebCore::CCThreadProxy::compositeAndReadback):
3374         (WebCore::CCThreadProxy::initializeContext):
3375         (WebCore):
3376         (WebCore::CCThreadProxy::initializeLayerRenderer):
3377         (WebCore::CCThreadProxy::layerRendererCapabilities):
3378         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3379         (WebCore::CCThreadProxy::initializeContextOnImplThread):
3380         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
3381         * platform/graphics/chromium/cc/CCThreadProxy.h:
3382         (CCThreadProxy):
3383
3384 2012-02-03  James Robinson  <jamesr@chromium.org>
3385
3386         Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi
3387
3388         * WebCore.gypi:
3389
3390 2012-02-03  Andreas Kling  <awesomekling@apple.com>
3391
3392         Unreviewed build fix attempt after r106695.
3393
3394         CSSMutableStyleDeclaration was renamed to StylePropertySet.
3395
3396         * bindings/scripts/CodeGeneratorCPP.pm:
3397         (AddIncludesForType):
3398         * bindings/scripts/CodeGeneratorV8.pm:
3399         (AddIncludesForType):
3400         * bindings/v8/V8DOMWindowShell.cpp:
3401         * bindings/v8/V8DOMWrapper.cpp:
3402         * bindings/v8/V8Proxy.cpp:
3403
3404 2012-02-03  Yong Li  <yoli@rim.com>
3405
3406         [BlackBerry] Let userIdleTime() return maximum number instead of 0 as
3407         most of other ports do.
3408         https://bugs.webkit.org/show_bug.cgi?id=77769
3409
3410         Reviewed by Rob Buis.
3411
3412         userIdleTime() should return a big number so it won't block page cache
3413         from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().
3414
3415         No new tests as no visible functional changes.
3416
3417         * platform/blackberry/SystemTimeBlackBerry.cpp:
3418         (WebCore::userIdleTime):
3419
3420 2012-02-03  Anders Carlsson  <andersca@apple.com>
3421
3422         Commit scrolling tree state changes to the scrolling tree
3423         https://bugs.webkit.org/show_bug.cgi?id=77780
3424
3425         Reviewed by Darin Adler.
3426
3427         * WebCore.xcodeproj/project.pbxproj:
3428         * page/scrolling/ScrollingCoordinator.cpp:
3429         (WebCore::ScrollingCoordinator::commitTreeState):
3430         Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.
3431
3432         * page/scrolling/ScrollingTree.cpp:
3433         (WebCore::ScrollingTree::ScrollingTree):
3434         Create a root node.
3435
3436         (WebCore::ScrollingTree::commitNewTreeState):
3437         Update the root node.
3438
3439         * page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
3440         * page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
3441         Stub out an abstract ScrollingTreeNode class.
3442
3443         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3444         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
3445         Update the scroll layer on the tree state.
3446
3447         * page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
3448         * page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
3449         Stub out the concrete ScrollingTreeNodeMac subclass.
3450
3451 2012-02-03  Antti Koivisto  <antti@apple.com>
3452
3453         Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp 
3454         https://bugs.webkit.org/show_bug.cgi?id=77779
3455
3456         Reviewed by Darin Adler.
3457
3458         Match the new class name.
3459
3460         * CMakeLists.txt:
3461         * GNUmakefile.list.am:
3462         * Target.pri:
3463         * WebCore.gypi:
3464         * WebCore.vcproj/WebCore.vcproj:
3465         * WebCore.xcodeproj/project.pbxproj:
3466         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3467         * bindings/js/JSDOMBinding.h:
3468         * bindings/scripts/CodeGeneratorJS.pm:
3469         (NativeToJSValue):
3470         * bindings/scripts/CodeGeneratorObjC.pm:
3471         (AddIncludesForType):
3472         * css/CSSAllInOne.cpp:
3473         * css/CSSComputedStyleDeclaration.cpp:
3474         * css/CSSFontFaceRule.cpp:
3475         * css/CSSFontFaceRule.h:
3476         * css/CSSFontSelector.cpp:
3477         * css/CSSMutableStyleDeclaration.cpp: Removed.
3478         * css/CSSMutableStyleDeclaration.h: Removed.
3479         * css/CSSPageRule.cpp:
3480         * css/CSSParser.cpp:
3481         * css/CSSStyleRule.cpp:
3482         * css/CSSStyleRule.h:
3483         * css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
3484         * css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
3485         * css/WebKitCSSKeyframeRule.cpp:
3486         * css/WebKitCSSKeyframeRule.h:
3487         * css/WebKitCSSKeyframesRule.cpp:
3488         * css/WebKitCSSMatrix.cpp:
3489         * dom/CSSMappedAttributeDeclaration.h:
3490         * dom/ElementAttributeData.h:
3491         * dom/StyledElement.cpp:
3492         * dom/StyledElement.h:
3493         * editing/ApplyStyleCommand.cpp:
3494         * editing/DeleteButtonController.cpp:
3495         * editing/EditingStyle.cpp:
3496         * editing/Editor.cpp:
3497         * editing/EditorCommand.cpp:
3498         * editing/RemoveCSSPropertyCommand.cpp:
3499         * editing/ReplaceSelectionCommand.cpp:
3500         * editing/markup.cpp:
3501         * html/canvas/CanvasRenderingContext2D.cpp:
3502         * html/shadow/MeterShadowElement.cpp:
3503         * inspector/InspectorCSSAgent.cpp:
3504         * inspector/InspectorDOMAgent.cpp:
3505         * page/DragController.cpp:
3506         * page/Frame.cpp:
3507         * rendering/RenderLayer.cpp:
3508         * rendering/RenderTreeAsText.cpp:
3509         * svg/SVGFontFaceElement.h:
3510         (WebCore):
3511
3512 2012-02-03  Mihnea Ovidenie  <mihnea@adobe.com>
3513
3514         Crash in RenderFlowThread::setRegionBoxesRegionStyle
3515         https://bugs.webkit.org/show_bug.cgi?id=77474
3516
3517         Reviewed by David Hyatt.
3518
3519         Flexbox and deprecated flexible box should also compute their region range
3520         when they are part of a named flow. Until now, only RenderBlock elements
3521         were doing that. Flexbox and deprecated flexible box, while implementing
3522         their own layoutBlock method, were not doing that.
3523
3524         Tests: fast/regions/flexbox-in-region-crash.html
3525   &