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