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