Web Inspector: Embeddable Web Inspector
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-21  Gabriel Peal  <gpeal@google.com>
2
3         Web Inspector: Embeddable Web Inspector
4         https://bugs.webkit.org/show_bug.cgi?id=91528
5
6         Reviewed by Pavel Feldman.
7
8         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
9
10         * English.lproj/localizedStrings.js:
11         * inspector/front-end/InspectorFrontendAPI.js:
12         (InspectorFrontendAPI.dispatchQueryParameters):
13         (InspectorFrontendAPI.loadTimelineFromURL):
14         * inspector/front-end/InspectorFrontendHostStub.js:
15         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
16         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
17         * inspector/front-end/InspectorView.js:
18         * inspector/front-end/TimelineModel.js:
19         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
20         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
21         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
22         (WebInspector.TimelineModel.prototype.loadFromURL):
23         * inspector/front-end/TimelinePanel.js:
24         (WebInspector.TimelinePanel.prototype.loadFromURL):
25         * inspector/front-end/inspector.js:
26         (WebInspector._createPanels):
27         (WebInspector.loaded):
28         * inspector/front-end/utilities.js:
29
30 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
31
32         [BlackBerry] Add support for getUserMedia
33         https://bugs.webkit.org/show_bug.cgi?id=94591
34
35         Reviewed by George Staikos.
36
37         Implement getUserMedia feature using the platform API.
38
39         Tests in fast/mediastream cover this.
40
41         PR #153571
42
43         Reviewed internally by George Staikos.
44
45         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
46         (WebCore::toWebMediaStreamSource):
47         (WebCore):
48         (WebCore::toWebMediaStreamDescriptor):
49         (WebCore::MediaPlayerPrivate::lookupMediaStream):
50         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
51         (MediaPlayerPrivate):
52
53 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
54
55         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
56         https://bugs.webkit.org/show_bug.cgi?id=94592
57
58         Reviewed by Yury Semikhatsky.
59
60         It seems to be not necessary.
61
62         * inspector/front-end/DefaultTextEditor.js:
63         (WebInspector.TextEditorMainPanel):
64         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
65         (WebInspector.TextEditorMainChunk):
66         (WebInspector.TextEditorMainChunk.prototype.set expanded):
67
68 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
69
70         CodeGeneratorInspector.py: Generate guards for type validators
71         https://bugs.webkit.org/show_bug.cgi?id=94511
72
73         Reviewed by Yury Semikhatsky.
74
75         Fix regression when building debug and one of the generated types is
76         disabled by a compile flag. We should generate guards for these type
77         validators the same way as we are doing on the include headers.
78
79         * inspector/CodeGeneratorInspector.py:
80         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
81
82 2012-08-21  Florin Malita  <fmalita@chromium.org>
83
84         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()
85         https://bugs.webkit.org/show_bug.cgi?id=94487
86
87         Reviewed by Nikolas Zimmermann.
88
89         The current way of tracking tref target elements by id can leave stale event listeners
90         under certain circumstances. This patch switches to storing a target RefPtr instead
91         to avoid an id lookup which may not return the original/attached element.
92
93         Test: svg/custom/tref-stale-listener-crash.html
94
95         * svg/SVGTRefElement.cpp:
96         (SVGTRefTargetEventListener):
97         (WebCore::SVGTRefTargetEventListener::isAttached): use m_target instead of an explicit bool.
98         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
99         (WebCore::SVGTRefTargetEventListener::attach): save a target RefPtr instead of an id.
100         (WebCore::SVGTRefTargetEventListener::detach): detach the target element directly without
101         going through a lookup.
102         (WebCore::SVGTRefTargetEventListener::handleEvent):
103         (WebCore::SVGTRefElement::updateReferencedText): use an explicit target pointer instead of
104         the id-based lookup.
105         (WebCore::SVGTRefElement::buildPendingResource):
106         * svg/SVGTRefElement.h:
107         (SVGTRefElement):
108
109 2012-08-21  Alexandre Elias  <aelias@google.com>
110
111         [chromium] Add software bitmap resources to CCResourceProvider
112         https://bugs.webkit.org/show_bug.cgi?id=93677
113
114         Reviewed by Adrienne Walker.
115
116         This adds the ability to CCResourceProvider to use software bitmaps.
117         They are allocated as plain-old-memory, and exposed as Skia objects.
118
119         We want the ResourceProvider to be able to handle different resource
120         types at the same time.  In practice, a default resource type is
121         desired for most uses within a single compositor instance, which is
122         specified by the default resource type.  Default resource types are
123         expected to be mostly 1-to-1 with CCRenderer types.
124
125         New tests added by parametrizing existing CCResourceProvider tests.
126
127         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
128         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
129         * platform/graphics/chromium/LayerRendererChromium.cpp:
130         (WebCore::applyFilters):
131         (WebCore::LayerRendererChromium::drawRenderPassQuad):
132         (WebCore::LayerRendererChromium::drawTileQuad):
133         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
134         (WebCore::LayerRendererChromium::drawTextureQuad):
135         (WebCore::LayerRendererChromium::getFramebufferTexture):
136         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
137         * platform/graphics/chromium/LayerRendererChromium.h:
138         (DrawingFrame):
139         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
140         (WebCore::CCResourceProvider::createResource):
141         (WebCore):
142         (WebCore::CCResourceProvider::createGLTexture):
143         (WebCore::CCResourceProvider::createBitmap):
144         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
145         (WebCore::CCResourceProvider::deleteResource):
146         (WebCore::CCResourceProvider::upload):
147         (WebCore::CCResourceProvider::flush):
148         (WebCore::CCResourceProvider::shallowFlushIfSupported):
149         (WebCore::CCResourceProvider::lockForRead):
150         (WebCore::CCResourceProvider::unlockForRead):
151         (WebCore::CCResourceProvider::lockForWrite):
152         (WebCore::CCResourceProvider::unlockForWrite):
153         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
154         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
155         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
156         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
157         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
158         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
159         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
160         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
161         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
162         (WebCore::CCResourceProvider::CCResourceProvider):
163         * platform/graphics/chromium/cc/CCResourceProvider.h:
164         (WebCore):
165         (WebCore::CCResourceProvider::setCreationPolicy):
166         (WebCore::CCResourceProvider::creationPolicy):
167         (CCResourceProvider):
168         (ScopedReadLockGL):
169         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
170         (ScopedWriteLockGL):
171         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
172         (ScopedReadLockSoftware):
173         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
174         (ScopedWriteLockSoftware):
175         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
176         (Resource):
177
178 2012-08-21  Tab Atkins  <tabatkins@google.com>
179
180         Track -webkit property usage.
181         https://bugs.webkit.org/show_bug.cgi?id=93420
182
183         Reviewed by Ojan Vafai.
184
185         First draft of an attempt to track all usage of -webkit prefixed properties across the web.
186         This attempt is dumb, but should provide useful data as a first-pass.
187         I plan to optimize this for better data collection in the future.
188
189         No tests added, as this is untestable currently.
190         It should have zero effect besides histogramming.
191
192         * css/CSSParser.cpp:
193         (WebCore::cssPropertyID):
194
195 2012-08-21  Alec Flett  <alecflett@chromium.org>
196
197         IndexedDB: remove old update/openCursor glue
198         https://bugs.webkit.org/show_bug.cgi?id=94378
199
200         Reviewed by Tony Chang.
201
202         Remove old openCursor and update methods after landing
203         https://bugs.webkit.org/show_bug.cgi?id=91125 and removing
204         Chromium-side glue.
205
206         No new tests: this code is dead.
207
208         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
209         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
210         (IDBObjectStoreBackendImpl):
211         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
212         * inspector/InspectorIndexedDBAgent.cpp:
213         (WebCore):
214
215 2012-08-21  James Robinson  <jamesr@chromium.org>
216
217         [chromium] Should be able to destroy a CCLayerTreeHost without manually setting the root layer
218         https://bugs.webkit.org/show_bug.cgi?id=94631
219
220         Reviewed by Adrienne Walker.
221
222         In the depths of time when dinosaurs roamed the earth, LayerChromium and CCLayerTreeHost were both reference
223         counted and there was a cycle between the root LayerChromium and CCLayerTreeHost. This required all users of
224         CCLayerTreeHost to manually break the cycle by calling setRootLayer(0) before dropping their reference to the
225         host. Nowadays, CCLayerTreeHost has a single owner and LayerChromiums only have a weak pointer to their host
226         so we should just do this cleanup ourselves instead of imposing it on callers.
227
228         Unit test added to LayerChromiumTest.cpp
229
230         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
231         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
232
233 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
234
235         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
236         https://bugs.webkit.org/show_bug.cgi?id=92993
237
238         Reviewed by Kenneth Russell.
239
240         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
241         is constructed and destructed so that V8's garbage collection
242         heuristics can account for the memory held by these objects.
243
244         * WebCore.gypi:
245         * bindings/v8/SerializedScriptValue.cpp:
246         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
247         (WebCore::V8ArrayBufferDeallocationObserver::instance):
248         (WebCore):
249         (WebCore::V8ArrayBuffer::constructorCallback):
250         * bindings/v8/custom/V8ArrayBufferCustom.h: Added.
251         (WebCore):
252         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
253         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
254         (WebCore::constructWebGLArray):
255         * dom/MessageEvent.cpp:
256         (WebCore::MessageEvent::MessageEvent):
257         (WebCore::MessageEvent::initMessageEvent):
258
259 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
260
261         Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.
262         https://bugs.webkit.org/show_bug.cgi?id=93933
263
264         Reviewed by Yury Semikhatsky.
265
266         InspectorFileSystemAgent fires completion event too early in error case. It should wait
267         until JS code is ready.
268
269         Test: http/tests/inspector/filesystem/request-directory-content.html
270               http/tests/inspector/filesystem/request-file-content.html
271               http/tests/inspector/filesystem/request-metadata.html
272
273         * inspector/InspectorFileSystemAgent.cpp:
274         (WebCore): Add ReportErrorTask class
275
276 2012-08-21  Mike West  <mkwst@chromium.org>
277
278         Blocking a resource via Content Security Policy should trigger an Error event.
279         https://bugs.webkit.org/show_bug.cgi?id=89440
280
281         Reviewed by Jochen Eisinger.
282
283         If a CSP directive is violated, CachedResourceLoader will trigger a
284         console error, and return a null image. In that case, we now dispatch
285         an error on the relevant element.
286
287         Adjusted http/tests/security/contentSecurityPolicy/image-blocked.html
288         and http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
289         to test the new behavior.
290
291         This has the side-effect of also generating errors for images blocked by
292         Chromium's content settings. Adjusted
293         platform/chromium/permissionclient/image-permissions.html to agree with
294         the new behavior.
295
296         * loader/ImageLoader.cpp:
297         (WebCore::ImageLoader::updateFromElement):
298
299 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
300
301         Web Inspector: Split out crumb list part of styles from elementsPanel.css
302         https://bugs.webkit.org/show_bug.cgi?id=94301
303
304         Reviewed by Pavel Feldman.
305
306         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
307         move crumb-related style entries into it from elementsPanel.css.
308
309         No new tests. This change does not make functional change.
310
311         * WebCore.gypi:
312         * WebCore.vcproj/WebCore.vcproj:
313         * inspector/front-end/ElementsPanel.js:
314         * inspector/front-end/WebKit.qrc:
315         * inspector/front-end/breadcrumbList.css: Added.
316         (.crumbs):
317         (.crumbs .crumb):
318         (.crumbs .crumb.collapsed > *):
319         (.crumbs .crumb.collapsed::before):
320         (.crumbs .crumb.compact .extra):
321         (.crumbs .crumb.dimmed):
322         (.crumbs .crumb.start):
323         (.crumbs .crumb.end):
324         (.crumbs .crumb.selected):
325         (.crumbs .crumb.selected:hover):
326         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
327         (.crumbs .crumb:hover):
328         (.crumbs .crumb.dimmed:hover):
329         (.crumbs .crumb.end:hover):
330         * inspector/front-end/elementsPanel.css:
331
332 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
333
334         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
335         https://bugs.webkit.org/show_bug.cgi?id=50797
336
337         Reviewed by Andreas Kling.
338
339         Add a check in fast-path parseAlphaValue() to return early
340         if the CSS <alphavalue> ended with an invalid digit.
341
342         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
343
344         * css/CSSParser.cpp:
345         (WebCore::parseAlphaValue):
346
347 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
348
349         Store CString data in the CStringBuffer to avoid the double indirection
350         https://bugs.webkit.org/show_bug.cgi?id=94562
351
352         Reviewed by Darin Adler.
353
354         * bindings/cpp/WebDOMCString.cpp:
355         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
356         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
357
358 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
359
360         Create CSS color output string on 8 bits
361         https://bugs.webkit.org/show_bug.cgi?id=94625
362
363         Reviewed by Andreas Kling.
364
365         * css/CSSPrimitiveValue.cpp:
366         (WebCore::CSSPrimitiveValue::customCssText):
367         Previously, the output string for a CSS color was computed on 16 bits.
368         This was mainly forced by the use of String::number().
369
370         Since the double to string conversion is done on 8bits anyway, I changed
371         the code to use dtoa's numberToFixedPrecisionString directly instead of
372         String::number().
373         All the other parts were already on 8bits.
374
375 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
376
377         [GTK] Using a native window for the WebView breaks GtkOverlay
378         https://bugs.webkit.org/show_bug.cgi?id=90085
379
380         Reviewed by Alejandro G. Castro.
381
382         No new tests. This will be covered by pixel test for accelerated
383         compositing when they are activated.
384
385         * GNUmakefile.am: Add XComposite libraries to the linker list.
386         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
387         Make a new section for GLX specific files.
388         * platform/graphics/glx/GLContextGLX.cpp:
389         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
390         so that it can be called by other X11 specific code.
391         * platform/graphics/glx/GLContextGLX.h: Ditto.
392         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
393         that renders to an X-window which redirects to a pixmap.
394         * platform/gtk/RedirectedXCompositeWindow.h: Added.
395
396 2012-08-21  David Hyatt  <hyatt@apple.com>
397
398         [New Multicolumn] Make column rules paint properly.
399         https://bugs.webkit.org/show_bug.cgi?id=94616
400
401         Reviewed by Simon Fraser.
402
403         Make the new multi-column code paint column rules and also prepare it for painting
404         the actual column contents.
405
406         * rendering/RenderMultiColumnBlock.cpp:
407         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
408         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
409         
410         * rendering/RenderMultiColumnBlock.h:
411         (WebCore::RenderMultiColumnBlock::flowThread):
412         Make public so that RenderMultiColumnSet can access it.
413         
414         (RenderMultiColumnBlock):
415         * rendering/RenderMultiColumnSet.cpp:
416         (WebCore::RenderMultiColumnSet::columnGap):
417         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
418         when we kill the old multi-column code).
419         
420         (WebCore::RenderMultiColumnSet::columnRectAt):
421         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
422         
423         (WebCore::RenderMultiColumnSet::paintReplaced):
424         Subclass paintReplaced in order to do column rules and contents painting.
425         
426         (WebCore::RenderMultiColumnSet::paintColumnRules):
427         (WebCore::RenderMultiColumnSet::paintColumnContents):
428         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
429         the flow thread into the columns.
430         
431         * rendering/RenderMultiColumnSet.h:
432         (RenderMultiColumnSet):
433         Add the declarations of all the new methods.
434         
435         * rendering/RenderRegion.cpp:
436         (WebCore::RenderRegion::installFlowThread):
437         Added a new virtual function for installing flow threads when they didn't exist at construction time.
438         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
439         nothing.
440         
441         (WebCore::RenderRegion::attachRegion):
442         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
443         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
444         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
445         let the code sit in installFlowThread in the base class.
446         
447         * rendering/RenderRegion.h:
448         (RenderRegion):
449         Add installFlowThread declaration.
450         
451         * rendering/RenderRegionSet.cpp:
452         (WebCore::RenderRegionSet::installFlowThread):
453         installFlowThread for region sets just does nothing, since we don't use named flow threads.
454         
455         * rendering/RenderRegionSet.h:
456         (RenderRegionSet):
457         Add the override of installFlowThread.
458
459 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
460
461         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
462
463         * page/win/EventHandlerWin.cpp:
464         (WebCore):
465         (WebCore::EventHandler::passMouseMoveEventToSubframe):
466
467 2012-08-21  James Robinson  <jamesr@chromium.org>
468
469         Unreviewed, rolling out r126170.
470         http://trac.webkit.org/changeset/126170
471         https://bugs.webkit.org/show_bug.cgi?id=94614
472
473         I spoke too soon
474
475         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
476         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
477         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
478         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
479         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
480         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
481         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
482         (ScrollingCoordinatorPrivate):
483         (WebCore::createScrollbarLayer):
484         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
485         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
486         (WebCore::ScrollingCoordinator::setScrollLayer):
487         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
488         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
489         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
490         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
491         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
492         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
493         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
494         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
495         (WebCore::Canvas2DLayerBridge::prepareForDraw):
496         (WebCore::Canvas2DLayerBridge::layer):
497         (WebCore::Canvas2DLayerBridge::contextAcquired):
498         * platform/graphics/chromium/Canvas2DLayerBridge.h:
499         (Canvas2DLayerBridge):
500         * platform/graphics/chromium/DrawingBufferChromium.cpp:
501         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
502         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
503         (WebCore::DrawingBufferPrivate::layer):
504         (DrawingBufferPrivate):
505         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
506         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
507         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
508         (WebCore::GraphicsLayerChromium::willBeDestroyed):
509         (WebCore):
510         (WebCore::GraphicsLayerChromium::updateNames):
511         (WebCore::GraphicsLayerChromium::removeFromParent):
512         (WebCore::GraphicsLayerChromium::setSize):
513         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
514         (WebCore::GraphicsLayerChromium::setContentsOpaque):
515         (WebCore::GraphicsLayerChromium::setFilters):
516         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
517         (WebCore::GraphicsLayerChromium::setMaskLayer):
518         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
519         (WebCore::GraphicsLayerChromium::setOpacity):
520         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
521         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
522         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
523         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
524         (WebCore::GraphicsLayerChromium::setContentsToImage):
525         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
526         (WebCore::GraphicsLayerChromium::addAnimation):
527         (WebCore::GraphicsLayerChromium::pauseAnimation):
528         (WebCore::GraphicsLayerChromium::removeAnimation):
529         (WebCore::GraphicsLayerChromium::suspendAnimations):
530         (WebCore::GraphicsLayerChromium::resumeAnimations):
531         (WebCore::GraphicsLayerChromium::addLinkHighlight):
532         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
533         (WebCore::GraphicsLayerChromium::setContentsToMedia):
534         (WebCore::GraphicsLayerChromium::primaryLayer):
535         (WebCore::GraphicsLayerChromium::platformLayer):
536         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
537         (WebCore::GraphicsLayerChromium::setDebugBorder):
538         (WebCore::GraphicsLayerChromium::updateChildList):
539         (WebCore::GraphicsLayerChromium::updateLayerPosition):
540         (WebCore::GraphicsLayerChromium::updateLayerSize):
541         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
542         (WebCore::GraphicsLayerChromium::updateTransform):
543         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
544         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
545         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
546         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
547         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
548         (WebCore::GraphicsLayerChromium::updateContentsRect):
549         (WebCore::GraphicsLayerChromium::updateContentsScale):
550         (WebCore::GraphicsLayerChromium::setupContentsLayer):
551         * platform/graphics/chromium/GraphicsLayerChromium.h:
552         (WebCore::GraphicsLayerChromium::hasContentsLayer):
553         (GraphicsLayerChromium):
554         (WebCore::GraphicsLayerChromium::contentsLayer):
555         * platform/graphics/chromium/LayerChromium.cpp:
556         (WebCore::LayerChromium::rootLayer):
557         * platform/graphics/chromium/LayerChromium.h:
558
559 2012-08-21  Adam Barth  <abarth@webkit.org>
560
561         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
562
563         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
564         (WebCore::jsTestActiveDOMObjectExcitingAttr):
565         (WebCore::jsTestActiveDOMObjectConstructor):
566         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
567
568 2012-08-21  Vincent Scheib  <scheib@chromium.org>
569
570         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
571         https://bugs.webkit.org/show_bug.cgi?id=94513
572
573         Reviewed by Adam Barth.
574
575         Pointer lock was previously blocked from all sandboxed iframes.
576         Parsing the sandbox="allow-pointer-lock" attribute allows pages
577         to control the feature and enable it in sandboxed iframes.
578
579         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
580                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
581                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
582
583         * dom/SecurityContext.cpp:
584         (WebCore::SecurityContext::parseSandboxPolicy):
585
586 2012-08-21  James Robinson  <jamesr@chromium.org>
587
588         Unreviewed, rolling out r126169.
589         http://trac.webkit.org/changeset/126169
590         https://bugs.webkit.org/show_bug.cgi?id=94614
591
592         Crashes already fixed downstream
593
594         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
595         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
596         (ScrollingCoordinatorPrivate):
597         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
598         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
599         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
600         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
601         (WebCore::scrollableLayerForGraphicsLayer):
602         (WebCore):
603         (WebCore::createScrollbarLayer):
604         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
605         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
606         (WebCore::ScrollingCoordinator::setScrollLayer):
607         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
608         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
609         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
610         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
611         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
612         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
613         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
614         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
615         (WebCore::Canvas2DLayerBridge::prepareForDraw):
616         (WebCore::Canvas2DLayerBridge::layer):
617         (WebCore::Canvas2DLayerBridge::contextAcquired):
618         * platform/graphics/chromium/Canvas2DLayerBridge.h:
619         (Canvas2DLayerBridge):
620         * platform/graphics/chromium/DrawingBufferChromium.cpp:
621         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
622         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
623         (WebCore::DrawingBufferPrivate::layer):
624         (DrawingBufferPrivate):
625         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
626         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
627         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
628         (WebCore::GraphicsLayerChromium::updateNames):
629         (WebCore::GraphicsLayerChromium::removeFromParent):
630         (WebCore::GraphicsLayerChromium::setSize):
631         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
632         (WebCore::GraphicsLayerChromium::setContentsOpaque):
633         (WebCore::GraphicsLayerChromium::setFilters):
634         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
635         (WebCore::GraphicsLayerChromium::setMaskLayer):
636         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
637         (WebCore::GraphicsLayerChromium::setOpacity):
638         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
639         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
640         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
641         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
642         (WebCore::GraphicsLayerChromium::setContentsToImage):
643         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
644         (WebCore):
645         (WebCore::GraphicsLayerChromium::setContentsToMedia):
646         (WebCore::GraphicsLayerChromium::setContentsTo):
647         (WebCore::GraphicsLayerChromium::addAnimation):
648         (WebCore::GraphicsLayerChromium::pauseAnimation):
649         (WebCore::GraphicsLayerChromium::removeAnimation):
650         (WebCore::GraphicsLayerChromium::suspendAnimations):
651         (WebCore::GraphicsLayerChromium::resumeAnimations):
652         (WebCore::GraphicsLayerChromium::addLinkHighlight):
653         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
654         (WebCore::GraphicsLayerChromium::platformLayer):
655         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
656         (WebCore::GraphicsLayerChromium::setDebugBorder):
657         (WebCore::GraphicsLayerChromium::updateChildList):
658         (WebCore::GraphicsLayerChromium::updateLayerPosition):
659         (WebCore::GraphicsLayerChromium::updateLayerSize):
660         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
661         (WebCore::GraphicsLayerChromium::updateTransform):
662         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
663         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
664         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
665         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
666         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
667         (WebCore::GraphicsLayerChromium::updateContentsRect):
668         (WebCore::GraphicsLayerChromium::updateContentsScale):
669         (WebCore::GraphicsLayerChromium::setupContentsLayer):
670         * platform/graphics/chromium/GraphicsLayerChromium.h:
671         (WebCore::GraphicsLayerChromium::hasContentsLayer):
672         (WebCore::GraphicsLayerChromium::contentLayer):
673         (GraphicsLayerChromium):
674         (WebCore::GraphicsLayerChromium::contentsLayer):
675         * platform/graphics/chromium/LayerChromium.cpp:
676         (WebCore::LayerChromium::rootLayer):
677         * platform/graphics/chromium/LayerChromium.h:
678
679 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
680
681         Unreviewed, rolling out r126076, r126099, and r126106.
682         http://trac.webkit.org/changeset/126076
683         http://trac.webkit.org/changeset/126099
684         http://trac.webkit.org/changeset/126106
685         https://bugs.webkit.org/show_bug.cgi?id=94614
686
687         Caused crashes during compositor shutdown in Aura builds of
688         Chromium (Requested by kbr_google on #webkit).
689
690         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
691         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
692         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
693         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
694         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
695         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
696         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
697         (ScrollingCoordinatorPrivate):
698         (WebCore::createScrollbarLayer):
699         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
700         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
701         (WebCore::ScrollingCoordinator::setScrollLayer):
702         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
703         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
704         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
705         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
706         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
707         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
708         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
709         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
710         (WebCore::Canvas2DLayerBridge::prepareForDraw):
711         (WebCore::Canvas2DLayerBridge::layer):
712         (WebCore::Canvas2DLayerBridge::contextAcquired):
713         * platform/graphics/chromium/Canvas2DLayerBridge.h:
714         (Canvas2DLayerBridge):
715         * platform/graphics/chromium/DrawingBufferChromium.cpp:
716         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
717         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
718         (WebCore::DrawingBufferPrivate::layer):
719         (DrawingBufferPrivate):
720         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
721         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
722         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
723         (WebCore::GraphicsLayerChromium::willBeDestroyed):
724         (WebCore):
725         (WebCore::GraphicsLayerChromium::updateNames):
726         (WebCore::GraphicsLayerChromium::removeFromParent):
727         (WebCore::GraphicsLayerChromium::setSize):
728         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
729         (WebCore::GraphicsLayerChromium::setContentsOpaque):
730         (WebCore::GraphicsLayerChromium::setFilters):
731         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
732         (WebCore::GraphicsLayerChromium::setMaskLayer):
733         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
734         (WebCore::GraphicsLayerChromium::setOpacity):
735         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
736         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
737         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
738         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
739         (WebCore::GraphicsLayerChromium::setContentsToImage):
740         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
741         (WebCore::GraphicsLayerChromium::addAnimation):
742         (WebCore::GraphicsLayerChromium::pauseAnimation):
743         (WebCore::GraphicsLayerChromium::removeAnimation):
744         (WebCore::GraphicsLayerChromium::suspendAnimations):
745         (WebCore::GraphicsLayerChromium::resumeAnimations):
746         (WebCore::GraphicsLayerChromium::addLinkHighlight):
747         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
748         (WebCore::GraphicsLayerChromium::setContentsToMedia):
749         (WebCore::GraphicsLayerChromium::primaryLayer):
750         (WebCore::GraphicsLayerChromium::platformLayer):
751         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
752         (WebCore::GraphicsLayerChromium::setDebugBorder):
753         (WebCore::GraphicsLayerChromium::updateChildList):
754         (WebCore::GraphicsLayerChromium::updateLayerPosition):
755         (WebCore::GraphicsLayerChromium::updateLayerSize):
756         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
757         (WebCore::GraphicsLayerChromium::updateTransform):
758         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
759         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
760         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
761         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
762         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
763         (WebCore::GraphicsLayerChromium::updateContentsRect):
764         (WebCore::GraphicsLayerChromium::updateContentsScale):
765         (WebCore::GraphicsLayerChromium::setupContentsLayer):
766         * platform/graphics/chromium/GraphicsLayerChromium.h:
767         (WebCore::GraphicsLayerChromium::hasContentsLayer):
768         (GraphicsLayerChromium):
769         (WebCore::GraphicsLayerChromium::contentsLayer):
770         * platform/graphics/chromium/LayerChromium.cpp:
771         (WebCore::LayerChromium::rootLayer):
772         * platform/graphics/chromium/LayerChromium.h:
773
774 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
775
776         Web Inspector: do not use window's eval in InjectedScript
777         https://bugs.webkit.org/show_bug.cgi?id=94610
778
779         Reviewed by Yury Semikhatsky.
780
781         Otherwise, inspector does not work when eval is overriden.
782
783         Test: inspector/console/console-eval-fake.html
784
785         * bindings/js/JSInjectedScriptHostCustom.cpp:
786         (WebCore::JSInjectedScriptHost::evaluate):
787         (WebCore):
788         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
789         (WebCore::V8InjectedScriptHost::evaluateCallback):
790         (WebCore):
791         * inspector/InjectedScriptHost.idl:
792         * inspector/InjectedScriptSource.js:
793         (.):
794
795 2012-08-21  Adam Barth  <abarth@webkit.org>
796
797         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
798         https://bugs.webkit.org/show_bug.cgi?id=93407
799
800         Reviewed by Eric Seidel.
801
802         This patch removes allowsAccessFrom and implements the security checks
803         in terms of shouldAllowAccessToDOMWindow directly.
804
805         * bindings/generic/BindingSecurity.cpp:
806         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
807         (WebCore):
808         * bindings/generic/BindingSecurity.h:
809         (BindingSecurity):
810         * bindings/js/JSDOMBinding.cpp:
811         (WebCore::shouldAllowAccessToFrame):
812         (WebCore):
813         (WebCore::shouldAllowAccessToDOMWindow):
814         * bindings/js/JSDOMBinding.h:
815         (WebCore):
816         * bindings/js/JSDOMWindowBase.cpp:
817         (WebCore::shouldAllowAccessFrom):
818         (WebCore):
819         * bindings/js/JSDOMWindowBase.h:
820         (JSDOMWindowBase):
821         * bindings/js/JSDOMWindowCustom.cpp:
822         (WebCore::namedItemGetter):
823         (WebCore::JSDOMWindow::getOwnPropertySlot):
824         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
825         (WebCore::JSDOMWindow::put):
826         (WebCore::JSDOMWindow::deleteProperty):
827         (WebCore::JSDOMWindow::getPropertyNames):
828         (WebCore::JSDOMWindow::getOwnPropertyNames):
829         (WebCore::JSDOMWindow::defineOwnProperty):
830         (WebCore::JSDOMWindow::setLocation):
831         * bindings/js/JSDOMWindowCustom.h:
832         * bindings/js/JSInjectedScriptManager.cpp:
833         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
834         * bindings/objc/WebScriptObject.mm:
835         (-[WebScriptObject _isSafeScript]):
836         * bindings/scripts/CodeGeneratorJS.pm:
837         (GenerateGetOwnPropertyDescriptorBody):
838         (GenerateImplementation):
839
840 2012-08-21  Dan Bernstein  <mitz@apple.com>
841
842         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
843         https://bugs.webkit.org/show_bug.cgi?id=94429
844
845         Reviewed by Sam Weinig.
846
847         No new tests, because behavior is unchanged.
848
849         * editing/TextIterator.cpp:
850         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
851         cannot contain VisiblePosition to also check for zero-height blocks.
852
853 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
854
855         Web Inspector: break on exceptions decoration was lost, restoring.
856
857         Not reviewed - a follow up to 126012.
858
859         * inspector/front-end/ScriptsPanel.js:
860         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
861         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
862
863 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
864
865         Unreviewed, rolling out r126146.
866         http://trac.webkit.org/changeset/126146
867         https://bugs.webkit.org/show_bug.cgi?id=94606
868
869         It made all tests assert (Requested by Ossy on #webkit).
870
871         * bridge/qt/qt_runtime.cpp:
872         (JSC::Bindings::prototypeForSignalsAndSlots):
873         (JSC::Bindings::QtRuntimeMethod::call):
874         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
875         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
876         * bridge/qt/qt_runtime.h:
877         (QtRuntimeMethod):
878
879 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
880
881         Unreviewed, rolling out r126150.
882         http://trac.webkit.org/changeset/126150
883         https://bugs.webkit.org/show_bug.cgi?id=94605
884
885         Breaks 73 layout tests on chromium.webkit builder (Requested
886         by pfeldman on #webkit).
887
888         * UseV8.cmake:
889         * WebCore.gypi:
890         * bindings/v8/V8Binding.cpp:
891         (StringTraits):
892         (WebCore):
893         (WebCore::v8StringToWebCoreString):
894         (WebCore::int32ToWebCoreStringFast):
895         (WebCore::int32ToWebCoreString):
896         * bindings/v8/V8Binding.h:
897         (WebCore):
898         (V8ParameterBase):
899         (WebCore::V8ParameterBase::operator String):
900         (WebCore::V8ParameterBase::operator AtomicString):
901         (WebCore::V8ParameterBase::V8ParameterBase):
902         (WebCore::V8ParameterBase::prepareBase):
903         (WebCore::V8ParameterBase::object):
904         (WebCore::V8ParameterBase::setString):
905         (WebCore::V8ParameterBase::toString):
906         (WebCore::::prepare):
907         * bindings/v8/V8StringResource.cpp: Removed.
908         * bindings/v8/V8StringResource.h: Removed.
909
910 2012-08-21  Philippe Normand  <pnormand@igalia.com>
911
912         Early returns in MediaPlayer setters
913         https://bugs.webkit.org/show_bug.cgi?id=87304
914
915         Calls to the MediaPlayerPrivate implementation can be avoided if
916         the value to set and the current value are equal.
917
918         Reviewed by Eric Carlson.
919
920         * platform/graphics/MediaPlayer.cpp:
921         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
922         MediaPlayerPrivate has been created propagate the playback rate
923         value to it, as it is done for some other attributes like preload
924         or preservePitch.
925         (WebCore::MediaPlayer::setVolume): Perform action only if current
926         and new values differ.
927         (WebCore::MediaPlayer::setMuted): Ditto.
928         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
929         (WebCore::MediaPlayer::setSize): Ditto.
930         (WebCore::MediaPlayer::setVisible): Ditto.
931         (WebCore::MediaPlayer::setPreload): Ditto.
932
933 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
934
935         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
936         https://bugs.webkit.org/show_bug.cgi?id=94599
937
938         Reviewed by Yury Semikhatsky.
939
940         * dom/MemoryInstrumentation.h:
941         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
942         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
943         (WebCore::MemoryInstrumentation::addObjectImpl):
944
945 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
946
947         Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
948         https://bugs.webkit.org/show_bug.cgi?id=94580
949
950         Reviewed by Yury Semikhatsky.
951
952         Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.
953
954         * css/CSSCanvasValue.cpp:
955         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
956         * css/CSSCharsetRule.cpp:
957         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
958         * css/CSSFontFaceSrcValue.cpp:
959         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
960         * css/CSSFunctionValue.cpp:
961         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
962         * css/CSSImageSetValue.cpp:
963         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
964         * css/CSSImageValue.cpp:
965         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
966         * css/CSSPrimitiveValue.cpp:
967         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
968         * css/CSSStyleSheet.cpp:
969         (WebCore::CSSStyleSheet::reportMemoryUsage):
970         * css/CSSValue.cpp:
971         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
972         * css/CSSVariableValue.h:
973         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
974         * css/FontFeatureValue.cpp:
975         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
976         * css/MediaQuery.cpp:
977         (WebCore::MediaQuery::reportMemoryUsage):
978         * css/MediaQueryExp.cpp:
979         (WebCore::MediaQueryExp::reportMemoryUsage):
980         * css/StyleRuleImport.cpp:
981         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
982         * css/StyleSheetContents.cpp:
983         (WebCore::StyleSheetContents::reportMemoryUsage):
984         * css/WebKitCSSKeyframeRule.cpp:
985         (WebCore::StyleKeyframe::reportMemoryUsage):
986         * css/WebKitCSSKeyframesRule.cpp:
987         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
988         * css/WebKitCSSSVGDocumentValue.cpp:
989         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
990         * css/WebKitCSSShaderValue.cpp:
991         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
992         * dom/Attribute.h:
993         (WebCore::Attribute::reportMemoryUsage):
994         * dom/CharacterData.cpp:
995         (WebCore::CharacterData::reportMemoryUsage):
996         * dom/Document.cpp:
997         (WebCore::Document::reportMemoryUsage):
998         * dom/ElementAttributeData.cpp:
999         (WebCore::immutableElementAttributeDataSize):
1000         (WebCore):
1001         (WebCore::ElementAttributeData::createImmutable):
1002         (WebCore::ElementAttributeData::reportMemoryUsage):
1003         * dom/Event.cpp:
1004         (WebCore::Event::reportMemoryUsage):
1005         * dom/MemoryInstrumentation.cpp:
1006         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
1007         * dom/MemoryInstrumentation.h:
1008         (MemoryInstrumentation):
1009         * dom/QualifiedName.h:
1010         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
1011         * loader/DocumentLoader.cpp:
1012         (WebCore::DocumentLoader::reportMemoryUsage):
1013         * loader/FrameLoader.cpp:
1014         (WebCore::FrameLoader::reportMemoryUsage):
1015         * loader/SubstituteData.cpp:
1016         (WebCore::SubstituteData::reportMemoryUsage):
1017         * loader/cache/CachedCSSStyleSheet.cpp:
1018         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1019         * loader/cache/CachedResource.cpp:
1020         (WebCore::CachedResource::reportMemoryUsage):
1021         * loader/cache/CachedResourceLoader.cpp:
1022         (WebCore::CachedResourceLoader::reportMemoryUsage):
1023         * loader/cache/CachedScript.cpp:
1024         (WebCore::CachedScript::reportMemoryUsage):
1025         * loader/cache/CachedShader.cpp:
1026         (WebCore::CachedShader::reportMemoryUsage):
1027         * loader/cache/CachedXSLStyleSheet.cpp:
1028         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1029         * loader/cache/MemoryCache.cpp:
1030         (WebCore::MemoryCache::reportMemoryUsage):
1031         * platform/network/ResourceRequestBase.cpp:
1032         (WebCore::ResourceRequestBase::reportMemoryUsage):
1033         * platform/network/ResourceResponseBase.cpp:
1034         (WebCore::ResourceResponseBase::reportMemoryUsage):
1035         * rendering/style/StyleRareInheritedData.cpp:
1036         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1037         * rendering/style/StyleRareNonInheritedData.cpp:
1038         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1039         * svg/SVGPaint.cpp:
1040         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1041
1042 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1043
1044         [V8] Move String related code in V8Binding to a separate file
1045         https://bugs.webkit.org/show_bug.cgi?id=94571
1046
1047         Reviewed by Adam Barth.
1048
1049         This patch moves V8Parameter, V8ParameterBase and String related code
1050         in V8Binding to a separate file.
1051
1052         No tests. No change in behavior.
1053
1054         * UseV8.cmake:
1055         * WebCore.gypi:
1056         * bindings/v8/V8Binding.cpp:
1057         * bindings/v8/V8Binding.h:
1058         * bindings/v8/V8StringResource.cpp: Added.
1059         * bindings/v8/V8StringResource.h: Added.
1060         (WebCore):
1061
1062 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
1063
1064         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
1065         https://bugs.webkit.org/show_bug.cgi?id=93897
1066
1067         Reviewed by Kenneth Rohde Christiansen.
1068
1069         Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
1070         JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
1071         to be just callable objects, but they did not have Function.prototype as prototype anymore for example
1072         nor was their name correct (resulting in a layout test failure).
1073
1074         This patch changes run-time methods back to being real function objects that have a correct name and
1075         have Function.prototype in their prototype change
1076
1077         The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
1078         that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
1079         Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
1080         This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
1081         the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.
1082
1083         At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
1084         The length property on a function signifies the number of arguments, but in all three cases that number is
1085         actually variable, because of overloading. That is why we choose not to expose it in the first place.
1086
1087         * bridge/qt/qt_runtime.cpp:
1088         (JSC::Bindings::prototypeForSignalsAndSlots):
1089         (JSC::Bindings::QtRuntimeMethod::call):
1090         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1091         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
1092         (Bindings):
1093         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
1094         * bridge/qt/qt_runtime.h:
1095         (QtRuntimeMethod): Remove unused member variables.
1096
1097 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
1098
1099         Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
1100         but fortunately QMetaType has a much more powerful function available for us to use.
1101
1102         Thanks to Jedrzej Nowacki for the hint :)
1103
1104         * bridge/qt/qt_runtime.cpp:
1105         (JSC::Bindings::convertQVariantToValue):
1106
1107 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1108
1109         [V8] Remove String::New() from V8 binding (Part 1)
1110         https://bugs.webkit.org/show_bug.cgi?id=94574
1111
1112         Reviewed by Adam Barth.
1113
1114         Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
1115         String::New() should be replaced with String::NewSymbol() or v8String(),
1116         depending on use cases:
1117
1118         - If it is a symbol (e.g. attribute name, constant string, etc),
1119         String::NewSymbol() should be used. Cache of created symbols is managed by V8.
1120
1121         - If it is not a symbol, v8String() should be used. Cache of created strings
1122         is managed by V8 binding (i.e. StringCache class).
1123
1124         This patch replaces String::New() for symbols with String::NewSymbol().
1125
1126         No tests. No change in behavior.
1127
1128         * bindings/scripts/CodeGeneratorV8.pm:
1129         (GenerateNamedConstructorCallback):
1130         (GenerateNonStandardFunction):
1131         (GenerateImplementation):
1132         * bindings/scripts/test/V8/V8Float64Array.cpp:
1133         (WebCore::ConfigureV8Float64ArrayTemplate):
1134         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1135         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1136         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1137         (WebCore::ConfigureV8TestEventTargetTemplate):
1138         * bindings/scripts/test/V8/V8TestInterface.cpp:
1139         (WebCore::ConfigureV8TestInterfaceTemplate):
1140         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1141         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1142         * bindings/scripts/test/V8/V8TestObj.cpp:
1143         (WebCore::ConfigureV8TestObjTemplate):
1144         (WebCore::V8TestObj::installPerContextProperties):
1145         * bindings/v8/V8DOMConfiguration.cpp:
1146         (WebCore::V8DOMConfiguration::batchConfigureConstants):
1147         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1148         (WebCore::V8DOMConfiguration::configureTemplate):
1149         * bindings/v8/V8DOMConfiguration.h:
1150         (WebCore::V8DOMConfiguration::configureAttribute):
1151
1152 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1153
1154         Unreviewed, rolling out r126028.
1155         http://trac.webkit.org/changeset/126028
1156         https://bugs.webkit.org/show_bug.cgi?id=94576
1157
1158         it broke compilation on apple webkit win. (Requested by loislo
1159         on #webkit).
1160
1161         * inspector/CodeGeneratorInspector.py:
1162         * inspector/InjectedScriptWebGLModule.cpp:
1163         (WebCore::InjectedScriptWebGLModule::captureFrame):
1164         * inspector/InjectedScriptWebGLModule.h:
1165         (InjectedScriptWebGLModule):
1166         * inspector/Inspector.json:
1167         * inspector/InspectorController.cpp:
1168         (WebCore::InspectorController::InspectorController):
1169         * inspector/InspectorWebGLAgent.cpp:
1170         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
1171         * inspector/InspectorWebGLAgent.h:
1172         (WebCore):
1173         (WebCore::InspectorWebGLAgent::create):
1174         (InspectorWebGLAgent):
1175
1176 2012-08-20  Ilya Tikhonovsky  <loislo@chromium.org>
1177
1178         Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
1179         https://bugs.webkit.org/show_bug.cgi?id=94489
1180
1181         Reviewed by Yury Semikhatsky.
1182
1183         Immutable StylePropertySet is created via placement new.
1184         The rest of the allocated buffer is used as an array of CSSProperty.
1185         This means that we don't need to report m_properties member but have to report actual size of the buffer
1186         used for both, the object and CSSProperty array.
1187
1188         * css/StylePropertySet.cpp:
1189         (WebCore::immutableStylePropertySetSize):
1190         (WebCore):
1191         (WebCore::StylePropertySet::createImmutable):
1192         (WebCore::StylePropertySet::reportMemoryUsage):
1193         * dom/MemoryInstrumentation.h:
1194         (WebCore::MemoryObjectInfo::reportObjectInfo):
1195         (WebCore::MemoryClassInfo::MemoryClassInfo):
1196
1197 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1198
1199         [V8] Move handleOutOfMemory() from V8Proxy to V8Binding
1200         https://bugs.webkit.org/show_bug.cgi?id=94563
1201
1202         Reviewed by Adam Barth.
1203
1204         To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.
1205
1206         No tests. No change in behavior.
1207
1208         * bindings/v8/V8AbstractEventListener.cpp:
1209         (WebCore::V8AbstractEventListener::invokeEventHandler):
1210         * bindings/v8/V8Binding.cpp:
1211         (WebCore::handleOutOfMemory):
1212         (WebCore):
1213         * bindings/v8/V8Binding.h:
1214         (WebCore):
1215         * bindings/v8/V8Proxy.cpp:
1216         * bindings/v8/V8Proxy.h:
1217         (V8Proxy):
1218         * bindings/v8/WorkerContextExecutionProxy.cpp:
1219         (WebCore::WorkerContextExecutionProxy::runScript):
1220
1221 2012-08-20  MORITA Hajime  <morrita@google.com>
1222
1223         InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
1224         https://bugs.webkit.org/show_bug.cgi?id=94570
1225
1226         Reviewed by Ryosuke Niwa.
1227
1228         Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
1229         we could unify them to the safer one, which is didNotifySubtreeInsertions().
1230
1231         This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
1232         then eliminates related code which is no longer used.
1233
1234         No new tests. Covered by existing tests.
1235
1236         * dom/ContainerNodeAlgorithms.h:
1237         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1238         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
1239         * dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
1240         * html/HTMLBodyElement.cpp:
1241         (WebCore::HTMLBodyElement::insertedInto):
1242         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
1243         * html/HTMLBodyElement.h:
1244         (HTMLBodyElement):
1245         * html/HTMLFormElement.cpp:
1246         (WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
1247
1248 2012-08-20  Rob Buis  <rbuis@rim.com>
1249
1250         Reduce GradientAttributes object size
1251         https://bugs.webkit.org/show_bug.cgi?id=86151
1252
1253         Reviewed by Eric Seidel.
1254
1255         This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
1256         reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.
1257
1258         * svg/GradientAttributes.h:
1259         (WebCore::GradientAttributes::spreadMethod):
1260         (WebCore::GradientAttributes::gradientUnits):
1261         (GradientAttributes):
1262         (WebCore):
1263         (SameSizeAsGradientAttributes):
1264
1265 2012-08-20  Keishi Hattori  <keishi@webkit.org>
1266
1267         Clicking input type=range with padding or border sets wrong value
1268         https://bugs.webkit.org/show_bug.cgi?id=94473
1269
1270         Reviewed by Kent Tamura.
1271
1272         We should take the padding and border width into account when calculating the value from the mouse location.
1273
1274         Test: fast/forms/range/range-hit-test-with-padding.html
1275
1276         * html/shadow/SliderThumbElement.cpp:
1277         (WebCore::sliderTrackElementOf):
1278         (WebCore):
1279         (WebCore::SliderThumbElement::setPositionFromPoint):
1280         * html/shadow/SliderThumbElement.h:
1281         (WebCore):
1282
1283 2012-08-20  MORITA Hajime  <morrita@google.com>
1284
1285         load event shouldn't fired during node insertion traversals.
1286         https://bugs.webkit.org/show_bug.cgi?id=94447
1287
1288         Reviewed by Ryosuke Niwa.
1289
1290         HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
1291         can trigger a load event during ChildNodeInsertionNotifier
1292         traversal, whose handler can make DOM tree state inconsistent.
1293
1294         This change introduces a post traversal hook,
1295         didNotifySubtreeInsertions(), for the insertion traversal and
1296         replaces the problematic didNotifyDescendantInsertions() with it.
1297
1298         Since didNotifySubtreeInsertions() is invoked after the traversal,
1299         it is safe for event handlers to mutate the tree.
1300
1301         Test: fast/frames/iframe-onload-and-domnodeinserted.html
1302
1303         * dom/ContainerNodeAlgorithms.h:
1304         (ChildNodeInsertionNotifier): Added a post subtree notification.
1305         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1306         (WebCore::ChildNodeInsertionNotifier::notify):
1307         * dom/Node.h:
1308         (WebCore::Node::didNotifySubtreeInsertions): Newly added.
1309         * html/HTMLFrameElementBase.cpp:
1310         (WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
1311         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
1312         * html/HTMLFrameElementBase.h:
1313         (HTMLFrameElementBase):
1314
1315 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org> 
1316
1317         Regression(r126127): Build break on multiple platforms
1318         https://bugs.webkit.org/show_bug.cgi?id=94568
1319
1320         Reviewed by Hajime Morita.
1321
1322         Notation::cloneNode should also have ExceptionCode. We add it in this patch.
1323
1324         No new tests, no change in behavior.
1325
1326         * dom/Notation.cpp:
1327         (WebCore::Notation::cloneNode):
1328         * dom/Notation.h:
1329         (Notation):
1330
1331 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org>
1332
1333         ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
1334         https://bugs.webkit.org/show_bug.cgi?id=91704
1335
1336         Reviewed by Dimitri Glazkov.
1337
1338         According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
1339         returned null object instead.
1340
1341         We change the cloneNode() interface so that we can throw an exception from cloneNode().
1342
1343         Test: fast/dom/shadow/shadowroot-clonenode.html
1344
1345         * dom/Attr.cpp:
1346         (WebCore::Attr::cloneNode):
1347         * dom/Attr.h:
1348         * dom/CDATASection.cpp:
1349         (WebCore::CDATASection::cloneNode):
1350         * dom/CDATASection.h:
1351         (CDATASection):
1352         * dom/Comment.cpp:
1353         (WebCore::Comment::cloneNode):
1354         * dom/Comment.h:
1355         (Comment):
1356         * dom/Document.cpp:
1357         (WebCore::Document::cloneNode):
1358         * dom/Document.h:
1359         (Document):
1360         * dom/DocumentFragment.cpp:
1361         (WebCore::DocumentFragment::cloneNode):
1362         * dom/DocumentFragment.h:
1363         (DocumentFragment):
1364         * dom/DocumentType.cpp:
1365         (WebCore::DocumentType::cloneNode):
1366         * dom/DocumentType.h:
1367         (DocumentType):
1368         * dom/Element.cpp:
1369         (WebCore::Element::cloneNode):
1370         * dom/Element.h:
1371         (Element):
1372         * dom/EntityReference.cpp:
1373         (WebCore::EntityReference::cloneNode):
1374         * dom/EntityReference.h:
1375         (EntityReference):
1376         * dom/Node.h:
1377         (Node):
1378         (WebCore::Node::cloneNode):
1379         * dom/Node.idl:
1380         * dom/ProcessingInstruction.cpp:
1381         (WebCore::ProcessingInstruction::cloneNode):
1382         * dom/ProcessingInstruction.h:
1383         (ProcessingInstruction):
1384         * dom/ShadowRoot.cpp:
1385         (WebCore::ShadowRoot::cloneNode):
1386         * dom/ShadowRoot.h:
1387         (ShadowRoot):
1388         * dom/Text.cpp:
1389         (WebCore::Text::cloneNode):
1390         * dom/Text.h:
1391         (Text):
1392
1393 2012-08-20  Kent Tamura  <tkent@chromium.org>
1394
1395         [Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
1396         https://bugs.webkit.org/show_bug.cgi?id=94281
1397
1398         Reviewed by Hajime Morita.
1399
1400         Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp
1401
1402         * platform/text/LocaleWin.cpp:
1403         (WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
1404         return true if the specified character is one of native digits.
1405         (WebCore::LocaleWin::parseNumber):
1406         Try to parse ASCII digits, then try to parse native digtis. This
1407         becomes a member of LocaleWin because it uses
1408         convertFromLocalizedNumber().
1409         (WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
1410         (WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
1411         (WebCore::LocaleWin::appendFourDigitsNumber): ditto.
1412         * platform/text/LocaleWin.h:
1413         (LocaleWin):
1414         - Make some static functions member functions of LocaleWin.
1415         - Add isLocalizedDigit().
1416
1417 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1418
1419         Rename collectGarbageIfNecessary() to hintForCollectGarbage()
1420         https://bugs.webkit.org/show_bug.cgi?id=94455
1421
1422         Reviewed by Adam Barth.
1423
1424         This is a follow-up patch for r126098.
1425
1426         collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
1427         an idle notification to V8, which is just a hint for V8 to trigger GC.
1428         To clarify the difference, this patch renames collectGarbageIfNecessary()
1429         to hintForCollectGarbage().
1430
1431         No tests. No change in behavior.
1432
1433         * bindings/v8/ScriptController.cpp:
1434         (WebCore::ScriptController::clearForClose):
1435         (WebCore::ScriptController::clearForNavigation):
1436         * bindings/v8/V8GCController.cpp:
1437         (WebCore::V8GCController::hintForCollectGarbage):
1438         * bindings/v8/V8GCController.h:
1439         (V8GCController):
1440
1441 2012-08-20  Alexandre Elias  <aelias@google.com>
1442
1443         [chromium] Texture layer should not generate zero textureId quads
1444         https://bugs.webkit.org/show_bug.cgi?id=94550
1445
1446         Reviewed by Adrienne Walker.
1447
1448         After a context loss, CCTextureLayerImpl would clear its textureId
1449         but continued to produce external resources and quads with the zero
1450         textureid.  Add early returns so that CCTextureLayerImpl becomes
1451         inert after a context loss.
1452
1453         Added assertion in read lock so that dontUseOldResourcesAfterLostContext
1454         test catches the problem.
1455
1456         * platform/graphics/chromium/cc/CCResourceProvider.h:
1457         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
1458         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1459         (WebCore::CCTextureLayerImpl::willDraw):
1460         (WebCore::CCTextureLayerImpl::appendQuads):
1461         (WebCore::CCTextureLayerImpl::didDraw):
1462         (WebCore::CCTextureLayerImpl::didLoseContext):
1463
1464 2012-08-20  Kent Tamura  <tkent@chromium.org>
1465
1466         [Chromium] Make the popup positioning code testable
1467         https://bugs.webkit.org/show_bug.cgi?id=94086
1468
1469         Reviewed by Hajime Morita.
1470
1471         Introduce PopupContent interface in order to make a mock.
1472
1473         * platform/chromium/PopupContainer.cpp:
1474         (WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
1475          - Make it a member of PopupContainer to avoid namespace pollution.
1476          - Use PopupContent interface.
1477          - Make the code clearer.
1478         * platform/chromium/PopupContainer.h:
1479         (PopupContainer): Expose layoutAndCalculateWidgetRectInternal.
1480
1481         * platform/chromium/PopupListBox.cpp:
1482         (WebCore::PopupListBox::popupContentHeight): Added.
1483         * platform/chromium/PopupListBox.h:
1484         (PopupContent): Added.
1485         (PopupListBox): Inherit PopupContent.
1486         (WebCore::PopupListBox::~PopupListBox):
1487         Make this virtual because this class has some virtual functions.
1488
1489 2012-08-20  Tom Sepez  <tsepez@chromium.org>
1490
1491         XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
1492         https://bugs.webkit.org/show_bug.cgi?id=94547
1493
1494         Reviewed by Adam Barth.
1495
1496         Check that there is a host before making same-host tests.
1497
1498         Test: fast/frames/xss-auditor-handles-file-urls.html
1499
1500         * html/parser/XSSAuditor.cpp:
1501         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1502         (WebCore::XSSAuditor::isLikelySafeResource):
1503         * html/parser/XSSAuditor.h:
1504
1505 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
1506
1507         Removed dead code from a very old iteration of CSS counters.
1508         https://bugs.webkit.org/show_bug.cgi?id=94539
1509
1510         Reviewed by Eric Seidel.
1511
1512         Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.
1513
1514         No tests, this just removes dead code.
1515
1516         * rendering/style/RenderStyle.cpp:
1517         (WebCore::RenderStyle::diff):
1518         * rendering/style/RenderStyle.h:
1519         * rendering/style/StyleRareNonInheritedData.cpp:
1520         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1521         (WebCore::StyleRareNonInheritedData::operator==):
1522         * rendering/style/StyleRareNonInheritedData.h:
1523         (StyleRareNonInheritedData):
1524
1525 2012-08-20  Luke Macpherson   <macpherson@chromium.org>
1526
1527         Fix inspector with variables enabled and enable inspector variables tests by default.
1528         https://bugs.webkit.org/show_bug.cgi?id=94296
1529
1530         Reviewed by Hajime Morita.
1531
1532         Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.
1533
1534         Covered by inspector/styles/variables.
1535
1536         * css/PropertySetCSSStyleDeclaration.cpp:
1537         (WebCore::PropertySetCSSStyleDeclaration::item):
1538
1539 2012-08-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1540
1541         Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
1542         https://bugs.webkit.org/show_bug.cgi?id=94085
1543
1544         Reviewed by Kentaro Hara.
1545
1546         vibrate() method to stop the device from vibrating is getting called before the
1547         vibration is in effect. Hence, it is failing to cancel the pre-existing instance
1548         of processing vibration patterns. 
1549
1550         This patch cancel the pre-existing instance of the processing vibration patterns
1551         always when the vibrate() method called with pattern 0 or an empty list.
1552
1553         No new tests since there is no return value in the Vibration API to test this
1554         particular case. Existing test fast/dom/navigator-vibration.html covers testing of
1555         the Vibration API.
1556
1557         * Modules/vibration/Vibration.cpp:
1558         (WebCore::Vibration::vibrate):
1559
1560 2012-08-20  Adam Klein  <adamk@chromium.org>
1561
1562         Allow MutationEvents to be enabled/disabled per context
1563         https://bugs.webkit.org/show_bug.cgi?id=94016
1564
1565         Reviewed by Ojan Vafai.
1566
1567         Chromium wants to be able to turn MutationEvents off for some
1568         Documents (e.g., for Apps V2). This patch makes the firing (and the
1569         constructor on DOMWindow) of MutationEvents a per-context feature, with
1570         the default being enabled.
1571
1572         No functional change (since the feature defaults to enabled).
1573         It's not clear to me that there's a way to test this in DRT without
1574         adding a special hook for this one feature. It will be tested in
1575         Chromium once it's implemented in Chromium.
1576
1577         * dom/ContextFeatures.cpp:
1578         (WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
1579         with the default being enabled.
1580         * dom/ContextFeatures.h:
1581         * dom/Document.cpp:
1582         (WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
1583         method that checks the ContextFeature flag before adding the passed-in
1584         listener type.
1585         (WebCore::Document::addListenerTypeIfNeeded): Call the new method
1586         instead of addListenerType for MutationEvent types.
1587         * dom/Document.h:
1588         (WebCore::Document::addListenerType): Make private to avoid anyone
1589         outside Document from enabling MutationEvent listeners. All callers
1590         must go through addListenerTypeIfNeeded.
1591
1592 2012-08-20  Levi Weintraub  <leviw@chromium.org>
1593
1594         [Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
1595         https://bugs.webkit.org/show_bug.cgi?id=94526
1596
1597         Reviewed by Eric Seidel.
1598
1599         Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
1600         gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
1601         can yield results one pixel off in width and height.
1602
1603         Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.
1604
1605         * rendering/RenderLayer.cpp:
1606         * rendering/RenderLayer.h:
1607
1608 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1609
1610         [V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
1611         https://bugs.webkit.org/show_bug.cgi?id=94456
1612
1613         Reviewed by Adam Barth.
1614
1615         To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
1616         to ScriptController. Also this patch renames instrumentedCallFunction()
1617         to callFunctionWithInstrumentation(), for consistency with callFunction().
1618
1619         No tests. No change in behavior.
1620
1621         * bindings/v8/ScriptController.cpp:
1622         (WebCore::ScriptController::callFunction):
1623         (WebCore):
1624         (WebCore::handleMaxRecursionDepthExceeded):
1625         (WebCore::resourceInfo):
1626         (WebCore::resourceString):
1627         (WebCore::ScriptController::callFunctionWithInstrumentation):
1628         * bindings/v8/ScriptController.h:
1629         (ScriptController):
1630         * bindings/v8/ScriptFunctionCall.cpp:
1631         (WebCore::ScriptCallback::call):
1632         * bindings/v8/V8Callback.cpp:
1633         (WebCore::invokeCallback):
1634         * bindings/v8/V8NodeFilterCondition.cpp:
1635         (WebCore::V8NodeFilterCondition::acceptNode):
1636         * bindings/v8/V8Proxy.cpp:
1637         (WebCore):
1638         * bindings/v8/V8Proxy.h:
1639         (V8Proxy):
1640         * bindings/v8/V8WindowErrorHandler.cpp:
1641         (WebCore::V8WindowErrorHandler::callListenerFunction):
1642         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1643         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1644
1645 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
1646
1647         Never notify of insertedIntoTree during document destruction.
1648         https://bugs.webkit.org/show_bug.cgi?id=94535
1649
1650         Reviewed by Eric Seidel.
1651
1652         Never notify of insertedIntoTree during document destruction. Previously since we
1653         avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
1654         insertedIntoTree notifications without ever being told we were removed.
1655
1656         No tests needed since this just closes holes related to future code.
1657
1658         * rendering/RenderObjectChildList.cpp:
1659         (WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
1660         (WebCore::RenderObjectChildList::insertChildNode): Same.
1661         * rendering/RenderRegion.cpp:
1662         (WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.
1663
1664 2012-08-20  James Robinson  <jamesr@chromium.org>
1665
1666         [chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
1667         https://bugs.webkit.org/show_bug.cgi?id=94552
1668
1669         Reviewed by Kenneth Russell.
1670
1671         Set it or it don't work good.
1672
1673         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1674         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1675
1676 2012-08-20  Rik Cabanier  <cabanier@adobe.com>
1677
1678         parse CSS attribute -webkit-blend-mode
1679         https://bugs.webkit.org/show_bug.cgi?id=94024
1680  
1681         Reviewed by Dirk Schulze.
1682
1683         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
1684
1685         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
1686                css3/compositing/blend-mode-property-parsing.html
1687                css3/compositing/blend-mode-property.html
1688
1689         * css/CSSComputedStyleDeclaration.cpp:
1690         (WebCore):
1691         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1692         * css/CSSParser.cpp:
1693         (WebCore::isValidKeywordPropertyAndValue):
1694         (WebCore::isKeywordPropertyID):
1695         (WebCore::CSSParser::parseValue):
1696         * css/CSSProperty.cpp:
1697         (WebCore::CSSProperty::isInheritedProperty):
1698         * css/CSSPropertyNames.in:
1699         * css/CSSValueKeywords.in:
1700         * css/StyleBuilder.cpp:
1701         (WebCore::StyleBuilder::StyleBuilder):
1702         * rendering/RenderLayer.h:
1703         (RenderLayer):
1704         * rendering/RenderLayerBacking.cpp:
1705         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1706         (WebCore):
1707         (WebCore::RenderLayerBacking::updateLayerBlendMode):
1708         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1709         (WebCore::RenderLayerBacking::setBlendMode):
1710         * rendering/RenderLayerBacking.h:
1711         (RenderLayerBacking):
1712         * rendering/style/RenderStyle.cpp:
1713         (WebCore::RenderStyle::diff):
1714         * rendering/style/RenderStyle.h:
1715         * rendering/style/StyleRareNonInheritedData.cpp:
1716         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1717         (WebCore::StyleRareNonInheritedData::operator==):
1718         * rendering/style/StyleRareNonInheritedData.h:
1719         (StyleRareNonInheritedData):
1720
1721 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1722
1723         [V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
1724         https://bugs.webkit.org/show_bug.cgi?id=94460
1725
1726         Reviewed by Adam Barth.
1727
1728         To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
1729         from V8Proxy to V8Binding. Also, this patch renames these methods as follows:
1730
1731         - retrieveWindow() -> toDOMWindow()
1732         - retrieveFrame() -> toFrameIfNotDetached()
1733         - retrievePerContextData() -> perContextDataForCurrentWorld()
1734
1735         No tests. No change in behavior.
1736
1737         * bindings/v8/BindingState.cpp:
1738         (WebCore::activeDOMWindow):
1739         (WebCore::firstDOMWindow):
1740         (WebCore::activeFrame):
1741         (WebCore::firstFrame):
1742         (WebCore::currentFrame):
1743         (WebCore::currentDocument):
1744         * bindings/v8/PageScriptDebugServer.cpp:
1745         (WebCore::retrieveFrameWithGlobalObjectCheck):
1746         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
1747         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
1748         * bindings/v8/V8Binding.cpp:
1749         (WebCore::retrieveWindow):
1750         (WebCore):
1751         (WebCore::retrieveFrame):
1752         (WebCore::retrievePerContextData):
1753         * bindings/v8/V8Binding.h:
1754         (WebCore):
1755         * bindings/v8/V8DOMWrapper.cpp:
1756         (WebCore::V8DOMWrapper::constructorForType):
1757         * bindings/v8/V8NPUtils.cpp:
1758         (WebCore::convertV8ObjectToNPVariant):
1759         * bindings/v8/V8Proxy.cpp:
1760         (WebCore::V8Proxy::handleOutOfMemory):
1761         (WebCore::V8Proxy::context):
1762         (WebCore::V8Proxy::matchesCurrentContext):
1763         * bindings/v8/V8Proxy.h:
1764         (V8Proxy):
1765
1766 2012-08-20  Abhishek Arya  <inferno@chromium.org>
1767
1768         Yank an unneccessary if added in r125810.
1769         https://bugs.webkit.org/show_bug.cgi?id=85804
1770
1771         Reviewed by Levi Weintraub.
1772
1773         * rendering/RenderBlockLineLayout.cpp:
1774         (WebCore::RenderBlock::layoutInlineChildren):
1775
1776 2012-08-20  James Robinson  <jamesr@chromium.org>
1777
1778         [chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
1779         https://bugs.webkit.org/show_bug.cgi?id=94544
1780
1781         Reviewed by Adrienne Walker.
1782
1783         GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
1784         layer, it may be unsafe to touch the old value. It's also completely unnecessary.
1785
1786         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1787         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1788         (WebCore::GraphicsLayerChromium::setContentsToImage):
1789         (WebCore::GraphicsLayerChromium::setContentsTo):
1790         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1791         * platform/graphics/chromium/GraphicsLayerChromium.h:
1792
1793 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1794
1795         [V8] Move collectGarbage() from ScriptController to V8GCController
1796         https://bugs.webkit.org/show_bug.cgi?id=94455
1797
1798         Reviewed by Adam Barth.
1799
1800         - This patch moves collectGarbage() from ScriptController to V8GCController.
1801         - This patch makes collectGarbage() a static method.
1802         - This patch removes ScriptController::lowMemoryNotification()
1803         since it is not used at all.
1804
1805         No tests. No change in behavior.
1806
1807         * bindings/v8/ScriptController.cpp:
1808         * bindings/v8/ScriptController.h:
1809         * bindings/v8/V8GCController.cpp:
1810         (WebCore::V8GCController::collectGarbage):
1811         (WebCore):
1812         * bindings/v8/V8GCController.h:
1813         (V8GCController):
1814
1815 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1816
1817         [V8] Remove V8Proxy from V8IsolatedContext
1818         https://bugs.webkit.org/show_bug.cgi?id=94450
1819
1820         Reviewed by Adam Barth.
1821
1822         This patch removes dependency on V8Proxy from V8IsolatedContext.
1823
1824         No tests. No change in behavior.
1825
1826         * bindings/v8/ScriptController.cpp:
1827         (WebCore::ScriptController::evaluateInIsolatedWorld):
1828         * bindings/v8/V8IsolatedContext.cpp:
1829         (WebCore::V8IsolatedContext::V8IsolatedContext):
1830         * bindings/v8/V8IsolatedContext.h:
1831         (WebCore):
1832         (V8IsolatedContext):
1833
1834 2012-08-20  Philip Rogers  <pdr@google.com>
1835
1836         Canvas drawImage() should draw SVG at the correct scale.
1837         https://bugs.webkit.org/show_bug.cgi?id=94377
1838
1839         Previously, drawing SVG in canvas would render at the incorrect scale
1840         because imageSizeForRenderer did not take into account the page scale.
1841         After this patch, we now incorporate the page scale in
1842         CachedImage::imageSizeForRenderer().
1843
1844         Reviewed by Tim Horton.
1845
1846         Test: svg/as-image/svg-as-image-canvas.html
1847
1848         * loader/cache/CachedImage.cpp:
1849         (WebCore::CachedImage::imageSizeForRenderer):
1850
1851 2012-08-20  Simon Fraser  <simon.fraser@apple.com>
1852
1853         Assertion going back to results.html page from an image diff result
1854         https://bugs.webkit.org/show_bug.cgi?id=94143
1855
1856         Reviewed by Adam Barth.
1857
1858         Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
1859         ScriptCachedFrameData::restore(), as we may have already done this
1860         in ScriptController::clearWindowShell(). This avoids an assertion
1861         on some platforms when going Back to the test results page from
1862         a diff image.
1863
1864         * bindings/js/ScriptCachedFrameData.cpp:
1865         (WebCore::ScriptCachedFrameData::restore):
1866
1867 2012-08-20  Dean Jackson  <dino@apple.com>
1868
1869         [WebGL] OES_vertex_array_object is not correctly un/binding or deleting
1870         https://bugs.webkit.org/show_bug.cgi?id=94029
1871
1872         Reviewed by Ken Russell.
1873
1874         When the currently bound vertex array is deleted, the specification says that
1875         the default object should be bound in its place. Also, binding a null object
1876         as a vertex array was not actually clearing the bound object at the GL layer.
1877         And lastly, it should not be possible to bind a deleted vertex array.
1878
1879         The test case for this is the public Khronos WebGL conformance suite, in particular:
1880         conformance/extensions/oes-vertex-array-object.html
1881
1882         * html/canvas/OESVertexArrayObject.cpp:
1883         (WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
1884         currently bound, and if so, unbind it.
1885         (WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
1886         array that has been marked as deleted.
1887         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1888         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
1889         do need to call glBindVertexArrayAPPLE with a null value in order to clear it.
1890
1891 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1892
1893         [V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
1894         https://bugs.webkit.org/show_bug.cgi?id=94459
1895
1896         Reviewed by Adam Barth.
1897
1898         To kill V8Proxy, we can move clearForClose() and
1899         clearForNavigation() from V8Proxy to ScriptController.
1900
1901         No tests. No change in behavior.
1902
1903         * bindings/v8/ScriptController.cpp:
1904         (WebCore::ScriptController::~ScriptController):
1905         (WebCore::ScriptController::resetIsolatedWorlds):
1906         (WebCore):
1907         (WebCore::ScriptController::clearForClose):
1908         (WebCore::ScriptController::clearForNavigation):
1909         (WebCore::ScriptController::clearWindowShell):
1910         * bindings/v8/ScriptController.h:
1911         (ScriptController):
1912         * bindings/v8/V8Proxy.cpp:
1913         (WebCore::V8Proxy::~V8Proxy):
1914         (WebCore::V8Proxy::handleOutOfMemory):
1915         * bindings/v8/V8Proxy.h:
1916         (V8Proxy):
1917
1918 2012-08-20  Dirk Schulze  <krit@webkit.org>
1919
1920         CSS Masking and CSS Filters applied in wrong order
1921         https://bugs.webkit.org/show_bug.cgi?id=94354
1922
1923         Reviewed by Dean Jackson.
1924
1925         According to the Filter Effects spec, the order should be first filters, then masking and clipping.
1926         Changed the order on applying the different effects in RenderLayer.
1927
1928         Test: css3/filters/filter-mask-clip-order.html
1929
1930         * rendering/RenderLayer.cpp:
1931         (WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.
1932
1933 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1934
1935         [V8] Move mainWorldContext() from V8Proxy to ScriptController
1936         https://bugs.webkit.org/show_bug.cgi?id=94453
1937
1938         Reviewed by Adam Barth.
1939
1940         This patch moves mainWorldContext() from V8Proxy to ScriptController.
1941         In addition, this patch removes dependency on V8Proxy from WorldContextHandle.
1942
1943         No tests. No change in behavior.
1944
1945         * bindings/v8/DOMTransaction.cpp:
1946         (WebCore::DOMTransaction::callFunction):
1947         * bindings/v8/NPV8Object.cpp:
1948         (WebCore::toV8Context):
1949         * bindings/v8/ScriptController.cpp:
1950         (WebCore::ScriptController::evaluate):
1951         (WebCore::ScriptController::mainWorldContext):
1952         (WebCore):
1953         (WebCore::ScriptController::bindToWindowObject):
1954         (WebCore::createScriptObject):
1955         (WebCore::ScriptController::createScriptObjectForPluginElement):
1956         * bindings/v8/ScriptController.h:
1957         (ScriptController):
1958         * bindings/v8/ScriptState.cpp:
1959         (WebCore::mainWorldScriptState):
1960         * bindings/v8/V8LazyEventListener.cpp:
1961         (WebCore::V8LazyEventListener::prepareListenerObject):
1962         * bindings/v8/V8Proxy.cpp:
1963         (WebCore::V8Proxy::context):
1964         (WebCore::toV8Context):
1965         * bindings/v8/V8Proxy.h:
1966         (V8Proxy):
1967         * bindings/v8/WorldContextHandle.cpp:
1968         (WebCore::WorldContextHandle::adjustedContext):
1969         * bindings/v8/WorldContextHandle.h:
1970         (WebCore):
1971         (WorldContextHandle):
1972
1973 2012-08-20  Adam Klein  <adamk@chromium.org>
1974
1975         Remove redundant TOUCH_LISTENER event type
1976         https://bugs.webkit.org/show_bug.cgi?id=94524
1977
1978         Reviewed by Ryosuke Niwa.
1979
1980         Code that needs to determine whether there are touch listeners
1981         can instead call Document::touchEventHandlerCount(), added in r107832.
1982         TOUCH_LISTENER didn't fit very well into the hasListenerType() model
1983         anyway, as there's not a 1:1 correspondance between the enum value and
1984         an event.
1985
1986         * dom/Document.cpp:
1987         (WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
1988         the bookkeeping for TOUCH_LISTENER, and the notification into
1989         ChromeClient (which is handled by calls to didAddTouchEventHandler in
1990         all the places that call addListenerTypeIfNeeded).
1991         (WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
1992         * dom/Document.h:
1993         * history/CachedFrame.cpp:
1994         (WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
1995         * html/HTMLInputElement.cpp:
1996         (WebCore::HTMLInputElement::updateType): ditto
1997         * page/EventHandler.cpp:
1998         (WebCore::EventHandler::handleTouchEvent): ditto
1999         * page/Frame.cpp:
2000         (WebCore::Frame::setDocument): ditto
2001         * testing/Internals.cpp: Remove hasTouchEventListener method since its
2002         data source no longer exists.
2003         * testing/Internals.h: ditto
2004         (Internals):
2005         * testing/Internals.idl: ditto
2006
2007 2012-08-16  James Robinson  <jamesr@chromium.org>
2008
2009         [chromium] Change WebLayer from a concrete type to a pure virtual interface
2010         https://bugs.webkit.org/show_bug.cgi?id=94174
2011
2012         Reviewed by Adrienne Walker.
2013
2014         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
2015         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
2016         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
2017         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
2018         m_transformLayer) and assembles the final layer tree.
2019
2020         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2021         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2022         (ScrollingCoordinatorPrivate):
2023         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2024         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2025         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2026         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2027         (WebCore::scrollableLayerForGraphicsLayer):
2028         (WebCore):
2029         (WebCore::createScrollbarLayer):
2030         (WebCore::ScrollingCoordinator::setScrollLayer):
2031         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2032         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2033         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2034         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2035         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2036         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2037         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
2038         (WebCore::AcceleratedDeviceContext::clearLayer):
2039         (AcceleratedDeviceContext):
2040         (WebCore::AcceleratedDeviceContext::prepareForDraw):
2041         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2042         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2043         (WebCore::Canvas2DLayerBridge::skCanvas):
2044         (WebCore::Canvas2DLayerBridge::layer):
2045         (WebCore::Canvas2DLayerBridge::contextAcquired):
2046         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2047         (WebCore):
2048         (Canvas2DLayerBridge):
2049         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2050         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2051         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2052         (WebCore::DrawingBufferPrivate::layer):
2053         (DrawingBufferPrivate):
2054         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2055         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2056         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2057         (WebCore::GraphicsLayerChromium::updateNames):
2058         (WebCore::GraphicsLayerChromium::removeFromParent):
2059         (WebCore::GraphicsLayerChromium::setSize):
2060         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2061         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2062         (WebCore::GraphicsLayerChromium::setFilters):
2063         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2064         (WebCore::GraphicsLayerChromium::setMaskLayer):
2065         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2066         (WebCore::GraphicsLayerChromium::setOpacity):
2067         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2068         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2069         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2070         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2071         (WebCore::GraphicsLayerChromium::setContentsToImage):
2072         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2073         (WebCore):
2074         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2075         (WebCore::GraphicsLayerChromium::setContentsTo):
2076         (WebCore::GraphicsLayerChromium::addAnimation):
2077         (WebCore::GraphicsLayerChromium::pauseAnimation):
2078         (WebCore::GraphicsLayerChromium::removeAnimation):
2079         (WebCore::GraphicsLayerChromium::suspendAnimations):
2080         (WebCore::GraphicsLayerChromium::resumeAnimations):
2081         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2082         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2083         (WebCore::GraphicsLayerChromium::platformLayer):
2084         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2085         (WebCore::GraphicsLayerChromium::setDebugBorder):
2086         (WebCore::GraphicsLayerChromium::updateChildList):
2087         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2088         (WebCore::GraphicsLayerChromium::updateLayerSize):
2089         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2090         (WebCore::GraphicsLayerChromium::updateTransform):
2091         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2092         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2093         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2094         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2095         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2096         (WebCore::GraphicsLayerChromium::updateContentsRect):
2097         (WebCore::GraphicsLayerChromium::updateContentsScale):
2098         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2099         * platform/graphics/chromium/GraphicsLayerChromium.h:
2100         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2101         (WebCore::GraphicsLayerChromium::contentLayer):
2102         (GraphicsLayerChromium):
2103         (WebCore::GraphicsLayerChromium::contentsLayer):
2104         * platform/graphics/chromium/LayerChromium.cpp:
2105         (WebCore::LayerChromium::rootLayer):
2106         * platform/graphics/chromium/LayerChromium.h:
2107
2108 2012-08-20  Leandro Gracia Gil  <leandrogracia@chromium.org>
2109
2110         Move transformFriendlyBoundingBox out of Range
2111         https://bugs.webkit.org/show_bug.cgi?id=94366
2112
2113         Reviewed by Simon Fraser and Ryosuke Niwa.
2114
2115         Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
2116         However, this method should not have been added there in order to reduce the
2117         dependencies between Range and the rendering code. This patch moves it to a
2118         static method in RenderObject.
2119
2120         Tests: existing tests, no new feature added by this patch.
2121
2122         * dom/Range.cpp:
2123         * dom/Range.h:
2124         * rendering/RenderObject.cpp:
2125         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
2126         (WebCore):
2127         * rendering/RenderObject.h:
2128         (RenderObject):
2129
2130 2012-08-20  Ryosuke Niwa  <rniwa@webkit.org>
2131
2132         Replace isolate || bidi-override by isolate-override
2133         https://bugs.webkit.org/show_bug.cgi?id=89746
2134
2135         Reviewed by Levi Weintraub.
2136
2137         The combination of bidi-isolate and isolate was replaced by a single isolate-override in
2138         http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
2139         http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
2140
2141         To follow the specification change, added -webkit-isolate-override and removed the support for
2142         isolate || bidi-override, simplifying the CSS parser and serializer.
2143
2144         Test: fast/text/bidi-override-isolate.html
2145
2146         * css/CSSComputedStyleDeclaration.cpp:
2147         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
2148         constructor now.
2149         * css/CSSParser.cpp:
2150         (WebCore::CSSParser::parseValue):
2151         * css/CSSPrimitiveValueMappings.h:
2152         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
2153         primitive value instead of a primitive value of css value list.
2154         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
2155         * css/CSSValueKeywords.in: Added -webkit-isolate-override
2156         * css/StyleBuilder.cpp:
2157         (WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
2158         (WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
2159         * platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
2160         (WebCore::isIsolated):
2161         (WebCore::isOverride):
2162         * rendering/RenderBlockLineLayout.cpp:
2163         (WebCore::constructBidiRuns):
2164
2165 2012-08-20  Tony Chang  <tony@chromium.org>
2166
2167         RenderGrid children should always be RenderBoxes
2168         https://bugs.webkit.org/show_bug.cgi?id=94305
2169
2170         Reviewed by Abhishek Arya.
2171
2172         During RenderGrid::layout, we assume all the children are RenderBoxes.
2173         When removing children, if the last child is an anonymous block, we don't
2174         want to remove the anonymous block for grids. Ensure this doesn't happen
2175         by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
2176         grid can override this method).
2177
2178         Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html
2179
2180         * rendering/RenderBlock.cpp:
2181         (WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
2182         * rendering/RenderBlock.h:
2183         (WebCore::RenderBlock::canCollapseAnonymousBlockChild):
2184         (RenderBlock):
2185         * rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
2186         * rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
2187         * rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.
2188
2189 2012-08-20  Kenneth Russell  <kbr@google.com>
2190
2191         Unreviewed, rolling out r126026.
2192         http://trac.webkit.org/changeset/126026
2193         https://bugs.webkit.org/show_bug.cgi?id=94449
2194
2195         Caused assertion failure in layout test touchadjustment/context-menu.html
2196
2197         * page/TouchAdjustment.cpp:
2198         (TouchAdjustment):
2199         (WebCore::TouchAdjustment::providesContextMenuItems):
2200         (WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
2201         (WebCore::TouchAdjustment::compileSubtargetList):
2202         (WebCore::findBestClickableCandidate):
2203         (WebCore::findBestContextMenuCandidate):
2204
2205 2012-08-20  Andrew Lo  <anlo@rim.com>
2206
2207         [BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
2208         https://bugs.webkit.org/show_bug.cgi?id=94514
2209
2210         Reviewed by Rob Buis.
2211
2212         Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
2213         debug prints. Fix build warnings from prints.
2214
2215         No new tests, non-functional change.
2216
2217         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2218         (WebCore::GraphicsLayerBlackBerry::addAnimation):
2219         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
2220
2221 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
2222
2223         [JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
2224         https://bugs.webkit.org/show_bug.cgi?id=94493
2225
2226         Reviewed by Oliver Hunt.
2227
2228         Update JSC implementation for SerializedScriptValue::create() so that
2229         a DataCloneError is thrown when the input value is an unsupported
2230         object. The previous implementation was not throwing any error.
2231
2232         This change is according to the structured clone specification at:
2233         http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone
2234
2235         This also matches the corresponding V8 implementation.
2236
2237         Test: fast/events/message-port-multi.html.
2238
2239         * bindings/js/SerializedScriptValue.cpp:
2240         (WebCore::CloneSerializer::dumpIfTerminal):
2241         (WebCore::CloneSerializer::serialize):
2242         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
2243         * bindings/js/SerializedScriptValue.h:
2244
2245 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2246
2247         Unreviewed, rolling out r125884.
2248         http://trac.webkit.org/changeset/125884
2249         https://bugs.webkit.org/show_bug.cgi?id=94523
2250
2251         Appears to be causing a top crash in the Canary channel
2252         (Requested by abarth on #webkit).
2253
2254         * UseV8.cmake:
2255         * WebCore.gypi:
2256         * bindings/v8/DOMWrapperWorld.cpp:
2257         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2258         (WebCore::mainThreadNormalWorld):
2259         * bindings/v8/DOMWrapperWorld.h:
2260         (WebCore):
2261         (WebCore::DOMWrapperWorld::create):
2262         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2263         (DOMWrapperWorld):
2264         * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
2265         (WebCore):
2266         (WebCore::IsolatedWorld::IsolatedWorld):
2267         (WebCore::IsolatedWorld::~IsolatedWorld):
2268         * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
2269         (WebCore):
2270         (IsolatedWorld):
2271         (WebCore::IsolatedWorld::create):
2272         (WebCore::IsolatedWorld::count):
2273         (WebCore::IsolatedWorld::id):
2274         (WebCore::IsolatedWorld::domDataStore):
2275         * bindings/v8/V8DOMWrapper.h:
2276         (WebCore::V8DOMWrapper::getCachedWrapper):
2277         * bindings/v8/V8IsolatedContext.cpp:
2278         (WebCore::V8IsolatedContext::V8IsolatedContext):
2279         (WebCore::V8IsolatedContext::destroy):
2280         * bindings/v8/V8IsolatedContext.h:
2281         (WebCore::V8IsolatedContext::getEntered):
2282         (WebCore::V8IsolatedContext::world):
2283         (V8IsolatedContext):
2284         * bindings/v8/V8PerIsolateData.h:
2285         (WebCore::V8PerIsolateData::registerDOMDataStore):
2286         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
2287
2288 2012-08-20  Chris Rogers  <crogers@google.com>
2289
2290         Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
2291         https://bugs.webkit.org/show_bug.cgi?id=94504
2292
2293         Reviewed by Kenneth Russell.
2294
2295         AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
2296         So don't ASSERT for that case.
2297
2298         * Modules/webaudio/AudioParamTimeline.cpp:
2299         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2300
2301 2012-08-20  Ken Buchanan  <kenrb@chromium.org>
2302         Line boxes not being dirtied correctly during inline removal
2303         https://bugs.webkit.org/show_bug.cgi?id=93156
2304
2305         Reviewed by David Hyatt.
2306
2307         When two inline objects were being removed from different lineboxes
2308         in an ancestral RenderBlock, the way the RenderBlock was being marked
2309         prevented the second linebox from being marked dirty. This causes
2310         it to not get layout in the subsequent layout pass.
2311
2312         This patch causes only the descendants corresponding to actual changed
2313         lineboxes to have their ancestorLineBoxDirty bit set, rather than
2314         the RenderBlock that contains the lineboxes themselves.
2315
2316         * rendering/RenderLineBoxList.cpp:
2317         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2318
2319 2012-08-20  John Mellor  <johnme@chromium.org>
2320
2321         Text Autosizing: Only take into account block width <= document layout width.
2322         https://bugs.webkit.org/show_bug.cgi?id=93862
2323
2324         Reviewed by Kenneth Rohde Christiansen.
2325
2326         Instead of calculating the textAutosizingMultiplier purely based on the
2327         width of each block, we now work out the maximum width of the block
2328         that could be displayed onscreen at any one time, and use that value.
2329         This avoids excessive text size multiplication (there's no point making
2330         text bigger than this, since you wouldn't be able to zoom out far
2331         enough to read it!).
2332
2333         To determine the maximum onscreen block width, we take the minimum of
2334         the block width and the layoutWidth of the narrowest non-flattened
2335         ancestor frame. Flattened frames are ignored since they don't impose a
2336         hard limit on the maximum width that can be displayed, instead they can
2337         stretch to fit their contents. Note that on mobile the layoutWidth of
2338         the main frame is the fixed layout width aka viewport width.
2339
2340         In practice this caps the maximum multiplier to a value that depends
2341         on the metrics of the device. For example on a Nexus S (480 x 800px
2342         and 1.5x devicePixelRatio) with a 980px default fixed layout width,
2343         this limits the multiplier to: 980 / (480/1.5) = 3.0625
2344
2345         Most pages won't have blocks that actually hit this cap, or they will
2346         only slightly exceed it (so their multiplier will only be slightly
2347         reduced). For example it's not uncommon for desktop pages to be
2348         slightly wider than 980px, but they would have to additionally have
2349         text that spans the full width of the page for this to affect them, and
2350         even then it would merely slightly decrease their multiplier).
2351
2352         This will have more dramatic effects on the rare desktop pages which
2353         give a width=device-width (or similar) mobile viewport tag (on ports
2354         which support viewports). A follow-up patch will hopefully address this
2355         by wrapping the text in such excessively wide blocks to the layoutWidth.
2356
2357         Tests: fast/text-autosizing/narrow-iframe-flattened.html
2358                fast/text-autosizing/narrow-iframe.html
2359                fast/text-autosizing/wide-block.html
2360                fast/text-autosizing/wide-iframe.html
2361
2362         * page/FrameView.cpp:
2363         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
2364
2365             Made public and const, so can be used from TextAutosizer.
2366
2367         * rendering/TextAutosizer.cpp:
2368         (WebCore::TextAutosizer::processSubtree):
2369
2370             Computes the minimum layout width of the parent frames, as described
2371             above.
2372
2373         (WebCore::TextAutosizer::processBlock):
2374
2375             Limits used block width to this min layout width.
2376
2377 2012-08-20  Hans Wennborg  <hans@chromium.org>
2378
2379         Respect runtime flags for Device Orientation and Device Motion
2380         https://bugs.webkit.org/show_bug.cgi?id=94479
2381
2382         Reviewed by Adam Barth.
2383
2384         There are flags that allows disabling of device orientation and device
2385         motion at runtime. These flags determine the availability of the
2386         corresponding event constructors in DOMWindow.
2387
2388         However, the flags should also control the ability to add event
2389         listeners for these events, otherwise the feature can be used even if
2390         it is disabled.
2391
2392         * page/DOMWindow.cpp:
2393         (WebCore::DOMWindow::addEventListener):
2394
2395 2012-08-20  Philip Rogers  <pdr@google.com>
2396
2397         Remove incorrect getBBox() code
2398         https://bugs.webkit.org/show_bug.cgi?id=94419
2399
2400         Reviewed by Dirk Schulze.
2401
2402         SVGPathElement defines a getBBox() function that is wrong and
2403         should use objectBoundingBox(). This patch cleans this up.
2404
2405         No new tests as this is just a cleanup of old code.
2406
2407         * svg/SVGPathElement.cpp:
2408         (WebCore):
2409         * svg/SVGPathElement.h:
2410         (SVGPathElement):
2411
2412 2012-08-20  David Reveman  <reveman@chromium.org>
2413
2414         [Chromium] Schedule texture uploads based on hard-coded timer and vsync.
2415         https://bugs.webkit.org/show_bug.cgi?id=84281
2416
2417         Reviewed by James Robinson.
2418
2419         Improve interaction between vsync and texture uploads by performing
2420         uploads in smaller batches and use a hard-coded timer to emulate
2421         upload completion. This greatly reduces the chance of the compositor
2422         missing a vsync due to being busy with texture uploads.
2423
2424         The CCScheduler client is now given a time limit when told to update
2425         more resources. This time limit is passed to an instance of the
2426         CCTextureUpdateController class, which is responsible for performing
2427         texture updates until the limit is reached.
2428
2429         Unit tests: CCSchedulerTest.RequestCommit
2430                     CCTextureUpdateControllerTest.UpdateMoreTextures
2431                     CCTextureUpdateControllerTest.HasMoreUpdates
2432
2433         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2434         (WebCore::CCFrameRateController::nextTickTime):
2435         (WebCore):
2436         * platform/graphics/chromium/cc/CCFrameRateController.h:
2437         (CCFrameRateController):
2438         * platform/graphics/chromium/cc/CCScheduler.cpp:
2439         (WebCore::CCScheduler::processScheduledActions):
2440         * platform/graphics/chromium/cc/CCScheduler.h:
2441         (CCSchedulerClient):
2442         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
2443         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
2444         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
2445         (WebCore::CCTextureUpdateController::updateMoreTextures):
2446         (WebCore):
2447         (WebCore::CCTextureUpdateController::onTimerFired):
2448         (WebCore::CCTextureUpdateController::monotonicTimeNow):
2449         (WebCore::CCTextureUpdateController::updateMoreTexturesTime):
2450         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
2451         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
2452         (WebCore::CCTextureUpdateController::updateMoreTexturesNow):
2453         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
2454         (WebCore::CCTextureUpdateController::create):
2455         (CCTextureUpdateController):
2456         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2457         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2458         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2459         * platform/graphics/chromium/cc/CCThreadProxy.h:
2460
2461 2012-08-20  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2462
2463         [css3-text] Add parsing support for -webkit-text-decoration-style
2464         https://bugs.webkit.org/show_bug.cgi?id=94093
2465
2466         Reviewed by Julien Chaffraix.
2467
2468         This patch implements the "text-decoration-style" property parsing as specified
2469         in CSS3 working draft, with "-webkit-" prefix. The specification can be found
2470         here: http://dev.w3.org/csswg/css3-text/#text-decoration-style
2471
2472         Additionally, Mozilla implementation details can be found here:
2473         https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style
2474
2475         This is an individual task for bug 90958. Rendering support will be handled on a
2476         different bug.
2477
2478         Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html
2479
2480         * css/CSSComputedStyleDeclaration.cpp:
2481         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
2482         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2483         * css/CSSParser.cpp:
2484         (WebCore::CSSParser::parseValue):
2485         * css/CSSPrimitiveValueMappings.h:
2486         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
2487         * css/CSSProperty.cpp:
2488         (WebCore::CSSProperty::isInheritedProperty):
2489         * css/CSSPropertyNames.in:
2490         * css/CSSValueKeywords.in:
2491         * css/StyleBuilder.cpp:
2492         (WebCore::StyleBuilder::StyleBuilder):
2493         * css/StyleResolver.cpp:
2494         (WebCore::StyleResolver::collectMatchingRulesForList):
2495         * rendering/style/RenderStyle.cpp:
2496         (WebCore::RenderStyle::diff):
2497         * rendering/style/RenderStyle.h:
2498         * rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
2499         * rendering/style/StyleRareNonInheritedData.cpp:
2500         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
2501         (WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
2502         * rendering/style/StyleRareNonInheritedData.h:
2503         (StyleRareNonInheritedData):
2504         Added m_textDecorationStyle here as it won't be used regularly.
2505
2506 2012-08-20  Jakob Petsovits  <jpetsovits@rim.com>
2507
2508         [BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
2509         https://bugs.webkit.org/show_bug.cgi?id=94482
2510         RIM PR 184923
2511
2512         Reviewed by Yong Li.
2513
2514         BlackBerry::Platform recently made changes that ensure
2515         that MessageClient threads are being shut down correctly.
2516         A new onThreadFinished() virtual was introduced for
2517         custom clean-up functionality and can replace the
2518         atexit() handler that we previously used to flush cookies
2519         to the cookie database backingstore.
2520
2521         No new functionality, no new tests.
2522
2523         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2524         (WebCore):
2525         (WebCore::CookieDatabaseBackingStore::onThreadFinished):
2526         (WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
2527         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
2528         (CookieDatabaseBackingStore):
2529         * platform/blackberry/CookieManager.cpp:
2530         (WebCore):
2531         (WebCore::cookieManager):
2532         * platform/blackberry/CookieManager.h:
2533
2534 2012-08-20  Alexandre Elias  <aelias@google.com>
2535
2536         [chromium] Move non-GL-specific code out of LayerRendererChromium
2537         https://bugs.webkit.org/show_bug.cgi?id=93927
2538
2539         Reviewed by Adrienne Walker.
2540
2541         This patch moves most of the generic logic dealing with matrices and
2542         render passes into a new class "CCDirectRenderer" that sits between
2543         CCRenderer and LayerRendererChromium, and also publicly exposes a
2544         few other things like the UnthrottledTextureUploader.
2545
2546         The plan is for the future software compositing implementation to also
2547         derive from CCDirectRenderer, whereas the ubercompositor delegating
2548         renderer will still derive from CCRenderer.
2549
2550         No new tests (no-op refactoring).
2551
2552         * WebCore.gypi:
2553         * platform/graphics/chromium/GeometryBinding.cpp:
2554         (WebCore::GeometryBinding::GeometryBinding):
2555         * platform/graphics/chromium/GeometryBinding.h:
2556         (GeometryBinding):
2557         * platform/graphics/chromium/LayerRendererChromium.cpp:
2558         (WebCore::LayerRendererChromium::LayerRendererChromium):
2559         (WebCore::LayerRendererChromium::beginDrawingFrame):
2560         (WebCore::LayerRendererChromium::drawQuad):
2561         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2562         (WebCore::LayerRendererChromium::drawTileQuad):
2563         (WebCore::LayerRendererChromium::finishDrawingFrame):
2564         (WebCore::LayerRendererChromium::drawQuadGeometry):
2565         (WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
2566         (WebCore):
2567         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2568         (WebCore::LayerRendererChromium::enableScissorTestRect):
2569         (WebCore::LayerRendererChromium::disableScissorTest):
2570         (WebCore::LayerRendererChromium::setDrawViewportSize):
2571         (WebCore::LayerRendererChromium::makeContextCurrent):
2572         (WebCore::LayerRendererChromium::initializeSharedObjects):
2573         * platform/graphics/chromium/LayerRendererChromium.h:
2574         (LayerRendererChromium):
2575         * platform/graphics/chromium/TextureCopier.h:
2576         (TextureCopier):
2577         * platform/graphics/chromium/TextureUploader.h:
2578         (UnthrottledTextureUploader):
2579         (WebCore::UnthrottledTextureUploader::create):
2580         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
2581         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
2582         (WebCore):
2583         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
2584         (projectionMatrix):
2585         (canvasMatrix):
2586         (WebCore):
2587         (WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
2588         (WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
2589         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
2590         (WebCore::CCDirectRenderer::drawFrame):
2591         (WebCore::CCDirectRenderer::drawRenderPass):
2592         (WebCore::CCDirectRenderer::useRenderPass):
2593         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
2594         (WebCore::CCDirectRenderer::renderPassTextureSize):
2595         (WebCore::CCDirectRenderer::renderPassTextureFormat):
2596         * platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
2597         (WebCore):
2598         (CCDirectRenderer):
2599         (WebCore::CCDirectRenderer::~CCDirectRenderer):
2600         (WebCore::CCDirectRenderer::resourceProvider):
2601         (WebCore::CCDirectRenderer::CCDirectRenderer):
2602         (DrawingFrame):
2603         (WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
2604         (CachedTexture):
2605         (WebCore::CCDirectRenderer::CachedTexture::create):
2606         (WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
2607         (WebCore::CCDirectRenderer::CachedTexture::isComplete):
2608         (WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
2609         (WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
2610         (WebCore::CCDirectRenderer::quadVertexRect):
2611         (WebCore::CCDirectRenderer::quadRectTransform):
2612
2613 2012-08-20  Julien Chaffraix  <jchaffraix@webkit.org>
2614
2615         Introduce a will-be-removed-from-tree notification in RenderObject
2616         https://bugs.webkit.org/show_bug.cgi?id=94271
2617
2618         Reviewed by Abhishek Arya.
2619
2620         Following bug 93874, we have an insertion notification. This change adds the
2621         matching removal notification (willBeRemovedFromTree).
2622
2623         Refactoring covered by existing tests.
2624
2625         * rendering/RenderObjectChildList.cpp:
2626         (WebCore::RenderObjectChildList::removeChildNode):
2627         Removed the code from here and moved it below.
2628
2629         * rendering/RenderObject.cpp:
2630         (WebCore::RenderObject::willBeRemovedFromTree):
2631         * rendering/RenderObject.h:
2632         This is the base function that should be called by every instance.
2633
2634         * rendering/RenderListItem.cpp:
2635         (WebCore::RenderListItem::willBeRemovedFromTree):
2636         * rendering/RenderListItem.h:
2637         * rendering/RenderQuote.cpp:
2638         (WebCore::RenderQuote::willBeRemovedFromTree):
2639         * rendering/RenderQuote.h:
2640         * rendering/RenderRegion.cpp:
2641         (WebCore::RenderRegion::willBeRemovedFromTree):
2642         * rendering/RenderRegion.h:
2643         Overriden functions.
2644
2645 2012-08-20  Mike West  <mkwst@chromium.org>
2646
2647         CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
2648         https://bugs.webkit.org/show_bug.cgi?id=94432
2649
2650         Reviewed by Adam Barth.
2651
2652         Given a 'plugin-types' Content Security Policy directive, an 'object' or
2653         'embed' tag is blocked if it doesn't include an explicit declaration of
2654         the plugin's expected media type. This restriction should be made clear
2655         in the console warning that's generated.
2656
2657         Existing tests have been adjusted to agree with the new error string.
2658
2659         * page/ContentSecurityPolicy.cpp:
2660         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
2661             If a media type fail to match the policy's restrictions, and the
2662             declared type attribute is empty, then add another line to the
2663             console warning, espousing the virtues of explicit declaration.
2664
2665 2012-08-20  Dana Jansens  <danakj@chromium.org>
2666
2667         [chromium] Update HUD resources as a final step to drawing a frame
2668         https://bugs.webkit.org/show_bug.cgi?id=93743
2669
2670         Reviewed by Adrienne Walker.
2671
2672         The HUD should be painted as a last step, after the whole frame has been
2673         generated. This introduces a new "updateHudTexture" method on the HUD layer
2674         and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
2675         call back to this method.
2676
2677         This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
2678         texture as a final step before drawing the frame, allowing the HUD texture
2679         to contain all possible information about the current frame.
2680
2681         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
2682         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
2683         (WebCore):
2684         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
2685         (WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
2686         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
2687         (CCHeadsUpDisplayLayerImpl):
2688         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2689         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2690         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2691         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2692         (WebCore::CCLayerTreeHostImpl::drawLayers):
2693         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2694         (WebCore):
2695         (WebCore::CCLayerTreeHostImpl::setHudLayer):
2696         (WebCore::CCLayerTreeHostImpl::hudLayer):
2697         (CCLayerTreeHostImpl):
2698
2699 2012-08-20  Ian Vollick  <vollick@chromium.org>
2700
2701         [chromium] Add tracing for active composited animations
2702         https://bugs.webkit.org/show_bug.cgi?id=84210
2703
2704         Reviewed by James Robinson.
2705
2706         This patch issues the trace events from the animations. Animations will
2707         report when they start and finish on the main and impl threads (via
2708         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
2709         change state.
2710
2711         No new tests, only changes tracing behavior.
2712
2713         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
2714         (WebCore::CCActiveAnimation::CCActiveAnimation):
2715         (WebCore::CCActiveAnimation::~CCActiveAnimation):
2716         (WebCore::CCActiveAnimation::setRunState):
2717         (WebCore::CCActiveAnimation::clone):
2718         (WebCore):
2719         (WebCore::CCActiveAnimation::cloneAndInitialize):
2720         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2721         (WebCore::CCActiveAnimation::isControllingInstance):
2722         (CCActiveAnimation):
2723         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2724         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2725         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
2726         (WebCore::CCLayerAnimationController::tickAnimations):
2727
2728 2012-08-20  Bill Budge  <bbudge@chromium.org>
2729
2730         webkitfullscreenchange not fired properly in iframe.
2731         https://bugs.webkit.org/show_bug.cgi?id=93525
2732
2733         Reviewed by Adam Barth.
2734
2735         webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
2736         However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
2737         get dispatched. This change starts the event dispatch delay timer on the document where
2738         webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
2739         are dispatched, the check whether a node has been removed is changed to also check that the
2740         node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
2741         is fixed to remove unnecessary code and conform to the spec.
2742
2743         No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).
2744
2745         * dom/Document.cpp:
2746         (WebCore::Document::webkitExitFullscreen):
2747         (WebCore::Document::webkitDidExitFullScreenForElement):
2748         (WebCore::Document::fullScreenChangeDelayTimerFired):
2749
2750 2012-08-20  Yuzhu Shen  <yzshen@chromium.com>
2751
2752         [chromium] pepper plugins sometimes are shifted by 1 pixel
2753         https://bugs.webkit.org/show_bug.cgi?id=94257
2754
2755         Reviewed by Levi Weintraub.
2756
2757         Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
2758         (when converting from FloatRect to IntRect).
2759
2760         This makes sure that the optimized rendering code path of Pepper plugin
2761         (PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
2762         code path.
2763
2764         No new tests because we don't have Pepper plugin tests in WebKit.
2765
2766         * rendering/RenderWidget.cpp:
2767         (WebCore::RenderWidget::updateWidgetGeometry):
2768
2769 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
2770
2771         postMessage() in MessagePort.idl does not match spec
2772         https://bugs.webkit.org/show_bug.cgi?id=94477
2773
2774         Reviewed by Kentaro Hara.
2775
2776         Update definition of postMessage() in MessagePort.idl
2777         to match the specification at:
2778         http://www.w3.org/TR/html5/comms.html#messageport
2779
2780         The first argument should be of type 'any', not
2781         'DOMString'.
2782
2783         No new tests, no behavior change.
2784
2785         * dom/MessagePort.idl:
2786
2787 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2788
2789         Unreviewed, rolling out r125989.
2790         http://trac.webkit.org/changeset/125989
2791         https://bugs.webkit.org/show_bug.cgi?id=94485
2792
2793         "Two of the new tests always failed on Mac bots" (Requested by
2794         bradee-oh on #webkit).
2795
2796         * css/CSSComputedStyleDeclaration.cpp:
2797         (WebCore):
2798         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2799         * css/CSSParser.cpp:
2800         (WebCore::isValidKeywordPropertyAndValue):
2801         (WebCore::isKeywordPropertyID):
2802         (WebCore::CSSParser::parseValue):
2803         * css/CSSProperty.cpp:
2804         (WebCore::CSSProperty::isInheritedProperty):
2805         * css/CSSPropertyNames.in:
2806         * css/CSSValueKeywords.in:
2807         * css/StyleBuilder.cpp:
2808         (WebCore::StyleBuilder::StyleBuilder):
2809         * rendering/RenderLayer.h:
2810         (RenderLayer):
2811         * rendering/RenderLayerBacking.cpp:
2812         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2813         (WebCore):
2814         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2815         * rendering/RenderLayerBacking.h:
2816         (RenderLayerBacking):
2817         * rendering/style/RenderStyle.cpp:
2818         (WebCore::RenderStyle::diff):
2819         * rendering/style/RenderStyle.h:
2820         * rendering/style/StyleRareNonInheritedData.cpp:
2821         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2822         (WebCore::StyleRareNonInheritedData::operator==):
2823         * rendering/style/StyleRareNonInheritedData.h:
2824         (StyleRareNonInheritedData):
2825
2826 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2827
2828         [Qt] Custom tap-highlight-color renders fully opaque
2829         https://bugs.webkit.org/show_bug.cgi?id=94468
2830
2831         Reviewed by Kenneth Rohde Christiansen.
2832
2833         Adjust the default tap-highlight-color to figure in that is will be
2834         drawn semi-transparent.
2835
2836         * rendering/RenderTheme.h:
2837         (RenderTheme):
2838
2839 2012-08-20  Andrey Adaikin  <aandrey@chromium.org>
2840
2841         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
2842         https://bugs.webkit.org/show_bug.cgi?id=88973
2843
2844         Reviewed by Pavel Feldman.
2845
2846         Added the following protocol methods to communicate with the WebGL injected
2847         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
2848
2849         * inspector/CodeGeneratorInspector.py:
2850         * inspector/InjectedScriptWebGLModule.cpp:
2851         (WebCore::InjectedScriptWebGLModule::captureFrame):
2852         (WebCore):
2853         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
2854         (WebCore::InjectedScriptWebGLModule::getTraceLog):
2855         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
2856         * inspector/InjectedScriptWebGLModule.h:
2857         (InjectedScriptWebGLModule):
2858         * inspector/Inspector.json:
2859         * inspector/InspectorController.cpp:
2860         (WebCore::InspectorController::InspectorController):
2861         * inspector/InspectorWebGLAgent.cpp:
2862         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2863         (WebCore::InspectorWebGLAgent::dropTraceLog):
2864         (WebCore):
2865         (WebCore::InspectorWebGLAgent::captureFrame):
2866         (WebCore::InspectorWebGLAgent::getTraceLog):
2867         (WebCore::InspectorWebGLAgent::replayTraceLog):
2868         * inspector/InspectorWebGLAgent.h:
2869         (WebCore):
2870         (WebCore::InspectorWebGLAgent::create):
2871         (InspectorWebGLAgent):
2872
2873 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2874
2875         [TouchAdjustment] Adjust to word or selection
2876         https://bugs.webkit.org/show_bug.cgi?id=94449
2877
2878         Reviewed by Antonio Gomes.
2879
2880         Makes each separate word a separate subtarget when context menu triggers
2881         selections, and only the selected part of a partial selected node a 
2882         target when selections are not overridden.
2883
2884         Test: touchadjustment/context-menu-text-subtargets.html
2885
2886         * page/TouchAdjustment.cpp:
2887         (TouchAdjustment):
2888         (WebCore::TouchAdjustment::providesContextMenuItems):
2889         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
2890         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
2891         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
2892         (WebCore::TouchAdjustment::compileSubtargetList):
2893         (WebCore::findBestClickableCandidate):
2894         (WebCore::findBestContextMenuCandidate):
2895
2896 2012-08-20  Xan Lopez  <xlopez@igalia.com>
2897
2898         [GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
2899         https://bugs.webkit.org/show_bug.cgi?id=94464
2900
2901         Reviewed by Carlos Garcia Campos.
2902
2903         Provide a compatibility method to access the new 'overset'
2904         property through the old 'overflow' name in
2905         WebKitDOMWebKitNamedFlow. Note that trying to access it through
2906         g_object_get directly will give a runtime warning, since the
2907         property does not actually exist anymore; this is done purely to
2908         maintain API compatibility.
2909
2910         * bindings/gobject/WebKitDOMCustom.cpp:
2911         (webkit_dom_webkit_named_flow_get_overflow): add method.
2912         * bindings/gobject/WebKitDOMCustom.h:
2913
2914 2012-08-20  Sami Kyostila  <skyostil@chromium.org>
2915
2916         [chromium] Convert screen space scroll gestures to layer space
2917         https://bugs.webkit.org/show_bug.cgi?id=92499
2918
2919         Reviewed by James Robinson.
2920
2921         Scroll gestures should be converted from screen space to local layer space to
2922         correctly apply the scroll delta to page scaled and/or transformed layers.
2923         Visually this means that the scrolled content will always follow the user's
2924         finger for any "well-formed" layer transform.
2925
2926         Wheel scroll deltas will still be directly interpreted as local layer scroll
2927         coordinates.
2928
2929         We also adjust the logic for propagating ("bubbling") scroll events to parent
2930         layers. Previously a parent layer was allowed to scroll in the screen-space
2931         axis orthogonal to the direction the starting layer scrolled toward. For
2932         example if a vertically scrolling layer is scrolled diagonally down and right,
2933         the layer moves down and its parent to the right.
2934
2935         This patch generalizes this behavior to non-axis aligned transformed layers so
2936         that the scrolling direction of any parent is constrained to be perpendicular
2937         direction of movement of the starting layer. This makes the scrolling behavior
2938         of transformed layers physically plausible. For instance, assume a 45 degree
2939         rotated, vertically scrollable layer. Dragging your finger vertically
2940         (relative to the layer) scrolls the layer up and down, while horizontal
2941         movement results in the parent of the layer moving in a corresponding way.
2942
2943         Since generally users want to scroll a single layer in one direction, this
2944         patch also introduces a rule that if the resulting movement of a layer is
2945         within 45 degrees of the original scroll input, the bubbling process is
2946         stopped. This makes it possible to reliably scroll a single layer without
2947         affecting any of its parents.
2948
2949         Added new unit tests:
2950             CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
2951             CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
2952             CCLayerTreeHostImplTest.scrollScaledLayer
2953             CCMathUtilTest.smallestAngleBetweenVectors
2954             CCMathUtilTest.vectorProjection
2955
2956         * platform/graphics/chromium/cc/CCInputHandler.h:
2957         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2958         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2959         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2960         (WebCore::scrollLayerWithScreenSpaceDelta):
2961         (WebCore):
2962         (WebCore::scrollLayerWithLocalDelta):
2963         (WebCore::CCLayerTreeHostImpl::scrollBy):
2964         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2965         (CCLayerTreeHostImpl):
2966         * platform/graphics/chromium/cc/CCMathUtil.cpp:
2967         (WebCore::CCMathUtil::smallestAngleBetweenVectors):
2968         (WebCore):
2969         (WebCore::CCMathUtil::projectVector):
2970         * platform/graphics/chromium/cc/CCMathUtil.h:
2971         (CCMathUtil):
2972
2973 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2974
2975         [GTK] Add API to set preferred languages to WebKit2 GTK+
2976         https://bugs.webkit.org/show_bug.cgi?id=90878
2977
2978         Unreviewed. Fix mac build.
2979
2980         * WebCore.exp.in: Export WebCore::languageDidChange().
2981
2982 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2983
2984         Web Inspector: improve standalone test harness to allow attaching to inspector before test.
2985         https://bugs.webkit.org/show_bug.cgi?id=94426
2986
2987         Reviewed by Vsevolod Vlasov.
2988
2989         - User can not "Debug", attach inspector to the front-end and "Continue" test execution.
2990         - You can also assign filter from the query parameter.
2991
2992         * inspector/front-end/test-runner.html:
2993
2994 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2995
2996         Web Inspector: load scripts panel lazily
2997         https://bugs.webkit.org/show_bug.cgi?id=94416
2998
2999         Reviewed by Vsevolod Vlasov.
3000
3001         - removes access to WebInspector.panels.scripts and loads it lazily.
3002         - extracts classes to their own files when classes residing in one file belong to different modules
3003         - removes StylesPanel.js in favor of the actual classes it contains 
3004
3005         * WebCore.gypi:
3006         * WebCore.vcproj/WebCore.vcproj:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * inspector/compile-front-end.py:
3009         * inspector/front-end/AdvancedSearchController.js:
3010         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
3011         * inspector/front-end/BreakpointsSidebarPane.js:
3012         * inspector/front-end/FilteredItemSelectionDialog.js:
3013         * inspector/front-end/InspectorFrontendAPI.js:
3014         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
3015         (InspectorFrontendAPI.setDebuggingEnabled):
3016         * inspector/front-end/NativeBreakpointsSidebarPane.js: Added.
3017         (WebInspector.NativeBreakpointsSidebarPane):
3018         (WebInspector.NativeBreakpointsSidebarPane.prototype._addListElement):
3019         (WebInspector.NativeBreakpointsSidebarPane.prototype._removeListElement):
3020         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
3021         * inspector/front-end/ObjectPropertiesSection.js:
3022         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
3023         * inspector/front-end/ScriptSnippetModel.js:
3024         * inspector/front-end/ScriptsPanel.js:
3025         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
3026         * inspector/front-end/SnippetJavaScriptSourceFrame.js: Added.
3027         (WebInspector.SnippetJavaScriptSourceFrame):
3028         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
3029         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
3030         * inspector/front-end/StyleSheetOutlineDialog.js: Added.
3031         (WebInspector.StyleSheetOutlineDialog):
3032         (WebInspector.StyleSheetOutlineDialog.show):
3033         (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
3034         (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
3035         (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
3036         (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
3037         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
3038         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
3039         (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
3040         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
3041         * inspector/front-end/StyleSource.js: Renamed from Source/WebCore/inspector/front-end/StylesPanel.js.
3042         (WebInspector.StylesUISourceCodeProvider):
3043         (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
3044         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
3045         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
3046         (WebInspector.StylesUISourceCodeProvider.prototype._populate):
3047         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
3048         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
3049         (WebInspector.StyleSource):
3050         (WebInspector.StyleSource.prototype.isEditable):
3051         (WebInspector.StyleSource.prototype.workingCopyCommitted):
3052         (WebInspector.StyleSource.prototype.workingCopyChanged):
3053         (WebInspector.StyleSource.prototype._callOrSetTimeout):
3054         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
3055         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
3056         (WebInspector.InspectorStyleSource):
3057         * inspector/front-end/WebKit.qrc:
3058         * inspector/front-end/inspector.html:
3059         * inspector/front-end/inspector.js:
3060         (WebInspector._panelDescriptors):
3061         (WebInspector._registerShortcuts):
3062         (WebInspector.documentKeyDown):
3063         (WebInspector._showAnchorLocation):
3064
3065 2012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
3066
3067         [EFL] Get rid of pango backend support once harfbuzz-ng is working
3068         https://bugs.webkit.org/show_bug.cgi?id=92102
3069
3070         Reviewed by Kenneth Rohde Christiansen.
3071
3072         Removing support for Pango complex font rendering now that we HarfBuzz.
3073
3074         No new tests, no change in behavior.
3075
3076         * PlatformEfl.cmake: Removing Pango specific includes and libraries.
3077
3078 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
3079
3080         Web Inspector: prepare scripts panel to be lazily loaded
3081         https://bugs.webkit.org/show_bug.cgi?id=94423
3082
3083         Reviewed by Vsevolod Vlasov.
3084
3085         - makes scripts panel read workspace data upon creation
3086         - moves pause on script state management into the debugger model
3087         - updates frontend API to use debugger model, not scripts panel
3088
3089         * inspector/front-end/DebuggerModel.js:
3090         (WebInspector.DebuggerModel.prototype.debuggerEnabled):
3091         (WebInspector.DebuggerModel.prototype.disableDebugger):
3092         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
3093         (WebInspector.DebuggerModel.prototype._pauseOnExceptionStateChanged):
3094         (WebInspector.DebuggerModel.prototype.get _debuggerWasDisabled):
3095         * inspector/front-end/InspectorFrontendAPI.js:
3096         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
3097         (InspectorFrontendAPI.setDebuggingEnabled):
3098         * inspector/front-end/ScriptsPanel.js:
3099         (WebInspector.ScriptsPanel):
3100         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
3101         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
3102         (WebInspector.ScriptsPanel.prototype._reset):
3103         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
3104         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3105         (WebInspector.ScriptsPanel.prototype._enableDebugging):
3106         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
3107         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
3108         * inspector/front-end/inspector.js:
3109         (WebInspector.documentKeyDown):
3110
3111 2012-08-20  Robin Cao  <robin.cao@torchmobile.com.cn>
3112
3113         [BlackBerry] Adapt to changes in the platform media player API
3114         https://bugs.webkit.org/show_bug.cgi?id=94329
3115         PR #194237
3116
3117         Reviewed by Antonio Gomes.
3118
3119         The interface to platform's media player has changed from MMRPlayer
3120         to PlatformPlayer. This patch adapts to this change.
3121
3122         And we also decided to postpone the creation of PlatformPlayer until
3123         the loading started. This is needed because we may create different
3124         types of player for different media sources.
3125
3126         This is a refactor, no new tests.
3127
3128         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3129         (WebCore::MediaPlayerPrivate::getSupportedTypes):
3130         (WebCore::MediaPlayerPrivate::supportsType):
3131         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
3132         (WebCore::MediaPlayerPrivate::setCertificatePath):
3133         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3134         (WebCore::MediaPlayerPrivate::load):
3135         (WebCore::MediaPlayerPrivate::cancelLoad):
3136         (WebCore::MediaPlayerPrivate::prepareToPlay):
3137         (WebCore::MediaPlayerPrivate::play):
3138         (WebCore::MediaPlayerPrivate::pause):
3139         (WebCore::MediaPlayerPrivate::naturalSize):
3140         (WebCore::MediaPlayerPrivate::hasVideo):
3141         (WebCore::MediaPlayerPrivate::hasAudio):
3142         (WebCore::MediaPlayerPrivate::duration):
3143         (WebCore::MediaPlayerPrivate::currentTime):
3144         (WebCore::MediaPlayerPrivate::seek):
3145         (WebCore::MediaPlayerPrivate::setRate):
3146         (WebCore::MediaPlayerPrivate::paused):
3147         (WebCore::MediaPlayerPrivate::setVolume):
3148         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
3149         (WebCore::MediaPlayerPrivate::buffered):
3150         (WebCore::MediaPlayerPrivate::paint):
3151         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
3152         (WebCore::MediaPlayerPrivate::movieLoadType):
3153         (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
3154         (WebCore::MediaPlayerPrivate::updateStates):
3155         (WebCore):
3156         (WebCore::MediaPlayerPrivate::onStateChanged):
3157         (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
3158         (WebCore::MediaPlayerPrivate::onError):
3159         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
3160         (WebCore::MediaPlayerPrivate::showErrorDialog):
3161         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
3162         (MediaPlayerPrivate):
3163
3164 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3165
3166         [V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
3167         https://bugs.webkit.org/show_bug.cgi?id=94446
3168
3169         Reviewed by Adam Barth.
3170
3171         To kill V8Proxy, we can move contextDebugId() and setContextDebugId()
3172         from V8Proxy to ScriptController.
3173
3174         No tests. No change in behavior.
3175
3176         * bindings/v8/ScriptController.cpp:
3177         (WebCore::ScriptController::setContextDebugId):
3178         (WebCore):
3179         (WebCore::ScriptController::contextDebugId):
3180         * bindings/v8/ScriptController.h:
3181         (ScriptController):
3182         * bindings/v8/V8IsolatedContext.cpp:
3183         (WebCore::V8IsolatedContext::V8IsolatedContext):
3184         * bindings/v8/V8Proxy.cpp:
3185         * bindings/v8/V8Proxy.h:
3186         (V8Proxy):
3187
3188 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3189
3190         [V8] Move V8Proxy::newInstance() to V8ObjectConstructor
3191         https://bugs.webkit.org/show_bug.cgi?id=94443
3192
3193         Reviewed by Adam Barth.
3194
3195         To kill V8Proxy, this patch moves V8Proxy::newInstance() to
3196         V8ObjectConstructor::newInstanceInFrame().
3197         In addition, this patch does the following things:
3198
3199         - For consistency with V8ObjectConstructor::newInstanceInFrame(),
3200         this patch inserts an if(v8::V8::IsDead()) check to just after
3201         Function::NewInstance(). The check is done by V8Binding::assertIfV8IsDead().
3202
3203         - To avoid #include circular dependency, this patch de-inline
3204         V8ObjectConstructor::newInstance()s. I didn't observe any perf regression.
3205         I don't think these methods are worth being inlined, because
3206         these methods call Function::NewInstance(), which is not inlined
3207         and calls a bunch of heavy mehtods in V8.
3208
3209         No tests. No change in behavior.
3210
3211         * bindings/v8/NPV8Object.cpp:
3212         (_NPN_Construct):
3213         * bindings/v8/V8Binding.cpp:
3214         (WebCore::assertIfV8IsDead):
3215         (WebCore):
3216         * bindings/v8/V8Binding.h:
3217         (WebCore):
3218         * bindings/v8/V8ObjectConstructor.cpp:
3219         (WebCore::V8ObjectConstructor::newInstance):
3220         (WebCore):
3221         (WebCore::V8ObjectConstructor::newInstanceInFrame):
3222         * bindings/v8/V8ObjectConstructor.h:
3223         (WebCore):
3224         (V8ObjectConstructor):
3225         * bindings/v8/V8Proxy.cpp:
3226         (WebCore::V8Proxy::runScript):
3227         (WebCore::V8Proxy::instrumentedCallFunction):
3228
3229 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3230
3231         [V8] Move V8Proxy::m_extensions to ScriptController
3232         https://bugs.webkit.org/show_bug.cgi?id=94444
3233
3234         Reviewed by Adam Barth.
3235
3236         To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.
3237         This patch also renames extensions() to registeredExtensions() for clarification.
3238
3239         No tests. No change in behavior.
3240
3241         * bindings/v8/ScriptController.cpp:
3242         (WebCore::ScriptController::registeredExtensions):
3243         (WebCore):
3244         (WebCore::ScriptController::registerExtensionIfNeeded):
3245         * bindings/v8/ScriptController.h:
3246         (WebCore):
3247         (ScriptController):
3248         * bindings/v8/V8DOMWindowShell.cpp:
3249         (WebCore::V8DOMWindowShell::createNewContext):
3250         * bindings/v8/V8Proxy.cpp:
3251         * bindings/v8/V8Proxy.h:
3252         (WebCore):
3253         (V8Proxy):
3254
3255 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
3256
3257         Web Inspector: toolbar causes 8 reflows upon opening
3258         https://bugs.webkit.org/show_bug.cgi?id=94422
3259
3260         Reviewed by Yury Semikhatsky.
3261
3262         Toolbar's overflow code causes inspector to do 8 reflows upon opening.
3263         Fixing it via introducing batch toolbar update.
3264
3265         * inspector/front-end/Toolbar.js:
3266         (WebInspector.Toolbar):
3267         (WebInspector.Toolbar.prototype.setCoalescingUpdate):
3268         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
3269         * inspector/front-end/inspector.css:
3270         (body.compact .toolbar-icon):
3271         (body.compact .toolbar-icon.custom-toolbar-icon):
3272         (body.compact .toolbar-item:active .toolbar-icon):
3273         (body.compact .toolbar-label):
3274         (body.compact .toolbar-item.resources .toolbar-icon):
3275         (body.compact .toolbar-item.network .toolbar-icon):
3276         (body.compact .toolbar-item.scripts .toolbar-icon):
3277         (body.compact .toolbar-item.timeline .toolbar-icon):
3278         (body.compact .toolbar-item.profiles .toolbar-icon):
3279         (body.compact .toolbar-item.audits .toolbar-icon):
3280         (body.compact .toolbar-item.console .toolbar-icon):
3281         * inspector/front-end/inspector.js:
3282         (WebInspector.get _setCompactMode):
3283         (WebInspector.windowResize):
3284
3285 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3286
3287         [V8] Replace proxy()->windowShell() in ScriptController with windowShell()
3288         https://bugs.webkit.org/show_bug.cgi?id=94445
3289
3290         Reviewed by Adam Barth.
3291
3292         Now ScriptController owns windowShell. So ScriptController doesn't
3293         need to get windowShell through V8Proxy.
3294
3295         No tests. No change in behavior.
3296
3297         * bindings/v8/ScriptController.cpp:
3298         (WebCore::ScriptController::updateSecurityOrigin):
3299         (WebCore::ScriptController::haveInterpreter):
3300         (WebCore::ScriptController::enableEval):
3301         (WebCore::ScriptController::disableEval):
3302         (WebCore::ScriptController::updateDocument):
3303         (WebCore::ScriptController::namedItemAdded):
3304         (WebCore::ScriptController::namedItemRemoved):
3305
3306 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3307
3308         [V8] Move V8Proxy::callFunction() to ScriptController
3309         https://bugs.webkit.org/show_bug.cgi?id=94437
3310
3311         Reviewed by Adam Barth.
3312
3313         To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.
3314
3315         No tests. No change in behavior.
3316
3317         * bindings/v8/DOMTransaction.cpp:
3318         (WebCore::DOMTransaction::callFunction):
3319         * bindings/v8/NPV8Object.cpp:
3320         (_NPN_Invoke):
3321         (_NPN_InvokeDefault):
3322         * bindings/v8/ScheduledAction.cpp:
3323         (WebCore::ScheduledAction::execute):
3324         * bindings/v8/ScheduledAction.h:
3325         (WebCore):
3326         (ScheduledAction):
3327         * bindings/v8/ScriptController.cpp:
3328         (WebCore::ScriptController::callFunction):
3329         (WebCore):
3330         (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
3331         * bindings/v8/ScriptController.h:
3332         (ScriptController):
3333         * bindings/v8/V8EventListener.cpp:
3334         (WebCore::V8EventListener::callListenerFunction):
3335         * bindings/v8/V8LazyEventListener.cpp:
3336         (WebCore::V8LazyEventListener::callListenerFunction):
3337         * bindings/v8/V8Proxy.cpp:
3338         * bindings/v8/V8Proxy.h:
3339         (V8Proxy):
3340         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3341         (WebCore::V8HTMLDocument::openCallback):
3342
3343 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
3344
3345         [Forms] Set SpinButtonElement free from HTMLInputElement
3346         https://bugs.webkit.org/show_bug.cgi?id=93941
3347
3348         Reviewed by Kent Tamura.
3349
3350         This patch removes dependency to HTMLInputElement from SpinButtonElement.
3351
3352         Functionalities used to be calling HTMLInputElement functions are
3353         replaced to calling functions SpinButtonOwner class.
3354
3355         * html/TextFieldInputType.cpp:
3356         (WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
3357         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
3358         (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
3359         * html/TextFieldInputType.h:
3360         (TextFieldInputType):
3361         * html/TimeInputType.cpp:
3362         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
3363         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
3364         * html/TimeInputType.h:
3365         * html/shadow/DateTimeEditElement.cpp:
3366         (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
3367         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
3368         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
3369         * html/shadow/DateTimeEditElement.h:
3370         (EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
3371         (DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
3372         * html/shadow/SpinButtonElement.cpp:
3373         (WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
3374         (WebCore::SpinButtonElement::forwardEvent): ditto
3375         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
3376         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
3377         (WebCore::SpinButtonElement::step): ditto
3378         (WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
3379         * html/shadow/SpinButtonElement.h:
3380         (SpinButtonOwner): Added new virtual function declarations.
3381         (SpinButtonElement):
3382
3383 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
3384
3385         [Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
3386         https://bugs.webkit.org/show_bug.cgi?id=94439
3387
3388         Reviewed by Kent Tamura.
3389
3390         This patch disabled CSS selector for Firefox compatibility applied to
3391         multiple fields time input UI, because it is supposed to apply text
3392         field rather than multiple fields.
3393
3394         This patch allows us to have same appearance among Chromium-Linux,
3395         Mac and Win.
3396
3397         No new tests. Following existing tests cover this change:
3398           fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
3399           fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
3400           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
3401           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
3402           fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
3403
3404         * css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
3405         enabled.
3406
3407 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3408
3409         [V8] Rename SafeAllocation to V8ObjectConstructor
3410         https://bugs.webkit.org/show_bug.cgi?id=94436
3411
3412         Reviewed by Adam Barth.
3413
3414         For clarification.
3415
3416         No tests. No change in behavior.
3417
3418         * UseV8.cmake:
3419         * WebCore.gypi:
3420         * bindings/v8/ScriptFunctionCall.cpp:
3421         (WebCore::ScriptFunctionCall::construct):
3422         * bindings/v8/V8Binding.cpp:
3423         (WebCore::createRawTemplate):
3424         * bindings/v8/V8Binding.h:
3425         * bindings/v8/V8DOMWindowShell.cpp:
3426         (WebCore::V8DOMWindowShell::installDOMWindow):
3427         * bindings/v8/V8DOMWrapper.cpp:
3428         (WebCore::V8DOMWrapper::instantiateV8Object):
3429         * bindings/v8/V8NPObject.cpp:
3430         (WebCore::createV8ObjectForNPObject):
3431         * bindings/v8/V8ObjectConstructor.cpp: Renamed from Source/WebCore/bindings/v8/SafeAllocation.cpp.
3432         (WebCore):
3433         (WebCore::V8ObjectConstructor::isValidConstructorMode):
3434         * bindings/v8/V8ObjectConstructor.h: Renamed from Source/WebCore/bindings/v8/SafeAllocation.h.
3435         (WebCore):
3436         (ConstructorMode):
3437         (WebCore::ConstructorMode::ConstructorMode):
3438         (WebCore::ConstructorMode::~ConstructorMode):
3439         (WebCore::ConstructorMode::current):
3440         (V8ObjectConstructor):
3441         (WebCore::V8ObjectConstructor::newInstance):
3442         * bindings/v8/V8PerContextData.cpp:
3443         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
3444         * bindings/v8/WorkerContextExecutionProxy.cpp:
3445         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3446         * bindings/v8/custom/V8InjectedScriptManager.cpp:
3447         (WebCore::createInjectedScriptHostV8Wrapper):
3448         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3449         (WebCore::toV8):
3450         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3451         (WebCore::toV8):
3452
3453 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3454
3455         [V8] Move m_windowShell from V8Proxy to ScriptController
3456         https://bugs.webkit.org/show_bug.cgi?id=94438
3457
3458         Reviewed by Adam Barth.
3459
3460         m_windowShell should be owned by ScriptController.
3461         After this change, I can move a bunch of V8Proxy methods
3462         that access windowShell() from V8Proxy to ScriptController.