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