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