Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
4         https://bugs.webkit.org/show_bug.cgi?id=77850
5
6         Reviewed by Yury Semikhatsky.
7
8         * inspector/front-end/DetailedHeapshotGridNodes.js:
9         (WebInspector.HeapSnapshotObjectNode):
10         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
11         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
12         * inspector/front-end/HeapSnapshot.js:
13         (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
14         (WebInspector.HeapSnapshot.prototype._init):
15
16 2012-02-05  Peter Rybin  <peter.rybin@gmail.com>
17
18         Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
19         https://bugs.webkit.org/show_bug.cgi?id=77444
20
21         Reviewed by Yury Semikhatsky.
22
23         All agent code is switched to formal interfaces. Actual agent class
24         names and includes are dropped from InspectorBackendDispatcher.h.
25
26         * inspector/CodeGeneratorInspector.py:
27         (DomainNameFixes.get_fixed_data):
28         (Generator.go):
29         * inspector/InspectorAgent.h:
30         * inspector/InspectorApplicationCacheAgent.h:
31         * inspector/InspectorCSSAgent.cpp:
32         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
33         * inspector/InspectorCSSAgent.h:
34         (InspectorCSSAgent):
35         * inspector/InspectorConsoleAgent.h:
36         * inspector/InspectorDOMAgent.cpp:
37         (WebCore::InspectorDOMAgent::highlightNode):
38         * inspector/InspectorDOMAgent.h:
39         (InspectorDOMAgent):
40         * inspector/InspectorDOMDebuggerAgent.h:
41         * inspector/InspectorDOMStorageAgent.h:
42         * inspector/InspectorDatabaseAgent.h:
43         * inspector/InspectorDebuggerAgent.cpp:
44         (WebCore::InspectorDebuggerAgent::setBreakpoint):
45         (WebCore::InspectorDebuggerAgent::continueToLocation):
46         * inspector/InspectorDebuggerAgent.h:
47         (InspectorDebuggerAgent):
48         * inspector/InspectorFileSystemAgent.h:
49         * inspector/InspectorIndexedDBAgent.h:
50         * inspector/InspectorMemoryAgent.h:
51         * inspector/InspectorPageAgent.h:
52         * inspector/InspectorProfilerAgent.cpp:
53         (WebCore::InspectorProfilerAgent::getProfile):
54         (WebCore::InspectorProfilerAgent::removeProfile):
55         * inspector/InspectorProfilerAgent.h:
56         (InspectorProfilerAgent):
57         * inspector/InspectorResourceAgent.cpp:
58         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
59         * inspector/InspectorResourceAgent.h:
60         (InspectorResourceAgent):
61         * inspector/InspectorRuntimeAgent.h:
62         * inspector/InspectorTimelineAgent.cpp:
63         (WebCore::InspectorTimelineAgent::start):
64         * inspector/InspectorTimelineAgent.h:
65         (InspectorTimelineAgent):
66         * inspector/InspectorWorkerAgent.cpp:
67         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
68         * inspector/InspectorWorkerAgent.h:
69         (InspectorWorkerAgent):
70
71 2012-02-05  Kentaro Hara  <haraken@chromium.org>
72
73         Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
74         [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
75         https://bugs.webkit.org/show_bug.cgi?id=77611
76
77         Reviewed by Adam Barth.
78
79         While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
80         the current WebKit treats them as (not an empty string but) a null string.
81         To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
82         and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
83         (Eventually we should fix WebKit so that it uses an empty string and then
84         rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
85
86         No tests. No change in behavior.
87
88         * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
89         (JSValueToNative):
90         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
91         (GetNativeTypeFromSignature):
92
93         * bindings/scripts/test/TestObj.idl:
94         * css/CSSCharsetRule.idl:
95         * css/CSSPageRule.idl:
96         * css/CSSRule.idl:
97         * css/CSSStyleDeclaration.idl:
98         * css/CSSStyleRule.idl:
99         * css/CSSValue.idl:
100         * css/MediaList.idl:
101         * css/WebKitCSSKeyframesRule.idl:
102         * dom/Attr.idl:
103         * dom/CharacterData.idl:
104         * dom/DOMImplementation.idl:
105         * dom/Document.idl:
106         * dom/Element.idl:
107         * dom/NamedNodeMap.idl:
108         * dom/Node.idl:
109         * dom/ProcessingInstruction.idl:
110         * dom/ShadowRoot.idl:
111         * fileapi/Blob.idl:
112         * fileapi/DirectoryEntry.idl:
113         * fileapi/DirectoryEntrySync.idl:
114         * fileapi/Entry.idl:
115         * fileapi/EntrySync.idl:
116         * fileapi/WebKitBlobBuilder.idl:
117         * html/HTMLAnchorElement.idl:
118         * html/HTMLButtonElement.idl:
119         * html/HTMLCanvasElement.idl:
120         * html/HTMLDocument.idl:
121         * html/HTMLElement.idl:
122         * html/HTMLFieldSetElement.idl:
123         * html/HTMLFormElement.idl:
124         * html/HTMLFrameElement.idl:
125         * html/HTMLInputElement.idl:
126         * html/HTMLKeygenElement.idl:
127         * html/HTMLMediaElement.idl:
128         * html/HTMLObjectElement.idl:
129         * html/HTMLOutputElement.idl:
130         * html/HTMLScriptElement.idl:
131         * html/HTMLSelectElement.idl:
132         * html/HTMLTextAreaElement.idl:
133         * html/HTMLTitleElement.idl:
134         * html/canvas/CanvasRenderingContext2D.idl:
135         * page/Console.idl:
136         * page/DOMWindow.idl:
137         * storage/StorageEvent.idl:
138         * svg/SVGAngle.idl:
139         * svg/SVGElement.idl:
140         * svg/SVGLength.idl:
141         * svg/SVGScriptElement.idl:
142
143 2012-02-05  Kentaro Hara  <haraken@chromium.org>
144
145         Rename [JSCCustom*] IDL to [JSCustom*] IDL
146         https://bugs.webkit.org/show_bug.cgi?id=77844
147
148         Reviewed by Adam Barth.
149
150         Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
151         [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
152         [JSCustomSetter].
153
154         No tests. No change in behavior.
155
156         * bindings/scripts/CodeGeneratorJS.pm:
157         (GenerateHeader):
158         (GenerateImplementation):
159         * css/CSSStyleDeclaration.idl:
160         * html/HTMLDocument.idl:
161         * html/canvas/DataView.idl:
162         * page/DOMWindow.idl:
163         * page/MemoryInfo.idl:
164         * webaudio/ConvolverNode.idl:
165         * webaudio/DOMWindowWebAudio.idl:
166         * webaudio/WaveShaperNode.idl:
167         * websockets/DOMWindowWebSocket.idl:
168         * workers/WorkerContext.idl:
169
170 2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
171
172         [EFL] Enable WebGL with glx backend
173         https://bugs.webkit.org/show_bug.cgi?id=77308
174
175         Reviewed by Martin Robinson.
176
177         Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
178
179         No new tests required. We can verify this feature with the existing test cases.
180
181         * CMakeLists.txt: Revised common files required for WebGL.
182         * PlatformEfl.cmake: Added EFL specific files.
183         * html/HTMLCanvasElement.cpp:
184         (WebCore::HTMLCanvasElement::getContext):
185         * platform/graphics/ANGLEWebKitBridge.h:
186         * platform/graphics/GraphicsContext3D.h:
187         (WebCore):
188         (WebCore::GraphicsContext3D::platformTexture):
189         (GraphicsContext3D):
190         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
191         * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
192         (WebCore):
193         (WebCore::DrawingBuffer::DrawingBuffer):
194         (WebCore::DrawingBuffer::~DrawingBuffer):
195         (WebCore::DrawingBuffer::platformColorBuffer):
196         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
197         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
198         (WebCore::GraphicsContext3D::create):
199         (WebCore::GraphicsContext3D::GraphicsContext3D):
200         (WebCore::GraphicsContext3D::~GraphicsContext3D):
201         (WebCore::GraphicsContext3D::makeContextCurrent):
202         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
203         (WebCore::GraphicsContext3D::isGLES2Compliant):
204         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
205         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
206         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
207         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
208         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
209         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
210         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
211
212 2012-02-05  Abhishek Arya  <inferno@chromium.org>
213
214         Crash in FormSubmission::create.
215         https://bugs.webkit.org/show_bug.cgi?id=77813
216
217         Reviewed by Kent Tamura.
218
219         Test: fast/forms/form-submission-create-crash.xhtml
220
221         * loader/FormSubmission.cpp:
222         (WebCore::FormSubmission::create):
223
224 2012-02-05  Andreas Kling  <awesomekling@apple.com>
225
226         Remove unused file MappedAttributeEntry.h.
227         <http://webkit.org/b/77841>
228
229         Reviewed by Anders Carlsson.
230
231         * GNUmakefile.list.am:
232         * WebCore.gypi:
233         * WebCore.vcproj/WebCore.vcproj:
234         * WebCore.xcodeproj/project.pbxproj:
235         * dom/MappedAttributeEntry.h: Removed.
236         * dom/StyledElement.h:
237
238 2012-02-05  Andreas Kling  <awesomekling@apple.com>
239
240         StyledElement: Rename parseMappedAttribute() to parseAttribute().
241         <http://webkit.org/b/77830>
242
243         Reviewed by Anders Carlsson.
244
245         Rename across the board and decorate subclasses with OVERRIDE.
246
247 2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
248
249         Unreviewed syntax fix.
250
251         * English.lproj/localizedStrings.js:
252
253 2012-02-05  Andreas Kling  <awesomekling@apple.com>
254
255         Swedish buildfix.
256
257         * dom/Document.cpp:
258         (WebCore::wheelEventHandlerCountChanged):
259
260 2012-02-05  Anders Carlsson  <andersca@apple.com>
261
262         The scrolling tree should be aware of any wheel event handlers on the page
263         https://bugs.webkit.org/show_bug.cgi?id=77840
264
265         Reviewed by Andreas Kling.
266
267         If there are wheel event handlers on the page, any wheel events must be redispatched
268         to the main thread so they can go through the DOM event handling.
269
270         * dom/Document.cpp:
271         (WebCore::wheelEventHandlerCountChanged):
272         Inform the scrolling coordinator that the wheel event count changed.
273
274         (WebCore::Document::didAddWheelEventHandler):
275         (WebCore::Document::didRemoveWheelEventHandler):
276         Call wheelEventHandlerCountChanged.
277
278         * page/scrolling/ScrollingCoordinator.cpp:
279         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
280         Call recomputeWheelEventHandlerCount.
281
282         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
283         Update the scrolling tree state.
284
285         * page/scrolling/ScrollingTree.cpp:
286         (WebCore::ScrollingTree::ScrollingTree):
287         Initialize m_hasWheelEventHandlers to false.
288
289         (WebCore::ScrollingTree::tryToHandleWheelEvent):
290         If m_hasWheelEventHandlers is true, bail.
291
292         (WebCore::ScrollingTree::commitNewTreeState):
293         Update m_hasWheelEventHandlers.
294
295         * page/scrolling/ScrollingTreeState.cpp:
296         (WebCore::ScrollingTreeState::ScrollingTreeState):
297         (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
298         Add getter and setter for the wheel event handler count.
299
300 2012-02-05  Andreas Kling  <awesomekling@apple.com>
301
302         Remove mapped vs non-mapped attribute distinction.
303         <http://webkit.org/b/77827>
304
305         Reviewed by Antti Koivisto.
306
307         Removed the isMappedAttribute flag from Attribute as it no longer serves
308         a practical purpose. Previously, StyledElement would generate mapped
309         attributes and plain Element would generate non-mapped ones.
310
311         The distinction is now made much more clearly by dividing the work between
312         Element's and StyledElement's attributeChanged() methods. The only thing
313         that StyledElement wants to do in addition to what Element does is
314         calling parseMappedAttribute() (which we'll rename in a later patch.)
315
316         * dom/Attribute.cpp:
317         (WebCore::Attribute::clone):
318         * dom/Attribute.h:
319         (WebCore::Attribute::create):
320         (WebCore::Attribute::Attribute):
321         (Attribute):
322         * dom/Document.cpp:
323         (WebCore::Document::createAttributeNS):
324         * dom/Element.cpp:
325         (WebCore::Element::attributeChanged):
326         * dom/Element.h:
327         (Element):
328         * dom/Node.cpp:
329         (WebCore::Node::dumpStatistics):
330         * dom/StyledElement.cpp:
331         (WebCore::StyledElement::attributeChanged):
332         (WebCore::StyledElement::parseMappedAttribute):
333         * dom/StyledElement.h:
334         (StyledElement):
335         * html/parser/HTMLConstructionSite.cpp:
336         (WebCore):
337         * html/parser/HTMLTreeBuilder.cpp:
338         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
339         * html/parser/TextDocumentParser.cpp:
340         (WebCore::TextDocumentParser::insertFakePreElement):
341         * svg/SVGStyledElement.cpp:
342         (WebCore::SVGStyledElement::getPresentationAttribute):
343         * xml/parser/MarkupTokenBase.h:
344         (WebCore::::initializeAttributes):
345
346 2012-02-05  Andreas Kling  <awesomekling@apple.com>
347
348         Kill CSSMappedAttributeDeclaration.
349         <http://webkit.org/b/77820>
350
351         Reviewed by Antti Koivisto.
352
353         Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
354         Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
355         to the add/remove-CSS-property helpers in StyledElement.
356
357         This removes one step of indirection for attribute styles and reduces
358         the size of elements that have presentational attributes by one pointer.
359
360         * CMakeLists.txt:
361         * GNUmakefile.list.am:
362         * Target.pri:
363         * WebCore.gypi:
364         * WebCore.order:
365         * WebCore.vcproj/WebCore.vcproj:
366         * WebCore.xcodeproj/project.pbxproj:
367         * dom/CSSMappedAttributeDeclaration.cpp: Removed.
368         * dom/CSSMappedAttributeDeclaration.h: Removed.
369         * dom/DOMAllInOne.cpp:
370
371             Remove CSSMappedAttributeDeclaration.{cpp,h}
372
373         * css/CSSParser.h:
374         * css/CSSParser.cpp:
375         (WebCore::parseSimpleLengthValue):
376
377             Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
378             directly instead. We lose the benefit of caching new CSSValues in the
379             document's CSSValuePool but this optimization can be added back later.
380
381         * css/CSSStyleSelector.cpp:
382         (WebCore::CSSStyleSelector::matchAllRules):
383         * dom/ElementAttributeData.h:
384         (ElementAttributeData):
385         * dom/NamedNodeMap.cpp:
386         (WebCore::NamedNodeMap::ensureAttributeStyle):
387         * dom/NamedNodeMap.h:
388         (WebCore::NamedNodeMap::attributeStyle):
389         (NamedNodeMap):
390         * dom/StyledElement.cpp:
391         (WebCore::StyledElement::removeCSSProperties):
392         (WebCore::StyledElement::addCSSProperty):
393         (WebCore::StyledElement::addCSSImageProperty):
394         (WebCore::StyledElement::addCSSLength):
395         (WebCore::StyledElement::addCSSColor):
396         * dom/StyledElement.h:
397         (WebCore):
398         (WebCore::StyledElement::attributeStyle):
399         (WebCore::StyledElement::ensureAttributeStyle):
400         * inspector/InspectorCSSAgent.cpp:
401         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
402
403 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
404
405         Web Inspector: beautify retaining tree items view.
406         https://bugs.webkit.org/show_bug.cgi?id=77810
407
408         Reviewed by Yury Semikhatsky.
409
410         * inspector/front-end/DetailedHeapshotGridNodes.js:
411         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
412         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
413         * inspector/front-end/heapProfiler.css:
414         (.cycled-ancessor-node):
415         * inspector/front-end/profilesPanel.css:
416
417 2012-02-04  Shawn Singh  <shawnsingh@chromium.org>
418
419         [chromium] Add support to force full damage in CCDamageTracker
420         https://bugs.webkit.org/show_bug.cgi?id=76805
421
422         Reviewed by James Robinson.
423
424         Unit test added to CCDamageTrackerTest.cpp.
425
426         This feature is needed for events that should cause the entire
427         surface to be damaged, even if layers themselves had only partial
428         damage or no damage at all. For example, tab-switching is one such
429         event.
430
431         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
432         (WebCore::CCDamageTracker::CCDamageTracker):
433         (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
434         * platform/graphics/chromium/cc/CCDamageTracker.h:
435         (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
436         (CCDamageTracker):
437
438 2012-02-04  Anders Carlsson  <andersca@apple.com>
439
440         Remove dead code from ScrollingCoordinator
441         https://bugs.webkit.org/show_bug.cgi?id=77821
442
443         Reviewed by Sam Weinig.
444
445         * WebCore.exp.in:
446         * page/scrolling/ScrollingCoordinator.cpp:
447         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
448         * page/scrolling/ScrollingCoordinator.h:
449         (ScrollingCoordinator):
450         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
451         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
452         * rendering/RenderLayerCompositor.cpp:
453         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
454         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
455
456 2012-02-04  Anders Carlsson  <andersca@apple.com>
457
458         The scrolling tree should inform the main scrolling coordinator when the scroll position changes
459         https://bugs.webkit.org/show_bug.cgi?id=77818
460
461         Reviewed by Sam Weinig.
462
463         * page/scrolling/ScrollingCoordinator.cpp:
464         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
465         Set the main frame scroll position.
466
467         * page/scrolling/ScrollingTree.cpp:
468         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
469         Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
470
471         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
472         (WebCore::ScrollingTreeNodeMac::scrollBy):
473         Call ScrollingTree::updateMainFrameScrollPosition.
474
475 2012-02-04  Andreas Kling  <awesomekling@apple.com>
476
477         Element: Remove unnecessary attributeChanged() argument.
478         <http://webkit.org/b/77814>
479
480         Reviewed by Ryosuke Niwa.
481
482         Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
483         longer needed after the removal of per-attribute style declarations.
484         Decorated subclass overrides with OVERRIDE since we're touching the lines.
485
486         Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
487         attributeChanged() is absolutely necessary to initialize element-specific state.
488
489         * dom/Element.cpp:
490         (WebCore::Element::attributeChanged):
491         * dom/Element.h:
492         (Element):
493         * dom/NamedNodeMap.cpp:
494         (WebCore::NamedNodeMap::setAttributes):
495         * dom/StyledElement.cpp:
496         (WebCore::StyledElement::attributeChanged):
497         * dom/StyledElement.h:
498         (StyledElement):
499         * html/HTMLInputElement.cpp:
500         (WebCore::HTMLInputElement::updateType):
501         * html/HTMLMediaElement.cpp:
502         (WebCore::HTMLMediaElement::attributeChanged):
503         * html/HTMLMediaElement.h:
504         (HTMLMediaElement):
505         * html/HTMLScriptElement.cpp:
506         (WebCore::HTMLScriptElement::attributeChanged):
507         * html/HTMLScriptElement.h:
508         (HTMLScriptElement):
509         * html/HTMLTrackElement.cpp:
510         (WebCore::HTMLTrackElement::attributeChanged):
511         * html/HTMLTrackElement.h:
512         (HTMLTrackElement):
513         * svg/SVGAnimationElement.cpp:
514         (WebCore::SVGAnimationElement::attributeChanged):
515         * svg/SVGAnimationElement.h:
516         * svg/SVGElement.cpp:
517         (WebCore::SVGElement::attributeChanged):
518         * svg/SVGElement.h:
519         (SVGElement):
520         * svg/animation/SVGSMILElement.cpp:
521         (WebCore::SVGSMILElement::attributeChanged):
522         * svg/animation/SVGSMILElement.h:
523         (SVGSMILElement):
524
525 2012-02-04  Ken Buchanan  <kenrb@chromium.org>
526
527         Crash when reparenting children of flexible boxes
528         https://bugs.webkit.org/show_bug.cgi?id=77458
529
530         Reviewed by Ojan Vafai.
531
532         This fixes some regressions I introduced in r106150. RenderBlock::
533         removeChild needs to be careful about not collapsing anonymous
534         blocks underneath flexible boxes, and also about node ordering
535         when there is an after block.
536
537         * rendering/RenderBlock.cpp:
538         (WebCore::RenderBlock::removeChild):
539         (WebCore::RenderBlock::collapseAnonymousBoxChild):
540
541 2012-02-04  Ryosuke Niwa  <rniwa@webkit.org>
542
543         Debug build fix after r106715.
544
545         * html/HTMLDetailsElement.cpp:
546         (WebCore::DetailsSummaryElement::create):
547
548 2012-02-04  Andreas Kling  <awesomekling@apple.com>
549
550         Unreviewed test fix after r106740.
551         <http://webkit.org/b/77204>
552
553         Disable matched declaration caching for elements with attribute style until we can
554         figure out how it's supposed to work.
555
556         * css/CSSStyleSelector.cpp:
557         (WebCore::CSSStyleSelector::matchAllRules):
558
559 2012-02-03  Andreas Kling  <awesomekling@apple.com>
560
561         Kill per-Attribute style declarations.
562         <http://webkit.org/b/77204>
563
564         Reviewed by Antti Koivisto.
565
566         TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
567         style declaration on StyledElement that acts as a secondary inline style.
568
569         The previous design was conceived in the Age of the Old Web(tm) where the majority of
570         element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
571         this and we should optimize around that instead.
572
573         StyledElements now have an attributeStyle() which contains all the styling from attributes.
574         parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
575         as the corresponding attributes come in/out of the element.
576
577         Each Attribute instance shrinks by one pointer, each element that has attributes grows by
578         one pointer. The styles from individual attributes are no longer shared, so content that
579         uses a lot of repeating styling attributes will see a slight memory regression from this.
580         Future improvements to this could enable sharing the attributeStyle between elements that
581         have the same exact attributes to mitigate some of the damage.
582
583         There should be no web-facing behavior change from this, but it does break two things:
584
585         - The Inspector feature for displaying per-attribute styles. To keep things manageable,
586           this patch simply files all the attribute styles together under an anonymous attribute
587           in the Inspector.
588
589         - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
590           though it's already deprecated. It will now always return nil, since there's no way to
591           retrieve a live style declaration that's specific to a certain Attr.
592
593         * css/CSSStyleSelector.cpp:
594         (WebCore::CSSStyleSelector::matchAllRules):
595         (WebCore::CSSStyleSelector::canShareStyleWithElement):
596         * dom/Attr.h:
597         (WebCore):
598         (Attr):
599         (WebCore::Attr::style):
600         * dom/Attribute.cpp:
601         (WebCore::Attribute::clone):
602         * dom/Attribute.h:
603         (WebCore):
604         (WebCore::Attribute::create):
605         (WebCore::Attribute::createMapped):
606         (Attribute):
607         (WebCore::Attribute::Attribute):
608         * dom/CSSMappedAttributeDeclaration.cpp:
609         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
610         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
611         * dom/CSSMappedAttributeDeclaration.h:
612         (CSSMappedAttributeDeclaration):
613         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
614         * dom/Element.h:
615         (Element):
616         * dom/ElementAttributeData.h:
617         (ElementAttributeData):
618         * dom/NamedNodeMap.cpp:
619         (WebCore::NamedNodeMap::ensureAttributeStyle):
620         (WebCore):
621         * dom/NamedNodeMap.h:
622         (WebCore::NamedNodeMap::attributeStyle):
623         (NamedNodeMap):
624         * dom/StyledElement.cpp:
625         (WebCore):
626         (WebCore::StyledElement::attributeChanged):
627         (WebCore::StyledElement::removeCSSProperties):
628         (WebCore::StyledElement::addCSSProperty):
629         (WebCore::StyledElement::addCSSImageProperty):
630         (WebCore::StyledElement::addCSSLength):
631         (WebCore::StyledElement::addCSSColor):
632         * dom/StyledElement.h:
633         (StyledElement):
634         (WebCore::StyledElement::removeCSSProperty):
635         (WebCore::StyledElement::attributeStyle):
636         (WebCore::StyledElement::ensureAttributeStyle):
637         * html/HTMLBRElement.cpp:
638         (WebCore::HTMLBRElement::parseMappedAttribute):
639         * html/HTMLBRElement.h:
640         (HTMLBRElement):
641         * html/HTMLBodyElement.cpp:
642         (WebCore::HTMLBodyElement::parseMappedAttribute):
643         * html/HTMLBodyElement.h:
644         (HTMLBodyElement):
645         * html/HTMLDivElement.cpp:
646         (WebCore::HTMLDivElement::parseMappedAttribute):
647         * html/HTMLDivElement.h:
648         (HTMLDivElement):
649         * html/HTMLElement.cpp:
650         (WebCore::HTMLElement::applyBorderAttribute):
651         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
652         (WebCore::HTMLElement::parseMappedAttribute):
653         (WebCore::HTMLElement::removeHTMLAlignment):
654         (WebCore):
655         (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
656         (WebCore::HTMLElement::setContentEditable):
657         * html/HTMLElement.h:
658         (HTMLElement):
659         * html/HTMLEmbedElement.cpp:
660         (WebCore::HTMLEmbedElement::parseMappedAttribute):
661         * html/HTMLEmbedElement.h:
662         (HTMLEmbedElement):
663         * html/HTMLFontElement.cpp:
664         (WebCore::HTMLFontElement::parseMappedAttribute):
665         * html/HTMLFontElement.h:
666         (HTMLFontElement):
667         * html/HTMLFrameSetElement.cpp:
668         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
669         * html/HTMLFrameSetElement.h:
670         (HTMLFrameSetElement):
671         * html/HTMLHRElement.cpp:
672         (WebCore::HTMLHRElement::parseMappedAttribute):
673         * html/HTMLHRElement.h:
674         (HTMLHRElement):
675         * html/HTMLIFrameElement.cpp:
676         (WebCore::HTMLIFrameElement::parseMappedAttribute):
677         * html/HTMLIFrameElement.h:
678         (HTMLIFrameElement):
679         * html/HTMLImageElement.cpp:
680         (WebCore::HTMLImageElement::parseMappedAttribute):
681         * html/HTMLImageElement.h:
682         (HTMLImageElement):
683         * html/HTMLInputElement.cpp:
684         (WebCore::HTMLInputElement::parseMappedAttribute):
685         * html/HTMLInputElement.h:
686         (HTMLInputElement):
687         * html/HTMLLIElement.cpp:
688         (WebCore::HTMLLIElement::parseMappedAttribute):
689         * html/HTMLLIElement.h:
690         (HTMLLIElement):
691         * html/HTMLMarqueeElement.cpp:
692         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
693         * html/HTMLMarqueeElement.h:
694         (HTMLMarqueeElement):
695         * html/HTMLOListElement.cpp:
696         (WebCore::HTMLOListElement::parseMappedAttribute):
697         * html/HTMLOListElement.h:
698         (HTMLOListElement):
699         * html/HTMLOutputElement.cpp:
700         * html/HTMLOutputElement.h:
701         (HTMLOutputElement):
702         * html/HTMLParagraphElement.cpp:
703         (WebCore::HTMLParagraphElement::parseMappedAttribute):
704         * html/HTMLParagraphElement.h:
705         (HTMLParagraphElement):
706         * html/HTMLPlugInElement.cpp:
707         (WebCore::HTMLPlugInElement::parseMappedAttribute):
708         * html/HTMLPlugInElement.h:
709         (HTMLPlugInElement):
710         * html/HTMLPreElement.cpp:
711         (WebCore::HTMLPreElement::parseMappedAttribute):
712         * html/HTMLPreElement.h:
713         (HTMLPreElement):
714         * html/HTMLTableCaptionElement.cpp:
715         (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
716         * html/HTMLTableCaptionElement.h:
717         (HTMLTableCaptionElement):
718         * html/HTMLTableCellElement.cpp:
719         (WebCore::HTMLTableCellElement::parseMappedAttribute):
720         * html/HTMLTableCellElement.h:
721         (HTMLTableCellElement):
722         * html/HTMLTableColElement.cpp:
723         (WebCore::HTMLTableColElement::parseMappedAttribute):
724         * html/HTMLTableColElement.h:
725         (HTMLTableColElement):
726         * html/HTMLTableElement.cpp:
727         (WebCore::HTMLTableElement::parseMappedAttribute):
728         * html/HTMLTableElement.h:
729         (HTMLTableElement):
730         * html/HTMLTablePartElement.cpp:
731         (WebCore):
732         (WebCore::HTMLTablePartElement::parseMappedAttribute):
733         * html/HTMLTablePartElement.h:
734         * html/HTMLTextAreaElement.cpp:
735         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
736         * html/HTMLUListElement.cpp:
737         (WebCore::HTMLUListElement::parseMappedAttribute):
738         * html/HTMLUListElement.h:
739         (HTMLUListElement):
740         * html/HTMLVideoElement.cpp:
741         (WebCore::HTMLVideoElement::parseMappedAttribute):
742         * inspector/InspectorCSSAgent.cpp:
743         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
744         * mathml/MathMLElement.cpp:
745         (WebCore::MathMLElement::parseMappedAttribute):
746         * mathml/MathMLElement.h:
747         * svg/SVGImageElement.cpp:
748         (WebCore::SVGImageElement::parseMappedAttribute):
749         * svg/SVGStyledElement.cpp:
750         (WebCore::SVGStyledElement::parseMappedAttribute):
751         (WebCore::SVGStyledElement::getPresentationAttribute):
752         * svg/SVGStyledElement.h:
753         (SVGStyledElement):
754         * svg/SVGTextContentElement.cpp:
755         (WebCore::SVGTextContentElement::parseMappedAttribute):
756
757 2012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>
758
759         Web Inspector: get rid of cycles in retaining tree
760         https://bugs.webkit.org/show_bug.cgi?id=77801
761
762         Drive by fix: 'retained by' prefix was removed.
763
764         Reviewed by Yury Semikhatsky.
765
766         * inspector/front-end/DetailedHeapshotGridNodes.js:
767         (WebInspector.HeapSnapshotObjectNode):
768         (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
769         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
770         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
771         * inspector/front-end/profilesPanel.css:
772         (.cycled-ancessor-node):
773
774 2012-02-04  Kentaro Hara  <haraken@chromium.org>
775
776         Add the "JS" prefix to JSC specific IDL attributes
777         https://bugs.webkit.org/show_bug.cgi?id=77693
778
779         Reviewed by Darin Adler.
780
781         Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
782         It might be OK since JSC is the main JavaScript engine in WebKit, but
783         distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
784         people understand the role of IDLs.
785
786         This patch renames the following JSC specific IDLs:
787
788             CustomFinalize => JSCustomFinalize
789             CustomIsReachable => JSCustomIsReachable
790             CustomMarkFunction => JSCustomMarkFunction
791             CustomToJS => JSCustomToJS
792             CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
793             GenerateIsReachable => JSGenerateIsReachable
794             GenerateToJS => JSGenerateToJS
795             NoStaticTables => JSNoStaticTables
796             WindowEventListener => JSWindowEventListener
797             InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
798             DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate
799
800         No tests. No changes in behavior.
801
802         * bindings/scripts/CodeGeneratorJS.pm:
803         (GenerateGetOwnPropertySlotBody):
804         (GenerateGetOwnPropertyDescriptorBody):
805         (GenerateHeader):
806         (GenerateImplementation):
807         * bindings/scripts/CodeGeneratorV8.pm:
808         (HasCustomToV8Implementation):
809
810         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
811
812         * css/CSSRule.idl:
813         * css/CSSRuleList.idl:
814         * css/CSSStyleDeclaration.idl:
815         * css/CSSValue.idl:
816         * css/MediaList.idl:
817         * css/MediaQueryListListener.idl:
818         * css/StyleMedia.idl:
819         * css/StyleSheet.idl:
820         * css/StyleSheetList.idl:
821         * dom/Attr.idl:
822         * dom/DOMCoreException.idl:
823         * dom/DOMImplementation.idl:
824         * dom/DOMStringMap.idl:
825         * dom/Document.idl:
826         * dom/Element.idl:
827         * dom/ErrorEvent.idl:
828         * dom/Event.idl:
829         * dom/EventException.idl:
830         * dom/EventListener.idl:
831         * dom/MessageChannel.idl:
832         * dom/MessageEvent.idl:
833         * dom/MessagePort.idl:
834         * dom/NamedNodeMap.idl:
835         * dom/Node.idl:
836         * dom/NodeFilter.idl:
837         * dom/NodeIterator.idl:
838         * dom/NodeList.idl:
839         * dom/TreeWalker.idl:
840         * dom/WebKitNamedFlow.idl:
841         * fileapi/Blob.idl:
842         * fileapi/DOMFileSystem.idl:
843         * fileapi/DOMFileSystemSync.idl:
844         * fileapi/DirectoryEntry.idl:
845         * fileapi/DirectoryEntrySync.idl:
846         * fileapi/DirectoryReader.idl:
847         * fileapi/DirectoryReaderSync.idl:
848         * fileapi/Entry.idl:
849         * fileapi/EntryArray.idl:
850         * fileapi/EntryArraySync.idl:
851         * fileapi/EntrySync.idl:
852         * fileapi/File.idl:
853         * fileapi/FileEntry.idl:
854         * fileapi/FileEntrySync.idl:
855         * fileapi/FileError.idl:
856         * fileapi/FileException.idl:
857         * fileapi/FileList.idl:
858         * fileapi/FileReader.idl:
859         * fileapi/FileReaderSync.idl:
860         * fileapi/FileWriter.idl:
861         * fileapi/Metadata.idl:
862         * fileapi/OperationNotAllowedException.idl:
863         * fileapi/WebKitBlobBuilder.idl:
864         * html/DOMFormData.idl:
865         * html/DOMSettableTokenList.idl:
866         * html/DOMTokenList.idl:
867         * html/DOMURL.idl:
868         * html/HTMLAllCollection.idl:
869         * html/HTMLBodyElement.idl:
870         * html/HTMLCollection.idl:
871         * html/HTMLFrameSetElement.idl:
872         * html/ImageData.idl:
873         * html/MediaController.idl:
874         * html/TextTrack.idl:
875         * html/TextTrackCue.idl:
876         * html/VoidCallback.idl:
877         * html/canvas/ArrayBuffer.idl:
878         * html/canvas/ArrayBufferView.idl:
879         * html/canvas/CanvasRenderingContext.idl:
880         * html/canvas/DataView.idl:
881         * html/canvas/Float32Array.idl:
882         * html/canvas/Float64Array.idl:
883         * html/canvas/Int16Array.idl:
884         * html/canvas/Int32Array.idl:
885         * html/canvas/Int8Array.idl:
886         * html/canvas/OESStandardDerivatives.idl:
887         * html/canvas/OESTextureFloat.idl:
888         * html/canvas/OESVertexArrayObject.idl:
889         * html/canvas/Uint16Array.idl:
890         * html/canvas/Uint32Array.idl:
891         * html/canvas/Uint8Array.idl:
892         * html/canvas/Uint8ClampedArray.idl:
893         * html/canvas/WebGLCompressedTextures.idl:
894         * html/canvas/WebGLDebugRendererInfo.idl:
895         * html/canvas/WebGLDebugShaders.idl:
896         * html/canvas/WebGLLoseContext.idl:
897         * html/canvas/WebGLRenderingContext.idl:
898         * html/track/TextTrackList.idl:
899         * loader/appcache/DOMApplicationCache.idl:
900         * mediastream/LocalMediaStream.idl:
901         * page/BarInfo.idl:
902         * page/Console.idl:
903         * page/DOMSelection.idl:
904         * page/DOMWindow.idl:
905         * page/EventSource.idl:
906         * page/Geolocation.idl:
907         * page/History.idl:
908         * page/Location.idl:
909         * page/Navigator.idl:
910         * page/Screen.idl:
911         * page/WorkerNavigator.idl:
912         * plugins/DOMMimeTypeArray.idl:
913         * plugins/DOMPluginArray.idl:
914         * storage/Database.idl:
915         * storage/DatabaseSync.idl:
916         * storage/IDBAny.idl:
917         * storage/IDBKey.idl:
918         * storage/SQLError.idl:
919         * storage/SQLException.idl:
920         * storage/SQLResultSet.idl:
921         * storage/SQLResultSetRowList.idl:
922         * storage/SQLTransaction.idl:
923         * storage/SQLTransactionSync.idl:
924         * storage/Storage.idl:
925         * svg/SVGElementInstance.idl:
926         * svg/SVGPathSeg.idl:
927         * webaudio/AudioBufferCallback.idl:
928         * webaudio/AudioBufferSourceNode.idl:
929         * webaudio/AudioContext.idl:
930         * webaudio/AudioDestinationNode.idl:
931         * webaudio/AudioGain.idl:
932         * webaudio/AudioGainNode.idl:
933         * webaudio/AudioPannerNode.idl:
934         * webaudio/AudioProcessingEvent.idl:
935         * webaudio/BiquadFilterNode.idl:
936         * webaudio/ConvolverNode.idl:
937         * webaudio/DelayNode.idl:
938         * webaudio/DynamicsCompressorNode.idl:
939         * webaudio/HighPass2FilterNode.idl:
940         * webaudio/JavaScriptAudioNode.idl:
941         * webaudio/LowPass2FilterNode.idl:
942         * webaudio/MediaElementAudioSourceNode.idl:
943         * webaudio/OfflineAudioCompletionEvent.idl:
944         * webaudio/RealtimeAnalyserNode.idl:
945         * webaudio/WaveShaperNode.idl:
946         * websockets/CloseEvent.idl:
947         * websockets/WebSocket.idl:
948         * workers/AbstractWorker.idl:
949         * workers/DedicatedWorkerContext.idl:
950         * workers/SharedWorker.idl:
951         * workers/SharedWorkerContext.idl:
952         * workers/Worker.idl:
953         * workers/WorkerContext.idl:
954         * workers/WorkerLocation.idl:
955         * xml/XMLHttpRequest.idl:
956         * xml/XMLHttpRequestException.idl:
957         * xml/XMLHttpRequestProgressEvent.idl:
958         * xml/XMLHttpRequestUpload.idl:
959         * xml/XPathResult.idl:
960
961 2012-02-04  Emil A Eklund  <eae@chromium.org>
962
963         Convert RenderTheme over to new layout abstraction
964         https://bugs.webkit.org/show_bug.cgi?id=77783
965
966         Reviewed by Eric Seidel.
967
968         Change the RenderTheme classes to use the new layout abstraction as a
969         part of the ongoing conversion work.
970
971         No new tests.
972
973         * rendering/RenderTheme.cpp:
974         (WebCore::RenderTheme::paint):
975         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
976         (WebCore::RenderTheme::baselinePosition):
977         (WebCore::RenderTheme::adjustRepaintRect):
978         (WebCore::RenderTheme::meterSizeForBounds):
979         * rendering/RenderTheme.h:
980         (RenderTheme):
981         (WebCore::RenderTheme::paintCapsLockIndicator):
982         * rendering/RenderThemeChromiumMac.h:
983         (RenderThemeChromiumMac):
984         * rendering/RenderThemeChromiumMac.mm:
985         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
986         * rendering/RenderThemeChromiumSkia.cpp:
987         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
988         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
989         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
990         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
991         * rendering/RenderThemeChromiumSkia.h:
992         * rendering/RenderThemeMac.h:
993         (RenderThemeMac):
994         * rendering/RenderThemeMac.mm:
995         (WebCore::RenderThemeMac::adjustRepaintRect):
996         (WebCore::RenderThemeMac::inflateRect):
997         (WebCore::RenderThemeMac::setControlSize):
998         (WebCore::RenderThemeMac::paintCapsLockIndicator):
999         (WebCore::RenderThemeMac::paintMenuList):
1000         (WebCore::RenderThemeMac::meterSizeForBounds):
1001         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1002         (WebCore::RenderThemeMac::setPopupButtonCellState):
1003         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1004         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
1005         * rendering/RenderThemeSafari.cpp:
1006         (WebCore::RenderThemeSafari::baselinePosition):
1007         * rendering/RenderThemeSafari.h:
1008         (RenderThemeSafari):
1009         * rendering/RenderThemeWin.cpp:
1010         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
1011         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
1012         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
1013         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
1014         * rendering/RenderThemeWin.h:
1015         (RenderThemeWin):
1016
1017 2012-02-04  Stephen White  <senorblanco@chromium.org>
1018
1019         [chromium] Fix multi-second hangs in compositor invalidating large layers
1020         https://bugs.webkit.org/show_bug.cgi?id=77774
1021
1022         Reviewed by James Robinson.
1023
1024         Correctness covered by existing tests.
1025
1026         * platform/graphics/chromium/TiledLayerChromium.cpp:
1027         (WebCore::TiledLayerChromium::pushPropertiesTo):
1028         Remove tiles from the tiler when they are invalid (ie., no longer have
1029         texture backing).
1030         (WebCore::TiledLayerChromium::invalidateRect):
1031         Instead of iterating over the tile indices (which may be very large),
1032         iterate over the tile hash map instead.
1033
1034 2012-02-04  Swapna P  <spottabathini@innominds.com>
1035
1036         Reviewed by Antonio Gomes.
1037         
1038         Bug: iframe with scrolling=no incorrectly autoscrollable
1039         https://bugs.webkit.org/show_bug.cgi?id=61558
1040         
1041         Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
1042         
1043         Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
1044         
1045         * rendering/RenderLayer.cpp:
1046         (WebCore::RenderLayer::scrollRectToVisible):
1047
1048 2012-02-03  Tim Horton  <timothy_horton@apple.com>
1049
1050         Canvas-into-canvas drawing should respect backing store scale ratio
1051         https://bugs.webkit.org/show_bug.cgi?id=77784
1052         <rdar://problem/10549729>
1053
1054         Reviewed by Dan Bernstein.
1055
1056         Respect the backing store scale ratio when drawing a canvas into another
1057         canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
1058         drawing to differ based on the size of the backing store, which is ideally
1059         an implementation detail to authors.
1060
1061         Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
1062         to be more clear.
1063
1064         No new tests.
1065
1066         * html/canvas/CanvasRenderingContext2D.cpp:
1067         (WebCore::CanvasRenderingContext2D::drawImage):
1068
1069 2012-02-03  Beth Dakin  <bdakin@apple.com>
1070
1071         https://bugs.webkit.org/show_bug.cgi?id=77782
1072         WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
1073         once on some pages with frames
1074         -and corresponding-
1075         <rdar://problem/10798474>
1076
1077         Reviewed by Sam Weinig.
1078
1079         startCountingRelevantRepaintedObjects() should only be called for the main 
1080         frame. Otherwise, the counter will be re-set inappropriately, and 
1081         didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
1082         * page/FrameView.cpp:
1083         (WebCore::FrameView::performPostLayoutTasks):
1084
1085 2012-02-03  Benjamin Poulain  <bpoulain@apple.com>
1086
1087         Reduce the memory allocations of WebCore's cssPropertyName()
1088         https://bugs.webkit.org/show_bug.cgi?id=74782
1089
1090         Reviewed by Geoffrey Garen.
1091
1092         Add a fast path to avoid the use of the StringBuilder.
1093
1094         The string builder is needed for two cases:
1095         -CSS prefix (the character after the prefix must be uppercase)
1096         -JavaScript CamelCase name for CSS properties
1097
1098         We can skip all memory allocations if the property is not in those
1099         two cases. We start by testing the string for uppercase characters,
1100         and just return the an identical string.
1101
1102         This patch create a "fast case" 2.7 times faster than previously.
1103         The "slow case" is 2-3% slower due to the additional check at the beginning.
1104
1105         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1106         (WebCore):
1107         (WebCore::containsASCIIUpperChar):
1108         (WebCore::cssPropertyName):
1109         (WebCore::isCSSPropertyName):
1110
1111 2012-02-03  Anders Carlsson  <andersca@apple.com>
1112
1113         WebKit2 should dispatch wheel events to the new ScrollingTree class
1114         https://bugs.webkit.org/show_bug.cgi?id=77795
1115
1116         Reviewed by Andreas Kling.
1117
1118         * WebCore.exp.in:
1119         Add new symbols needed by WebKit2.
1120
1121         * WebCore.xcodeproj/project.pbxproj:
1122         Make ScrollingTree.h private so it can be included by WebKit2.
1123
1124         * page/scrolling/ScrollingCoordinator.cpp:
1125         (WebCore::ScrollingCoordinator::scrollingTree):
1126         * page/scrolling/ScrollingCoordinator.h:
1127         Add a scrolling tree getter.
1128
1129 2012-02-03  Dmitry Lomov  <dslomov@google.com>
1130
1131         [Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
1132         https://bugs.webkit.org/show_bug.cgi?id=77686.
1133
1134         Reviewed by Adam Barth.
1135
1136         * bindings/v8/V8Helpers.cpp:
1137         (WebCore::toV8Context):
1138
1139 2012-02-03  Anders Carlsson  <andersca@apple.com>
1140
1141         The scrolling tree should be able to handle wheel events
1142         https://bugs.webkit.org/show_bug.cgi?id=77794
1143
1144         Reviewed by Andreas Kling.
1145
1146         * page/scrolling/ScrollingTree.cpp:
1147         (WebCore::ScrollingTree::tryToHandleWheelEvent):
1148         New function. Currently this always returns that it was able to handle the wheel event,
1149         but this will change in the future.
1150
1151         (WebCore::ScrollingTree::handleWheelEvent):
1152         Ask the root node to handle the wheel event.
1153
1154         * page/scrolling/ScrollingTreeNode.h:
1155         Add a handleWheelEvent pure virtual member function.
1156
1157         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1158         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
1159         Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
1160         things like rubber-banding.
1161
1162         (WebCore::ScrollingTreeNodeMac::scrollPosition):
1163         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
1164         Add getters and setters for the scroll position.
1165
1166         (WebCore::ScrollingTreeNodeMac::scrollBy):
1167         Update the scroll position given the offset.
1168
1169 2012-02-03  Ryosuke Niwa  <rniwa@webkit.org>
1170
1171         Crash in Node::dispatchSubtreeModifiedEvent
1172         https://bugs.webkit.org/show_bug.cgi?id=77449
1173
1174         Reviewed by Alexey Proskuryakov.
1175
1176         The bug was caused by appendChild not retaining this pointer.
1177         This is normally okay because there's another owner within JSC/V8 binding code that
1178         holds onto the node but this isn't the case when nodes are created as a part
1179         of setting document.title. Fixed the crash by retaining the pointer as needed.
1180
1181         Test: fast/dom/remove-body-during-title-creation.html
1182
1183         * dom/ContainerNode.cpp:
1184         (WebCore::ContainerNode::appendChild):
1185
1186 2012-02-03  Anders Carlsson  <andersca@apple.com>
1187
1188         Apply changed properties from the updated scrolling tree state
1189         https://bugs.webkit.org/show_bug.cgi?id=77792
1190
1191         Reviewed by Andreas Kling.
1192
1193         * page/scrolling/ScrollingTreeNode.cpp:
1194         (WebCore::ScrollingTreeNode::update):
1195         Update the tree node properties from the scrolling tree state.
1196
1197         * page/scrolling/ScrollingTreeNode.h:
1198         (WebCore::ScrollingTreeNode::scrollingTree):
1199         (WebCore::ScrollingTreeNode::viewportRect):
1200         (WebCore::ScrollingTreeNode::contentsSize):
1201         Add getters.
1202
1203         * page/scrolling/ScrollingTreeState.h:
1204         (WebCore::ScrollingTreeState::changedProperties):
1205         New function for accessing the changed properties of the scrolling tree state.
1206
1207         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1208         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1209         (WebCore::ScrollingTreeNodeMac::update):
1210         Update the scroll layer from the scrolling tree if necessary.
1211
1212 2012-02-03  Brady Eidson  <beidson@apple.com>
1213
1214         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
1215         Need a WK2 API to filter which subframes go into WebArchives as they are created.
1216
1217         Reviewed by Darin Adler.
1218
1219         This adds a filter callback object that allows clients to get called back for each
1220         subframe that might be added to a WebArchive.
1221
1222         API only, No new layout tests.
1223
1224         * WebCore.exp.in:
1225         * loader/archive/cf/LegacyWebArchive.cpp:
1226         (WebCore::LegacyWebArchive::create):
1227         (WebCore::LegacyWebArchive::createFromSelection):
1228         * loader/archive/cf/LegacyWebArchive.h:
1229         (FrameFilter):
1230         (WebCore:: FrameFilter::~ FrameFilter):
1231         (LegacyWebArchive):
1232
1233 2012-02-03  Joshua Bell  <jsbell@chromium.org>
1234
1235         IndexedDB: Key generators not rolled back if insertion fails or is aborted
1236         https://bugs.webkit.org/show_bug.cgi?id=77060
1237
1238         Reviewed by Tony Chang.
1239
1240         Test: storage/indexeddb/key-generator.html
1241
1242         * storage/IDBObjectStoreBackendImpl.cpp:
1243         (WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
1244         (WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
1245         (WebCore):
1246         (WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
1247         * storage/IDBObjectStoreBackendImpl.h:
1248         (IDBObjectStoreBackendImpl):
1249
1250 2012-02-03  Tony Chang  <tony@chromium.org>
1251
1252         positive and negative flex values are not being cleared on style changes
1253         https://bugs.webkit.org/show_bug.cgi?id=77771
1254
1255         Reviewed by Ojan Vafai.
1256
1257         If the width or height was a flex() value, but is no longer a flex
1258         value, we weren't clearing the positive and negative flex values in
1259         RenderStyle.
1260
1261         Test: css3/flexbox/flex-no-flex.html
1262
1263         * css/CSSStyleApplyProperty.cpp:
1264         (WebCore::ApplyPropertyLength::applyValue):
1265
1266 2012-02-03  James Robinson  <jamesr@chromium.org>
1267
1268         [chromium] Defer makeContextCurrent in compositor until first frame
1269         https://bugs.webkit.org/show_bug.cgi?id=77269
1270
1271         Reviewed by Kenneth Russell.
1272
1273         There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
1274         initialization work completes on another thread that we cannot block for. This defers the first
1275         makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
1276         assuming that the scheduler does the right thing.
1277
1278         This is accomplished by splitting up proxy initialization into two pieces:
1279         *) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
1280         context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().
1281
1282         *) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
1283             grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
1284             to the client as a lost context event.
1285
1286         Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
1287         LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
1288         TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
1289         painting so it doesn't have any impact outside of some overly intrustive unit tests.
1290
1291         * platform/graphics/chromium/ContentLayerChromium.cpp:
1292         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1293         (WebCore::ContentLayerChromium::createTextureUpdater):
1294         * platform/graphics/chromium/ContentLayerChromium.h:
1295         (ContentLayerChromium):
1296         * platform/graphics/chromium/ImageLayerChromium.cpp:
1297         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1298         * platform/graphics/chromium/ImageLayerChromium.h:
1299         (ImageLayerChromium):
1300         * platform/graphics/chromium/TiledLayerChromium.cpp:
1301         * platform/graphics/chromium/TiledLayerChromium.h:
1302         (WebCore::TiledLayerChromium::setSampledTexelFormat):
1303         (TiledLayerChromium):
1304         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1305         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1306         (WebCore::CCLayerTreeHost::initialize):
1307         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1308         (WebCore):
1309         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
1310         (WebCore::CCLayerTreeHost::compositeAndReadback):
1311         (WebCore::CCLayerTreeHost::finishAllRendering):
1312         (WebCore::CCLayerTreeHost::setViewportSize):
1313         (WebCore::CCLayerTreeHost::setVisible):
1314         (WebCore::CCLayerTreeHost::updateLayers):
1315         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1316         (CCLayerTreeHost):
1317         ():
1318         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1319         (WebCore::CCLayerTreeHostImpl::isContextLost):
1320         * platform/graphics/chromium/cc/CCProxy.h:
1321         (CCProxy):
1322         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1323         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
1324         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1325         (WebCore::CCSingleThreadProxy::initializeContext):
1326         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
1327         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
1328         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1329         (CCSingleThreadProxy):
1330         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1331         (WebCore::CCThreadProxy::CCThreadProxy):
1332         (WebCore::CCThreadProxy::compositeAndReadback):
1333         (WebCore::CCThreadProxy::initializeContext):
1334         (WebCore):
1335         (WebCore::CCThreadProxy::initializeLayerRenderer):
1336         (WebCore::CCThreadProxy::layerRendererCapabilities):
1337         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1338         (WebCore::CCThreadProxy::initializeContextOnImplThread):
1339         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
1340         * platform/graphics/chromium/cc/CCThreadProxy.h:
1341         (CCThreadProxy):
1342
1343 2012-02-03  James Robinson  <jamesr@chromium.org>
1344
1345         Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi
1346
1347         * WebCore.gypi:
1348
1349 2012-02-03  Andreas Kling  <awesomekling@apple.com>
1350
1351         Unreviewed build fix attempt after r106695.
1352
1353         CSSMutableStyleDeclaration was renamed to StylePropertySet.
1354
1355         * bindings/scripts/CodeGeneratorCPP.pm:
1356         (AddIncludesForType):
1357         * bindings/scripts/CodeGeneratorV8.pm:
1358         (AddIncludesForType):
1359         * bindings/v8/V8DOMWindowShell.cpp:
1360         * bindings/v8/V8DOMWrapper.cpp:
1361         * bindings/v8/V8Proxy.cpp:
1362
1363 2012-02-03  Yong Li  <yoli@rim.com>
1364
1365         [BlackBerry] Let userIdleTime() return maximum number instead of 0 as
1366         most of other ports do.
1367         https://bugs.webkit.org/show_bug.cgi?id=77769
1368
1369         Reviewed by Rob Buis.
1370
1371         userIdleTime() should return a big number so it won't block page cache
1372         from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().
1373
1374         No new tests as no visible functional changes.
1375
1376         * platform/blackberry/SystemTimeBlackBerry.cpp:
1377         (WebCore::userIdleTime):
1378
1379 2012-02-03  Anders Carlsson  <andersca@apple.com>
1380
1381         Commit scrolling tree state changes to the scrolling tree
1382         https://bugs.webkit.org/show_bug.cgi?id=77780
1383
1384         Reviewed by Darin Adler.
1385
1386         * WebCore.xcodeproj/project.pbxproj:
1387         * page/scrolling/ScrollingCoordinator.cpp:
1388         (WebCore::ScrollingCoordinator::commitTreeState):
1389         Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.
1390
1391         * page/scrolling/ScrollingTree.cpp:
1392         (WebCore::ScrollingTree::ScrollingTree):
1393         Create a root node.
1394
1395         (WebCore::ScrollingTree::commitNewTreeState):
1396         Update the root node.
1397
1398         * page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1399         * page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1400         Stub out an abstract ScrollingTreeNode class.
1401
1402         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1403         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
1404         Update the scroll layer on the tree state.
1405
1406         * page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1407         * page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1408         Stub out the concrete ScrollingTreeNodeMac subclass.
1409
1410 2012-02-03  Antti Koivisto  <antti@apple.com>
1411
1412         Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp 
1413         https://bugs.webkit.org/show_bug.cgi?id=77779
1414
1415         Reviewed by Darin Adler.
1416
1417         Match the new class name.
1418
1419         * CMakeLists.txt:
1420         * GNUmakefile.list.am:
1421         * Target.pri:
1422         * WebCore.gypi:
1423         * WebCore.vcproj/WebCore.vcproj:
1424         * WebCore.xcodeproj/project.pbxproj:
1425         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1426         * bindings/js/JSDOMBinding.h:
1427         * bindings/scripts/CodeGeneratorJS.pm:
1428         (NativeToJSValue):
1429         * bindings/scripts/CodeGeneratorObjC.pm:
1430         (AddIncludesForType):
1431         * css/CSSAllInOne.cpp:
1432         * css/CSSComputedStyleDeclaration.cpp:
1433         * css/CSSFontFaceRule.cpp:
1434         * css/CSSFontFaceRule.h:
1435         * css/CSSFontSelector.cpp:
1436         * css/CSSMutableStyleDeclaration.cpp: Removed.
1437         * css/CSSMutableStyleDeclaration.h: Removed.
1438         * css/CSSPageRule.cpp:
1439         * css/CSSParser.cpp:
1440         * css/CSSStyleRule.cpp:
1441         * css/CSSStyleRule.h:
1442         * css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
1443         * css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
1444         * css/WebKitCSSKeyframeRule.cpp:
1445         * css/WebKitCSSKeyframeRule.h:
1446         * css/WebKitCSSKeyframesRule.cpp:
1447         * css/WebKitCSSMatrix.cpp:
1448         * dom/CSSMappedAttributeDeclaration.h:
1449         * dom/ElementAttributeData.h:
1450         * dom/StyledElement.cpp:
1451         * dom/StyledElement.h:
1452         * editing/ApplyStyleCommand.cpp:
1453         * editing/DeleteButtonController.cpp:
1454         * editing/EditingStyle.cpp:
1455         * editing/Editor.cpp:
1456         * editing/EditorCommand.cpp:
1457         * editing/RemoveCSSPropertyCommand.cpp:
1458         * editing/ReplaceSelectionCommand.cpp:
1459         * editing/markup.cpp:
1460         * html/canvas/CanvasRenderingContext2D.cpp:
1461         * html/shadow/MeterShadowElement.cpp:
1462         * inspector/InspectorCSSAgent.cpp:
1463         * inspector/InspectorDOMAgent.cpp:
1464         * page/DragController.cpp:
1465         * page/Frame.cpp:
1466         * rendering/RenderLayer.cpp:
1467         * rendering/RenderTreeAsText.cpp:
1468         * svg/SVGFontFaceElement.h:
1469         (WebCore):
1470
1471 2012-02-03  Mihnea Ovidenie  <mihnea@adobe.com>
1472
1473         Crash in RenderFlowThread::setRegionBoxesRegionStyle
1474         https://bugs.webkit.org/show_bug.cgi?id=77474
1475
1476         Reviewed by David Hyatt.
1477
1478         Flexbox and deprecated flexible box should also compute their region range
1479         when they are part of a named flow. Until now, only RenderBlock elements
1480         were doing that. Flexbox and deprecated flexible box, while implementing
1481         their own layoutBlock method, were not doing that.
1482
1483         Tests: fast/regions/flexbox-in-region-crash.html
1484                fast/regions/select-in-region-crash.html
1485
1486         * rendering/RenderBlock.cpp:
1487         (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
1488         (WebCore):
1489         (WebCore::RenderBlock::computeRegionRangeForBlock):
1490         (WebCore::RenderBlock::layoutBlock):
1491         * rendering/RenderBlock.h:
1492         (RenderBlock):
1493         * rendering/RenderDeprecatedFlexibleBox.cpp:
1494         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1495         * rendering/RenderFlexibleBox.cpp:
1496         (WebCore::RenderFlexibleBox::layoutBlock):
1497         * rendering/RenderFlowThread.cpp:
1498         (WebCore::RenderFlowThread::removeRegionFromThread):
1499         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1500         * rendering/RenderRegion.cpp:
1501         (WebCore::RenderRegion::RenderRegion):
1502         (WebCore::RenderRegion::paintReplaced):
1503         * rendering/RenderRegion.h:
1504         (RenderRegion):
1505
1506 2012-02-03  Anders Carlsson  <andersca@apple.com>
1507
1508         Update the tree state after layout and add a way to commit it
1509         https://bugs.webkit.org/show_bug.cgi?id=77767
1510
1511         Reviewed by Andreas Kling.
1512
1513         * page/FrameView.cpp:
1514         (WebCore::FrameView::performPostLayoutTasks):
1515         Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.
1516
1517         * page/scrolling/ScrollingCoordinator.cpp:
1518         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
1519         Initialize m_scrollingTreeStateCommitterTimer.
1520
1521         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1522         Update the viewport rect and contents size of the frame view.
1523
1524         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
1525         Schedule a tree state commit unless we've already scheduled one or there are no changed properties.
1526
1527         (WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
1528         Call commitTreeState().
1529
1530         (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
1531         Commit the tree state unless there are no changed properties.
1532
1533         (WebCore::ScrollingCoordinator::commitTreeState):
1534         Commit the tree state. We currently don't do anything with the committed state yet.
1535
1536         * page/scrolling/ScrollingCoordinator.h:
1537         Add new member functions and the timer member variable.
1538
1539         * page/scrolling/ScrollingTreeState.cpp:
1540         (WebCore::ScrollingTreeState::commit):
1541         Copy the current tree state and restore the changed properties on the original.
1542
1543         * page/scrolling/ScrollingTreeState.h:
1544         (WebCore::ScrollingTreeState::hasChangedProperties):
1545         Return whether there are any changed properties in the tree state.
1546
1547 2012-02-03  Andreas Kling  <awesomekling@apple.com>
1548
1549         HTMLElement: Clean up tabindex attribute parsing.
1550         <http://webkit.org/b/77763>
1551
1552         Reviewed by Antti Koivisto.
1553
1554         Remove an unnecessary getAttribute() call when parsing tabindexAttr.
1555
1556         * html/HTMLElement.cpp:
1557         (WebCore::HTMLElement::parseMappedAttribute):
1558
1559 2012-02-03  Anders Carlsson  <andersca@apple.com>
1560
1561         ScrollingTreeState should keep track of the scroll layer
1562         https://bugs.webkit.org/show_bug.cgi?id=77762
1563
1564         Reviewed by Andreas Kling.
1565
1566         * WebCore.xcodeproj/project.pbxproj:
1567         * page/scrolling/ScrollingTreeState.h:
1568         (ScrollingTreeState):
1569         * page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
1570         (WebCore):
1571         (WebCore::ScrollingTreeState::platformScrollLayer):
1572         (WebCore::ScrollingTreeState::setScrollLayer):
1573
1574 2012-02-03  Antti Koivisto  <antti@apple.com>
1575
1576         https://bugs.webkit.org/show_bug.cgi?id=77740
1577         Split CSSMutableStyleDeclaration into separate internal and CSSOM types 
1578
1579         Reviewed by Andreas Kling and Darin Adler.
1580
1581         Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).
1582         
1583         To keep things somewhat manageable, this patch does NOT
1584
1585         - rename or add any files (so files names won't match types)
1586         - rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
1587         - try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)
1588
1589         * WebCore.exp.in:
1590         * css/CSSComputedStyleDeclaration.cpp:
1591         (WebCore::CSSComputedStyleDeclaration::copy):
1592         (WebCore::CSSComputedStyleDeclaration::makeMutable):
1593         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1594         * css/CSSComputedStyleDeclaration.h:
1595         (WebCore):
1596         (CSSComputedStyleDeclaration):
1597         * css/CSSFontFaceRule.h:
1598         (WebCore::CSSFontFaceRule::style):
1599         (WebCore::CSSFontFaceRule::declaration):
1600         (WebCore::CSSFontFaceRule::setDeclaration):
1601         (CSSFontFaceRule):
1602         * css/CSSFontSelector.cpp:
1603         (WebCore::CSSFontSelector::addFontFaceRule):
1604         * css/CSSMutableStyleDeclaration.cpp:
1605         (PropertySetCSSStyleDeclaration):
1606         (WebCore::PropertySetCSSStyleDeclaration::create):
1607         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
1608         (WebCore):
1609         (WebCore::StylePropertySet::StylePropertySet):
1610         (WebCore::StylePropertySet::~StylePropertySet):
1611         (WebCore::StylePropertySet::deref):
1612         (WebCore::StylePropertySet::contextStyleSheet):
1613         (WebCore::StylePropertySet::copyPropertiesFrom):
1614         (WebCore::StylePropertySet::getPropertyValue):
1615         (WebCore::StylePropertySet::borderSpacingValue):
1616         (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
1617         (WebCore::StylePropertySet::fontValue):
1618         (WebCore::StylePropertySet::get4Values):
1619         (WebCore::StylePropertySet::getLayeredShorthandValue):
1620         (WebCore::StylePropertySet::getShorthandValue):
1621         (WebCore::StylePropertySet::getCommonValue):
1622         (WebCore::StylePropertySet::getPropertyCSSValue):
1623         (WebCore::StylePropertySet::removeShorthandProperty):
1624         (WebCore::StylePropertySet::removeProperty):
1625         (WebCore::StylePropertySet::setNeedsStyleRecalc):
1626         (WebCore::StylePropertySet::propertyIsImportant):
1627         (WebCore::StylePropertySet::getPropertyShorthand):
1628         (WebCore::StylePropertySet::isPropertyImplicit):
1629         (WebCore::StylePropertySet::setProperty):
1630         (WebCore::StylePropertySet::parseDeclaration):
1631         (WebCore::StylePropertySet::addParsedProperties):
1632         (WebCore::StylePropertySet::addParsedProperty):
1633         (WebCore::StylePropertySet::asText):
1634         (WebCore::StylePropertySet::merge):
1635         (WebCore::StylePropertySet::addSubresourceStyleURLs):
1636         (WebCore::StylePropertySet::copyBlockProperties):
1637         (WebCore::StylePropertySet::removeBlockProperties):
1638         (WebCore::StylePropertySet::removePropertiesInSet):
1639         (WebCore::StylePropertySet::findPropertyWithId):
1640         (WebCore::StylePropertySet::propertyMatches):
1641         (WebCore::StylePropertySet::removeEquivalentProperties):
1642         (WebCore::StylePropertySet::copy):
1643         (WebCore::StylePropertySet::copyPropertiesInSet):
1644         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
1645         (WebCore::PropertySetCSSStyleDeclaration::length):
1646         (WebCore::PropertySetCSSStyleDeclaration::item):
1647         (WebCore::PropertySetCSSStyleDeclaration::parentRule):
1648         (WebCore::PropertySetCSSStyleDeclaration::cssText):
1649         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1650         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
1651         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
1652         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
1653         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
1654         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
1655         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1656         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
1657         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
1658         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
1659         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1660         (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
1661         (WebCore::PropertySetCSSStyleDeclaration::copy):
1662         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
1663         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
1664         * css/CSSMutableStyleDeclaration.h:
1665         (WebCore):
1666         (StylePropertySet):
1667         (WebCore::StylePropertySet::create):
1668         (WebCore::StylePropertySet::createInline):
1669         * css/CSSPageRule.h:
1670         (WebCore):
1671         * css/CSSParser.cpp:
1672         (WebCore::parseColorValue):
1673         (WebCore::parseSimpleLengthValue):
1674         (WebCore::CSSParser::parseValue):
1675         (WebCore::CSSParser::parseDeclaration):
1676         (WebCore::CSSParser::createStyleRule):
1677         (WebCore::CSSParser::createFontFaceRule):
1678         (WebCore::CSSParser::createPageRule):
1679         (WebCore::CSSParser::createKeyframeRule):
1680         * css/CSSParser.h:
1681         (WebCore):
1682         (CSSParser):
1683         * css/CSSStyleDeclaration.h:
1684         (WebCore):
1685         (CSSStyleDeclaration):
1686         * css/CSSStyleRule.h:
1687         (WebCore::CSSStyleRule::style):
1688         (WebCore::CSSStyleRule::setDeclaration):
1689         (WebCore::CSSStyleRule::declaration):
1690         (CSSStyleRule):
1691         * css/CSSStyleSelector.cpp:
1692         (WebCore::leftToRightDeclaration):
1693         (WebCore::rightToLeftDeclaration):
1694         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1695         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1696         (WebCore::CSSStyleSelector::matchAllRules):
1697         (WebCore::CSSStyleSelector::styleForKeyframe):
1698         (WebCore::isInsideRegionRule):
1699         (WebCore::CSSStyleSelector::applyDeclaration):
1700         (WebCore::CSSStyleSelector::applyDeclarations):
1701         (WebCore::CSSStyleSelector::matchPageRulesForList):
1702         * css/CSSStyleSelector.h:
1703         (CSSStyleSelector):
1704         (MatchedStyleDeclaration):
1705         * css/WebKitCSSKeyframeRule.cpp:
1706         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
1707         * css/WebKitCSSKeyframeRule.h:
1708         (WebCore::WebKitCSSKeyframeRule::style):
1709         (WebCore::WebKitCSSKeyframeRule::declaration):
1710         (WebKitCSSKeyframeRule):
1711         * css/WebKitCSSMatrix.cpp:
1712         (WebCore::WebKitCSSMatrix::setMatrixValue):
1713         * dom/Attr.h:
1714         (WebCore::Attr::style):
1715         * dom/Attribute.h:
1716         (WebCore::Attribute::decl):
1717         * dom/CSSMappedAttributeDeclaration.h:
1718         (WebCore::CSSMappedAttributeDeclaration::declaration):
1719         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
1720         (CSSMappedAttributeDeclaration):
1721         * dom/Document.cpp:
1722         (WebCore::Document::createCSSStyleDeclaration):
1723         * dom/ElementAttributeData.h:
1724         (ElementAttributeData):
1725         * dom/NamedNodeMap.cpp:
1726         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
1727         * dom/NamedNodeMap.h:
1728         (WebCore::NamedNodeMap::inlineStyleDecl):
1729         (NamedNodeMap):
1730         * dom/StyledElement.cpp:
1731         (WebCore::StyledElement::updateStyleAttribute):
1732         (WebCore::StyledElement::copyNonAttributeProperties):
1733         (WebCore::StyledElement::addSubresourceAttributeURLs):
1734         * dom/StyledElement.h:
1735         (WebCore::StyledElement::additionalAttributeStyle):
1736         (WebCore::StyledElement::inlineStyleDecl):
1737         (WebCore::StyledElement::ensureInlineStyleDecl):
1738         * editing/ApplyStyleCommand.cpp:
1739         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1740         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1741         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1742         (WebCore::ApplyStyleCommand::removeCSSStyle):
1743         (WebCore::ApplyStyleCommand::addBlockStyle):
1744         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1745         * editing/DeleteButtonController.cpp:
1746         (WebCore::DeleteButtonController::createDeletionUI):
1747         * editing/EditingStyle.cpp:
1748         (WebCore::copyEditingProperties):
1749         (WebCore::editingStyleFromComputedStyle):
1750         (WebCore):
1751         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
1752         (HTMLElementEquivalent):
1753         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
1754         (HTMLTextDecorationEquivalent):
1755         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
1756         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
1757         (HTMLAttributeEquivalent):
1758         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
1759         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
1760         (WebCore::EditingStyle::EditingStyle):
1761         (WebCore::getRGBAFontColor):
1762         (WebCore::EditingStyle::setProperty):
1763         (WebCore::EditingStyle::setStyle):
1764         (WebCore::EditingStyle::overrideWithStyle):
1765         (WebCore::EditingStyle::extractAndRemoveTextDirection):
1766         (WebCore::EditingStyle::removeStyleAddedByNode):
1767         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1768         (WebCore::EditingStyle::triStateOfStyle):
1769         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
1770         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1771         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
1772         (WebCore::EditingStyle::mergeStyle):
1773         (WebCore::styleFromMatchedRulesForElement):
1774         (WebCore::EditingStyle::mergeStyleFromRules):
1775         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1776         (WebCore::removePropertiesInStyle):
1777         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1778         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
1779         (WebCore::EditingStyle::forceInline):
1780         (WebCore::reconcileTextDecorationProperties):
1781         (WebCore::StyleChange::StyleChange):
1782         (WebCore::setTextDecorationProperty):
1783         (WebCore::StyleChange::extractTextStyles):
1784         (WebCore::diffTextDecorations):
1785         (WebCore::fontWeightIsBold):
1786         (WebCore::getTextAlignment):
1787         (WebCore::getPropertiesNotIn):
1788         (WebCore::getIdentifierValue):
1789         (WebCore::isTransparentColorValue):
1790         (WebCore::hasTransparentBackgroundColor):
1791         * editing/EditingStyle.h:
1792         (WebCore):
1793         (WebCore::EditingStyle::create):
1794         (EditingStyle):
1795         (WebCore::EditingStyle::style):
1796         (StyleChange):
1797         * editing/Editor.cpp:
1798         (WebCore::Editor::setBaseWritingDirection):
1799         (WebCore::Editor::applyEditingStyleToElement):
1800         * editing/EditorCommand.cpp:
1801         (WebCore::applyCommandToFrame):
1802         (WebCore::executeApplyStyle):
1803         (WebCore::executeToggleStyleInList):
1804         (WebCore::executeApplyParagraphStyle):
1805         (WebCore::executeMakeTextWritingDirectionLeftToRight):
1806         (WebCore::executeMakeTextWritingDirectionNatural):
1807         (WebCore::executeMakeTextWritingDirectionRightToLeft):
1808         * editing/FrameSelection.cpp:
1809         (WebCore::FrameSelection::copyTypingStyle):
1810         * editing/FrameSelection.h:
1811         (WebCore):
1812         * editing/RemoveCSSPropertyCommand.cpp:
1813         (WebCore::RemoveCSSPropertyCommand::doApply):
1814         (WebCore::RemoveCSSPropertyCommand::doUnapply):
1815         * editing/ReplaceSelectionCommand.cpp:
1816         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1817         * editing/ReplaceSelectionCommand.h:
1818         (WebCore):
1819         * editing/markup.cpp:
1820         (WebCore):
1821         (StyledMarkupAccumulator):
1822         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
1823         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1824         (WebCore::propertyMissingOrEqualToNone):
1825         * html/HTMLTableCellElement.cpp:
1826         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
1827         * html/HTMLTableCellElement.h:
1828         (HTMLTableCellElement):
1829         * html/HTMLTableColElement.cpp:
1830         (WebCore::HTMLTableColElement::additionalAttributeStyle):
1831         * html/HTMLTableColElement.h:
1832         (HTMLTableColElement):
1833         * html/HTMLTableElement.cpp:
1834         (WebCore::leakBorderStyle):
1835         (WebCore::HTMLTableElement::additionalAttributeStyle):
1836         (WebCore::HTMLTableElement::createSharedCellStyle):
1837         (WebCore::HTMLTableElement::additionalCellStyle):
1838         (WebCore::leakGroupBorderStyle):
1839         (WebCore::HTMLTableElement::additionalGroupStyle):
1840         * html/HTMLTableElement.h:
1841         (HTMLTableElement):
1842         * html/HTMLTableSectionElement.cpp:
1843         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
1844         * html/HTMLTableSectionElement.h:
1845         (HTMLTableSectionElement):
1846         * html/ValidationMessage.cpp:
1847         (WebCore::adjustBubblePosition):
1848         * html/canvas/CanvasRenderingContext2D.cpp:
1849         (WebCore::CanvasRenderingContext2D::setFont):
1850         * html/shadow/MediaControlElements.cpp:
1851         (WebCore::MediaControlPanelElement::setPosition):
1852         (WebCore::MediaControlPanelElement::resetPosition):
1853         (WebCore::MediaControlPanelElement::makeOpaque):
1854         (WebCore::MediaControlPanelElement::makeTransparent):
1855         * html/shadow/SliderThumbElement.cpp:
1856         (WebCore::TrackLimiterElement::create):
1857         * inspector/InspectorCSSAgent.cpp:
1858         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1859         * inspector/InspectorStyleSheet.cpp:
1860         (WebCore::InspectorStyle::setPropertyText):
1861         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
1862         * page/DragController.cpp:
1863         (WebCore::DragController::concludeEditDrag):
1864         * page/PageSerializer.cpp:
1865         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
1866         * page/PageSerializer.h:
1867         (WebCore):
1868         (PageSerializer):
1869         * rendering/RenderLayer.cpp:
1870         (WebCore::RenderLayer::resize):
1871         * rendering/RenderTreeAsText.cpp:
1872         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
1873         * svg/SVGFontFaceElement.cpp:
1874         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1875
1876 2012-02-03  Jochen Eisinger  <jochen@chromium.org>
1877
1878         Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
1879         https://bugs.webkit.org/show_bug.cgi?id=76704
1880
1881         Reviewed by Adam Barth.
1882
1883         Test: http/tests/security/isolatedWorld/sandboxed-iframe.html
1884
1885         * bindings/v8/ScheduledAction.cpp:
1886         (WebCore::ScheduledAction::execute):
1887         * bindings/v8/V8EventListener.cpp:
1888         (WebCore::V8EventListener::callListenerFunction):
1889         * bindings/v8/V8LazyEventListener.cpp:
1890         (WebCore::V8LazyEventListener::callListenerFunction):
1891         * bindings/v8/V8Proxy.cpp:
1892         (WebCore::V8Proxy::handleOutOfMemory):
1893         (WebCore::toV8Context):
1894
1895 2012-02-03  Anders Carlsson  <andersca@apple.com>
1896
1897         Add ScrollingTreeState class
1898         https://bugs.webkit.org/show_bug.cgi?id=77756
1899
1900         Reviewed by Andreas Kling.
1901
1902         Add a new ScrollingTreeState whose intent is to be a data container for the current
1903         scrolling tree state. the ScrollingCoordinator class will update it and periodically
1904         send over the new state to the ScrollingTree object on the scrolling thread.
1905
1906         * WebCore.xcodeproj/project.pbxproj:
1907         * page/scrolling/ScrollingCoordinator.cpp:
1908         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
1909         * page/scrolling/ScrollingCoordinator.h:
1910         (WebCore):
1911         (ScrollingCoordinator):
1912         * page/scrolling/ScrollingTreeState.cpp: Added.
1913         (WebCore):
1914         (WebCore::ScrollingTreeState::create):
1915         (WebCore::ScrollingTreeState::ScrollingTreeState):
1916         (WebCore::ScrollingTreeState::~ScrollingTreeState):
1917         (WebCore::ScrollingTreeState::setViewportRect):
1918         (WebCore::ScrollingTreeState::setContentsSize):
1919         * page/scrolling/ScrollingTreeState.h: Added.
1920         (WebCore):
1921         (ScrollingTreeState):
1922         (WebCore::ScrollingTreeState::viewportRect):
1923         (WebCore::ScrollingTreeState::contentsSize):
1924
1925 2012-02-03  Beth Dakin  <bdakin@apple.com>
1926
1927         https://bugs.webkit.org/show_bug.cgi?id=77691
1928         Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
1929         of device scale
1930
1931         Reviewed by Andy Estes.
1932
1933         Make screenAvailableRect() and screenRect() take a Widget again instead of a 
1934         FrameView since taking a FrameView is a layering violation.
1935         * WebCore.exp.in:
1936         * platform/PlatformScreen.h:
1937         (WebCore):
1938         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1939         (WebCore::screenAvailableRect):
1940         (WebCore::screenRect):
1941         * platform/chromium/PlatformScreenChromium.cpp:
1942         (WebCore::screenRect):
1943         (WebCore::screenAvailableRect):
1944         * platform/chromium/PlatformSupport.h:
1945         (WebCore):
1946         (PlatformSupport):
1947         * platform/efl/PlatformScreenEfl.cpp:
1948         (WebCore::screenRect):
1949         (WebCore::screenAvailableRect):
1950         * platform/gtk/PlatformScreenGtk.cpp:
1951         (WebCore::screenRect):
1952         (WebCore::screenAvailableRect):
1953         * platform/qt/PlatformScreenQt.cpp:
1954         (WebCore::screenRect):
1955         (WebCore::screenAvailableRect):
1956         * platform/win/PlatformScreenWin.cpp:
1957         (WebCore::screenRect):
1958         (WebCore::screenAvailableRect):
1959         * platform/wx/ScreenWx.cpp:
1960         (WebCore::screenRect):
1961         (WebCore::screenAvailableRect):
1962
1963         It's wrong for the deviceScaleFactor to be taken into consideration here at 
1964         all.
1965         * platform/mac/PlatformScreenMac.mm:
1966         (WebCore::screenRect):
1967         (WebCore::screenAvailableRect):
1968         (WebCore::toUserSpace):
1969         (WebCore::toDeviceSpace):
1970
1971 2012-02-03  Dan Bernstein  <mitz@apple.com>
1972
1973         <rdar://problem/10352073> Floating image leaves hole in previous column when wrapped to next column
1974         https://bugs.webkit.org/show_bug.cgi?id=77694
1975
1976         Reviewed by Darin Adler.
1977
1978         Tests: fast/dynamic/float-moved-downwards-for-pagination-expected.html
1979                fast/dynamic/float-moved-downwards-for-pagination.html
1980
1981         * rendering/RenderBlock.cpp:
1982         (WebCore::RenderBlock::clearFloats): When determining which lines to dirty,
1983         also check for changes to the top edge of the float, which can happen when
1984         float gets pushed down by a pagination strut.
1985
1986 2012-02-03  Alexis Menard  <alexis.menard@openbossa.org>
1987
1988         REGRESSION (r105401-105403): Blue flash on css border transition
1989         https://bugs.webkit.org/show_bug.cgi?id=77491
1990
1991         Reviewed by Simon Fraser.
1992
1993         The new blend function added with r105403 takes unsigned as parameters therefore
1994         we have to be careful to not overflow in case the to is less than from (animating
1995         from 400 to 0 for example).
1996
1997         Test: animations/animation-border-overflow.html
1998
1999         * platform/animation/AnimationUtilities.h:
2000         (WebCore::blend):
2001
2002 2012-02-03  Justin Novosad  <junov@chromium.org>
2003
2004         [Chromium] ImageBufferSkia: remove unnecessary overload of flush in
2005         AcceleratedDeviceContext
2006         https://bugs.webkit.org/show_bug.cgi?id=77741
2007
2008         Reviewed by Stephen White.
2009
2010         Removing dead code.
2011
2012         * platform/graphics/skia/ImageBufferSkia.cpp:
2013         (AcceleratedDeviceContext):
2014
2015 2012-02-03  Balazs Kelemen  <kbalazs@webkit.org>
2016
2017         Speculative unreviewed build fix for Qt-Windows
2018         after http://trac.webkit.org/changeset/106659.
2019
2020         * platform/graphics/texmap/TextureMapper.h:
2021         (WebCore::TextureMapper::platformCreateAccelerated):
2022
2023 2012-02-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2024
2025         Unreviewed, rolling out r106654.
2026         http://trac.webkit.org/changeset/106654
2027         https://bugs.webkit.org/show_bug.cgi?id=77742
2028
2029         triggers asserts on mac, win, gtk, qt debug bots (Requested by
2030         philn-tp on #webkit).
2031
2032         * Modules/intents/IntentRequest.cpp:
2033         (WebCore::IntentRequest::create):
2034         * bindings/generic/ActiveDOMCallback.cpp:
2035         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2036         * dom/ActiveDOMObject.cpp:
2037         (WebCore::ActiveDOMObject::ActiveDOMObject):
2038         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2039         * dom/ActiveDOMObject.h:
2040         (ActiveDOMObject):
2041         * dom/DocumentEventQueue.cpp:
2042         (WebCore::DocumentEventQueue::DocumentEventQueue):
2043         * dom/ScriptExecutionContext.cpp:
2044         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2045         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2046         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2047         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2048         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2049         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2050         * dom/ScriptExecutionContext.h:
2051         (ScriptExecutionContext):
2052         * fileapi/DOMFileSystem.cpp:
2053         (WebCore::DOMFileSystem::create):
2054         * fileapi/FileReader.cpp:
2055         (WebCore):
2056         * fileapi/FileReader.h:
2057         (WebCore::FileReader::create):
2058         * fileapi/FileWriter.cpp:
2059         (WebCore):
2060         * fileapi/FileWriter.h:
2061         (WebCore::FileWriter::create):
2062         * history/CachedFrame.cpp:
2063         (WebCore::CachedFrame::CachedFrame):
2064         * html/HTMLAudioElement.cpp:
2065         (WebCore::HTMLAudioElement::create):
2066         * html/HTMLMarqueeElement.cpp:
2067         (WebCore::HTMLMarqueeElement::create):
2068         * html/HTMLVideoElement.cpp:
2069         (WebCore::HTMLVideoElement::create):
2070         * mediastream/PeerConnection.cpp:
2071         (WebCore::PeerConnection::create):
2072         * notifications/Notification.cpp:
2073         (WebCore::Notification::create):
2074         * notifications/NotificationCenter.cpp:
2075         * notifications/NotificationCenter.h:
2076         (WebCore::NotificationCenter::create):
2077         * page/DOMTimer.cpp:
2078         (WebCore::DOMTimer::install):
2079         (WebCore::DOMTimer::fired):
2080         * page/EventSource.cpp:
2081         (WebCore::EventSource::create):
2082         * page/SuspendableTimer.cpp:
2083         (WebCore::SuspendableTimer::SuspendableTimer):
2084         * storage/IDBDatabase.cpp:
2085         (WebCore::IDBDatabase::create):
2086         * storage/IDBRequest.cpp:
2087         (WebCore::IDBRequest::create):
2088         * storage/IDBTransaction.cpp:
2089         (WebCore::IDBTransaction::create):
2090         * webaudio/AudioContext.cpp:
2091         (WebCore::AudioContext::create):
2092         * websockets/WebSocket.cpp:
2093         * websockets/WebSocket.h:
2094         (WebCore::WebSocket::create):
2095         * workers/SharedWorker.cpp:
2096         (WebCore::SharedWorker::create):
2097         * workers/Worker.cpp:
2098         (WebCore::Worker::create):
2099         * xml/XMLHttpRequest.cpp:
2100         (WebCore::XMLHttpRequest::create):
2101
2102 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2103
2104         Add the "V8" prefix to V8 specific IDL attributes
2105         https://bugs.webkit.org/show_bug.cgi?id=77713
2106
2107         Reviewed by Adam Barth.
2108
2109         This patch adds the "V8" prefix to a V8 specific IDL attribute:
2110         [EnabledAtRuntime] => [V8EnabledAtRuntime]
2111
2112         No tests. No change in behavior.
2113
2114         * bindings/scripts/CodeGeneratorV8.pm:
2115         (GenerateHeader):
2116         (GenerateImplementation):
2117         (GetRuntimeEnableFunctionName):
2118
2119         * bindings/scripts/test/TestObj.idl:
2120         * bindings/scripts/test/V8/V8TestObj.cpp: Updated the run-bindings-tests results.
2121         (WebCore::ConfigureV8TestObjTemplate):
2122
2123         * Modules/gamepad/NavigatorGamepad.idl:
2124         * dom/Clipboard.idl:
2125         * dom/Document.idl:
2126         * dom/Element.idl:
2127         * dom/MouseEvent.idl:
2128         * dom/ShadowRoot.idl:
2129         * html/HTMLInputElement.idl:
2130         * html/HTMLMediaElement.idl:
2131         * html/HTMLTrackElement.idl:
2132         * html/TextTrack.idl:
2133         * html/TextTrackCue.idl:
2134         * html/TextTrackCueList.idl:
2135         * html/shadow/HTMLContentElement.idl:
2136         * html/track/TextTrackList.idl:
2137         * html/track/TrackEvent.idl:
2138         * page/DOMWindow.idl:
2139         * page/History.idl:
2140         * page/Navigator.idl:
2141         * storage/DOMWindowSQLDatabase.idl:
2142         * webaudio/DOMWindowWebAudio.idl:
2143         * websockets/DOMWindowWebSocket.idl:
2144         * workers/WorkerContext.idl:
2145         * xml/XMLHttpRequest.idl:
2146
2147 2012-02-03  Alexei Filippov  <alexeif@chromium.org>
2148
2149         Web Inspector: Retained size for classes is too conservative in heap profiler
2150         https://bugs.webkit.org/show_bug.cgi?id=77726
2151
2152         Reviewed by Yury Semikhatsky.
2153
2154         Makes retained size of all objects of particular class show correct value
2155         in Summary view of heap profiler.
2156
2157         * inspector/front-end/DetailedHeapshotGridNodes.js:
2158         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2159         * inspector/front-end/HeapSnapshot.js:
2160         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2161         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
2162
2163 2012-02-02  Alexander Pavlov  <apavlov@chromium.org>
2164
2165         Web Inspector: Introduce "Copy XPath" popup menu item for DOM elements
2166         https://bugs.webkit.org/show_bug.cgi?id=77619
2167
2168         Reviewed by Vsevolod Vlasov.
2169
2170         XPath is optimized whenever an element has the "id" attribute.
2171
2172         Test: inspector/elements/node-xpath.xhtml
2173
2174         * English.lproj/localizedStrings.js:
2175         * inspector/front-end/DOMAgent.js:
2176         (WebInspector.DOMNode.XPathStep):
2177         (WebInspector.DOMNode.XPathStep.prototype.toString):
2178         (WebInspector.DOMNode.prototype.copyXPath):
2179         (WebInspector.DOMNode.prototype.isXMLNode):
2180         (WebInspector.DOMNode.prototype.xPath):
2181         (WebInspector.DOMNode.prototype._xPathValue):
2182         (WebInspector.DOMNode.prototype._xPathIndex):
2183         * inspector/front-end/ElementsTreeOutline.js:
2184         (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2185
2186 2012-02-03  Dana Jansens  <danakj@chromium.org>
2187
2188         [Chromium] Use the current clip when marking paints as opaque
2189         https://bugs.webkit.org/show_bug.cgi?id=77582
2190
2191         Reviewed by Stephen White.
2192
2193         New unit test in PlatformContextSkiaTest.cpp
2194
2195         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2196         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
2197         * platform/graphics/skia/PlatformContextSkia.h:
2198         (WebCore::PlatformContextSkia::canvas):
2199
2200 2012-02-03  Yury Semikhatsky  <yurys@chromium.org>
2201
2202         inspector/debugger/pause-in-inline-script.html asserts in chromium debug
2203         https://bugs.webkit.org/show_bug.cgi?id=77663
2204
2205         Make ASSERT in MainResourceLoader not fail if debugger hits breakpoint
2206         in the main resource inline script.
2207
2208         Reviewed by Pavel Feldman.
2209
2210         Test: inspector/debugger/pause-in-inline-script.html
2211
2212         * bindings/js/ScriptDebugServer.h:
2213         (WebCore::ScriptDebugServer::isPaused):
2214         (ScriptDebugServer):
2215         * bindings/v8/ScriptDebugServer.h:
2216         (ScriptDebugServer):
2217         * inspector/InspectorDebuggerAgent.cpp:
2218         (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
2219         (WebCore):
2220         (WebCore::InspectorDebuggerAgent::isPaused):
2221         * inspector/InspectorDebuggerAgent.h:
2222         (InspectorDebuggerAgent):
2223         * inspector/InspectorInstrumentation.cpp:
2224         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
2225         (WebCore):
2226         * inspector/InspectorInstrumentation.h:
2227         (InspectorInstrumentation):
2228         (WebCore::InspectorInstrumentation::isDebuggerPaused):
2229         (WebCore):
2230         * loader/MainResourceLoader.cpp:
2231         (WebCore::MainResourceLoader::didFinishLoading):
2232
2233 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2234
2235         Fix typo
2236         https://bugs.webkit.org/show_bug.cgi?id=77708
2237
2238         Reviewed by Adam Roben.
2239
2240         This patch fixes typos: [ObjCLegacyUnamedParameters] => [ObjCLegacyUnnamedParameters]
2241
2242         No tests. No change in behavior.
2243
2244         * css/CSSMediaRule.idl:
2245         * css/CSSPrimitiveValue.idl:
2246         * css/CSSStyleDeclaration.idl:
2247         * css/CSSStyleSheet.idl:
2248         * dom/CharacterData.idl:
2249         * dom/DOMImplementation.idl:
2250         * dom/Document.idl:
2251         * dom/Element.idl:
2252         * dom/Event.idl:
2253         * dom/EventTarget.idl:
2254         * dom/MouseEvent.idl:
2255         * dom/MutationEvent.idl:
2256         * dom/NamedNodeMap.idl:
2257         * dom/Node.idl:
2258         * dom/Range.idl:
2259         * dom/UIEvent.idl:
2260         * html/HTMLSelectElement.idl:
2261         * xml/XPathExpression.idl:
2262
2263 2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2264
2265         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
2266         https://bugs.webkit.org/show_bug.cgi?id=77148
2267
2268         Reviewed by Martin Robinson.
2269
2270         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
2271         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
2272         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
2273         sort.
2274
2275         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
2276         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
2277         as converting data to/from Image references in Qt generates unnecessary deep copies of the
2278         image data.
2279
2280         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
2281         3D transforms in cross platform code.
2282         After this patch everything renders the same. An additional bug report was created to allow
2283         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
2284
2285         Covered extensively by existing tests, no behavioral changes.
2286
2287         * Target.pri:
2288         * platform/graphics/GraphicsContext.cpp:
2289         * platform/graphics/GraphicsContext.h:
2290         (WebCore):
2291         (GraphicsContext):
2292         * platform/graphics/cairo/TextureMapperCairo.cpp:
2293         * platform/graphics/opengl/TextureMapperGL.cpp:
2294         (TextureMapperGLData):
2295         (BitmapTextureGL):
2296         (WebCore::BitmapTextureGL::BitmapTextureGL):
2297         (WebCore::TextureMapperGL::beginPainting):
2298         (WebCore::BitmapTextureGL::reset):
2299         (WebCore):
2300         (WebCore::swizzleBGRAToRGBA):
2301         (WebCore::BitmapTextureGL::updateContents):
2302         (WebCore::BitmapTextureGL::destroy):
2303         (WebCore::TextureMapperGL::bindSurface):
2304         (WebCore::TextureMapper::platformCreateAccelerated):
2305         * platform/graphics/opengl/TextureMapperGL.h:
2306         (TextureMapperGL):
2307         (WebCore::TextureMapperGL::accelerationMode):
2308         (WebCore):
2309         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2310         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2311         * platform/graphics/qt/GraphicsContextQt.cpp:
2312         (WebCore):
2313         (WebCore::GraphicsContext::get3DTransform):
2314         (WebCore::GraphicsContext::concat3DTransform):
2315         (WebCore::GraphicsContext::set3DTransform):
2316         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
2317         * platform/graphics/qt/TextureMapperQt.h: Removed.
2318         * platform/graphics/texmap/TextureMapper.cpp:
2319         (WebCore):
2320         (BitmapTextureImageBuffer):
2321         (TextureMapperImageBuffer):
2322         * platform/graphics/texmap/TextureMapper.h:
2323         (WebCore::BitmapTexture::BitmapTexture):
2324         (BitmapTexture):
2325         (WebCore::BitmapTexture::bpp):
2326         (WebCore::BitmapTexture::isOpaque):
2327         (WebCore::TextureMapper::setGraphicsContext):
2328         (WebCore::TextureMapper::graphicsContext):
2329         (TextureMapper):
2330         (WebCore::TextureMapper::TextureMapper):
2331         (WebCore::TextureMapper::platformCreateAccelerated):
2332         * platform/graphics/texmap/TextureMapperNode.cpp:
2333         (WebCore::TextureMapperNode::renderContent):
2334         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
2335         * platform/graphics/texmap/TextureMapperNode.h:
2336         (TextureMapperNode):
2337
2338 2012-01-27  Yury Semikhatsky  <yurys@chromium.org>
2339
2340         Web Inspector: console evaluation doesn't work on breakpoint in pages with CSP
2341         https://bugs.webkit.org/show_bug.cgi?id=77203
2342
2343         Inspector console evaluation now works when debugger is paused in a page with
2344         content-security-policy prohibiting evals.
2345
2346         Reviewed by Pavel Feldman.
2347
2348         Test: inspector/debugger/eval-on-pause-blocked.html
2349
2350         * bindings/js/JSInjectedScriptHostCustom.cpp:
2351         * bindings/js/ScriptState.cpp:
2352         (WebCore::evalEnabled):
2353         (WebCore):
2354         (WebCore::setEvalEnabled):
2355         * bindings/js/ScriptState.h:
2356         (WebCore):
2357         * bindings/v8/ScriptObject.h:
2358         (WebCore::ScriptObject::ScriptObject):
2359         * bindings/v8/ScriptState.cpp:
2360         (WebCore::evalEnabled):
2361         (WebCore):
2362         (WebCore::setEvalEnabled):
2363         * bindings/v8/ScriptState.h:
2364         (WebCore):
2365         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2366         * inspector/InjectedScript.cpp:
2367         (WebCore::InjectedScript::makeCall):
2368         * inspector/InjectedScriptHost.idl:
2369         * inspector/InjectedScriptSource.js:
2370         (.):
2371
2372 2012-02-03  Rob Buis  <rbuis@rim.com>
2373
2374         Upstream targetType usage on ResourceRequest for BlackBerry port
2375         https://bugs.webkit.org/show_bug.cgi?id=77649
2376
2377         Reviewed by Antonio Gomes.
2378
2379         Upstream bits that make use of targetType enum.
2380
2381         * loader/PingLoader.cpp:
2382         (WebCore::PingLoader::loadImage):
2383         (WebCore::PingLoader::sendPing):
2384         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
2385         * platform/network/blackberry/ResourceRequest.h:
2386         (ResourceRequest):
2387         (WebCore::ResourceRequest::targetType):
2388         (WebCore::ResourceRequest::setTargetType):
2389         * xml/XMLHttpRequest.cpp:
2390         (WebCore::XMLHttpRequest::createRequest):
2391
2392 2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2393
2394         Ensure timers and other active DOM objects do not fire in suspended documents.
2395         https://bugs.webkit.org/show_bug.cgi?id=53733
2396
2397         ScriptExecutionContext now remembers it has suspended active DOM objects
2398         and suspends all newly installed active DOM objects as well.
2399
2400         All create-calls active DOM objects now calls the post constructor method
2401         suspendIfNeeded that updates the suspend state. It is post constructor
2402         because the suspend/resume functions are virtual and thus can not be called
2403         from constructors.
2404
2405         Reviewed by Mihai Parparita.
2406
2407         Test: fast/events/suspend-timers.html
2408
2409         * Modules/intents/IntentRequest.cpp:
2410         (WebCore::IntentRequest::create):
2411         * bindings/generic/ActiveDOMCallback.cpp:
2412         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2413         * dom/ActiveDOMObject.cpp:
2414         (WebCore::ActiveDOMObject::ActiveDOMObject):
2415         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2416         (WebCore::ActiveDOMObject::suspendIfNeeded):
2417         * dom/ActiveDOMObject.h:
2418         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
2419         * dom/DocumentEventQueue.cpp:
2420         (WebCore::DocumentEventQueue::DocumentEventQueue):
2421         * dom/ScriptExecutionContext.cpp:
2422         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2423         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2424         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2425         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2426         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2427         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2428         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
2429         * dom/ScriptExecutionContext.h:
2430         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
2431         * fileapi/DOMFileSystem.cpp:
2432         (WebCore::DOMFileSystem::create):
2433         * fileapi/FileReader.cpp:
2434         (WebCore::FileReader::create):
2435         * fileapi/FileReader.h:
2436         * fileapi/FileWriter.cpp:
2437         (WebCore::FileWriter::create):
2438         * fileapi/FileWriter.h:
2439         * history/CachedFrame.cpp:
2440         (WebCore::CachedFrame::CachedFrame):
2441         * html/HTMLAudioElement.cpp:
2442         (WebCore::HTMLAudioElement::create):
2443         * html/HTMLMarqueeElement.cpp:
2444         (WebCore::HTMLMarqueeElement::create):
2445         * html/HTMLVideoElement.cpp:
2446         (WebCore::HTMLVideoElement::create):
2447         * mediastream/PeerConnection.cpp:
2448         (WebCore::PeerConnection::create):
2449         * notifications/Notification.cpp:
2450         (WebCore::Notification::create):
2451         * notifications/NotificationCenter.cpp:
2452         (WebCore::NotificationCenter::create):
2453         * notifications/NotificationCenter.h:
2454         * page/DOMTimer.cpp:
2455         (WebCore::DOMTimer::install):
2456         (WebCore::DOMTimer::fired):
2457         * page/EventSource.cpp:
2458         (WebCore::EventSource::create):
2459         * page/SuspendableTimer.cpp:
2460         (WebCore::SuspendableTimer::SuspendableTimer):
2461         * storage/IDBDatabase.cpp:
2462         (WebCore::IDBDatabase::create):
2463         * storage/IDBRequest.cpp:
2464         (WebCore::IDBRequest::create):
2465         * storage/IDBTransaction.cpp:
2466         (WebCore::IDBTransaction::create):
2467         * webaudio/AudioContext.cpp:
2468         (WebCore::AudioContext::create):
2469         * websockets/WebSocket.cpp:
2470         (WebCore::WebSocket::create):
2471         * websockets/WebSocket.h:
2472         * workers/SharedWorker.cpp:
2473         (WebCore::SharedWorker::create):
2474         * workers/Worker.cpp:
2475         (WebCore::Worker::create):
2476         * xml/XMLHttpRequest.cpp:
2477         (WebCore::XMLHttpRequest::create):
2478
2479 2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2480
2481         Do not ASSERT on TouchStationary TouchPoint state.
2482         https://bugs.webkit.org/show_bug.cgi?id=77620
2483
2484         Reviewed by Kenneth Rohde Christiansen.
2485
2486         * page/EventHandler.cpp:
2487         (WebCore::eventNameForTouchPointState): Explicitly show that TouchStationary is asserted.
2488         (WebCore::EventHandler::handleTouchEvent):
2489             Remove TouchStationary from ASSERT. The value of HitTestRequest is restored to the
2490             value it should have if hittested, but is not used.
2491
2492 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2493
2494         Add the "ObjC" prefix to ObjC specific IDL attributes
2495         https://bugs.webkit.org/show_bug.cgi?id=77708
2496
2497         Reviewed by Adam Barth.
2498
2499         This patch adds the "ObjC" prefix to ObjC specific IDL attributes, as follows:
2500
2501             [Polymorphic] => [ObjCPolymorphic]
2502             [OldStyleObjC] => [ObjCLegacyUnamedParameters]
2503             [UsesView] => [ObjCUseDefaultView] (Note: Renamed for clarification)
2504
2505         No tests. No changes in behavior.
2506
2507         * bindings/scripts/CodeGeneratorObjC.pm:
2508         (GenerateHeader):
2509         (GenerateImplementation):
2510         * css/CSSMediaRule.idl:
2511         * css/CSSPrimitiveValue.idl:
2512         * css/CSSRule.idl:
2513         * css/CSSStyleDeclaration.idl:
2514         * css/CSSStyleSheet.idl:
2515         * css/CSSValue.idl:
2516         * css/StyleSheet.idl:
2517         * dom/CharacterData.idl:
2518         * dom/DOMImplementation.idl:
2519         * dom/Document.idl:
2520         * dom/Element.idl:
2521         * dom/Event.idl:
2522         * dom/EventTarget.idl:
2523         * dom/MouseEvent.idl:
2524         * dom/MutationEvent.idl:
2525         * dom/NamedNodeMap.idl:
2526         * dom/Node.idl:
2527         * dom/Range.idl:
2528         * dom/UIEvent.idl:
2529         * html/HTMLCollection.idl:
2530         * html/HTMLSelectElement.idl:
2531         * svg/SVGPathSeg.idl:
2532         * xml/XPathExpression.idl:
2533
2534 2012-02-03  MORITA Hajime  <morrita@google.com>
2535
2536         TypingCommand should be prepared against detached document.
2537         https://bugs.webkit.org/show_bug.cgi?id=77216
2538
2539         Reviewed by Ryosuke Niwa.
2540
2541         Added null checks for document()->frame().
2542
2543         No new tests. Just tighten guards for possible codepaths.
2544
2545         * editing/TypingCommand.cpp:
2546         (WebCore::TypingCommand::markMisspellingsAfterTyping):
2547         (WebCore::TypingCommand::typingAddedToOpenCommand):
2548         (WebCore::TypingCommand::deleteKeyPressed):
2549         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2550
2551 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2552
2553         Rename [DontEnum] IDL to [NotEnumerable] IDL
2554         https://bugs.webkit.org/show_bug.cgi?id=77710
2555
2556         Reviewed by Adam Barth.
2557
2558         [DontEnum] is a negation of [[Enumerable]] in the ECMAScript spec
2559         (8.6.1 of http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).
2560         This patch renames [DontEnum] to [NotEnumerable].
2561
2562         No tests. No change in behavior.
2563
2564         * bindings/scripts/CodeGeneratorJS.pm:
2565         (GenerateAttributesHashTable):
2566         (GenerateImplementation):
2567         * bindings/scripts/CodeGeneratorV8.pm:
2568         (GenerateSingleBatchedAttribute):
2569         (GenerateImplementation):
2570
2571         * css/WebKitCSSMatrix.idl:
2572         * dom/DOMCoreException.idl:
2573         * dom/Document.idl:
2574         * dom/Element.idl:
2575         * dom/EventException.idl:
2576         * dom/RangeException.idl:
2577         * fileapi/FileException.idl:
2578         * fileapi/OperationNotAllowedException.idl:
2579         * html/DOMTokenList.idl:
2580         * html/HTMLAnchorElement.idl:
2581         * html/HTMLBodyElement.idl:
2582         * html/HTMLFrameSetElement.idl:
2583         * html/HTMLInputElement.idl:
2584         * page/DOMSelection.idl:
2585         * page/DOMWindow.idl:
2586         * page/Location.idl:
2587         * storage/IDBDatabaseException.idl:
2588         * storage/Storage.idl:
2589         * svg/SVGElementInstance.idl:
2590         * svg/SVGException.idl:
2591         * workers/WorkerLocation.idl:
2592         * xml/XMLHttpRequestException.idl:
2593         * xml/XPathException.idl:
2594
2595 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2596
2597         Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
2598         https://bugs.webkit.org/show_bug.cgi?id=77711
2599
2600         Reviewed by Adam Barth.
2601
2602         [InitializedByConstructor] can be used only when [ConstructorTemplate=Event]
2603         is specified on the interface. This patch renames [InitializedByConstructor] to
2604         [InitializedByEventConstructor] for clarification.
2605
2606         No tests. No change in behavior.
2607
2608         * bindings/scripts/CodeGeneratorJS.pm:
2609         (GenerateConstructorDefinition):
2610         * bindings/scripts/CodeGeneratorV8.pm:
2611         (GenerateEventConstructorCallback):
2612
2613         * bindings/scripts/test/TestEventConstructor.idl:
2614         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated the run-bindings-tests results.
2615         (WebCore):
2616
2617         * dom/BeforeLoadEvent.idl:
2618         * dom/CustomEvent.idl:
2619         * dom/ErrorEvent.idl:
2620         * dom/Event.idl:
2621         * dom/HashChangeEvent.idl:
2622         * dom/MessageEvent.idl:
2623         * dom/OverflowEvent.idl:
2624         * dom/PageTransitionEvent.idl:
2625         * dom/PopStateEvent.idl:
2626         * dom/ProgressEvent.idl:
2627         * dom/WebKitAnimationEvent.idl:
2628         * dom/WebKitTransitionEvent.idl:
2629         * html/canvas/WebGLContextEvent.idl:
2630         * html/track/TrackEvent.idl:
2631         * storage/StorageEvent.idl:
2632         * websockets/CloseEvent.idl:
2633
2634 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2635
2636         Add the "CPP" prefix to CPP specific IDL attributes
2637         https://bugs.webkit.org/show_bug.cgi?id=77707
2638
2639         Reviewed by Adam Barth.
2640
2641         This patch adds the "CPP" prefix to a CPP specific IDL attribute.
2642         Specifically, this patch renames [PureInterface] to [CPPPureInterface]
2643
2644         No tests. No change in behavior.
2645
2646         * bindings/scripts/CodeGeneratorCPP.pm:
2647         (GenerateHeader):
2648         (GenerateImplementation):
2649         * css/MediaQueryListListener.idl:
2650         * dom/EventListener.idl:
2651         * dom/EventTarget.idl:
2652         * dom/NodeFilter.idl:
2653
2654 2012-01-27  Alexander Pavlov  <apavlov@chromium.org>
2655
2656         Implement touch event emulation in the WebCore layer
2657         https://bugs.webkit.org/show_bug.cgi?id=77105
2658
2659         Reviewed by Ryosuke Niwa.
2660
2661         This change essentially maps mouse events into single-touch events in the following way:
2662         - mousedown -> touchstart
2663         - mouseup -> touchend
2664         - mousemove -> touchmove (between mousedown and mouseup).
2665
2666         Test: fast/events/touch/emulate-touch-events.html
2667
2668         * page/EventHandler.cpp:
2669         (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
2670         (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
2671         (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
2672         (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
2673         (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
2674         (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
2675         (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
2676         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
2677         * page/EventHandler.h: Added new method.
2678         * page/Settings.cpp:
2679         (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
2680         * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
2681         (WebCore::Settings::setTouchEventEmulationEnabled): Added.
2682         (WebCore::Settings::isTouchEventEmulationEnabled): Added.
2683         * platform/PlatformTouchPoint.h:
2684         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
2685         * testing/InternalSettings.cpp:
2686         (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
2687         * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
2688         * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.
2689
2690 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2691
2692         Remove [NoCPPCustom] IDL
2693         https://bugs.webkit.org/show_bug.cgi?id=77704
2694
2695         Reviewed by Adam Barth.
2696
2697         This patch removes [NoCPPCustom], by replacing [Custom, NoCPPCustom]
2698         in HTMLDocument.idl with [JSCCustom, V8Custom].
2699
2700         No tests. No change in behavior.
2701
2702         * bindings/scripts/CodeGeneratorCPP.pm:
2703         (ShouldSkipType):
2704         * html/HTMLDocument.idl:
2705
2706 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2707
2708         Remove [LegacyParent] from CodeGeneratorGObject.pm, and rename it to [JSLegacyParent]
2709         https://bugs.webkit.org/show_bug.cgi?id=77706
2710
2711         Reviewed by Adam Barth.
2712
2713         This patch removes dead code about [LegacyParent] from CodeGeneratorGObject.pm,
2714         and renames [LegacyParent] to [JSLegacyParent].
2715
2716         No tests. No changes in behavior.
2717
2718         * bindings/scripts/CodeGeneratorGObject.pm:
2719         (Generate):
2720         * bindings/scripts/CodeGeneratorJS.pm:
2721         (GetParentClassName):
2722         (GenerateHeader):
2723         (GenerateImplementation):
2724         * page/DOMWindow.idl:
2725         * workers/WorkerContext.idl:
2726
2727 2012-02-03  Pavel Feldman  <pfeldman@google.com>
2728
2729         Web Inspector: preserve elements panel selection upon node drag'n'drop
2730         https://bugs.webkit.org/show_bug.cgi?id=77722
2731
2732         Reviewed by Vsevolod Vlasov.
2733
2734         Test: inspector/elements/move-node.html
2735
2736         * inspector/front-end/DOMAgent.js:
2737         (WebInspector.DOMAgent.prototype._markRevision):
2738         * inspector/front-end/ElementsTreeOutline.js:
2739         (WebInspector.ElementsTreeOutline.prototype._ondrop):
2740         (WebInspector.ElementsTreeOutline.prototype._doMove.callback):
2741         (WebInspector.ElementsTreeOutline.prototype._doMove):
2742
2743 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
2744
2745        Reimplement DETAILS and SUMMARY using selector query.
2746         https://bugs.webkit.org/show_bug.cgi?id=75930
2747
2748         Reviewed by Hajime Morita.
2749
2750         DETAILS is reimplemented using content element and its fallback feature.
2751         We don't need to recreate DOM even if SUMMARY is removed from or added into DETAILS.
2752
2753         No new tests, should be covered by existing tests.
2754
2755         * html/HTMLDetailsElement.cpp:
2756         (WebCore::DetailsSummaryElement::fallbackSummary):
2757           Takes fallback element of content summary.
2758         (DetailsSummaryElement):
2759         (WebCore::DetailsSummaryElement::create):
2760           Creates a fallback element also.
2761         (WebCore):
2762         (WebCore::HTMLDetailsElement::create):
2763         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
2764         (WebCore::HTMLDetailsElement::createShadowSubtree):
2765         (WebCore::HTMLDetailsElement::findMainSummary):
2766         (WebCore::HTMLDetailsElement::parseMappedAttribute):
2767         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
2768         (WebCore::HTMLDetailsElement::toggleOpen):
2769         * html/HTMLDetailsElement.h:
2770         (HTMLDetailsElement):
2771         * html/HTMLSummaryElement.cpp:
2772         (WebCore::HTMLSummaryElement::isMainSummary):
2773
2774 2012-02-03  Jochen Eisinger  <jochen@chromium.org>
2775
2776         Crash when trying to add a timer to a detached document.
2777         https://bugs.webkit.org/show_bug.cgi?id=77692
2778
2779         Reviewed by Alexey Proskuryakov.
2780
2781         In http://webkit.org/b/77370, a timer is fired on a detached document.
2782         Since a document clears all timers when it is detached, and it
2783         shouldn't be possible to add a timer to a detached document, we crash
2784         if this should happen anyway. This will hopefully result in an easier
2785         to debug crash dump.
2786
2787         * page/DOMTimer.cpp:
2788         (WebCore::DOMTimer::DOMTimer):
2789
2790 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
2791
2792         Stop calling Element::ensureShadowRoot in Internals.
2793         https://bugs.webkit.org/show_bug.cgi?id=77612
2794
2795         Reviewed by Hajime Morita.
2796
2797         We want to check a shadow root is built-in or created by users to support multiple shadow subtrees.
2798         But Element::ensureShadowRoot() makes it difficult, because it doesn't care about the returning shadow element
2799         is built-in or user generated, so let's remove Element::ensureShadowRoot().
2800
2801         As a first step, this patch removes ensureShadowRoot() in Internals.
2802
2803         No new tests, because no changes in behavior.
2804
2805         * WebCore.exp.in:
2806         * testing/Internals.cpp:
2807         (WebCore::Internals::ensureShadowRoot):
2808
2809 2012-02-02  Alexei Filippov  <alexeif@chromium.org>
2810
2811         Web Inspector: Always show percents together with counters in heap inspector.
2812         https://bugs.webkit.org/show_bug.cgi?id=77434
2813
2814         Reviewed by Pavel Feldman.
2815
2816         * inspector/front-end/DetailedHeapshotGridNodes.js:
2817         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
2818         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
2819         (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
2820         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2821         (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
2822         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2823         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
2824         * inspector/front-end/DetailedHeapshotView.js:
2825         (WebInspector.HeapSnapshotContainmentDataGrid):
2826         (WebInspector.HeapSnapshotConstructorsDataGrid):
2827         (WebInspector.HeapSnapshotDiffDataGrid):
2828         (WebInspector.HeapSnapshotDominatorsDataGrid):
2829         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
2830         (WebInspector.DetailedHeapshotView.prototype.get _isShowingAsPercent):
2831         (WebInspector.DetailedHeapshotView.prototype._percentClicked):
2832         * inspector/front-end/heapProfiler.css:
2833         (.detailed-heapshot-view .data-grid span.percent-column):
2834
2835 2012-02-02  Matt Falkenhagen  <falken@chromium.org>
2836
2837         Use content-language from http-equiv to set document locale and font
2838         https://bugs.webkit.org/show_bug.cgi?id=76701
2839
2840         Reviewed by Darin Adler.
2841
2842         So far, only content-language set through http-equiv is used; the HTTP Content-Language
2843         header is not yet supported.
2844
2845         Tests: fast/text/content-language-case-insensitivity.html
2846                fast/text/content-language-mapped-to-webkit-locale.html
2847                fast/text/international/content-language-font-selection-expected.html
2848                fast/text/international/content-language-font-selection.html
2849                fast/text/international/content-language-with-subtags-expected.html
2850                fast/text/international/content-language-with-subtags.html
2851
2852         * css/CSSStyleSelector.cpp:
2853         (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font.
2854         * dom/Document.cpp:
2855         (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account.
2856         (WebCore):
2857         * dom/Document.h:
2858         (Document):
2859
2860 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2861
2862         Unreviewed, rolling out r106620.
2863         http://trac.webkit.org/changeset/106620
2864         https://bugs.webkit.org/show_bug.cgi?id=77716
2865
2866         It broke non ENABLE(3D_RENDERING) builds (Requested by
2867         Ossy_morning on #webkit).
2868
2869         * GNUmakefile.list.am:
2870         * Target.pri:
2871         * WebCore.gypi:
2872         * platform/graphics/GraphicsContext.h:
2873         (WebCore):
2874         (GraphicsContext):
2875         * platform/graphics/cairo/TextureMapperCairo.cpp:
2876         (WebCore::TextureMapper::create):
2877         (WebCore):
2878         * platform/graphics/opengl/TextureMapperGL.cpp:
2879         (Entry):
2880         (DirectlyCompositedImageRepository):
2881         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
2882         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
2883         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
2884         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
2885         (TextureMapperGLData):
2886         (BitmapTextureGL):
2887         (WebCore::BitmapTextureGL::isOpaque):
2888         (WebCore::BitmapTextureGL::pack):
2889         (WebCore::BitmapTextureGL::unpack):
2890         (WebCore::BitmapTextureGL::isPacked):
2891         (WebCore::BitmapTextureGL::BitmapTextureGL):
2892         (WebCore::TextureMapperGL::beginPainting):
2893         (WebCore::BitmapTextureGL::reset):
2894         (WebCore::BitmapTextureGL::beginPaint):
2895         (WebCore::BitmapTextureGL::endPaint):
2896         (WebCore):
2897         (WebCore::BitmapTextureGL::updateContents):
2898         (WebCore::BitmapTextureGL::updateRawContents):
2899         (WebCore::BitmapTextureGL::setContentsToImage):
2900         (WebCore::BitmapTextureGL::destroy):
2901         (WebCore::TextureMapperGL::bindSurface):
2902         * platform/graphics/opengl/TextureMapperGL.h:
2903         (TextureMapperGL):
2904         (WebCore::TextureMapperGL::allowSurfaceForRoot):
2905         (BGRA32PremultimpliedBuffer):
2906         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
2907         (WebCore):
2908         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2909         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2910         * platform/graphics/qt/GraphicsContextQt.cpp:
2911         * platform/graphics/qt/TextureMapperQt.cpp: Added.
2912         (WebCore):
2913         (WebCore::BitmapTextureQt::destroy):
2914         (WebCore::BitmapTextureQt::reset):
2915         (WebCore::BitmapTextureQt::beginPaint):
2916         (WebCore::BitmapTextureQt::endPaint):
2917         (WebCore::BitmapTextureQt::updateContents):
2918         (WebCore::BitmapTextureQt::save):
2919         (WebCore::BitmapTextureQt::setContentsToImage):
2920         (WebCore::BitmapTextureQt::pack):
2921         (WebCore::BitmapTextureQt::unpack):
2922         (WebCore::TextureMapperQt::beginClip):
2923         (WebCore::TextureMapperQt::endClip):
2924         (WebCore::TextureMapperQt::viewportSize):
2925         (WebCore::TextureMapperQt::TextureMapperQt):
2926         (WebCore::TextureMapperQt::setGraphicsContext):
2927         (WebCore::TextureMapperQt::graphicsContext):
2928         (WebCore::TextureMapperQt::bindSurface):
2929         (WebCore::TextureMapperQt::drawTexture):
2930         (WebCore::TextureMapper::create):
2931         (WebCore::TextureMapperQt::createTexture):
2932         (WebCore::BitmapTextureQt::BitmapTextureQt):
2933         (WebCore::TextureMapperQt::beginPainting):
2934         (WebCore::TextureMapperQt::endPainting):
2935         (BGRA32PremultimpliedBufferQt):
2936         (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
2937         (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
2938         (WebCore::BGRA32PremultimpliedBufferQt::data):
2939         (WebCore::BGRA32PremultimpliedBuffer::create):
2940         (WebCore::uidForImage):
2941         * platform/graphics/qt/TextureMapperQt.h: Added.
2942         (WebCore):
2943         (BitmapTextureQt):
2944         (WebCore::BitmapTextureQt::~BitmapTextureQt):
2945         (WebCore::BitmapTextureQt::size):
2946         (WebCore::BitmapTextureQt::isValid):
2947         (WebCore::BitmapTextureQt::sourceRect):
2948         (WebCore::BitmapTextureQt::isPacked):
2949         (WebCore::BitmapTextureQt::painter):
2950         (TextureMapperQt):
2951         (WebCore::TextureMapperQt::allowSurfaceForRoot):
2952         (WebCore::TextureMapperQt::initialize):
2953         (WebCore::TextureMapperQt::create):
2954         (WebCore::TextureMapperQt::currentPainter):
2955         * platform/graphics/texmap/TextureMapper.cpp:
2956         * platform/graphics/texmap/TextureMapper.h:
2957         (WebCore::BitmapTexture::BitmapTexture):
2958         (WebCore::BitmapTexture::allowOfflineTextureUpload):
2959         (BitmapTexture):
2960         (WebCore::BitmapTexture::pack):
2961         (WebCore::BitmapTexture::unpack):
2962         (WebCore::BitmapTexture::isPacked):
2963         (WebCore::BitmapTexture::updateRawContents):
2964         (WebCore::BitmapTexture::beginPaintMedia):
2965         (WebCore::BitmapTexture::save):
2966         (WebCore::BitmapTexture::lock):
2967         (WebCore::BitmapTexture::unlock):
2968         (WebCore::BitmapTexture::isLocked):
2969         (TextureMapper):
2970         (WebCore::TextureMapper::viewportSize):
2971         (WebCore::TextureMapper::setViewportSize):
2972         (WebCore::TextureMapper::allowPartialUpdates):
2973         (WebCore::TextureMapper::isOpenGLBacked):
2974         (WebCore::TextureMapper::setTransform):
2975         (WebCore::TextureMapper::transform):
2976         * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
2977         * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
2978         * platform/graphics/texmap/TextureMapperNode.cpp:
2979         (WebCore::TextureMapperNode::renderContent):
2980         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
2981         * platform/graphics/texmap/TextureMapperNode.h:
2982         (TextureMapperNode):
2983
2984 2012-02-02  Keishi Hattori  <keishi@webkit.org>
2985
2986         ColorInputType needs to use ensureInlineStyleDecl
2987         https://bugs.webkit.org/show_bug.cgi?id=77699
2988
2989         Reviewed by Kent Tamura.
2990
2991         Because WebCore internally should use the more specific CSSMutableStyleDeclaration
2992         http://trac.webkit.org/changeset/105739
2993
2994         * html/ColorInputType.cpp:
2995         (WebCore::ColorInputType::updateColorSwatch):
2996
2997 2012-02-02  Roland Steiner  <rolandsteiner@chromium.org>
2998
2999         Simplify SelectorChecker::checkSelector and checkOneSelector
3000         https://bugs.webkit.org/show_bug.cgi?id=77697
3001
3002         Make use of Element::previous/nextElementSibling.
3003         Made those methods inline.
3004         Simplify code in checkSelector and checkOneSelector, esp. for first/nth/nth-last/last/only-child implementations.
3005
3006         Reviewed by Andreas Kling.
3007
3008         No new tests. (refactoring)
3009
3010         * css/SelectorChecker.cpp:
3011         (WebCore::SelectorChecker::checkSelector):
3012         (WebCore::SelectorChecker::checkOneSelector):
3013         * dom/Element.cpp:
3014         * dom/Element.h:
3015         (WebCore::Element::previousElementSibling):
3016         (WebCore):
3017         (WebCore::Element::nextElementSibling):
3018
3019 2012-02-02  Keishi Hattori  <keishi@webkit.org>
3020
3021         ColorChooserClient is missing a virtual destructor
3022         https://bugs.webkit.org/show_bug.cgi?id=77698
3023
3024         Reviewed by Kent Tamura.
3025
3026         * platform/ColorChooserClient.h:
3027         (WebCore::ColorChooserClient::~ColorChooserClient): Added.
3028
3029 2012-02-02  Keishi Hattori  <keishi@webkit.org>
3030
3031         Remove OVERRIDE from ColorInputType::valueAsColor
3032         https://bugs.webkit.org/show_bug.cgi?id=77701
3033
3034         Reviewed by Kent Tamura.
3035
3036         * html/ColorInputType.h:
3037         (WebCore::ColorInputType::valueAsColor):
3038
3039 2012-02-02  Bear Travis  <betravis@adobe.com>
3040
3041         Support 'disabled' attribute on SVGStyleElement
3042         https://bugs.webkit.org/show_bug.cgi?id=52130
3043
3044         Adding disabled property to SVGStyleElement, which
3045         mirrors the functionality added to HTMLStyleElement
3046         for DOM1. The disabled property reflects and sets
3047         the disabled state of its style sheet.
3048
3049         Based off of patch for bug 25287
3050
3051         Reviewed by Dirk Schulze.
3052
3053         Test: svg/dom/SVGStyleElement/disable-svg-style-element.html
3054
3055         * svg/SVGStyleElement.cpp:
3056         (WebCore::SVGStyleElement::disabled):
3057         (WebCore):
3058         (WebCore::SVGStyleElement::setDisabled):
3059         * svg/SVGStyleElement.h:
3060         (SVGStyleElement):
3061         * svg/SVGStyleElement.idl:
3062
3063 2012-02-02  Hayato Ito  <hayato@chromium.org>
3064
3065         Make ShadowRoot interface inherit DocumentFragment interface in IDL.
3066         https://bugs.webkit.org/show_bug.cgi?id=77511
3067
3068         Reviewed by Kentaro Hara.
3069
3070         This patch contains only the change of IDL to isolate issues.
3071         Other changes, such as tests for querySelector of ShadowRoot, will be added in follow-up patches.
3072
3073         No tests. No change in behavior.
3074
3075         * dom/ShadowRoot.idl:
3076
3077 2012-02-02  Raymond Toy  <rtoy@google.com>
3078
3079         Check parameters to biquad filters
3080         https://bugs.webkit.org/show_bug.cgi?id=71413
3081
3082         Reviewed by Kenneth Russell.
3083
3084         Tests added for each filter type and for the limiting cases for
3085         each filter type.
3086
3087         * platform/audio/Biquad.cpp:
3088         (WebCore::Biquad::setLowpassParams):
3089         (WebCore::Biquad::setHighpassParams):
3090         (WebCore::Biquad::setLowShelfParams):
3091         (WebCore::Biquad::setHighShelfParams):
3092         (WebCore::Biquad::setPeakingParams):
3093         (WebCore::Biquad::setAllpassParams):
3094         (WebCore::Biquad::setNotchParams):
3095         (WebCore::Biquad::setBandpassParams):
3096         Check for invalid parameters and clip them to something sensible.
3097         Also check for the limiting cases and try to use the limiting form
3098         of the z-transform for the biquad.  Some issues cannot be
3099         consistently handled because the z-transform is not continuous as
3100         the parameters approach the limit.
3101
3102 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
3103
3104         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
3105         https://bugs.webkit.org/show_bug.cgi?id=77148
3106
3107         Reviewed by Martin Robinson.
3108
3109         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
3110         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
3111         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
3112         sort.
3113
3114         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
3115         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
3116         as converting data to/from Image references in Qt generates unnecessary deep copies of the
3117         image data.
3118
3119         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
3120         3D transforms in cross platform code.
3121         After this patch everything renders the same. An additional bug report was created to allow
3122         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
3123
3124         Covered extensively by existing tests, no behavioral changes.
3125
3126         * Target.pri:
3127         * platform/graphics/GraphicsContext.cpp:
3128         * platform/graphics/GraphicsContext.h:
3129         (WebCore):
3130         (GraphicsContext):
3131         * platform/graphics/cairo/TextureMapperCairo.cpp:
3132         * platform/graphics/opengl/TextureMapperGL.cpp:
3133         (TextureMapperGLData):
3134         (BitmapTextureGL):
3135         (WebCore::BitmapTextureGL::BitmapTextureGL):
3136         (WebCore::TextureMapperGL::beginPainting):
3137         (WebCore::BitmapTextureGL::reset):
3138         (WebCore):
3139         (WebCore::swizzleBGRAToRGBA):
3140         (WebCore::BitmapTextureGL::updateContents):
3141         (WebCore::BitmapTextureGL::destroy):
3142         (WebCore::TextureMapperGL::bindSurface):
3143         (WebCore::TextureMapper::platformCreateAccelerated):
3144         * platform/graphics/opengl/TextureMapperGL.h:
3145         (TextureMapperGL):
3146         (WebCore::TextureMapperGL::accelerationMode):
3147         (WebCore):
3148         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3149         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3150         * platform/graphics/qt/GraphicsContextQt.cpp:
3151         (WebCore):
3152         (WebCore::GraphicsContext::get3DTransform):
3153         (WebCore::GraphicsContext::concat3DTransform):
3154         (WebCore::GraphicsContext::set3DTransform):
3155         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
3156         * platform/graphics/qt/TextureMapperQt.h: Removed.
3157         * platform/graphics/texmap/TextureMapper.cpp:
3158         (WebCore):
3159         (BitmapTextureImageBuffer):
3160         (TextureMapperImageBuffer):
3161         * platform/graphics/texmap/TextureMapper.h:
3162         (WebCore::BitmapTexture::BitmapTexture):
3163         (BitmapTexture):
3164         (WebCore::BitmapTexture::bpp):
3165         (WebCore::BitmapTexture::isOpaque):
3166         (WebCore::TextureMapper::setGraphicsContext):
3167         (WebCore::TextureMapper::graphicsContext):
3168         (TextureMapper):
3169         (WebCore::TextureMapper::TextureMapper):
3170         (WebCore::TextureMapper::platformCreateAccelerated):
3171         * platform/graphics/texmap/TextureMapperNode.cpp:
3172         (WebCore::TextureMapperNode::renderContent):
3173         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
3174         * platform/graphics/texmap/TextureMapperNode.h:
3175         (TextureMapperNode):
3176
3177 2012-02-02  Adam Barth  <abarth@webkit.org>
3178
3179         Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
3180         https://bugs.webkit.org/show_bug.cgi?id=75796
3181
3182         Reviewed by Eric Seidel.
3183
3184         As requested by Darin Adler, this patch renames these functions be
3185         clear that we're asking whether the access should be allowed rather
3186         than explicitly allowing the access.
3187
3188         * bindings/generic/BindingSecurity.h:
3189         (BindingSecurity):
3190         (WebCore::::shouldAllowAccessToNode):
3191         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
3192         * bindings/js/JSDOMBinding.cpp:
3193         (WebCore::shouldAllowAccessToNode):
3194         (WebCore::shouldAllowAccessToFrame):
3195         * bindings/js/JSDOMBinding.h:
3196         (WebCore):
3197         * bindings/js/JSHTMLFrameElementCustom.cpp:
3198         (WebCore::allowSettingJavascriptURL):
3199         * bindings/js/JSHistoryCustom.cpp:
3200         (WebCore::JSHistory::getOwnPropertySlotDelegate):
3201         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
3202         (WebCore::JSHistory::putDelegate):
3203         (WebCore::JSHistory::deleteProperty):
3204         (WebCore::JSHistory::getOwnPropertyNames):
3205         * bindings/js/JSLocationCustom.cpp:
3206         (WebCore::JSLocation::getOwnPropertySlotDelegate):
3207         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3208         (WebCore::JSLocation::putDelegate):
3209         (WebCore::JSLocation::deleteProperty):
3210         (WebCore::JSLocation::getOwnPropertyNames):
3211         (WebCore::JSLocation::toStringFunction):
3212         * bindings/js/ScriptController.cpp:
3213         (WebCore::ScriptController::canAccessFromCurrentOrigin):
3214         * bindings/scripts/CodeGeneratorJS.pm:
3215         (GenerateGetOwnPropertyDescriptorBody):
3216         (GenerateImplementation):
3217         * bindings/scripts/CodeGeneratorV8.pm:
3218         (GenerateNormalAttrGetter):
3219         (GenerateFunctionCallback):
3220         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3221         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
3222         * bindings/scripts/test/JS/JSTestObj.cpp:
3223         (WebCore::jsTestObjContentDocument):
3224         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3225         * bindings/scripts/test/V8/V8TestObj.cpp:
3226         (WebCore::TestObjInternal::contentDocumentAttrGetter):
3227         (WebCore::TestObjInternal::getSVGDocumentCallback):
3228
3229 2012-02-02  Kalev Lember  <kalevlember@gmail.com>
3230
3231         [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
3232         https://bugs.webkit.org/show_bug.cgi?id=77679
3233
3234         WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
3235         webcoregtk_sources instead of webcore_sources.
3236
3237         Reviewed by Martin Robinson.
3238
3239         * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.
3240
3241 2012-02-02  Shinya Kawanaka  <shinyak@google.com>
3242
3243         StyleRecalc should occur when shadow root exists and light children are changed.
3244         https://bugs.webkit.org/show_bug.cgi?id=76262
3245
3246         Reviewed by Hajime Morita.
3247
3248         When light children is changed, the element included in HTMLContentElement may also be changed.
3249         So we have to recalculate inclusion of content element again.
3250
3251         Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html
3252
3253         * dom/Element.cpp:
3254         (WebCore::Element::childrenChanged):
3255
3256 2012-02-02  Ami Fischman  <fischman@chromium.org>
3257
3258         Avoid crashing renderer when GPU process dies by not caching textures between video frames.
3259         https://bugs.webkit.org/show_bug.cgi?id=77654
3260
3261         Reviewed by James Robinson.
3262
3263         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3264         (WebCore::CCVideoLayerImpl::draw):
3265
3266 2012-02-02  Anders Carlsson  <andersca@apple.com>
3267
3268         Add ScrollingTree class
3269         https://bugs.webkit.org/show_bug.cgi?id=77695
3270
3271         Reviewed by Andreas Kling.
3272
3273         * WebCore.xcodeproj/project.pbxproj:
3274         Add new files.
3275
3276         * page/scrolling/ScrollingCoordinator.cpp:
3277         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3278         Create a scrolling tree.
3279
3280         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
3281         Assert that the scrolling tree is null.
3282
3283         (WebCore::ScrollingCoordinator::pageDestroyed):
3284         Null out the scrolling tree member variable and tell it to invalidate itself.
3285
3286         * page/scrolling/ScrollingTree.cpp: Added.
3287
3288         (WebCore::ScrollingTree::invalidate):
3289         Null out the scrolling coordinator, breaking the reference cycle between the scrolling
3290         coordinator and the scrolling tree.
3291     
3292         * page/scrolling/ScrollingTree.h: Added.
3293
3294 2012-02-02  Tim Dresser  <tdresser@chromium.org>
3295
3296         Refactor plugin drawing to be more data driven
3297         https://bugs.webkit.org/show_bug.cgi?id=76715
3298
3299         Reviewed by James Robinson.
3300
3301         CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
3302         These quads are then drawn by LayerRendererChromium.
3303
3304         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
3305         This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
3306
3307         This is a refactor, so no new tests were added.
3308         Flash was tested manually on Linux and Mac.
3309
3310         * platform/graphics/chromium/LayerRendererChromium.cpp:
3311         (WebCore::PluginProgramBinding::set):
3312         (PluginProgramBinding):
3313         (WebCore):
3314         (WebCore::TexStretchPluginProgramBinding::set):
3315         (TexStretchPluginProgramBinding):
3316         (WebCore::TexTransformPluginProgramBinding::set):
3317         (TexTransformPluginProgramBinding):
3318         (WebCore::LayerRendererChromium::drawPluginQuad):
3319         * platform/graphics/chromium/cc/CCLayerImpl.h:
3320         (WebCore::CCLayerImpl::willDraw):
3321         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3322         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3323         * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
3324         (WebCore::CCPluginDrawQuad::create):
3325         (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
3326         * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
3327         (CCPluginDrawQuad):
3328         (WebCore::CCPluginDrawQuad::uvRect):
3329         (WebCore::CCPluginDrawQuad::textureId):
3330         (WebCore::CCPluginDrawQuad::flipped):
3331         (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
3332         (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
3333         (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
3334         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3335         (WebCore::CCPluginLayerImpl::willDraw):
3336         (WebCore::CCPluginLayerImpl::appendQuads):
3337         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3338         (CCPluginLayerImpl):
3339
3340 2012-01-29  Pablo Flouret  <pablof@motorola.com>
3341
3342         V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
3343         https://bugs.webkit.org/show_bug.cgi?id=77295
3344
3345         Reviewed by Kentaro Hara.
3346
3347         Only the case of one (and only one) SerializedScriptValue attribute was
3348         handled, and it was deserialized eagerly in the constructor instead of
3349         generating getters/setters. This patch gets rid of that behavior and
3350         generates the getters and setters instead (similar to what the JSC
3351         generator does).
3352         Also handle the case of SSV attributes with [CachedAttribute]
3353         declaration, caching the deserialized value in a hidden attribute on the
3354         object.
3355
3356         * bindings/scripts/CodeGeneratorV8.pm:
3357         (GenerateNormalAttrGetter):
3358         (GenerateNormalAttrSetter):
3359         (GenerateConstructorCallback):
3360         (GenerateNamedConstructorCallback):
3361         (GenerateSingleBatchedAttribute):
3362         (GenerateImplementation):
3363         (GenerateToV8Converters):
3364         (JSValueToNative):
3365         (NativeToJSValue):
3366         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
3367         (WebDOMTestSerializedScriptValueInterface::setValue):
3368         (WebDOMTestSerializedScriptValueInterface::readonlyValue):
3369         (WebDOMTestSerializedScriptValueInterface::cachedValue):
3370         (WebDOMTestSerializedScriptValueInterface::setCachedValue):
3371         (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
3372         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
3373         (WebDOMTestSerializedScriptValueInterface):
3374         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3375         (webkit_dom_test_serialized_script_value_interface_set_value):
3376         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
3377         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
3378         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
3379         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
3380         (webkit_dom_test_serialized_script_value_interface_get_property):
3381         (webkit_dom_test_serialized_script_value_interface_class_init):
3382         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3383         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3384         ():
3385         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
3386         (WebCore):
3387         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
3388         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
3389         (WebCore::JSTestSerializedScriptValueInterface::put):
3390         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3391         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3392         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3393         (JSTestSerializedScriptValueInterface):
3394         (JSTestSerializedScriptValueInterfacePrototype):
3395         (WebCore):
3396         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
3397         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
3398         (-[DOMTestSerializedScriptValueInterface setValue:]):
3399         (-[DOMTestSerializedScriptValueInterface readonlyValue]):
3400         (-[DOMTestSerializedScriptValueInterface cachedValue]):
3401         (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
3402         (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
3403         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
3404         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3405         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
3406         (TestSerializedScriptValueInterfaceInternal):
3407         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
3408         (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
3409         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
3410         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
3411         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
3412         ():
3413         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3414         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3415         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3416
3417 2012-02-02  Adam Barth  <abarth@webkit.org>
3418
3419         BMW Car Configuration Page doesn't work (Only manifests in Chromium)
3420         https://bugs.webkit.org/show_bug.cgi?id=77312
3421
3422         Reviewed by Dimitri Glazkov.
3423
3424         When we autogenerated the event factory, we missed the check for
3425         whether touch events were enabled at runtime:
3426         http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp
3427
3428         This patch adds the check back.
3429
3430         Unfortunately, there isn't a testing frame work for
3431         RuntimeEnabledFeatures.  The main difficulty is that these static bools
3432         need to be set when WebKit is initialized and can't be changed (which
3433         is why they're not part of WebCore::Settings).  To test them properly,
3434         we'd need a testing framework that booted up WebKit for each test.
3435
3436         We could test this particular change (which doesn't need the bool to be
3437         constant through the runtime of WebKit), but that would create a
3438         sandtrap for future patches who might thing that this testing framework
3439         can really be used to test RuntimeEnabledFeatures.
3440
3441         The net result is that Chromium is going to end up living with the
3442         non-default codepath for these settings being untested, which will lead
3443         to regressions like this one.  If we ened up with a bunch of these
3444         regressions, we'll likely end up with a testing framework similar to
3445         Chromium's browsers_tests, which create a fresh subprocess for each
3446         test.
3447
3448         * dom/EventFactory.in:
3449         * dom/make_event_factory.pl:
3450         (defaultItemFactory):
3451         (generateImplementation):
3452
3453 2012-02-02  Justin Novosad  <junov@chromium.org>
3454
3455         [Chromium] Use SkCanvas::flush in skia port
3456         https://bugs.webkit.org/show_bug.cgi?id=77463
3457
3458         Reviewed by Stephen White.
3459
3460         Code cleanup in skia port. Using SkCanvas::flush to remove
3461         unnecessary dependency on GrContext.  Removed unnecessary inclusions
3462         and forward declarations of GrContext in several source files.
3463
3464         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3465         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3466         * platform/graphics/chromium/LayerRendererChromium.cpp:
3467         * platform/graphics/chromium/LayerRendererChromium.h:
3468         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3469         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3470         * platform/graphics/chromium/cc/CCProxy.h:
3471         * platform/graphics/skia/PlatformContextSkia.cpp:
3472
3473 2012-02-02  Chris Marrin  <cmarrin@apple.com>
3474
3475         Turn on CSS Filters on Windows
3476         https://bugs.webkit.org/show_bug.cgi?id=76667
3477
3478         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
3479
3480         Reviewed by Adele Peterson.
3481
3482         * WebCore.vcproj/copyForwardingHeaders.cmd:
3483         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3484         (PlatformCALayer::setFilters):
3485         (PlatformCALayer::filtersCanBeComposited):
3486
3487 2012-02-02  Jon Lee  <jonlee@apple.com>
3488
3489         Clear shown notifications when context is no longer active
3490         https://bugs.webkit.org/show_bug.cgi?id=77363
3491         <rdar://problem/10568907>
3492
3493         Reviewed by Darin Adler.
3494
3495         * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
3496         associated with a given execution context. By default the notifications are left alone, as
3497         before. Individual implementations can override to allow notifications to clear them.
3498
3499         * notifications/NotificationCenter.cpp:
3500         (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
3501         call clearNotifications().
3502         * page/Frame.cpp:
3503         (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.
3504
3505 2012-02-02  Anders Carlsson  <andersca@apple.com>
3506
3507         The overhang area layer should have a linen background
3508         https://bugs.webkit.org/show_bug.cgi?id=77670
3509