ea5d966e49b09f6fe6d89e68d55e03d59b27026c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
2
3         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
4         https://bugs.webkit.org/show_bug.cgi?id=111505
5
6         Unreviewed minimal build fix.
7
8         * css/StyleResolver.cpp:
9         (WebCore::StyleResolver::applyProperty):
10         Put CSSPropertyWebkitWrap under the proper if-guard.
11
12 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
13
14         Unreviewed follow up to r144928: front-end closure compilation fixes.
15
16         * inspector/front-end/FilteredItemSelectionDialog.js:
17         (WebInspector.JavaScriptOutlineDialog.prototype.dispose):
18         (WebInspector.OpenResourceDialog.prototype.dispose):
19         * inspector/front-end/StyleSheetOutlineDialog.js:
20         (WebInspector.StyleSheetOutlineDialog.prototype.dispose):
21
22 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
23
24         Web Inspector: Update open resource dialog when new uiSourceCodes are loaded.
25         https://bugs.webkit.org/show_bug.cgi?id=111327
26
27         Reviewed by Pavel Feldman.
28
29         * inspector/front-end/FilteredItemSelectionDialog.js:
30         (WebInspector.FilteredItemSelectionDialog):
31         (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
32         (WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
33         (WebInspector.FilteredItemSelectionDialog.prototype._updateAfterItemsLoaded):
34         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
35         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
36         (WebInspector.SelectionDialogContentProvider.prototype.dispose):
37         (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
38         (WebInspector.OpenResourceDialog):
39         (WebInspector.OpenResourceDialog.prototype.requestItems):
40         (WebInspector.OpenResourceDialog.prototype._filterUISourceCode):
41         (WebInspector.OpenResourceDialog.prototype._uiSourceCodeAdded):
42         (WebInspector.OpenResourceDialog.prototype.dispose):
43         * inspector/front-end/StyleSheetOutlineDialog.js:
44         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
45         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
46
47 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
48
49         Web Inspector: Move sidebar-specific styles to a separate file.
50         https://bugs.webkit.org/show_bug.cgi?id=111173
51
52         Reviewed by Pavel Feldman.
53
54         * WebCore.gypi:
55         * inspector/front-end/BreakpointsSidebarPane.js:
56         (WebInspector.JavaScriptBreakpointsSidebarPane):
57         (WebInspector.EventListenerBreakpointsSidebarPane):
58         * inspector/front-end/NativeBreakpointsSidebarPane.js:
59         (WebInspector.NativeBreakpointsSidebarPane):
60         * inspector/front-end/SidebarPane.js:
61         (WebInspector.SidebarPaneTitle):
62         (WebInspector.SidebarPaneStack):
63         (WebInspector.SidebarTabbedPane):
64         * inspector/front-end/WebKit.qrc:
65         * inspector/front-end/breakpointsList.css: Added.
66         (.sidebar-pane > .body .breakpoint-condition):
67         (#breakpoint-condition-input):
68         (ol.breakpoint-list):
69         (.breakpoints-list-deactivated):
70         (.breakpoint-list li):
71         (.breakpoint-list li:hover):
72         (.breakpoint-list .checkbox-elem):
73         (.breakpoint-list .source-text):
74         (.sidebar-pane .breakpoint-hit):
75         (li.breakpoint-hit .breakpoint-hit-marker):
76         (.event-listener-breakpoints .event-category):
77         (.event-listener-breakpoints.properties-tree .children li):
78         (.event-listener-breakpoints .checkbox-elem):
79         * inspector/front-end/elementsPanel.css:
80         (.panel.elements .sidebar-pane-toolbar > select):
81         (.panel.elements .sidebar-pane-toolbar > select:hover):
82         (.panel.elements .sidebar-pane-toolbar > select:active):
83         (.panel.elements .sidebar-pane-toolbar > select.select-settings):
84         (.panel.elements .sidebar-pane-toolbar > select.select-filter):
85         (.panel.elements .sidebar-pane-toolbar > select > option, .panel.elements .sidebar-pane-toolbar > select > hr):
86         * inspector/front-end/inspector.css:
87         (.event-bar .event-properties):
88         * inspector/front-end/scriptsPanel.css:
89         (.workers-list > li):
90         (a.worker-item):
91         (a.worker-item:hover):
92         * inspector/front-end/sidebarPane.css: Added.
93         (.sidebar-pane):
94         (.sidebar-pane > .body):
95         (.sidebar-pane > .body .info):
96         (.sidebar-pane > .body .placard + .info):
97         (.sidebar-pane.visible > .body):
98         (.sidebar-pane .section .properties):
99         (.sidebar-tabbed-pane .tabbed-pane-header):
100         (.sidebar-pane-stack > .sidebar-pane.visible:nth-last-of-type(1)):
101         (.sidebar-pane-title):
102         (.sidebar-pane-title + .sidebar-pane-title, .pane:not(.visible) + .sidebar-pane-title, .sidebar-pane-title:first-of-type):
103         (.sidebar-pane-title:active):
104         (.sidebar-pane-title::before):
105         (.sidebar-pane-title.expanded::before):
106         (.sidebar-pane-toolbar):
107         (.sidebar-pane-toolbar > *):
108         (.sidebar-pane-toolbar > .pane-title-button):
109         (.sidebar-pane-toolbar > .pane-title-button:hover):
110         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
111         (.sidebar-pane-toolbar > .pane-title-button.add):
112         (.sidebar-pane-toolbar > .pane-title-button.element-state):
113         (.sidebar-pane-toolbar > .pane-title-button.refresh):
114         (.sidebar-pane-subtitle):
115         (body.platform-windows .sidebar-pane-subtitle):
116         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
117
118 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
119
120         Web Inspector: Combine style-related panes into a single tab when Elements panel is split horizontally.
121         https://bugs.webkit.org/show_bug.cgi?id=111550
122         Reviewed by Pavel Feldman.
123
124         Grouping the Elements sidebar panes into two tabbed panes proved to be
125         confusing and inconvenient. Put all the Elements sidebar panes into a single tabbed pane.
126         Combined Styles, Computed Style and Metrics into a single pane.
127
128         * inspector/front-end/ElementsPanel.js:
129         (WebInspector.ElementsPanel.prototype._splitVertically):
130         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
131         * inspector/front-end/elementsPanel.css:
132         (.sidebar-pane.composite):
133         (.sidebar-pane.composite > .body):
134         (.sidebar-pane.composite .metrics):
135         (.sidebar-pane.composite .sidebar-pane-toolbar):
136         (.sidebar-pane.composite .sidebar-pane-toolbar > .sidebar-pane-subtitle):
137         (.sidebar-pane.composite .styles-section.read-only):
138
139 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
140
141         Web Inspector: support stable remote object ids
142         https://bugs.webkit.org/show_bug.cgi?id=109908
143
144         Reviewed by Pavel Feldman.
145
146         Introduced a map from javascript object to its id. It guarantees
147         that object is assined id only once (unless it is explicitely
148         released). The map is per execution context and is stored in
149         InjectedScriptManager.
150
151         Test: inspector-protocol/persistent-id.html
152
153         * bindings/js/JSInjectedScriptHostCustom.cpp:
154         (WebCore::JSInjectedScriptHost::objectId):
155         (WebCore):
156         (WebCore::JSInjectedScriptHost::releaseObjectId):
157         * bindings/js/ScriptObject.h:
158         (WTF):
159         (WTF::ScriptObjectHash::hash):
160         (WTF::ScriptObjectHash::equal):
161         (ScriptObjectHash):
162         * bindings/v8/ScriptObject.h:
163         (WTF):
164         (WTF::ScriptObjectHash::hash):
165         (WTF::ScriptObjectHash::equal):
166         (ScriptObjectHash):
167         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
168         (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
169         (WebCore):
170         (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
171         * inspector/InjectedScriptHost.cpp:
172         (WebCore::InjectedScriptHost::create):
173         (WebCore::InjectedScriptHost::InjectedScriptHost):
174         (WebCore::InjectedScriptHost::disconnect):
175         (WebCore::InjectedScriptHost::objectId):
176         (WebCore):
177         (WebCore::InjectedScriptHost::releaseObjectId):
178         * inspector/InjectedScriptHost.h:
179         (WebCore):
180         (InjectedScriptHost):
181         * inspector/InjectedScriptHost.idl:
182         * inspector/InjectedScriptManager.cpp:
183         (InjectedScriptManager::ObjectIdMap):
184         (WebCore::InjectedScriptManager::ObjectIdMap::ObjectIdMap):
185         (WebCore::InjectedScriptManager::ObjectIdMap::objectId):
186         (WebCore::InjectedScriptManager::ObjectIdMap::releaseObjectId):
187         (WebCore):
188         (WebCore::InjectedScriptManager::InjectedScriptManager):
189         (WebCore::InjectedScriptManager::discardInjectedScripts):
190         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
191         (WebCore::InjectedScriptManager::objectId):
192         (WebCore::InjectedScriptManager::releaseObjectId):
193         * inspector/InjectedScriptManager.h:
194         (InjectedScriptManager):
195         * inspector/InjectedScriptSource.js:
196         (.):
197
198 2013-03-06  Marja Hölttä  <marja@chromium.org>
199
200         REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
201         https://bugs.webkit.org/show_bug.cgi?id=111565
202
203         Reviewed by Jochen Eisinger.
204
205         In toDOMWindow, the variable "global" was first nuked, and then used again. This
206         change was introduced in r144617.
207
208         No new tests (no functional changes).
209
210         * bindings/v8/V8Binding.cpp:
211         (WebCore::toDOMWindow):
212
213 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
214
215         Web Inspector: use regular eval instead of injectScript for front-end extension API
216         https://bugs.webkit.org/show_bug.cgi?id=111529
217
218         Reviewed by Pavel Feldman.
219
220         Removed InjectedScriptManager::injectScript and replaced all of it calls
221         except the actual script injection with ScriptController::executeScript.
222
223         * inspector/InjectedScriptManager.cpp:
224         (WebCore::InjectedScriptManager::injectedScriptFor):
225         * inspector/InjectedScriptManager.h:
226         (InjectedScriptManager):
227         * inspector/InspectorAgent.cpp:
228         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
229         * inspector/InspectorPageAgent.cpp:
230         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
231         * inspector/front-end/DOMAgent.js:
232         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
233         * inspector/front-end/ExtensionAPI.js:
234         (buildExtensionAPIInjectedScript):
235         * inspector/front-end/ExtensionServer.js:
236         (WebInspector.ExtensionServer.prototype._onReload):
237
238 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
239
240         [Qt] Do not disable C++0x
241         https://bugs.webkit.org/show_bug.cgi?id=111559
242
243         Reviewed by Kenneth Rohde Christiansen.
244
245         * WebCore.pri:
246
247 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
248
249         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
250         https://bugs.webkit.org/show_bug.cgi?id=111505
251
252         Reviewed by Alexis Menard.
253
254         The CSS parsing code expands shorthands (with the exception of 'font') to their longhands.
255         This means that all the code in StyleResolver / StyleBuilder to handle shorthands is basically
256         dead and shouldn't be there. The reason for it to be is that people didn't know about shorthands
257         expansion and thus copied existing code.
258
259         This change addresses both issues by removing the code and adding ASSERTs that should prevent people
260         from adding more dead code.
261
262         Refactoring, covered by existing tests.
263
264         * css/StylePropertyShorthand.h: Added isExpandedShorthand.
265         * css/StylePropertyShorthand.cpp:
266         (WebCore::isExpandedShorthand):
267         Added this function that ignores 'font' as it is the only shorthand that is no consistently expanded
268         to account for system fonts.
269
270         * css/StyleBuilder.cpp:
271         (WebCore::StyleBuilder::StyleBuilder):
272         Removed the shorthands.
273
274         * css/StyleBuilder.h:
275         (WebCore::StyleBuilder::setPropertyHandler):
276         Added ASSERTs that people don't add shorthand handling.
277
278         * css/StyleResolver.cpp:
279         (WebCore::isValidVisitedLinkProperty):
280         Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
281         triggers).
282
283         (WebCore::StyleResolver::applyProperty):
284         Removed all shorthand handling code, moved the shorthands together and added some ASSERT
285         to ensure people don't abuse the code and re-add some of it back by mistake.
286
287 2013-03-05  Kent Tamura  <tkent@chromium.org>
288
289         Rename WebCore/editing/visible_units.* to VisibleUnits.*
290         https://bugs.webkit.org/show_bug.cgi?id=111426
291
292         Reviewed by Alexey Proskuryakov.
293
294         No new tests. Just a refactoring.
295
296         * CMakeLists.txt:
297         * GNUmakefile.list.am:
298         * Target.pri:
299         * WebCore.gypi:
300         * WebCore.vcproj/WebCore.vcproj:
301         * WebCore.vcxproj/WebCore.vcxproj:
302         * WebCore.vcxproj/WebCore.vcxproj.filters:
303         * WebCore.xcodeproj/project.pbxproj:
304         * accessibility/AccessibilityNodeObject.cpp:
305         * accessibility/AccessibilityObject.cpp:
306         * accessibility/AccessibilityRenderObject.cpp:
307         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
308         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
309         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
310         * dom/Position.cpp:
311         * dom/Range.cpp:
312         * editing/AlternativeTextController.cpp:
313         * editing/ApplyBlockElementCommand.cpp:
314         * editing/ApplyStyleCommand.cpp:
315         * editing/CompositeEditCommand.cpp:
316         * editing/DeleteSelectionCommand.cpp:
317         * editing/EditingAllInOne.cpp:
318         * editing/EditingStyle.cpp:
319         * editing/Editor.cpp:
320         * editing/FormatBlockCommand.cpp:
321         * editing/FrameSelection.cpp:
322         * editing/IndentOutdentCommand.cpp:
323         * editing/InsertLineBreakCommand.cpp:
324         * editing/InsertListCommand.cpp:
325         * editing/InsertParagraphSeparatorCommand.cpp:
326         * editing/InsertTextCommand.cpp:
327         * editing/ReplaceSelectionCommand.cpp:
328         * editing/SurroundingText.cpp:
329         * editing/TextCheckingHelper.cpp:
330         * editing/TextIterator.cpp:
331         * editing/TypingCommand.cpp:
332         * editing/VisiblePosition.cpp:
333         * editing/VisibleSelection.cpp:
334         * editing/VisibleUnits.cpp: Copied from Source/WebCore/editing/visible_units.cpp.
335         * editing/VisibleUnits.h: Copied from Source/WebCore/editing/visible_units.h.
336         * editing/htmlediting.cpp:
337         * editing/markup.cpp:
338         * editing/visible_units.cpp: Removed.
339         * editing/visible_units.h: Removed.
340         * page/Frame.cpp:
341         * page/mac/FrameMac.mm:
342         * platform/win/EditorWin.cpp:
343
344 2013-03-06  Alexis Menard  <alexis@webkit.org>
345
346         Do not add CSSPropertyBorderImage shorthand part of the property list when parsing CSS border property
347         https://bugs.webkit.org/show_bug.cgi?id=111481
348
349         Reviewed by Julien Chaffraix.
350
351         After http://trac.webkit.org/changeset/135848 and more generally we do not 
352         add shorthand directly into the property list used afterwards to build
353         StylePropertySet but we rather expand the shorthand to add the
354         longhands. CSSPropertyBorderImage is a shorthand and it should follow
355         that rule, so when we successfully parsed CSS border property and we
356         should reset border-image then we should reset the longhands too.
357
358         Test: LayoutTests/inspector/styles/styles-new-API-expected.txt which
359         reflects the fact that we add longhands instead of the shorthand. All
360         the other tests should not regress.
361
362         * css/CSSParser.cpp:
363         (WebCore::CSSParser::parseValue):
364
365 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
366
367         Accelerated overflow scrolling for Coordinated Graphics.
368         https://bugs.webkit.org/show_bug.cgi?id=110323
369
370         Reviewed by Noam Rosenthal.
371
372         A scroll offset is applied to individual layers on UI process and the
373         web process is notified assynchronously.
374         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
375
376         Tests will be added on bug #111140.
377
378         Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
379
380         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
381         (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
382         (WebCore):
383         (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
384         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
385         (ScrollingCoordinatorCoordinatedGraphics):
386
387         GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
388         them to its TextureMapperLayer on the appropriated time.
389
390         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
391         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
392         (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
393         (WebCore):
394         (WebCore::GraphicsLayerTextureMapper::setIsScrollable):
395         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
396         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
397         (WebCore::GraphicsLayerTextureMapper::setScrollClient):
398         (WebCore::GraphicsLayerTextureMapper::setID):
399         (GraphicsLayerTextureMapper):
400         (WebCore::GraphicsLayerTextureMapper::isScrollable):
401
402         TextureMapperLayer is responsible for applying the requested scroll offset and for
403         sending the commit messages to web process. It is also able to hittest layers and identify
404         the ones that are scrollable.
405
406         * platform/graphics/texmap/TextureMapperLayer.cpp:
407         (WebCore::TextureMapperLayer::hitTest):
408         (WebCore):
409         (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
410         (WebCore::TextureMapperLayer::findScrollableContentsLayerAt):
411         (WebCore::TextureMapperLayer::mapScrollOffset):
412         (WebCore::TextureMapperLayer::commitScrollOffset):
413         (WebCore::TextureMapperLayer::scrollBy):
414         (WebCore::TextureMapperLayer::didCommitScrollOffset):
415         * platform/graphics/texmap/TextureMapperLayer.h:
416         (TextureMapperLayer):
417         (ScrollingClient):
418         (WebCore::TextureMapperLayer::TextureMapperLayer):
419         (WebCore::TextureMapperLayer::setID):
420         (WebCore::TextureMapperLayer::id):
421         (WebCore::TextureMapperLayer::setScrollClient):
422         (WebCore::TextureMapperLayer::setIsScrollable):
423         (WebCore::TextureMapperLayer::isScrollable):
424         (WebCore::TextureMapperLayer::adjustedPosition):
425
426         CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
427
428         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
429         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
430         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
431         (WebCore):
432         (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
433         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
434         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
435         (WebCore):
436         (CoordinatedGraphicsLayer):
437         (WebCore::CoordinatedGraphicsLayer::isScrollable):
438
439         CoordinatedGraphicsScene receives the commit messages from TextureMapperLayer and
440         dispatches them on the main thread. It also has a new method that is used to find
441         the topmost scrollable layer at a given point.
442
443         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
444         (WebCore::CoordinatedGraphicsScene::setLayerState):
445         (WebCore::CoordinatedGraphicsScene::createLayer):
446         (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
447         (WebCore):
448         (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
449         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
450         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
451         (WebCore):
452         (CoordinatedGraphicsSceneClient):
453         (CoordinatedGraphicsScene):
454
455         New fields have been added to CoordinatedGraphicsLayerState.
456
457         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
458         (CoordinatedGraphicsLayerState):
459
460 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
461
462         REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
463         https://bugs.webkit.org/show_bug.cgi?id=109291
464
465         Reviewed by Kenneth Rohde Christiansen.
466
467         Report we support fixed layers.
468
469         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
470         (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
471         (ScrollingCoordinatorCoordinatedGraphics):
472
473 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
474
475         Unreviewed, rolling out r144859.
476         http://trac.webkit.org/changeset/144859
477         https://bugs.webkit.org/show_bug.cgi?id=111519
478
479         Introduced a test that calls non-exist function on non-
480         Chromium ports and crash on Chromium (Requested by rniwa on
481         #webkit).
482
483         * html/HTMLAudioElement.h:
484         (WebCore::HTMLAudioElement::hasPendingActivity):
485         (HTMLAudioElement):
486         * html/HTMLAudioElement.idl:
487         * html/HTMLMediaElement.cpp:
488         (WebCore::HTMLMediaElement::hasPendingActivity):
489         * html/HTMLMediaElement.idl:
490
491 2013-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
492
493         Web Inspector: Could not open Profiles panel.
494         https://bugs.webkit.org/show_bug.cgi?id=111535
495
496         Reviewed by Alexander Pavlov.
497
498         * inspector/front-end/CPUProfileView.js:
499         * inspector/front-end/ProfilesPanel.js:
500
501 2013-03-06  Tony Chang  <tony@chromium.org>
502
503         Crash during middle mouse click when page is removed
504         https://bugs.webkit.org/show_bug.cgi?id=111489
505
506         Reviewed by Hajime Morrita.
507
508         Check for a null page that can happen if we remove the document from the DOM.
509         The other methods in EventHandler also check for a null page.
510
511         Test: editing/pasteboard/selection-paste-crash.html
512
513         * page/EventHandler.cpp:
514         (WebCore::EventHandler::handlePasteGlobalSelection):
515
516 2013-03-05  Eric Seidel  <eric@webkit.org>
517
518         Replace shouldLazyAttach bool with an enum for readability
519         https://bugs.webkit.org/show_bug.cgi?id=111503
520
521         Reviewed by Dimitri Glazkov.
522
523         No behavioral change.
524
525         * bindings/cpp/WebDOMNodeCustom.cpp:
526         (WebDOMNode::insertBefore):
527         (WebDOMNode::replaceChild):
528         (WebDOMNode::appendChild):
529         * bindings/js/JSNodeCustom.cpp:
530         (WebCore::JSNode::insertBefore):
531         (WebCore::JSNode::replaceChild):
532         (WebCore::JSNode::appendChild):
533         * bindings/v8/custom/V8NodeCustom.cpp:
534         (WebCore):
535         (WebCore::V8Node::insertBeforeMethodCustom):
536         (WebCore::V8Node::replaceChildMethodCustom):
537         (WebCore::V8Node::appendChildMethodCustom):
538         * dom/ContainerNode.cpp:
539         (WebCore):
540         (WebCore::ContainerNode::insertBefore):
541         (WebCore::ContainerNode::replaceChild):
542         (WebCore::ContainerNode::appendChild):
543         (WebCore::updateTreeAfterInsertion):
544         * dom/ContainerNode.h:
545         (ContainerNode):
546         * dom/Node.cpp:
547         (WebCore::Node::insertBefore):
548         (WebCore::Node::replaceChild):
549         (WebCore::Node::appendChild):
550         * dom/Node.h:
551         (Node):
552         * editing/AppendNodeCommand.cpp:
553         (WebCore::AppendNodeCommand::doApply):
554         * editing/InsertNodeBeforeCommand.cpp:
555         (WebCore::InsertNodeBeforeCommand::doApply):
556         * html/shadow/MediaControlsApple.cpp:
557         (WebCore::MediaControlsApple::createControls):
558         * html/shadow/MediaControlsBlackBerry.cpp:
559         (WebCore::MediaControlsBlackBerry::createControls):
560         * html/shadow/MediaControlsChromium.cpp:
561         (WebCore::MediaControlsChromium::initializeControls):
562         * html/shadow/MediaControlsChromiumAndroid.cpp:
563         (WebCore::MediaControlsChromiumAndroid::createControls):
564
565 2013-03-05  Hajime Morrita  <morrita@google.com>
566
567         Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
568         https://bugs.webkit.org/show_bug.cgi?id=111523
569
570         Reviewed by Kentaro Hara.
571
572         This change removes CustomElementConstructor::m_name and renames
573         m_tagName to m_name. Now generated function name is same as interface name.
574
575         Originally, m_name was added to specify the generated constructor
576         name. An early version of custom element allows to give the name,
577         but it no longer says anything about that.
578
579         The rename is to align the semantics of type extension mechanism
580         of Custom Elements, where the name of a custom element isn't
581         necessarily a tag name.
582
583         No new tests. Just removing old code.
584
585         * bindings/scripts/CodeGeneratorV8.pm:
586         (GenerateHeader):
587         * dom/CustomElementConstructor.cpp:
588         (WebCore::CustomElementConstructor::create):
589         (WebCore::CustomElementConstructor::CustomElementConstructor):
590         (WebCore::CustomElementConstructor::createElement):
591         * dom/CustomElementConstructor.h:
592         (CustomElementConstructor):
593         (WebCore::CustomElementConstructor::name):
594         * dom/CustomElementRegistry.cpp:
595         (WebCore::CustomElementRegistry::registerElement):
596
597 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
598
599         Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.
600         https://bugs.webkit.org/show_bug.cgi?id=111442
601
602         Reviewed by Yury Semikhatsky.
603
604         FlameChart is a canvas so it is not possible to attach the popover to the items on it.
605         It would be a bit tricky to support an offset due to complex behaviour of the popover.
606         The simplest solution is to create a fake anchor element and move it to the right position.
607
608         * inspector/front-end/FlameChart.js:
609         (WebInspector.FlameChart):
610         (WebInspector.FlameChart.prototype._getPopoverAnchor):
611         (WebInspector.FlameChart.prototype._showPopover):
612         (WebInspector.FlameChart.prototype._onMouseMove):
613         (WebInspector.FlameChart.prototype.findNodeCallback):
614         (WebInspector.FlameChart.prototype._coordinatesToNode):
615         (WebInspector.FlameChart.prototype.onResize):
616         * inspector/front-end/flameChart.css:
617         (.flame-chart .item-anchor):
618
619 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
620
621         Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
622
623         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
624         (WebCore::CoordinatedGraphicsScene::setLayerState):
625         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
626         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
627
628 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
629
630         Autoreleased cached pages slow down the PLT by 2%
631         https://bugs.webkit.org/show_bug.cgi?id=111522
632
633         Reviewed by Filip Pizlo.
634
635         Let's stop doing that.
636
637         2% PLT speedup.
638
639         * history/PageCache.cpp:
640         (WebCore::PageCache::remove):
641
642 2013-03-05  Hayato Ito  <hayato@chromium.org>
643
644         [Shadow] Implements event re-targeting for Touch Events.
645         https://bugs.webkit.org/show_bug.cgi?id=107800
646
647         Reviewed by Dimitri Glazkov.
648
649         So far, Touch Events have been intentionally disabled in shadow
650         tree since it allows users to access internal nodes in shadow tree
651         by accessing Touch Event's information.
652
653         This patch re-targets all individual touch point's target in
654         TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
655         before the Touch Event is dispatched so that we won't break an
656         upper boundary of shadow DOM.
657
658         Touch Events re-targeting is similar to that of Mouse Events
659         re-targeting. The difference is that a Touch Event can have more
660         than one related target because of multiple touches. We must
661         re-target all individual touch points which can be referred from
662         the Touch Event.
663
664         Now, Touch Events can be fired in shadow tree. I've removed the
665         existing limitation.
666
667         Test: fast/dom/shadow/touch-event-retargeting.html
668
669         * dom/EventContext.cpp:
670         (WebCore::EventContext::isTouchEventContext):
671         (WebCore):
672         (WebCore::TouchEventContext::TouchEventContext):
673         (WebCore::TouchEventContext::~TouchEventContext):
674         (WebCore::TouchEventContext::handleLocalEvents):
675         (WebCore::TouchEventContext::isTouchEventContext):
676         (WebCore::TouchEventContext::checkReachability):  Used for assertion of reachability for each Touch point.
677         * dom/EventContext.h:
678         (WebCore):
679         (EventContext):
680         (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
681         (WebCore::TouchEventContext::touches):
682         (WebCore::TouchEventContext::targetTouches):
683         (WebCore::TouchEventContext::changedTouches):
684         (WebCore::EventContext::isReachable):
685         * dom/EventRetargeter.cpp:
686         (WebCore::EventRetargeter::calculateEventPath):
687         (WebCore::EventRetargeter::adjustForTouchEvent):
688         (WebCore):
689         (WebCore::EventRetargeter::adjustTouchList):
690         (WebCore::EventRetargeter::adjustForRelatedTarget):
691         (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
692         (WebCore::EventRetargeter::buildRelatedNodeMap):
693         * dom/EventRetargeter.h:
694         (WebCore):
695         (EventRetargeter):
696         * dom/Node.cpp:
697         (WebCore::Node::dispatchEvent):
698         (WebCore):
699         (WebCore::Node::dispatchTouchEvent):
700         * dom/Node.h:
701         (WebCore):
702         (Node):
703         * dom/Touch.cpp:
704         (WebCore::Touch::Touch):
705         (WebCore):
706         (WebCore::Touch::cloneWithNewTarget):
707         * dom/Touch.h:
708         (Touch):
709         * dom/TouchEvent.cpp:
710         (WebCore::TouchEventDispatchMediator::create):
711         (WebCore):
712         (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
713         (WebCore::TouchEventDispatchMediator::event):
714         (WebCore::TouchEventDispatchMediator::dispatchEvent):
715         * dom/TouchEvent.h:
716         (TouchEvent):
717         (WebCore::TouchEvent::setTouches):
718         (WebCore::TouchEvent::setTargetTouches):
719         (WebCore::TouchEvent::setChangedTouches):
720         (TouchEventDispatchMediator):
721         (WebCore):
722         (WebCore::toTouchEvent):
723         * dom/TouchList.cpp:
724         (WebCore::TouchList::item):
725         (WebCore):
726         * dom/TouchList.h:
727         (TouchList):
728         * page/EventHandler.cpp:
729         (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
730         (WebCore::EventHandler::handleTouchEvent):
731
732 2013-03-05  Hajime Morrita  <morrita@google.com>
733
734         [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
735         https://bugs.webkit.org/show_bug.cgi?id=111411
736
737         Reviewed by Kentaro Hara.
738
739         No new tests. No observable change yet.
740
741         This is a preparation for Bug 110436, where WebKit is going to
742         allow any HTML element to be a superclass of custom elements.
743
744         This change eliminates WrapperTypeInfo for custom element. Instead
745         of that, the wrapper of a custom element picks WrapperTypeInfo
746         from most descendant built-in HTML element. For example, think about
747         following hierarchy:
748
749         - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
750
751         In this case, both ExistingCustomElement and NewCustomElement has
752         HTMLDivElememnt's type info. This is because HTMLDivElememnt is
753         the most descendant (or "the nearest") built-in HTML
754         element. (HTMLElement isn't the most descendant.
755         ExistingCustomElement isn't a built-in.)
756
757         Using such WrapperTypeInfos, created custom element wrappers can
758         get appropriate set of method and properties regardless of its
759         super-elements.
760
761         This change tells the prototype object of each built-in object
762         which WrapperTypeInfo the native backing wants:
763         HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
764         example. The pointer to the type info is stored into an internal
765         field. On wrapper construction, createWrapper() walks up the
766         prototype chain and pick the first one.
767
768         * bindings/v8/V8DOMConfiguration.cpp:
769         (WebCore::V8DOMConfiguration::configureTemplate):
770         * bindings/v8/V8HTMLCustomElement.cpp:
771         (WebCore::findWrapperTypeOf):
772         (WebCore::V8HTMLCustomElement::createWrapper):
773         * bindings/v8/V8HTMLCustomElement.h:
774         * bindings/v8/V8PerContextData.cpp:
775         (WebCore::V8PerContextData::constructorForTypeSlowCase):
776         * bindings/v8/WrapperTypeInfo.h:
777         (WebCore):
778
779 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
780
781         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
782         https://bugs.webkit.org/show_bug.cgi?id=110623
783
784         Reviewed by Eric Seidel.
785
786         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
787
788         * html/HTMLAudioElement.h:
789         (HTMLAudioElement):
790         * html/HTMLAudioElement.idl:
791         * html/HTMLMediaElement.cpp:
792         (WebCore::HTMLMediaElement::hasPendingActivity):
793         * html/HTMLMediaElement.idl:
794
795 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
796  
797         AX: Support aria-posinset/setsize
798         https://bugs.webkit.org/show_bug.cgi?id=109725
799
800         Reviewed by Tim Horton.
801
802         Expose aria-setsize and aria-posinset through accessibility.
803         Right now only the Mac platform exposes them.
804
805         Test: platform/mac/accessibility/aria-setsize-posinset.html
806
807         * accessibility/AccessibilityObject.cpp:
808         (WebCore::AccessibilityObject::supportsARIASetSize):
809         (WebCore):
810         (WebCore::AccessibilityObject::supportsARIAPosInset):
811         (WebCore::AccessibilityObject::ariaSetSize):
812         (WebCore::AccessibilityObject::ariaPosInset):
813         * accessibility/AccessibilityObject.h:
814         (AccessibilityObject):
815         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
816         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
817         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
818         * html/HTMLAttributeNames.in:
819
820
821 2013-03-05  Peter Nelson  <peter@peterdn.com>
822
823         [WinCairo] Support for cookies is incomplete
824         https://bugs.webkit.org/show_bug.cgi?id=110147
825         
826         Expired and HttpOnly cookies no longer accessible from JavaScript.
827         Cookies set in JavaScript now have correct domain/path.
828
829         Reviewed by Brent Fulgham.
830
831         Test: http/tests/cookies/http-get-cookie-set-in-js.html
832
833         * platform/network/curl/CookieJarCurl.cpp:
834         (WebCore):
835         (WebCore::addMatchingCurlCookie):
836         (WebCore::getNetscapeCookieFormat):
837         (WebCore::setCookiesFromDOM):
838         (WebCore::cookieRequestHeaderFieldValue):
839
840 2013-03-05  Alec Flett  <alecflett@chromium.org>
841
842         Fix mac clang build with long long
843         https://bugs.webkit.org/show_bug.cgi?id=111495
844
845         Unreviewed fix for mac build.
846
847         * Modules/indexeddb/IDBBackingStore.cpp:
848         (WebCore::IDBBackingStore::IDBBackingStore):
849
850 2013-03-05  Alec Flett  <alecflett@chromium.org>
851
852         Fix mac clang build with long long
853         https://bugs.webkit.org/show_bug.cgi?id=111495
854
855         Unreviewed fix for mac build.
856
857         * Modules/indexeddb/IDBBackingStore.cpp:
858         (WebCore::IDBBackingStore::IDBBackingStore):
859
860 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
861
862         Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
863         https://bugs.webkit.org/show_bug.cgi?id=111486
864
865         Reviewed by Adam Barth.
866
867         No new tests. This doesn't change user visible behavior.
868
869         * bindings/scripts/CodeGeneratorV8.pm:
870         (GenerateNamedConstructor):
871         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
872
873 2013-03-05  Shawn Singh  <shawnsingh@chromium.org>
874
875         Fix default background of a dragged image.
876         https://bugs.webkit.org/show_bug.cgi?id=110512
877
878         Reviewed by Tony Chang.
879
880         Transparent background color (particularly visible in the padding
881         of an element) was not being respected. The solution is to
882         initially fill the drag image with transparent instead of white,
883         so that any color background works correctly. This patch does not
884         affect Apple Mac or Win platforms, given that this part of the
885         code is #if guarded from those platforms.
886
887         Manual test added:
888           ManualTests/drag-background-with-padding.html
889
890         Infrastructure for retrieving the drag image for pixel testing
891         does not yet exist.
892
893         * page/Frame.cpp:
894         (WebCore::Frame::nodeImage):
895
896 2013-03-05  Emil A Eklund  <eae@chromium.org>
897
898         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
899         https://bugs.webkit.org/show_bug.cgi?id=108838
900
901         Reviewed by Levi Weintraub.
902         
903         Ensure that RenderTable::recalcSections is called when moving a
904         TableSection by calling setNeedsSectionRecalc in addChild for
905         TableSections.
906
907         Test: fullscreen/full-screen-table-section.html
908
909         * rendering/RenderTable.cpp:
910         (WebCore::RenderTable::addChild):
911
912 2013-03-05  Kenneth Russell  <kbr@google.com>
913
914         Upgrade ANGLE to r1987
915         https://bugs.webkit.org/show_bug.cgi?id=111381
916
917         Reviewed by Dean Jackson.
918
919         Covered by existing tests. Ran WebGL conformance tests in Safari
920         to ensure correct operation of patch.
921
922         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
923         (WebCore::GraphicsContext3D::GraphicsContext3D):
924         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
925         (WebCore::GraphicsContext3D::GraphicsContext3D):
926         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
927         (WebCore::GraphicsContext3D::GraphicsContext3D):
928         * platform/graphics/mac/GraphicsContext3DMac.mm:
929         (WebCore::GraphicsContext3D::GraphicsContext3D):
930         * platform/graphics/qt/GraphicsContext3DQt.cpp:
931         (WebCore::GraphicsContext3DPrivate::initializeANGLE):
932             Changed all ports to query for highp support in fragment
933             shaders and conditionally enable it in ANGLE shader translator.
934
935 2013-03-05  Alec Flett  <alecflett@chromium.org>
936
937         IndexedDB: Add IDBBackingStoreTest
938         https://bugs.webkit.org/show_bug.cgi?id=111233
939
940         Reviewed by Adam Barth.
941
942         These are tweaks to make IDBBackingStore more easily testable.
943
944         * Modules/indexeddb/IDBBackingStore.cpp:
945         (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
946
947 2013-03-04  James Robinson  <jamesr@chromium.org>
948
949         [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
950         https://bugs.webkit.org/show_bug.cgi?id=111386
951
952         Reviewed by Adrienne Walker.
953
954         This moves checks for whether threaded compositing is enabled from WebCompositorSupport
955         to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
956         the class to make it easier for tests to specify the threaded configuration to use in the test.
957
958         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
959         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
960         * platform/graphics/chromium/Canvas2DLayerBridge.h:
961         (WebCore::Canvas2DLayerBridge::create):
962         (Canvas2DLayerBridge):
963         * platform/graphics/chromium/DrawingBufferChromium.cpp:
964         (WebCore::DrawingBuffer::DrawingBuffer):
965         * platform/graphics/skia/ImageBufferSkia.cpp:
966         (WebCore::createAcceleratedCanvas):
967
968 2013-03-05  Anders Carlsson  <andersca@apple.com>
969
970         Split up the storage event dispatch functions further
971         https://bugs.webkit.org/show_bug.cgi?id=111482
972
973         Reviewed by Beth Dakin.
974
975         Add new functions for dispatching storage events to a set of frames.
976
977         * storage/StorageAreaImpl.cpp:
978         (WebCore::StorageAreaImpl::dispatchStorageEvent):
979         * storage/StorageEventDispatcher.cpp:
980         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
981         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
982         (WebCore):
983         (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
984         (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
985         * storage/StorageEventDispatcher.h:
986         (WebCore):
987         (StorageEventDispatcher):
988
989 2013-03-05  Stephen Chenney  <schenney@chromium.org>
990
991         Crash when ImageLoader deletes Element inside SVGImageElement
992         https://bugs.webkit.org/show_bug.cgi?id=111085
993
994         Reviewed by Abhishek Arya.
995
996         Elements with ImageLoader objects associated with them may have their
997         final reference held by the ImageLoader (to allow events to be sent
998         and handled). Any call on Element that causes the ImageLoader to
999         dispatch events might then result in the final deref of the Element
1000         itself, thus leaving all the Element's "this" pointers up the stack
1001         pointing to invalid memory.
1002
1003         This change puts the deref of the Element on a timer so that, if the
1004         deref is called via a method on Element, the call stack will unwind
1005         before the deref occurs.
1006
1007         Test: svg/custom/image-with-attr-change-after-delete-crash.html
1008
1009         * loader/ImageLoader.cpp:
1010         (WebCore::ImageLoader::ImageLoader): Initialize a timer
1011         (WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
1012           element on a oneShotTimer, with appropriate assertions and checks to
1013           ensure we only ref/deref once.
1014         (WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
1015         * loader/ImageLoader.h:
1016         (ImageLoader): Define a timer for controlling deref of the element.
1017
1018 2013-03-05  Antoine Quint  <graouts@apple.com>
1019
1020         Web Inspector: identify reflection layers in LayerTreeAgent
1021         https://bugs.webkit.org/show_bug.cgi?id=111419
1022
1023         We add a new property "isReflection" to the Layer objects returned
1024         to the front-end to indicate whether the layer was created to host
1025         the reflection for an element. When this new property is true, the
1026         "nodeId" property is set to point to the reflected element's node
1027         id, since there is no node per-se directly associated with this layer.
1028         We also change the "bounds" property to return absolute page coordinates
1029         such that the front-end can use this information to highlight that
1030         region in the page since metrics would otherwise be unavailable.
1031
1032         Reviewed by Dean Jackson.
1033
1034         Test: inspector-protocol/layers/layers-reflected-content.html
1035
1036         * inspector/Inspector.json:
1037         * inspector/InspectorLayerTreeAgent.cpp:
1038         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1039
1040 2013-03-05  peavo@outlook.com  <peavo@outlook.com>
1041
1042         [WinCairo] Compile fix after r144024.
1043         https://bugs.webkit.org/show_bug.cgi?id=111306
1044
1045         Reviewed by James Robinson.
1046
1047         * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
1048         * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
1049
1050 2013-03-05  James Weatherall  <wez@chromium.org>
1051
1052         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
1053         https://bugs.webkit.org/show_bug.cgi?id=85642
1054
1055         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1056
1057         Reviewed by Ojan Vafai.
1058
1059         * platform/chromium/KeyCodeConversionGtk.cpp:
1060         (WebCore::windowsKeyCodeForKeyEvent):
1061
1062 2013-03-05  Alec Flett  <alecflett@chromium.org>
1063
1064         IndexedDB: Properly refactor frontend/backend code by #includes
1065         https://bugs.webkit.org/show_bug.cgi?id=110653
1066
1067         Reviewed by Dimitri Glazkov.
1068
1069         IndexedDB has a distinct backend and frontend, with well defined
1070         *Interface / *Callbacks classes distinguishing them, respectively.
1071         
1072         This makes sure that the frontend and backend do not include each
1073         other and fixes build problems that occurred as a result.
1074
1075         Specifically this moves enums out of IDBCursor and IDBTransaction
1076         into IndexedDB.h in a new WebCore::IndexedDB namespace.
1077
1078         No new tests, as this is just a refactor.
1079
1080 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
1081
1082         Clear associated cache partitions when deleting origins' cache
1083         https://bugs.webkit.org/show_bug.cgi?id=111383
1084
1085         Reviewed by Maciej Stachowiak.
1086
1087         Clear the cache partitions associated with the origin being cleared.
1088
1089         Not possible to test with current automated test tools, must be tested manually.
1090
1091         * loader/cache/MemoryCache.cpp:
1092         (WebCore::MemoryCache::removeResourcesWithOrigin):
1093
1094 2013-03-04  Ojan Vafai  <ojan@chromium.org>
1095
1096         Inline min/maxInstrinsicLogicalWidth functions
1097         https://bugs.webkit.org/show_bug.cgi?id=111399
1098
1099         Reviewed by Tony Chang.
1100
1101         Turns out these functions don't need to be public and only
1102         have one caller. This patch is in preparation for supporting
1103         intrinsic widths on tables, which will need to pass in the
1104         border and padding width as an argument.
1105
1106         * rendering/RenderBox.cpp:
1107         (WebCore::RenderBox::fillAvailableMeasure):
1108         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1109         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1110         * rendering/RenderBox.h:
1111
1112 2013-03-05  Victor Carbune  <vcarbune@chromium.org>
1113
1114         Cue line-height property shouldn't be inherited from the video element
1115         https://bugs.webkit.org/show_bug.cgi?id=111262
1116
1117         Reviewed by Eric Carlson.
1118
1119         Test: media/track/track-cue-rendering-on-resize.html
1120
1121         * css/mediaControls.css:
1122         (video::-webkit-media-text-track-container): Set the default font size
1123         and family using the "font" property to also reset the line-height property.
1124
1125 2013-03-05  Joshua Bell  <jsbell@chromium.org>
1126
1127         IndexedDB: Remove some unused binding code
1128         https://bugs.webkit.org/show_bug.cgi?id=111463
1129
1130         Reviewed by Adam Barth.
1131
1132         IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
1133         root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
1134         remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
1135         to a ScriptValue before it gets anywhere near the binding code, so remove that too.
1136         Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.
1137
1138         No new tests - just removing dead code.
1139
1140         * Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
1141         * Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
1142         * WebCore.gypi: Ditto.
1143         * bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
1144         * bindings/v8/IDBBindingUtilities.h: Ditto.
1145         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
1146
1147 2013-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1148
1149         Unreviewed, rolling out r144798.
1150         http://trac.webkit.org/changeset/144798
1151         https://bugs.webkit.org/show_bug.cgi?id=111478
1152
1153         "broke chromium windows build" (Requested by dpranke on
1154         #webkit).
1155
1156         * GNUmakefile.list.am:
1157         * Modules/indexeddb/IDBBackingStore.cpp:
1158         (WebCore::IDBBackingStore::Cursor::continueFunction):
1159         (WebCore::objectStoreCursorOptions):
1160         (WebCore::indexCursorOptions):
1161         (WebCore::IDBBackingStore::openObjectStoreCursor):
1162         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
1163         (WebCore::IDBBackingStore::openIndexKeyCursor):
1164         (WebCore::IDBBackingStore::openIndexCursor):
1165         * Modules/indexeddb/IDBBackingStore.h:
1166         (IDBBackingStore):
1167         * Modules/indexeddb/IDBCursor.cpp:
1168         (WebCore::IDBCursor::create):
1169         (WebCore::IDBCursor::IDBCursor):
1170         (WebCore::IDBCursor::continueFunction):
1171         (WebCore::IDBCursor::stringToDirection):
1172         (WebCore::IDBCursor::directionToString):
1173         * Modules/indexeddb/IDBCursor.h:
1174         (IDBCursor):
1175         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1176         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1177         (WebCore::IDBCursorBackendImpl::deleteFunction):
1178         (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
1179         * Modules/indexeddb/IDBCursorBackendImpl.h:
1180         (WebCore::IDBCursorBackendImpl::create):
1181         (WebCore::IDBCursorBackendImpl::value):
1182         (IDBCursorBackendImpl):
1183         * Modules/indexeddb/IDBCursorBackendInterface.h:
1184         (WebCore):
1185         * Modules/indexeddb/IDBCursorWithValue.cpp:
1186         (WebCore::IDBCursorWithValue::create):
1187         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
1188         * Modules/indexeddb/IDBCursorWithValue.h:
1189         (IDBCursorWithValue):
1190         * Modules/indexeddb/IDBDatabase.cpp:
1191         (WebCore::IDBDatabase::transaction):
1192         * Modules/indexeddb/IDBDatabase.h:
1193         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1194         (WebCore::GetOperation::create):
1195         (WebCore::GetOperation::GetOperation):
1196         (GetOperation):
1197         (WebCore::OpenCursorOperation::create):
1198         (WebCore::OpenCursorOperation::OpenCursorOperation):
1199         (OpenCursorOperation):
1200         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1201         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1202         (WebCore::IDBDatabaseBackendImpl::createIndex):
1203         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
1204         (WebCore::IDBDatabaseBackendImpl::get):
1205         (WebCore::GetOperation::perform):
1206         (WebCore::IDBDatabaseBackendImpl::put):
1207         (WebCore::PutOperation::perform):
1208         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1209         (WebCore::IDBDatabaseBackendImpl::openCursor):
1210         (WebCore::OpenCursorOperation::perform):
1211         (WebCore::CountOperation::perform):
1212         (WebCore::IDBDatabaseBackendImpl::deleteRange):
1213         (WebCore::DeleteRangeOperation::perform):
1214         (WebCore::IDBDatabaseBackendImpl::clear):
1215         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
1216         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
1217         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
1218         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
1219         (WebCore::IDBDatabaseBackendImpl::createTransaction):
1220         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1221         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1222         (IDBDatabaseBackendImpl):
1223         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1224         * Modules/indexeddb/IDBFactory.h:
1225         * Modules/indexeddb/IDBIndex.cpp:
1226         (WebCore):
1227         (WebCore::IDBIndex::openCursor):
1228         (WebCore::IDBIndex::openKeyCursor):
1229         * Modules/indexeddb/IDBObjectStore.cpp:
1230         (WebCore):
1231         (WebCore::IDBObjectStore::openCursor):
1232         * Modules/indexeddb/IDBRequest.cpp:
1233         (WebCore::IDBRequest::IDBRequest):
1234         (WebCore::IDBRequest::setCursorDetails):
1235         (WebCore::IDBRequest::setResultCursor):
1236         (WebCore::IDBRequest::onSuccess):
1237         * Modules/indexeddb/IDBRequest.h:
1238         (IDBRequest):
1239         * Modules/indexeddb/IDBTransaction.cpp:
1240         (WebCore::IDBTransaction::create):
1241         (WebCore::IDBTransaction::IDBTransaction):
1242         (WebCore::IDBTransaction::stringToMode):
1243         (WebCore::IDBTransaction::modeToString):
1244         * Modules/indexeddb/IDBTransaction.h:
1245         (WebCore::IDBTransaction::isReadOnly):
1246         (WebCore::IDBTransaction::isVersionChange):
1247         (IDBTransaction):
1248         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1249         (WebCore::IDBTransactionBackendImpl::create):
1250         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1251         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1252         (IDBTransactionBackendImpl):
1253         (WebCore::IDBTransactionBackendImpl::mode):
1254         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1255         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
1256         (WebCore::IDBTransactionCoordinator::canRunTransaction):
1257         * Modules/indexeddb/IndexedDB.h: Removed.
1258         * Target.pri:
1259         * WebCore.gypi:
1260
1261 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
1262
1263         MediaStream API: Allow local and remote descriptions to be accessed after close
1264         https://bugs.webkit.org/show_bug.cgi?id=111437
1265
1266         Reviewed by Adam Barth.
1267
1268         It's quite clear in the standard that the getters should still return the old value.
1269         Also overhauling the state setters a bit to check if the new state is different.
1270
1271         Existing tests expanded to cover patch.
1272
1273         * Modules/mediastream/RTCPeerConnection.cpp:
1274         (WebCore::RTCPeerConnection::localDescription):
1275         (WebCore::RTCPeerConnection::remoteDescription):
1276         (WebCore::RTCPeerConnection::changeSignalingState):
1277         (WebCore::RTCPeerConnection::changeIceGatheringState):
1278         (WebCore::RTCPeerConnection::changeIceConnectionState):
1279
1280 2013-03-05  Charlie Reis  <creis@chromium.org>
1281
1282         Add FrameLoaderClient::didAccessInitialDocument
1283         https://bugs.webkit.org/show_bug.cgi?id=107963
1284
1285         Notifies the FrameLoaderClient if another page accesses the
1286         initial empty document of a main frame.  In this case, it is
1287         no longer safe to display the provisional URL.
1288
1289         Only takes effect for PLATFORM(CHROMIUM), since no other platforms
1290         listen to the notification.
1291
1292         Reviewed by Adam Barth.
1293
1294         * bindings/v8/V8DOMWindowShell.cpp:
1295         (WebCore::V8DOMWindowShell::setSecurityToken):
1296             Use default token for initial document.
1297         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1298             Notify loader if initial document is accessed.
1299         (WebCore::V8DOMWindow::namedSecurityCheck):
1300         (WebCore::V8DOMWindow::indexedSecurityCheck):
1301         * loader/FrameLoader.cpp:
1302         (WebCore::FrameLoader::FrameLoader):
1303         (WebCore::FrameLoader::didAccessInitialDocument):
1304         (WebCore):
1305         * loader/FrameLoader.h:
1306         (FrameLoader):
1307         * loader/FrameLoaderClient.h:
1308         (FrameLoaderClient):
1309         (WebCore::FrameLoaderClient::didAccessInitialDocument):
1310
1311 2013-03-05  Otto Derek Cheung  <otcheung@rim.com>
1312
1313         [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
1314         https://bugs.webkit.org/show_bug.cgi?id=111468
1315
1316         Reviewed by Rob Buis.
1317         Internally reviewed by Konrad Piascik.
1318
1319         The assert in getBackingStoreCookies could be giving out false positives now
1320         that we have our fixes for cookie loading in PR 286189. The cookie store could
1321         be half loaded if the first cookie get/set call happens before the db is fully loaded.
1322         A full webkit sync call to reload the database will cause the assert to be hit.
1323
1324         Safer to flush everything out and try again.
1325
1326         * platform/blackberry/CookieManager.cpp:
1327         (WebCore::CookieManager::getBackingStoreCookies):
1328
1329 2013-03-05  Tony Gentilcore  <tonyg@chromium.org>
1330
1331         CompactHTMLToken does not need an XSSInfo pointer
1332         https://bugs.webkit.org/show_bug.cgi?id=111423
1333
1334         Reviewed by Eric Seidel.
1335
1336         The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
1337         by moving a relatively uncommon attribute out to its own Vector.
1338
1339         No new tests because no new functionality.
1340
1341         * html/parser/BackgroundHTMLParser.cpp:
1342         (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
1343         (WebCore):
1344         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1345         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1346         * html/parser/BackgroundHTMLParser.h:
1347         (BackgroundHTMLParser):
1348         * html/parser/CompactHTMLToken.cpp:
1349         (SameSizeAsCompactHTMLToken):
1350         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1351         * html/parser/CompactHTMLToken.h:
1352         (WebCore):
1353         (CompactHTMLToken):
1354         * html/parser/HTMLDocumentParser.cpp:
1355         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1356         * html/parser/HTMLDocumentParser.h:
1357         (ParsedChunk):
1358         * html/parser/XSSAuditorDelegate.h:
1359         (XSSInfo):
1360         (WebCore):
1361
1362 2013-03-05  Anders Carlsson  <andersca@apple.com>
1363
1364         Split StorageEventDispatcher::dispatch into two functions
1365         https://bugs.webkit.org/show_bug.cgi?id=111464
1366
1367         Reviewed by Beth Dakin.
1368
1369         Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
1370         dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
1371         the right function based on the storage area type.
1372
1373         * storage/StorageAreaImpl.cpp:
1374         (WebCore::StorageAreaImpl::dispatchStorageEvent):
1375         * storage/StorageEventDispatcher.cpp:
1376         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
1377         (WebCore):
1378         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
1379         * storage/StorageEventDispatcher.h:
1380         (StorageEventDispatcher):
1381
1382 2013-03-05  Brent Fulgham  <bfulgham@webkit.org>
1383
1384         [WinCairo] Unreviewed build fix after r144024.
1385
1386         * page/scrolling/ScrollingCoordinator.cpp:
1387         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
1388         case of not using Accelerated Compositing
1389         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
1390         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.
1391
1392 2013-03-05  Alec Flett  <alecflett@chromium.org>
1393
1394         IndexedDB: Properly refactor frontend/backend code by #includes
1395         https://bugs.webkit.org/show_bug.cgi?id=110653
1396
1397         Reviewed by Dimitri Glazkov.
1398
1399         IndexedDB has a distinct backend and frontend, with well defined
1400         *Interface / *Callbacks classes distinguishing them, respectively.
1401         
1402         This makes sure that the frontend and backend do not include each
1403         other and fixes build problems that occurred as a result.
1404
1405         Specifically this moves enums out of IDBCursor and IDBTransaction
1406         into IndexedDB.h in a new WebCore::IndexedDB namespace.
1407
1408         No new tests, as this is just a refactor.
1409
1410 2013-03-05  James Robinson  <jamesr@chromium.org>
1411
1412         ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
1413         https://bugs.webkit.org/show_bug.cgi?id=87054
1414
1415         Reviewed by Darin Adler.
1416
1417         Adds a new ChromeClient function to query if the platform supports the immediate parameter
1418         to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
1419         with it.
1420
1421         * dom/ContainerNode.cpp:
1422         (WebCore::ContainerNode::setActive):
1423         * page/ChromeClient.h:
1424         (WebCore::ChromeClient::supportsImmediateInvalidation):
1425
1426 2013-03-05  Anders Carlsson  <andersca@apple.com>
1427
1428         Simplify storage event dispatch somewhat
1429         https://bugs.webkit.org/show_bug.cgi?id=111461
1430
1431         Reviewed by Beth Dakin.
1432
1433         Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
1434         StorageEventDispatcher::dispatch there times. This is in preparation for changing the
1435         interface of StorageEventDispatcher so it can be used by WebKit2.
1436
1437         * storage/StorageAreaImpl.cpp:
1438         (WebCore::StorageAreaImpl::setItem):
1439         (WebCore::StorageAreaImpl::removeItem):
1440         (WebCore::StorageAreaImpl::clear):
1441         (WebCore::StorageAreaImpl::dispatchStorageEvent):
1442
1443         * storage/StorageAreaImpl.h:
1444         Reindent.
1445
1446 2013-03-05  Tony Chang  <tony@chromium.org>
1447
1448         Fix some crashes in render sliders
1449         https://bugs.webkit.org/show_bug.cgi?id=111458
1450
1451         Reviewed by Ojan Vafai.
1452
1453         Fix some cases where we assumed the renderer is a renderBox.
1454
1455         Test: fast/forms/range/slider-inline-crash.html
1456
1457         * html/shadow/SliderThumbElement.cpp:
1458         (WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
1459         (WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.
1460
1461 2013-03-04  Andrew Scherkus  <scherkus@chromium.org>
1462
1463         REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
1464         https://bugs.webkit.org/show_bug.cgi?id=111109
1465
1466         Reviewed by Eric Carlson.
1467
1468         Covered by following tests:
1469         media/track/track-cue-rendering-horizontal.html
1470         media/track/track-cue-rendering-vertical.html
1471
1472         * rendering/RenderTheme.cpp:
1473         (WebCore::RenderTheme::paint):
1474         * rendering/RenderTheme.h:
1475         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
1476
1477 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
1478
1479         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
1480         https://bugs.webkit.org/show_bug.cgi?id=108294
1481
1482         Reviewed by Anders Carlsson.
1483
1484         CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
1485         CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
1486         CoordinatedGraphicsScene (4 classes).
1487         If we want to add a new message, we need to add similar functions into 4 classes.
1488
1489         Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
1490         CommitCoordinatedGraphicsState.
1491         CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
1492         1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
1493         2. CoordinatedLayerTreeHost stores all LayerStates.
1494         3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
1495         at the moment of flushing via CommitCoordinatedGraphicsState message.
1496         4. CoordinatedGraphicsScene applies all state changes to layers.
1497
1498         There is one big behavior change. All states changes (e.g.
1499         UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
1500         CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.
1501
1502         This patch is based on Dongsung Huang, and Noam's work in
1503         https://bugs.webkit.org/show_bug.cgi?id=108294
1504
1505         No new tests, covered by existing tests.
1506
1507         * Target.pri:
1508         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1509         (WebCore::CoordinatedGraphicsLayer::setPosition):
1510         (WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
1511         (WebCore::CoordinatedGraphicsLayer::setSize):
1512         (WebCore::CoordinatedGraphicsLayer::setTransform):
1513         (WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
1514         (WebCore::CoordinatedGraphicsLayer::setPreserves3D):
1515         (WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
1516         (WebCore::CoordinatedGraphicsLayer::setDrawsContent):
1517         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
1518         (WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
1519         (WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
1520         (WebCore::CoordinatedGraphicsLayer::setOpacity):
1521         (WebCore::CoordinatedGraphicsLayer::setContentsRect):
1522         (WebCore::CoordinatedGraphicsLayer::setFilters):
1523         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
1524         (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
1525         (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
1526         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
1527         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
1528         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1529         (WebCore::CoordinatedGraphicsLayer::syncChildren):
1530         (WebCore::CoordinatedGraphicsLayer::syncFilters):
1531         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
1532         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
1533         (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
1534         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
1535         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
1536         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
1537         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
1538         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1539         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
1540         (WebCore):
1541         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
1542         (WebCore::CoordinatedGraphicsLayer::setRootLayer):
1543         (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
1544         (WebCore::CoordinatedGraphicsLayer::createTile):
1545         (WebCore::CoordinatedGraphicsLayer::updateTile):
1546         (WebCore::CoordinatedGraphicsLayer::removeTile):
1547         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1548         (CoordinatedGraphicsLayerClient):
1549         (CoordinatedGraphicsLayer):
1550         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1551         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
1552         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
1553         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
1554         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
1555         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
1556         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1557         (WebCore::CoordinatedGraphicsScene::setLayerState):
1558         (WebCore::CoordinatedGraphicsScene::deleteLayer):
1559         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
1560         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
1561         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
1562         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
1563         (WebCore::CoordinatedGraphicsScene::commitSceneState):
1564         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
1565         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1566         (WebCore):
1567         (CoordinatedGraphicsScene):
1568         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
1569         (WebCore):
1570         (TileUpdateInfo):
1571         (TileCreationInfo):
1572         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
1573         (CoordinatedGraphicsLayerState):
1574         (CoordinatedGraphicsState):
1575         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
1576         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Removed.
1577         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:
1578
1579 2013-03-05  Roger Fong  <roger_fong@apple.com>
1580
1581         Unreviewed. AppleWin VS2010 build fix.
1582
1583         * WebCore.vcxproj/WebCore.vcxproj:
1584         * WebCore.vcxproj/WebCore.vcxproj.filters:
1585         * rendering/RenderingAllInOne.cpp:
1586
1587 2013-03-05  Bem Jones-Bey  <bjonesbe@adobe.com>
1588
1589         [CSS Exclusions] shape-outside on floats for polygon shapes
1590         https://bugs.webkit.org/show_bug.cgi?id=98676
1591
1592         Reviewed by David Hyatt.
1593
1594         Implement support for polygonal shape-outside on floats. The basic
1595         tack taken here is to keep using the bounding box of the shape to
1596         position the float, but to compute the offset (caused by the shape)
1597         from the bounding box for each line when creating and positioning
1598         other inline content.
1599
1600         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
1601
1602         * rendering/ExclusionShapeInfo.cpp:
1603         (WebCore):
1604         (WebCore::::computedShape): Add new template parameter.
1605         (WebCore::::logicalTopOffset): Add new template parameter.
1606         (WebCore::::computeSegmentsForLine): Move here from
1607             ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
1608             as well. Make virtual since there is slightly different behavior
1609             between each class even though the vast majority of the code is
1610             common.
1611         * rendering/ExclusionShapeInfo.h:
1612         (WebCore):
1613         (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
1614             computeSegmentsForLine is virtual, the destructor must be virtual
1615             as well.
1616         (ExclusionShapeInfo): Add new data members to support
1617             computeSegmentsForLine.
1618         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
1619             right is based off of maxX, not y. (it's a logical bounding box!)
1620         (WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
1621             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
1622             lineOverlapsShapeBounds.
1623         (WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
1624             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
1625             lineOverlapsShapeBounds.
1626         (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
1627             ExclusionShapeInsideInfo for use by computeSegmentsForLine.
1628         * rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
1629             computeSegmentsForLine into ExclusionShapeInfo.
1630         * rendering/ExclusionShapeInsideInfo.h:
1631         (WebCore): Moved some methods to ExclusionShapeInfo.
1632         (ExclusionShapeInsideInfo): Update for new template parameter.
1633         (WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
1634             superclass method to clear the segment ranges. Segement ranges
1635             aren't used by shape outside, and have some complex dependencies
1636             that make it very hard to try and move up into ExclusionShapeInfo.
1637         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
1638             for new template parameter.
1639         * rendering/ExclusionShapeOutsideInfo.cpp:
1640         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
1641             supported shape.
1642         (WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
1643             superclass method to not recompute if it isn't needed (this isn't
1644             straightfoward for shape inside, which is why it isn't common),
1645             and to save the left and right offsets caused by the shape
1646             outside, since that's all that is needed to properly do layout in
1647             the case of floats.
1648         * rendering/ExclusionShapeOutsideInfo.h:
1649         (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
1650             be on a single line, like most other methods of it's type in
1651             WebKit headers.
1652         (ExclusionShapeOutsideInfo): Update for new template parameter.
1653         (WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
1654             Accessor method to get the left offset between the shape and the
1655             shape's bounding box.
1656         (WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
1657             Accessor method to get the left offset between the shape and the
1658             shape's bounding box.
1659         (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
1660             Update for new template parameter.
1661         * rendering/RenderBlock.cpp:
1662         (WebCore::::collectIfNeeded): Save the last float encountered so that
1663             the shape outside offset can be accounted for.
1664         (WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
1665             shape outside offset on the outermost float.
1666         (WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
1667             shape outside offset on the outermost float.
1668         * rendering/RenderBlock.h:
1669         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1670             Initialize the lastFloat member.
1671         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
1672             last float encountered.
1673         (FloatIntervalSearchAdapter): Add a pointer to the last float
1674             encountered. Note that the variable is mutable because
1675             collectIfNeeded is declared as a const method even though it isn't
1676             (it uses loopholes to update m_offset and m_heightRemaining).
1677             Instead of trying to come up with a hack to stick with the
1678             loopholes, I decided to be explicit about it.
1679         * rendering/RenderBlockLineLayout.cpp:
1680         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
1681             into account the offset from any polygonal shape outside.
1682         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
1683             because the current code will not work properly with stacked
1684             floats that have polygonal shape outside.
1685
1686 2013-03-04  David Hyatt  <hyatt@apple.com>
1687
1688         [New Multicolumn] Autogenerate regions for columns.
1689         https://bugs.webkit.org/show_bug.cgi?id=111363
1690
1691         Reviewed by Dean Jackson.
1692
1693         In CSS Regions, we lay out the regions first, and then
1694         we put the flow thread into the regions. This model doesn't
1695         really work for multicolumn layout, which needs to be able
1696         to auto-generate new regions lazily in response to the flow
1697         thread asking for regions at particular offsets.
1698
1699         With the multi-column model, where the regions can't just occur
1700         anywhere, its ok not to lay them out before the flow thread, as
1701         long as we have at least given them the correct size.
1702         
1703         This patch changes the layout algorithm for columns to:
1704         (1) Size any existing regions (without worrying about placement).
1705         (2) Lay out the flow thread (generating and sizing regions lazily
1706         that need to be created).
1707         (3) Lay out the regions (to give them correct placement and to
1708         compute overflow correctly for the multi-column block that contains
1709         the regions).
1710
1711         There are no new tests, since there are no behavioral changes. This
1712         is just groundwork for being able to add new sets in response to
1713         spans, balancing, and nested pagination contexts.
1714
1715         * rendering/RenderBlock.cpp:
1716         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1717         (WebCore::RenderBlock::layoutBlockChild):
1718         * rendering/RenderBlock.h:
1719         (RenderBlock):
1720         Since we want to be able to call determineLogicalLeftPositionForChild
1721         to place the flow thread properly, and we don't want to apply a layout
1722         delta (flow threads repaint themselves), we parameterize the method
1723         here so that it can be called without applying a layout delta.
1724         
1725         * rendering/RenderFlowThread.cpp:
1726         (WebCore::RenderFlowThread::addRegionToThread):
1727         (WebCore::RenderFlowThread::removeRegionFromThread):
1728         These methods are only used by RenderMultiColumnFlowThread, since
1729         RenderNamedFlowThread overrides them. Remove the code that invalidates
1730         the flow threads region set as regions come and go, since that is now
1731         going to be expected with auto-generation.
1732
1733         (WebCore::RenderFlowThread::validateRegions):
1734         Refactor the code in RenderFlowThread::layout that validates the regions
1735         into its own method, so that we can re-validate regions at any time
1736         after generating new ones.
1737         
1738         (WebCore::RenderFlowThread::layout):
1739         Changed to move the region validation code into its own function that is
1740         now called from here.
1741
1742         (WebCore::RenderFlowThread::updateLogicalWidth):
1743         Don't assert if a region set needs layout.
1744
1745         (WebCore::RenderFlowThread::computeLogicalHeight):
1746         Ditto. Don't assert if a region set needs layout. That's expected now.
1747
1748         (WebCore::RenderFlowThread::regionAtBlockOffset):
1749         Add code to regionAtBlockOffset to auto-generate regions up to
1750         the offset. This ensures the region that is being asked for
1751         exists.
1752
1753         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1754         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1755         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1756         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1757         These functions are no longer const, since the act of asking for
1758         pagination offsets can cause us to generate new regions.
1759
1760         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1761         Modified to turn auto-generation off, since this is not really
1762         a "layout-time" function.
1763
1764         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1765         Modified to not assert if a region set needs layout, since that is
1766         expected now.
1767
1768         * rendering/RenderFlowThread.h:
1769         Changes to remove const from the methods that can trigger region
1770         auto-generation.
1771
1772         * rendering/RenderMultiColumnBlock.cpp:
1773         (WebCore::RenderMultiColumnBlock::styleDidChange):
1774         Make sure to propagate style changes down into the regions. I don't know
1775         of any correctness bugs around this, but I figured I'd be thorough.
1776
1777         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1778         We no longer build a column set aggressively. We wait for the flow thread
1779         to ask us for a region at a particular offset, and only then do we
1780         build the set.
1781         
1782         (WebCore::RenderMultiColumnBlock::addChild):
1783         Now that we lay out the flow thread as a special excluded child, we don't
1784         care about the ordering of it relative to the region children.
1785
1786         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1787         We now lay out the flow thread as a special excluded child (like the legend
1788         of a fieldset).
1789
1790         * rendering/RenderMultiColumnBlock.h:
1791         (RenderMultiColumnBlock):
1792         Add new overrides like layoutSpecialExcludedChild.
1793         
1794         * rendering/RenderMultiColumnFlowThread.cpp:
1795         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
1796         Set the flow thread to the initial column width even when no regions exist
1797         yet. This way we ensure the width is right even when we don't have any
1798         regions yet.
1799
1800         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
1801         This method handles autogenerating the new region for a given offset.
1802         Right now it's simplistic, since we only have one column set. This method
1803         will be enhanced in future patches when we start supporting multiple column
1804         sets.
1805
1806         * rendering/RenderMultiColumnFlowThread.h:
1807         (RenderMultiColumnFlowThread):
1808         Adding new method declarations like autoGenerateRegionsToBlockOffset.
1809
1810         * rendering/RenderMultiColumnSet.cpp:
1811         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1812         Since regions lay out after flow threads, we don't need to make 
1813         setFlowThreadPortionRect virtual any longer. We can just get our column set's
1814         width correct immediately. This is the same logic, just moved into updateLogicalWidth().
1815
1816         * rendering/RenderMultiColumnSet.h:
1817         Remove setFlowThreadPortionRect override, since the function can just be simple
1818         and non-virtual in RenderRegion now.
1819
1820         * rendering/RenderRegion.cpp:
1821         (WebCore::RenderRegion::layoutBlock):
1822         Don't ever invalidate region sets in response to our size changing during layout. Since
1823         our size is always determined outside of layout now, we don't need to do any of
1824         these checks.
1825
1826         * rendering/RenderRegion.h:
1827         (WebCore::RenderRegion::setFlowThreadPortionRect):
1828         Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
1829
1830 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
1831
1832         Make AsyncFileReader work without ScriptExecutionContext
1833         https://bugs.webkit.org/show_bug.cgi?id=111376
1834
1835         Reviewed by Anders Carlsson.
1836
1837         * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
1838
1839         * dom/ScriptExecutionContext.cpp:
1840         * dom/ScriptExecutionContext.h:
1841         Removed fileThread(). Creating a thread for every context that acesses files appears
1842         wasteful and unnecessary.
1843
1844         * fileapi/AsyncFileStream.h:
1845         * fileapi/AsyncFileStream.cpp:
1846         (WebCore::createFileThread): FileThread is now a singleton.
1847         (WebCore::fileThread): Ditto.
1848         (WebCore::AsyncFileStream::AsyncFileStream):
1849         (WebCore::AsyncFileStream::create):
1850         (WebCore::didStart):
1851         (WebCore::AsyncFileStream::startOnFileThread):
1852         (WebCore::AsyncFileStream::stop):
1853         (WebCore::derefProxyOnMainThread):
1854         (WebCore::AsyncFileStream::stopOnFileThread):
1855         (WebCore::didGetSize):
1856         (WebCore::AsyncFileStream::getSizeOnFileThread):
1857         (WebCore::didOpen):
1858         (WebCore::AsyncFileStream::openForReadOnFileThread):
1859         (WebCore::AsyncFileStream::openForWriteOnFileThread):
1860         (WebCore::didRead):
1861         (WebCore::AsyncFileStream::readOnFileThread):
1862         (WebCore::didWrite):
1863         (WebCore::AsyncFileStream::writeOnFileThread):
1864         (WebCore::didTruncate):
1865         (WebCore::AsyncFileStream::truncateOnFileThread):
1866         Use callOnMainThread() instead of posting messages through a context. We never used
1867         other threads, and don't plan to.
1868
1869         * loader/ResourceLoader.cpp:
1870         * loader/ResourceLoader.h:
1871         We no longer need this pseudo-client call to create an AsyncFileStream, now that
1872         we don't need to get a ScriptExecutionContext somewhere.
1873
1874         * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
1875         strongly typed arguments. Closely based on CrossThreadTask.h.
1876
1877         * platform/network/BlobResourceHandle.cpp:
1878         (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
1879
1880         * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
1881
1882 2013-03-05  Jessie Berlin  <jberlin@apple.com>
1883
1884         Update the localizable strings file.
1885
1886         Rubber-stamped by Anders Carlsson.
1887
1888         * English.lproj/Localizable.strings:
1889
1890 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
1891
1892         AX: aria-label does not override text content on iOS
1893         https://bugs.webkit.org/show_bug.cgi?id=111222
1894
1895         Reviewed by David Kilzer.
1896
1897         Make iOS use the same text alternative computation that Mac is using. The main difference
1898         is that description and title need to be concatenated, because iOS doesn't have two attributes
1899         to return those values.
1900
1901         Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
1902
1903         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1904         (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1905         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
1906         (-[WebAccessibilityObjectWrapper accessibilityHint]):
1907         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1908
1909 2013-03-05  David Kilzer  <ddkilzer@apple.com>
1910
1911         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1912         <http://webkit.org/b/106742>
1913
1914         Fixes the following build failures:
1915
1916             Undefined symbols for architecture i386:
1917               "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
1918                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1919               NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
1920               "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
1921                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1922             ld: symbol(s) not found for architecture i386
1923
1924         * Configurations/FeatureDefines.xcconfig:
1925         - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1926
1927 2013-03-05  Dmitry Zvorygin  <zvorygin@chromium.org>
1928
1929         Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
1930         https://bugs.webkit.org/show_bug.cgi?id=111418
1931
1932         The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
1933         http://www.iana.org/assignments/media-types/application/font-woff
1934
1935         Reviewed by Pavel Feldman.
1936
1937         * inspector/front-end/NetworkManager.js:
1938         (WebInspector.NetworkManager):
1939         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
1940
1941 2013-03-05  Julien Chaffraix  <jchaffraix@webkit.org>
1942
1943         [CSS Grid Layout] Add parsing for grid-{end|after}
1944         https://bugs.webkit.org/show_bug.cgi?id=111372
1945
1946         Reviewed by Tony Chang.
1947
1948         Test: fast/css-grid-layout/grid-item-end-after-get-set.html
1949
1950         This change adds the proper support for grid-{end|after}. It doesn't update
1951         grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
1952         though.
1953
1954         * css/CSSComputedStyleDeclaration.cpp:
1955         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1956         Added the new properties to our known properties. Also added
1957         support for getComputedStyle.
1958
1959         * css/CSSParser.cpp:
1960         (WebCore::CSSParser::parseValue):
1961         Added parsing for the new properties.
1962
1963         * css/CSSProperty.cpp:
1964         (WebCore::CSSProperty::isInheritedProperty):
1965         The new properties are not inherited.
1966
1967         * css/CSSPropertyNames.in:
1968         Added the new properties.
1969
1970         * css/StyleResolver.cpp:
1971         (WebCore::StyleResolver::applyProperty):
1972         Added code to handle applying them to our style.
1973
1974         * rendering/style/RenderStyle.h:
1975         * rendering/style/StyleGridItemData.cpp:
1976         (WebCore::StyleGridItemData::StyleGridItemData):
1977         * rendering/style/StyleGridItemData.h:
1978         (WebCore::StyleGridItemData::operator==):
1979         (StyleGridItemData):
1980         Updated our representation to store the new properties.
1981
1982 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
1983
1984         Unreviewed follow-up to r144756, fix broken inspector-less build.
1985
1986         * inspector/InspectorInstrumentation.h:
1987         (WebCore::InspectorInstrumentation::willWriteHTML):
1988
1989 2013-03-05  Mark Lam  <mark.lam@apple.com>
1990
1991         Improve robustness of WebSQL quota management.
1992         https://bugs.webkit.org/show_bug.cgi?id=110600.
1993
1994         Reviewed by Geoffrey Garen.
1995
1996         1. Introduced the OriginLock for synchronizing write access to the
1997            database origin directory. This allows us to more accurately
1998            compute the disk usage.
1999
2000            The OriginLock uses a mutex to provide mutual exclusion between
2001            threads and a file lock for mutual exclusion between processes.
2002            The file lock part is conditional on USE(FILE_LOCK).
2003
2004            The mutex mutual exclusion also serves to ensure that only 1 thread
2005            can write to a sqlite database at one time.
2006
2007         2. Change the SQLTransactionCoordinator to only allow one write
2008            transaction to an origin instead of one write transaction per
2009            database. This is needed in order to accurately compute the
2010            disk usage. It is also necessary so that the OriginLock does not
2011            deadlock itself (as would be the case if concurrent write transactions
2012            to different databases in the same origin are allowed).
2013
2014         3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
2015            disk usage may exceed the quota, and ensure that we will return
2016            an appropriate max database size.
2017
2018            Disk usage can exceed the usage if it is already near the quota limit
2019            but have not exceeded it yet. If a new database is opened in that
2020            origin, it may bump the usage above the quota, but should not
2021            continually repeat this. Subsequent attempts to open a database
2022            will find that the quota is already exhausted and fail.
2023
2024            There is still a race condition pertaining to the tracker database
2025            getting out of sync that may still enable runaway growth in the
2026            database sizes. That issue only manifest in a multi-process
2027            environment, and will be fixed in another changeset.
2028
2029         4. Fixed a bug in SQLStatement to check if the errorCallback exists
2030            before invoking it.
2031
2032         No new layout tests. A quota-test.html was attached to bugzilla for manual
2033         testing of multi-tab concurrent consumption of storage resource, and also
2034         to test handling situations when the user deletes the database files while
2035         the script is still using the database.
2036
2037         * CMakeLists.txt:
2038         * GNUmakefile.list.am:
2039         * Modules/webdatabase/DatabaseTracker.cpp:
2040         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2041         (WebCore::DatabaseTracker::originLockFor):
2042         (WebCore::DatabaseTracker::deleteOriginLockFor):
2043         (WebCore::DatabaseTracker::deleteOrigin):
2044         * Modules/webdatabase/DatabaseTracker.h:
2045         * Modules/webdatabase/OriginLock.cpp: Added.
2046         (WebCore::OriginLock::lockFileNameForPath):
2047         (WebCore::OriginLock::OriginLock):
2048         (WebCore::OriginLock::~OriginLock):
2049         (WebCore::OriginLock::lock):
2050         (WebCore::OriginLock::unlock):
2051         * Modules/webdatabase/OriginLock.h: Added.
2052         * Modules/webdatabase/SQLStatement.cpp:
2053         (WebCore::SQLStatement::performCallback):
2054         * Modules/webdatabase/SQLTransactionBackend.cpp:
2055         (WebCore::SQLTransactionBackend::doCleanup):
2056         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
2057         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2058         (WebCore::SQLTransactionBackend::postflightAndCommit):
2059         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2060         (WebCore::SQLTransactionBackend::acquireOriginLock):
2061         (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
2062         * Modules/webdatabase/SQLTransactionBackend.h:
2063         (SQLTransactionBackend):
2064         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2065         (WebCore::getDatabaseIdentifier):
2066         * Target.pri:
2067         * WebCore.gypi:
2068         * WebCore.vcproj/WebCore.vcproj:
2069         * WebCore.vcxproj/WebCore.vcxproj:
2070         * WebCore.vcxproj/WebCore.vcxproj.filters:
2071         * WebCore.xcodeproj/project.pbxproj:
2072         * config.h:
2073         * platform/FileSystem.h:
2074         * platform/posix/FileSystemPOSIX.cpp:
2075         (WebCore::lockFile):
2076         (WebCore::unlockFile):
2077
2078 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
2079
2080         Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
2081         https://bugs.webkit.org/show_bug.cgi?id=111431
2082
2083         Reviewed by Yury Semikhatsky.
2084
2085         class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
2086         Style names were changed accordingly.
2087
2088         * inspector/front-end/Popover.js:
2089         (WebInspector.PopoverContentHelper):
2090         (WebInspector.PopoverContentHelper.prototype.contentTable):
2091         (WebInspector.PopoverContentHelper.prototype._createCell):
2092         (WebInspector.PopoverContentHelper.prototype.appendTextRow):
2093         (WebInspector.PopoverContentHelper.prototype.appendElementRow):
2094         (WebInspector.PopoverContentHelper.prototype.appendStackTrace):
2095         * inspector/front-end/TimelinePresentationModel.js:
2096         (WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
2097         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2098         (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
2099         (WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
2100         * inspector/front-end/popover.css:
2101         (.popover-details):
2102         (.popover-function-name):
2103         (.popover-stacktrace-title):
2104         (.popover-details-row-title):
2105         (.popover-details-row-data):
2106         (.popover-details-title):
2107         * inspector/front-end/timelinePanel.css:
2108
2109 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
2110
2111         Web Inspector: remove "Live native memory chart" experiment
2112         https://bugs.webkit.org/show_bug.cgi?id=111432
2113
2114         Reviewed by Alexander Pavlov.
2115
2116         Removed support for live native memory chart.
2117
2118         * English.lproj/localizedStrings.js:
2119         * inspector/front-end/NativeMemorySnapshotView.js:
2120         * inspector/front-end/ProfileLauncherView.js:
2121         (WebInspector.ProfileLauncherView):
2122         * inspector/front-end/ProfilesPanel.js:
2123         (WebInspector.ProfilesPanel):
2124         * inspector/front-end/Settings.js:
2125         (WebInspector.ExperimentsSettings):
2126         * inspector/front-end/nativeMemoryProfiler.css:
2127
2128 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
2129
2130         Web Inspector: remove length parameter from Parse HTML timeline event
2131         https://bugs.webkit.org/show_bug.cgi?id=111421
2132
2133         Reviewed by Yury Semikhatsky.
2134
2135         - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
2136         - drive-by style fixes.
2137
2138         * html/parser/HTMLDocumentParser.cpp:
2139         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2140         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2141         (WebCore::HTMLDocumentParser::pumpTokenizer):
2142         * inspector/InspectorInstrumentation.cpp:
2143         (WebCore):
2144         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
2145         (WebCore::InspectorInstrumentation::didWriteHTMLImpl):
2146         * inspector/InspectorInstrumentation.h:
2147         (InspectorInstrumentation):
2148         (WebCore::InspectorInstrumentation::willWriteHTML):
2149         (WebCore::InspectorInstrumentation::didWriteHTML):
2150         * inspector/InspectorTimelineAgent.cpp:
2151         (WebCore::InspectorTimelineAgent::willWriteHTML):
2152         (WebCore::InspectorTimelineAgent::didWriteHTML):
2153         * inspector/InspectorTimelineAgent.h:
2154         (InspectorTimelineAgent):
2155         * inspector/TimelineRecordFactory.cpp:
2156         (WebCore::TimelineRecordFactory::createParseHTMLData):
2157         * inspector/TimelineRecordFactory.h:
2158         (TimelineRecordFactory):
2159
2160 2013-03-05  Alexei Filippov  <alph@chromium.org>
2161
2162         Web Inspector: allow each profiler panel to have own landing page
2163         https://bugs.webkit.org/show_bug.cgi?id=111298
2164
2165         Reviewed by Yury Semikhatsky.
2166
2167         Refactor profiler landing page to allow different profiler panels to have own landing pages.
2168           - MultiProfileLauncherView is inherited from ProfileLauncherView
2169           - Native memory distribution profiler has got a custom page.
2170
2171         No new tests: code refactoring.
2172
2173         * inspector/front-end/HeapSnapshotView.js:
2174         (WebInspector.HeapSnapshotView.prototype.get profile):
2175         (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2176         (WebInspector.HeapSnapshotView.prototype._profiles):
2177         * inspector/front-end/NativeMemorySnapshotView.js:
2178         * inspector/front-end/ProfileLauncherView.js:
2179         (WebInspector.ProfileLauncherView):
2180         (WebInspector.ProfileLauncherView.prototype.addProfileType):
2181         (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
2182         (WebInspector.ProfileLauncherView.prototype._updateControls):
2183         (WebInspector.ProfileLauncherView.prototype.profileStarted):
2184         (WebInspector.ProfileLauncherView.prototype.profileFinished):
2185         (WebInspector.MultiProfileLauncherView):
2186         (WebInspector.MultiProfileLauncherView.prototype.addProfileType):
2187         (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
2188         (WebInspector.NativeProfileLauncherView):
2189         * inspector/front-end/ProfilesPanel.js:
2190         (WebInspector.ProfilesPanel):
2191         (WebInspector.ProfilesPanel.prototype._createLauncherView):
2192         (WebInspector.CPUProfilerPanel):
2193         (WebInspector.CSSSelectorProfilerPanel):
2194         (WebInspector.HeapProfilerPanel):
2195         (WebInspector.CanvasProfilerPanel):
2196         (WebInspector.MemoryChartProfilerPanel):
2197         (WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
2198         (WebInspector.NativeMemoryProfilerPanel):
2199         * inspector/front-end/profilesPanel.css:
2200         (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
2201
2202 2013-03-05  Eugene Klyuchnikov  <eustas@chromium.org>
2203
2204         Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
2205         https://bugs.webkit.org/show_bug.cgi?id=111427
2206
2207         Reviewed by Alexander Pavlov.
2208
2209         Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
2210
2211         * inspector/front-end/CSSMetadata.js:
2212         Added JSDocs, avoided possible NPEs.
2213         * inspector/front-end/StylesSidebarPane.js:
2214         Fixed JSDocs, removed unused assignment.
2215
2216 2013-03-05  David Kilzer  <ddkilzer@apple.com>
2217
2218         BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
2219         <http://webkit.org/b/110050>
2220
2221         Fixes the following build failures:
2222
2223             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:741:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2224                 tableCell->rowIndexRange(rowRange);
2225                                          ^~~~~~~~
2226             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2227             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2228                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2229                                                                      ^
2230             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:742:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2231                 tableCell->columnIndexRange(columnRange);
2232                                             ^~~~~~~~~~~
2233             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2234             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2235                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2236                                                                         ^
2237             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:804:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2238                 tableCell->rowIndexRange(rowRange);
2239                                          ^~~~~~~~
2240             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2241             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2242                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2243                                                                      ^
2244             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:818:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2245                 tableCell->columnIndexRange(columnRange);
2246                                             ^~~~~~~~~~~
2247             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2248             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2249                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2250                                                             ^
2251             4 errors generated.
2252
2253         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2254         (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2255         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2256         (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2257
2258 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
2259
2260         Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
2261         https://bugs.webkit.org/show_bug.cgi?id=111345
2262
2263         Reviewed by Pavel Feldman.
2264
2265         * inspector/InspectorTimelineAgent.cpp:
2266         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2267         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2268         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2269         (WebCore::InspectorTimelineAgent::setFrameIdentifier):
2270         (WebCore):
2271         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2272         (WebCore::InspectorTimelineAgent::appendRecord):
2273         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2274         (WebCore::InspectorTimelineAgent::commitFrameRecord):
2275         * inspector/InspectorTimelineAgent.h:
2276         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2277         (TimelineRecordEntry):
2278         (InspectorTimelineAgent):
2279
2280 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
2281
2282         MediaStream API: Add the getStreamById method on RTCPeerConnection
2283         https://bugs.webkit.org/show_bug.cgi?id=111311
2284
2285         Reviewed by Adam Barth.
2286
2287         Adding the missing method on RTCPeerConnection defined here:
2288         http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
2289
2290         Existing tests have been extended to cover patch.
2291
2292         * Modules/mediastream/RTCPeerConnection.cpp:
2293         (WebCore::RTCPeerConnection::getStreamById):
2294         (WebCore):
2295         * Modules/mediastream/RTCPeerConnection.h:
2296         (RTCPeerConnection):
2297         * Modules/mediastream/RTCPeerConnection.idl:
2298         * platform/chromium/support/WebMediaStream.cpp:
2299         (WebKit::WebMediaStream::initialize):
2300         (WebKit):
2301         * platform/mediastream/MediaStreamSource.cpp:
2302         (WebCore::MediaStreamSource::setReadyState):
2303
2304 2013-03-05  Antoine Quint  <graouts@apple.com>
2305
2306         Web Inspector: allow retrieval of composited layers in a given DOM subtree
2307         https://bugs.webkit.org/show_bug.cgi?id=111312
2308
2309         Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
2310         to gather all composited layers associated with nodes in the subtree of which
2311         the provided node is the root.
2312
2313         In order to gather the layers in the subtree, we first traverse the node's
2314         renderer's RenderObject hierarchy and whenever we encounter a RenderObject
2315         that has a RenderLayer, we then traverse that renderLayer's RenderLayer
2316         hierarchy. This allows for a quick path through the relevant objects we're
2317         gathering.
2318
2319         Layers gathered will push the node to which they're associated, allowing a
2320         nodeId for this layer to be listed in the Layer object sent to the front-end.
2321         It is crucial to be able to provide a nodeId as well as a layerId for a Layer
2322         object in order to be able to correctly assess mutations in the layer tree.
2323         For instance, it is expected that a node's layer be replaced by a new layer
2324         to represent a slightly different rendering of its content, but the front-end
2325         should be able to represent this layer as an object for which only certain
2326         attributes have changed (like the "paintCount" property).
2327
2328         Layer objects also indicate whether they're associated to a node hosted in a
2329         shadow tree (the optional "isInShadowTree" property) in order for the front-end
2330         to be able to only show this layer if the option to show nodes hosted in shadow
2331         tree is enabled.
2332
2333         Finally, since we're only gathering composited layers, we're removing the
2334         "isLayerComposited" property and removing the optional flag on the "paintCount",
2335         "memory" and "compositedBounds" properties.
2336
2337         Reviewed by Simon Fraser.
2338
2339         Test: inspector-protocol/layers/layers-for-node.html
2340
2341         * inspector/Inspector.json:
2342         * inspector/InspectorLayerTreeAgent.cpp:
2343         (WebCore::InspectorLayerTreeAgent::layersForNode):
2344         (WebCore):
2345         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2346         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2347         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2348         (WebCore::InspectorLayerTreeAgent::idForNode):
2349         * inspector/InspectorLayerTreeAgent.h:
2350         (InspectorLayerTreeAgent):
2351
2352 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
2353
2354         Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
2355         https://bugs.webkit.org/show_bug.cgi?id=111344
2356
2357         - create web socket related records in a manner consistent with the rest of timeline.
2358
2359         Reviewed by Pavel Feldman.
2360
2361         * inspector/InspectorTimelineAgent.cpp:
2362         (WebCore::InspectorTimelineAgent::didCreateWebSocket):
2363         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
2364         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
2365         (WebCore::InspectorTimelineAgent::didDestroyWebSocket):
2366         * inspector/InspectorTimelineAgent.h:
2367         (InspectorTimelineAgent):
2368
2369 2013-03-05  Andrei Bucur  <abucur@adobe.com>
2370
2371         [CSS Regions] Crash when MathML used in CSS Regions
2372         https://bugs.webkit.org/show_bug.cgi?id=110686
2373
2374         Reviewed by David Hyatt.
2375
2376         The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
2377         logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
2378         is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
2379         This causes an infinite recursion and triggers a stack overflow.
2380
2381         The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
2382         on the destructor. This class is used when computing the preferred height for the children of a MathML block.
2383
2384         Test: fast/regions/mathml-crash.html
2385
2386         * rendering/RenderObject.cpp:
2387         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
2388         state flag. The innermost flow threads need to manage their descendants flag values.
2389         * rendering/RenderView.cpp:
2390         (WebCore::FragmentationDisabler::FragmentationDisabler):
2391         (WebCore):
2392         (WebCore::FragmentationDisabler::~FragmentationDisabler):
2393         * rendering/RenderView.h:
2394         (FragmentationDisabler):
2395         (WebCore):
2396         * rendering/mathml/RenderMathMLBlock.cpp:
2397         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2398
2399 2013-03-05  Mike West  <mkwst@chromium.org>
2400
2401         Cleanup: Move HitTestLocation and HitTestResult into separate files.
2402         https://bugs.webkit.org/show_bug.cgi?id=111294
2403
2404         Reviewed by Allan Sandfeld Jensen.
2405
2406         HitTestLocation and HitTestResult currently both live in
2407         HitTestResult.h. That makes things more difficult to understand than
2408         they should be, and violates the one-class-one-file principle that
2409         WebKit generally follows. Happily, it's fairly trivial to fix.
2410
2411         This should have no visible change; it's strictly an internal
2412         refactoring. It doesn't even touch any implementation code: we're
2413         just moving bits from one place to another.
2414
2415         * CMakeLists.txt:
2416         * GNUmakefile.list.am:
2417         * Target.pri:
2418         * WebCore.gypi:
2419         * WebCore.vcproj/WebCore.vcproj:
2420         * WebCore.xcodeproj/project.pbxproj:
2421             Hey, look: a new file! Let's add it to six different build systems! :)
2422         * rendering/HitTestLocation.cpp: Added.
2423         (WebCore):
2424         (WebCore::HitTestLocation::HitTestLocation):
2425         (WebCore::HitTestLocation::~HitTestLocation):
2426         (WebCore::HitTestLocation::operator=):
2427         (WebCore::HitTestLocation::move):
2428         (WebCore::HitTestLocation::intersectsRect):
2429         (WebCore::HitTestLocation::intersects):
2430         (WebCore::HitTestLocation::rectForPoint):
2431         * rendering/HitTestLocation.h: Added.
2432         (WebCore):
2433         (HitTestLocation):
2434         (WebCore::HitTestLocation::point):
2435         (WebCore::HitTestLocation::roundedPoint):
2436         (WebCore::HitTestLocation::region):
2437         (WebCore::HitTestLocation::isRectBasedTest):
2438         (WebCore::HitTestLocation::isRectilinear):
2439         (WebCore::HitTestLocation::boundingBox):
2440         (WebCore::HitTestLocation::topPadding):
2441         (WebCore::HitTestLocation::rightPadding):
2442         (WebCore::HitTestLocation::bottomPadding):
2443         (WebCore::HitTestLocation::leftPadding):
2444         (WebCore::HitTestLocation::transformedPoint):
2445         (WebCore::HitTestLocation::transformedRect):
2446         * rendering/HitTestResult.cpp:
2447         * rendering/HitTestResult.h:
2448             Move all this code from HitTestResult.* to HitTestLocation.*.
2449         * rendering/RenderBlock.cpp:
2450             Include HitTestLocation.h.
2451
2452 2013-03-05  Jochen Eisinger  <jochen@chromium.org>
2453
2454         Refactor UserGestureIndicator::Token to be a top-level class
2455         https://bugs.webkit.org/show_bug.cgi?id=111412
2456
2457         Reviewed by Nico Weber.
2458
2459         This will allow for forward declaring the class in a public WebKit
2460         API header. The goal is to enable the embedder to hold on to a
2461         UserGestureToken.
2462
2463         * dom/UserGestureIndicator.cpp:
2464         (WebCore::UserGestureIndicator::UserGestureIndicator):
2465         (WebCore::UserGestureIndicator::currentToken):
2466         * dom/UserGestureIndicator.h:
2467         (UserGestureToken):
2468         (WebCore::UserGestureToken::~UserGestureToken):
2469         (WebCore):
2470         (UserGestureIndicator):
2471         * page/DOMTimer.h:
2472         (DOMTimer):
2473         * page/EventHandler.h:
2474
2475 2013-03-05  Mike West  <mkwst@chromium.org>
2476
2477         Remove redundant code in Document::updateHoverActiveState.
2478         https://bugs.webkit.org/show_bug.cgi?id=111303
2479
2480         Reviewed by Darin Adler.
2481
2482         Document::updateHoverActiveState currently looks for touchrelease events
2483         and explictly clears out the hover state for all nodes between the
2484         currently hovered node and the top of the hover chain. This is actually
2485         redundant with the logic in the rest of the function; we can simplify by
2486         setting the Element* we're working with to 0, which causes the later
2487         loops to do the necessary work.
2488
2489         There should be no web-visible effect from this change; it should simply
2490         make this function less complex.
2491
2492         Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
2493
2494         * dom/Document.cpp:
2495         (WebCore::Document::updateHoverActiveState):
2496             Set innerElementInDocument to 0 rather than walking the hover chain
2497             and clearing it when we see a touchrelease event. The rest of the
2498             code in this function will have the same effect.
2499
2500 2013-03-05  Koji Hara  <kojih@chromium.org>
2501
2502         [V8] Remove unused custom indexedPropertyGetter
2503         https://bugs.webkit.org/show_bug.cgi?id=111409
2504
2505         Reviewed by Kentaro Hara.
2506
2507         Remove unused custom indexedPropertyGetter.
2508         There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
2509         This commit assures all existing custom indexedPropertyGetter(for V8) are used.
2510
2511         No new tests. Simple refactoring.
2512
2513         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
2514
2515 2013-03-05  Hajime Morrita  <morrita@google.com>
2516
2517         ShadowRoot needs guardRef() and guardDeref()
2518         https://bugs.webkit.org/show_bug.cgi?id=109777
2519
2520         Reviewed by Dimitri Glazkov.
2521
2522         This change moves m_guardRefCount from Document to TreeScope,
2523         which allows ShadowRoot to be guarded by guardRef() mechanism as
2524         Document. After r137524, Node referes TreeScope instead of
2525         Document. This is natural consequence of the change: It no longer
2526         makes sense to guardRef() Document pointer from Node.
2527
2528         Detail:
2529
2530         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
2531         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
2532           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
2533         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
2534           Note that there are two "guarded" TreeScope references. One is
2535           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
2536           The guarded-ref management is now encapsulated in these two classes.
2537
2538         No new tests. Covered by existing tests.
2539
2540         * WebCore.exp.in:
2541         * dom/Document.cpp:
2542         (WebCore::Document::Document):
2543         (WebCore::Document::~Document):
2544         (WebCore::Document::dispose): Extracted from removedLastRef()
2545         * dom/Document.h:
2546         (WebCore::Node::isTreeScope):
2547         (WebCore::Node::Node):
2548         * dom/DocumentFragment.cpp:
2549         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
2550         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
2551         * dom/Node.cpp:
2552         (WebCore::Node::~Node):
2553         (WebCore::Node::removedLastRef):
2554         * dom/Node.h:
2555         (WebCore::Node::setTreeScope):
2556         * dom/Element.cpp:
2557         (WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
2558         * dom/ShadowRoot.cpp:
2559         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
2560         (WebCore::ShadowRoot::dispose): Added.
2561         * dom/ShadowRoot.h:
2562         (ShadowRoot):
2563         * dom/TreeScope.cpp:
2564         (SameSizeAsTreeScope):
2565         (WebCore::TreeScope::TreeScope):
2566         (WebCore::TreeScope::~TreeScope):
2567         (WebCore::TreeScope::dispose): Added.
2568         (WebCore::TreeScope::setParentTreeScope):
2569         (WebCore::TreeScope::deletionHasBegun):
2570         (WebCore::TreeScope::beginDeletion):
2571         (WebCore::TreeScope::refCount): Added.
2572         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
2573         (WebCore::TreeScope::guardRef): Pulled up from Document.
2574         (WebCore::TreeScope::guardDeref): Ditto.
2575         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
2576         (WebCore::TreeScope::deletionHasBegun): Added.
2577         (WebCore::TreeScope::beginDeletion): Added.
2578         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
2579         * dom/TreeScopeAdopter.cpp:
2580         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2581         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2582
2583 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
2584
2585         getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
2586         https://bugs.webkit.org/show_bug.cgi?id=111018
2587
2588         Reviewed by Alexander Pavlov.
2589
2590         Test: fast/css/getPropertyValue-webkit-text-stroke.html
2591
2592         * css/StylePropertySet.cpp:
2593         (WebCore::StylePropertySet::getPropertyValue):
2594
2595 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
2596
2597         getPropertyValue for -webkit-columns returns null, should compute the shorthand value
2598         https://bugs.webkit.org/show_bug.cgi?id=111011
2599
2600         Reviewed by Alexander Pavlov.
2601
2602         Test: fast/css/getPropertyValue-columns.html
2603
2604         * css/StylePropertySet.cpp:
2605         (WebCore::StylePropertySet::getPropertyValue):
2606
2607 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
2608
2609         Web Inspector: Do not accumulate file system files, add them to workspace immediately
2610         https://bugs.webkit.org/show_bug.cgi?id=111325
2611
2612         Reviewed by Pavel Feldman.
2613
2614         * inspector/front-end/FileSystemProjectDelegate.js:
2615         (WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
2616         (WebInspector.FileSystemProjectDelegate.prototype.populate):
2617         * inspector/front-end/IsolatedFileSystem.js:
2618         (WebInspector.IsolatedFileSystem.prototype.innerCallback):
2619         (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
2620
2621 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
2622
2623         Unreviewed Windows build fix attempt.
2624
2625         floor method is ambigious so explicitly specify the type.
2626
2627         * html/canvas/WebGLRenderingContext.cpp:
2628         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2629
2630 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2631
2632         AX: cellForColumnAndRow fails for tables with hidden table cells
2633         https://bugs.webkit.org/show_bug.cgi?id=110050
2634
2635         Reviewed by Tim Horton.
2636
2637         If a table had hidden cells, then accessibility code was being confused in a few ways.
2638         1) The cellForColumnAndRow method would return the wrong information since that was
2639            using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
2640         2) The way we were adding children made it impossible to determine column and row range because we 
2641            would skip rows that had hidden children
2642         3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow
2643
2644         The fix does a few things to make things right:
2645         1) Always add an accessibility row, even if there are no visible cells in that row.
2646         2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
2647         3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
2648         4) cellForColumnAndRow should use unsigned values instead of int values.
2649
2650         Test: accessibility/table-with-hidden-head-section.html
2651
2652         * accessibility/AccessibilityARIAGrid.cpp:
2653         (WebCore):
2654         * accessibility/AccessibilityARIAGrid.h:
2655         (AccessibilityARIAGrid):
2656         * accessibility/AccessibilityARIAGridCell.cpp:
2657         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2658         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2659         * accessibility/AccessibilityARIAGridCell.h:
2660         (AccessibilityARIAGridCell):
2661         * accessibility/AccessibilityTable.cpp:
2662         (WebCore::AccessibilityTable::addChildren):
2663         (WebCore::AccessibilityTable::cellForColumnAndRow):
2664         * accessibility/AccessibilityTable.h:
2665         (WebCore):
2666         (AccessibilityTable):
2667         * accessibility/AccessibilityTableCell.cpp:
2668         (WebCore::AccessibilityTableCell::rowIndexRange):
2669         (WebCore::AccessibilityTableCell::columnIndexRange):
2670         * accessibility/AccessibilityTableCell.h:
2671         (AccessibilityTableCell):
2672         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2673         (webkitAccessibleTableGetColumnAtIndex):
2674         (webkitAccessibleTableGetRowAtIndex):
2675         (webkitAccessibleTableGetColumnExtentAt):
2676         (webkitAccessibleTableGetRowExtentAt):
2677         (webkitAccessibleTableGetColumnHeader):
2678         (webkitAccessibleTableGetRowHeader):
2679         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2680         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2681         * rendering/RenderTableSection.h:
2682         (RenderTableSection):
2683         (WebCore::RenderTableSection::rowRendererAt):
2684
2685 2013-03-04  Arpita Bahuguna  <a.bah@samsung.com>
2686
2687         getAttribute does not behave correctly for mixed-case attributes on HTML elements
2688         https://bugs.webkit.org/show_bug.cgi?id=105713
2689
2690         Reviewed by Andreas Kling.
2691
2692         getAttribute() and getAttributeNode() APIs do not convert the
2693         passed attribute name to lowercase before comparing against the
2694         existing attributes.
2695         The specification however states that the passed name should
2696         be converted to ASCII lowercase before checking for the existence
2697         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
2698
2699         Test: fast/dom/Element/getAttribute-case-insensitivity.html
2700
2701         * dom/Element.h:
2702         (WebCore::ElementData::getAttributeItemIndex):
2703         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
2704         which specifies whether the attribute's case should be ignored
2705         before comparison. But inspite of this param's value we still carry
2706         out a case sensitive search.
2707         Have modified the same to convert the passed attribute's name to
2708         lowercase if 'shouldIgnoreAttributeCase' is true.
2709
2710 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2711
2712         [Chromium] Add runtime flag for font load events
2713         https://bugs.webkit.org/show_bug.cgi?id=111296
2714
2715         Reviewed by Kent Tamura.
2716
2717         Add a runtime feature flag for FontLoader interface (disabled by default),
2718         and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
2719
2720         * bindings/generic/RuntimeEnabledFeatures.cpp:
2721         (WebCore):
2722         * bindings/generic/RuntimeEnabledFeatures.h:
2723         (RuntimeEnabledFeatures):
2724         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
2725         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
2726
2727 2013-03-04  Brandon Jones  <bajones@google.com>
2728
2729         WEBGL_compressed_texture_atc implementation
2730         https://bugs.webkit.org/show_bug.cgi?id=110496
2731
2732         Reviewed by Kenneth Russell.
2733
2734         Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
2735
2736         Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
2737         the format that I am aware of. Should enable mobile ports to expose the format, however.
2738
2739         * CMakeLists.txt:
2740         * DerivedSources.make:
2741         * DerivedSources.pri:
2742         * GNUmakefile.list.am:
2743         * Target.pri:
2744         * WebCore.gypi:
2745         * WebCore.xcodeproj/project.pbxproj:
2746         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2747         (WebCore::toJS):
2748         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2749         (WebCore::toV8Object):
2750         * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2751         (WebCore):
2752         (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
2753         (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
2754         (WebCore::WebGLCompressedTextureATC::getName):
2755         (WebCore::WebGLCompressedTextureATC::create):
2756         (WebCore::WebGLCompressedTextureATC::supported):
2757         * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2758         (WebCore):
2759         (WebGLCompressedTextureATC):
2760         * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2761         * html/canvas/WebGLExtension.h:
2762         * html/canvas/WebGLRenderingContext.cpp:
2763         (WebCore):
2764         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2765         (WebCore::WebGLRenderingContext::getExtension):
2766         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2767         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2768         * html/canvas/WebGLRenderingContext.h:
2769         (WebCore):
2770         (WebGLRenderingContext):
2771         * platform/graphics/Extensions3D.h:
2772
2773
2774 2013-03-04  Eugene Klyuchnikov  <eustas@chromium.org>
2775
2776         Web Inspector: Exceptions when WebInspector run in hosted mode.
2777         https://bugs.webkit.org/show_bug.cgi?id=111326
2778
2779         Reviewed by Pavel Feldman.
2780
2781         There is bug in commands code generation in InspectorBackend.js
2782         As a consequence all protocol enums have wrong names and cause
2783         exception when refererenced.
2784
2785         Currently protocol enums are referenced only from NetworkManager.
2786
2787         Test: inspector/inspector-backend-commands-generation.html
2788
2789         * inspector/front-end/InspectorBackend.js:
2790         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
2791         Use static method to generate code.
2792         (InspectorBackendClass._generateCommands):
2793         Extracted from loadFromJSONIfNeeded. Typo fixed.
2794
2795 2013-03-04  Chris Rogers  <crogers@google.com>
2796
2797         Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
2798         https://bugs.webkit.org/show_bug.cgi?id=111385
2799
2800         Reviewed by James Robinson.
2801         
2802         See specification details for .maxChannelCount:
2803         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
2804         
2805         * Modules/webaudio/AudioDestinationNode.h:
2806         (WebCore::AudioDestinationNode::maxChannelCount):
2807         * Modules/webaudio/AudioDestinationNode.idl:
2808         * Modules/webaudio/AudioNode.h:
2809         Implement .maxChannelCount attribute.
2810         
2811         (AudioNode):
2812         * Modules/webaudio/DefaultAudioDestinationNode.h:
2813         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2814         (WebCore::DefaultAudioDestinationNode::initialize):
2815         (WebCore::DefaultAudioDestinationNode::createDestination):
2816         (WebCore::DefaultAudioDestinationNode::enableInput):
2817         Call to createDestination() now takes no argument.
2818         Instead we maintain a member variable for the input device ID.
2819         (WebCore::DefaultAudioDestinationNode::maxChannelCount):
2820         (WebCore::DefaultAudioDestinationNode::setChannelCount):
2821         Check port-specific hardware support for maxChannelCount(),
2822         and allow setting the channel count based on what the hardware
2823         supports.
2824         
2825         * platform/audio/AudioDestination.h:
2826         (AudioDestination):
2827         * platform/audio/chromium/AudioDestinationChromium.cpp:
2828         (WebCore::AudioDestination::maxChannelCount):
2829         (WebCore::AudioDestinationChromium::render):
2830         Call into chromium WebKit API: audioHardwareOutputChannels().
2831
2832         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2833         (WebCore::AudioDestination::maxChannelCount):
2834         Add basic implementation for maxChannelCount() only supporting stereo output.
2835
2836         * platform/audio/mac/AudioDestinationMac.cpp:
2837         (WebCore::AudioDestination::maxChannelCount):
2838         Add basic implementation for maxChannelCount() only supporting stereo output.
2839         Later, the mac port can support more than this with some small improvements to AudioDestinationMac.
2840
2841 2013-03-04  Adam Barth  <abarth@webkit.org>
2842
2843         Background HTML parser can rewind the tokenizer after end-of-file
2844         https://bugs.webkit.org/show_bug.cgi?id=111365
2845
2846         Reviewed by Eric Seidel.
2847
2848         Prior to this patch, it was possible to call didFailSpeculation after
2849         processing the end-of-file token because checkForSpeculationFailure
2850         didn't zero out m_tokenizer in some control paths.
2851
2852         This patch renames checkForSpeculationFailure to validateSpeculations
2853         and ensures that it always takes ownership of the main thread's
2854         HTMLTokenizer.
2855
2856         This patch also adds a number of ASSERTs to make sure the parser state
2857         machine stays in the correct configuration (e.g., that we don't have a
2858         main thread tokenizer while we're supposed to be tokenizing on the
2859         background thread).
2860
2861         Test: fast/parser/document-write-fighting-eof.html
2862
2863         * html/parser/BackgroundHTMLInputStream.cpp:
2864         (WebCore::BackgroundHTMLInputStream::rewindTo):
2865         * html/parser/BackgroundHTMLParser.cpp:
2866         (WebCore::BackgroundHTMLParser::append):
2867         * html/parser/HTMLDocumentParser.cpp:
2868         (WebCore::HTMLDocumentParser::validateSpeculations):
2869         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2870         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2871         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2872         * html/parser/HTMLDocumentParser.h:
2873         (HTMLDocumentParser):
2874
2875 2013-03-04  Tim 'mithro' Ansell  <mithro@mithis.com>
2876
2877         Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
2878         https://bugs.webkit.org/show_bug.cgi?id=109446
2879
2880         Reviewed by Eric Seidel.
2881
2882         Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
2883
2884         * css/CSSStyleSheet.h:
2885
2886 2013-03-04  Kentaro Hara  <haraken@chromium.org>
2887
2888         Unreviewd build fix after r144701.
2889
2890         * platform/EventTracer.cpp:
2891         (WebCore::EventTracer::initialize):
2892
2893 2013-03-04  Min Qin  <qinmin@chromium.org>
2894
2895         Fix some style issues in RenderLayerCompositor
2896         https://bugs.webkit.org/show_bug.cgi?id=111369
2897
2898         Reviewed by Simon Fraser.
2899
2900         Just style fix, no test needed
2901
2902         * rendering/RenderLayerCompositor.cpp:
2903         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2904         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2905
2906 2013-03-04  Terry Anderson  <tdanderson@chromium.org>
2907
2908         Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
2909         https://bugs.webkit.org/show_bug.cgi?id=111007
2910
2911         Reviewed by Simon Fraser.
2912
2913         Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
2914         http://trac.webkit.org/changeset/142057,
2915         http://trac.webkit.org/changeset/140177, and  
2916         http://trac.webkit.org/changeset/142195
2917         are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
2918         gesture-scrolling) and should be reverted.
2919
2920         No change in behavior, so no new tests needed.
2921
2922         * rendering/RenderLayer.cpp:
2923         (WebCore::RenderLayer::scrollByRecursively):
2924         * rendering/RenderLayer.h:
2925
2926 2013-03-04  Kentaro Hara  <haraken@chromium.org>
2927
2928         Unreviewed build fix after r144701.
2929
2930         * platform/EventTracer.cpp:
2931         (WebCore::EventTracer::initialize):
2932
2933 2013-03-04  Christian Biesinger  <cbiesinger@chromium.org>
2934
2935         REGRESSION (r143643): Buttons containing floats render differently
2936         https://bugs.webkit.org/show_bug.cgi?id=110933
2937
2938         Reviewed by Ojan Vafai.
2939
2940         Test: fast/forms/button-with-float.html
2941
2942         * rendering/RenderBlock.cpp:
2943         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2944         Also include new flexbox as a renderer that needs to enclose
2945         overhanging floats. Flex boxes establish a block formatting context,
2946         so they need to contain floats:
2947         http://dev.w3.org/csswg/css3-flexbox/#flex-items
2948
2949 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2950
2951         Support WebSpeech - Speech Synthesis
2952         https://bugs.webkit.org/show_bug.cgi?id=106742
2953
2954         Build fix.
2955
2956         * Modules/speech/SpeechSynthesis.cpp:
2957
2958 2013-03-04  Rafael Weinstein  <rafaelw@chromium.org>
2959
2960         Unreviewed, rolling out r144595.
2961         http://trac.webkit.org/changeset/144595
2962         https://bugs.webkit.org/show_bug.cgi?id=90341
2963
2964         Causing multiple crashes in fast/dom/Element/* tests (hits
2965         assert in Attr.cp:215)
2966
2967         * dom/Element.cpp:
2968         (WebCore::Element::setAttributeNode):
2969
2970 2013-02-26  Kentaro Hara  <haraken@chromium.org>
2971
2972         [chromium] Implement TRACE_EVENT macros for sampling profiling
2973         https://bugs.webkit.org/show_bug.cgi?id=110932
2974
2975         Reviewed by Adam Barth.
2976
2977         We are implementing TRACE_EVENT macros for sampling profiling.
2978         It works in the following mechanism:
2979
2980         - Chromium defines global state variables for sampling profiling.
2981         (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)
2982
2983         - WebKit gets the addresses of the global state variables at the
2984         initialization step. (i.e. EventTracer::initialize())
2985
2986         - WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
2987         macros every time WebKit changes its state. (e.g. DOM attribute
2988         getters/setters/methods)
2989
2990         - A sampling thread running in Chrome reads the global states
2991         periodically and visualizes the profiling results into about://tracing.
2992
2993         This patch implements (1) a WebKit API to get the addresses of
2994         the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.
2995
2996         No tests. The sampling profiler is not enabled in Chrome by default.
2997         I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
2998         confirmed that the sampling profiling is working as expected.
2999
3000         * platform/EventTracer.cpp:
3001         (WebCore::EventTracer::initialize):
3002         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
3003         (WebCore):
3004         * platform/EventTracer.h:
3005         (WebCore):
3006         (EventTracer):
3007         * platform/chromium/EventTracerChromium.cpp:
3008         (WebCore):
3009         (WebCore::EventTracer::initialize):
3010         * platform/chromium/TraceEvent.h:
3011
3012 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3013
3014         Support WebSpeech - Speech Synthesis
3015         https://bugs.webkit.org/show_bug.cgi?id=106742
3016
3017         Reviewed by Simon Fraser.
3018
3019         Enable speech synthesis for the Mac.
3020
3021         * Configurations/FeatureDefines.xcconfig:
3022
3023 2013-03-04  Ruslan Abdikeev  <aruslan@chromium.org>
3024
3025         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
3026         https://bugs.webkit.org/show_bug.cgi?id=109061
3027
3028         Reviewed by Adam Barth.
3029
3030         Test: fast/dom/icon-url-list-apple-touch.html
3031
3032         Added iconTypes parameter to Document::iconURLs().
3033         Added Document::shortcutIconURLs() with original semantics of iconURLs().
3034         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
3035         Renamed iconTypes to iconTypesMask to make the meaning clearer.
3036
3037         * WebCore.exp.in:
3038         * dom/Document.cpp:
3039         (WebCore::Document::shortcutIconURLs):
3040         (WebCore):
3041         (WebCore::Document::iconURLs):
3042         * dom/Document.h:
3043         (Document):
3044         * loader/icon/IconController.cpp:
3045         (WebCore::IconController::iconURL):
3046         (WebCore::IconController::urlsForTypes):
3047         * testing/Internals.cpp:
3048         (WebCore::Internals::iconURLs):
3049         (WebCore::Internals::shortcutIconURLs):
3050         (WebCore):
3051         (WebCore::Internals::allIconURLs):
3052         * testing/Internals.h:
3053         * testing/Internals.idl:
3054
3055 2013-02-27  Jeffrey Pfau  <jpfau@apple.com>
3056
3057         Cache partitioning does not affect iframe MainResources
3058         https://bugs.webkit.org/show_bug.cgi?id=111022
3059
3060         Reviewed by David Kilzer.
3061
3062         Set the partition of a main resource request if in a subframe.
3063
3064         Test: http/tests/cache/partitioned-cache-iframe.html
3065
3066         * loader/FrameLoader.cpp:
3067         (WebCore::FrameLoader::loadURL):
3068
3069 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3070
3071         AX: user agent shadow roots for plugins should be 'accessible'
3072         https://bugs.webkit.org/show_bug.cgi?id=111339
3073
3074         Reviewed by Tim Horton.
3075
3076         If a plugin element uses a user agent shadow element, we should make that shadow element
3077         into a button with the title and subtitle put together, and use that as the label. This 
3078         will probably be the best accessibility experience.
3079
3080         * html/HTMLPlugInImageElement.cpp:
3081         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3082
3083 2013-03-04  Alok Priyadarshi  <alokp@chromium.org>
3084
3085         [chromium] Form controls on composited layers are not painted properly
3086         https://bugs.webkit.org/show_bug.cgi?id=111366
3087
3088         Reviewed by James Robinson.
3089
3090         Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
3091
3092         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
3093         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
3094
3095 2013-03-04  Simon Fraser  <simon.fraser@apple.com>
3096
3097         Give ViewportConstraints classes copy constructors
3098         https://bugs.webkit.org/show_bug.cgi?id=111367
3099
3100         Reviewed by Beth Dakin.
3101         
3102         Downstream code requires that ViewportConstraints objects have
3103         copy constructors, so add them.
3104         
3105         Also clean up some redundant initialization of stack objects
3106         in RenderLayerCompositor.
3107
3108         No behavior change.
3109
3110         * page/scrolling/ScrollingConstraints.h:
3111         (WebCore::ViewportConstraints::ViewportConstraints):
3112         (ViewportConstraints):
3113         (WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
3114         (FixedPositionViewportConstraints):
3115         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
3116         (StickyPositionViewportConstraints):
3117         * rendering/RenderLayerCompositor.cpp:
3118         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
3119         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
3120
3121 2013-03-04  Roger Fong  <roger_fong@apple.com>
3122
3123         Unreviewed. AppleWin build fix.
3124
3125         * html/parser/XSSAuditor.cpp:
3126         (WebCore::isSemicolonSeparatedAttribute):
3127
3128 2013-03-04  Andreas Kling  <akling@apple.com>
3129
3130         CSSParser: Avoid temporary String when parsing hex colors.
3131         <http://webkit.org/b/111341>
3132
3133         Reviewed by Anders Carlsson.
3134
3135         Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
3136         This avoids creating a temporary WTF::String from the parser string.
3137
3138         * css/CSSParser.cpp:
3139         (WebCore::CSSParser::fastParseColor):
3140         * css/CSSParser.h:
3141         * css/CSSParserValues.h:
3142         (CSSParserString):
3143
3144 2013-03-04  Julien Chaffraix  <jchaffraix@webkit.org>
3145
3146         [CSS Grid Layout] Add parsing for grid-{start|before}
3147         https://bugs.webkit.org/show_bug.cgi?id=110988
3148
3149         Reviewed by Tony Chang.
3150
3151         Test: fast/css-grid-layout/grid-item-start-before-get-set.html
3152
3153         Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
3154         This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
3155         in the specification and will also be in the code. That means a lot of methods were renamed to be more
3156         aligned with the new design.
3157
3158         * css/CSSComputedStyleDeclaration.cpp:
3159         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3160         * css/CSSParser.cpp:
3161         (WebCore::CSSParser::parseValue):
3162         * css/CSSProperty.cpp:
3163         (WebCore::CSSProperty::isInheritedProperty):
3164         * css/CSSPropertyNames.in:
3165         * css/StyleResolver.cpp:
3166         (WebCore::StyleResolver::applyProperty):
3167         Added the code to parse, apply and get back the new properties. Also
3168         some renaming after the internal naming change below.
3169
3170         * rendering/RenderGrid.cpp:
3171         (WebCore::RenderGrid::maximumIndexInDirection):
3172         (WebCore::RenderGrid::placeItemsOnGrid):
3173         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
3174         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
3175         * rendering/style/RenderStyle.h:
3176         * rendering/style/StyleGridItemData.cpp:
3177         (WebCore::StyleGridItemData::StyleGridItemData):
3178         * rendering/style/StyleGridItemData.h:
3179         (WebCore::StyleGridItemData::operator==):
3180         Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.
3181
3182 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3183
3184         WebSpeech: change voiceURI to voice
3185         https://bugs.webkit.org/show_bug.cgi?id=110773
3186
3187         Reviewed by Tim Horton.
3188
3189         Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
3190         This was recently added to the errata of the WebSpeech spec.
3191
3192         Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
3193
3194         * Modules/speech/SpeechSynthesisUtterance.cpp:
3195         (WebCore):
3196         (WebCore::SpeechSynthesisUtterance::voice):
3197         (WebCore::SpeechSynthesisUtterance::setVoice):
3198         * Modules/speech/SpeechSynthesisUtterance.h:
3199         (SpeechSynthesisUtterance):
3200         * Modules/speech/SpeechSynthesisUtterance.idl:
3201         * Modules/speech/SpeechSynthesisVoice.h:
3202         (WebCore::SpeechSynthesisVoice::platformVoice):
3203         (SpeechSynthesisVoice):
3204         * platform/PlatformSpeechSynthesisUtterance.cpp:
3205         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
3206         * platform/PlatformSpeechSynthesisUtterance.h:
3207         (WebCore::PlatformSpeechSynthesisUtterance::voice):
3208         (WebCore::PlatformSpeechSynthesisUtterance::setVoice):
3209         (PlatformSpeechSynthesisUtterance):
3210         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3211         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3212
3213 2013-03-04  Victor Costan <costan@gmail.com>
3214
3215         Filename passed to FormData.append() takes precedence over filename in
3216         File.
3217         https://bugs.webkit.org/show_bug.cgi?id=111255
3218
3219         Reviewed by Alexey Proskuryakov.
3220
3221         Test: http/tests/local/formdata/send-form-data-with-filename.html
3222
3223         * platform/network/FormData.cpp:
3224         (WebCore::FormData::appendKeyValuePairItems): changed to implement the
3225         behavior in the XMLHttpRequest W3C spec.
3226
3227 2013-03-04  Alexis Hetu  <sugoi@chromium.org>
3228
3229         Canvas and DOM go out of sync
3230         https://bugs.webkit.org/show_bug.cgi?id=107701
3231
3232         Reviewed by Simon Fraser.
3233
3234         Test: fast/canvas/canvas-overflow-hidden-animation.html
3235
3236         Added an update of the current compositor from the layer's stacking
3237         container when the layer itself isn't a stacking container.
3238
3239         * rendering/RenderLayerBacking.cpp:
3240         (WebCore::RenderLayerBacking::updateAfterLayout):
3241         Added an update of the stacking container of the owning layer of the
3242         layer backing when the owning layer isn't a stacking container itself.
3243
3244 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
3245
3246         Small BlobResourceHandle cleanup
3247         https://bugs.webkit.org/show_bug.cgi?id=111352
3248
3249         Reviewed by Sam Weinig.
3250
3251         1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
3252         2. Added OVERRIDE to some functions.
3253         3. Added const to ResourceHandle::firstRequest().
3254
3255         * platform/network/BlobRegistryImpl.cpp:
3256         (WebCore::loadResourceSynchronously):
3257         (WebCore::BlobRegistryImpl::createResourceHandle):
3258         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
3259         * platform/network/BlobRegistryImpl.h:
3260         (BlobRegistryImpl):
3261         * platform/network/BlobResourceHandle.cpp:
3262         (WebCore::BlobResourceHandle::createAsync):
3263         (WebCore::BlobResourceHandle::loadResourceSynchronously):
3264         * platform/network/BlobResourceHandle.h:
3265         (BlobResourceHandle):
3266         * platform/network/FormData.cpp:
3267         (WebCore::appendBlobResolved):
3268         * platform/network/ResourceHandle.cpp:
3269         (WebCore::ResourceHandle::firstRequest):
3270         * platform/network/ResourceHandle.h:
3271         (ResourceHandle):
3272
3273 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3274
3275         Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
3276         https://bugs.webkit.org/show_bug.cgi?id=111320
3277
3278         Reviewed by Pavel Feldman.
3279
3280         * inspector/front-end/Object.js:
3281         (WebInspector.EventTarget):
3282         (WebInspector.EventTarget.prototype.addEventListener):
3283         (WebInspector.EventTarget.prototype.removeEventListener):
3284         (WebInspector.EventTarget.prototype.removeAllListeners):
3285         (WebInspector.EventTarget.prototype.hasEventListeners):
3286         (WebInspector.EventTarget.prototype.dispatchEventToListeners):
3287         * inspector/front-end/ResourceScriptMapping.js:
3288         * inspector/front-end/UISourceCode.js:
3289         * inspector/front-end/Workspace.js:
3290         (WebInspector.ProjectDelegate.prototype.searchInFileContent):
3291
3292 2013-03-04  Tom Sepez  <tsepez@chromium.org>
3293
3294         XSSAuditor bypass with --> comment syntax.
3295         https://bugs.webkit.org/show_bug.cgi?id=111349
3296
3297         Reviewed by Adam Barth.
3298
3299         Test: http/tests/security/xssAuditor/open-iframe-src-03.html
3300
3301         * html/parser/XSSAuditor.cpp:
3302         (WebCore::isTerminatingCharacter):
3303         Adds ">" to the list of terminating characters, so that comments of
3304         the form --> end the snippet we seek to match.
3305
3306 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3307
3308         Web Inspector: Modal dialogs sometimes lose focus.
3309         https://bugs.webkit.org/show_bug.cgi?id=111317
3310
3311         Reviewed by Pavel Feldman.
3312
3313         setCurrentFocusElement doesn't give focus to an element anymore
3314         if modal glass pane is shown and element is not inside it.
3315
3316         * inspector/front-end/Dialog.js:
3317         (WebInspector.Dialog):
3318         (WebInspector.Dialog.prototype._hide):
3319         * inspector/front-end/InspectorView.js:
3320         (WebInspector.InspectorView.prototype.defaultFocusedElement):
3321         * inspector/front-end/ScriptsPanel.js:
3322         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
3323         * inspector/front-end/UIUtils.js:
3324         (WebInspector.GlassPane):
3325         (WebInspector.GlassPane.prototype.dispose):
3326         (WebInspector.setCurrentFocusElement):
3327         * inspector/front-end/dialog.css:
3328
3329 2013-03-04  Roger Fong  <roger_fong@apple.com>
3330
3331         Unreviewed. AppleWin build fix.
3332
3333         * WebCore.vcxproj/WebCore.vcxproj:
3334
3335 2013-03-04  Dan Carney  <dcarney@google.com>
3336
3337         [v8] add isolate parameter to heap statistics calls
3338         https://bugs.webkit.org/show_bug.cgi?id=111308
3339
3340         Reviewed by Jochen Eisinger.
3341
3342         No new tests.
3343
3344         * bindings/v8/ScriptGCEvent.cpp:
3345         (WebCore::ScriptGCEvent::getHeapSize):
3346         (WebCore::ScriptGCEvent::getUsedHeapSize):
3347         * bindings/v8/V8AdaptorFunction.cpp:
3348         (WebCore::V8AdaptorFunction::getTemplate):
3349         * bindings/v8/V8GCController.cpp:
3350         (WebCore::V8GCController::checkMemoryUsage):
3351
3352 2013-03-04  Jochen Eisinger  <jochen@chromium.org>
3353
3354         [chromium] remove deprecated hyphenation methods from Platform
3355         https://bugs.webkit.org/show_bug.cgi?id=111101
3356
3357         Reviewed by Adam Barth.
3358
3359         * platform/text/chromium/Hyphenation.cpp:
3360         (WebCore::canHyphenate):
3361         (WebCore::lastHyphenLocation):
3362
3363 2013-03-04  Benjamin Poulain  <benjamin@webkit.org>
3364
3365         Use initialization from literal for MediaFeatureNames
3366         https://bugs.webkit.org/show_bug.cgi?id=111283
3367
3368         Reviewed by Andreas Kling.
3369
3370         * css/MediaFeatureNames.cpp:
3371         (WebCore::MediaFeatureNames::init):
3372         Initialization from literal is faster and use less memory. The names are
3373         defined statically in MediaFeatureNames.h.
3374
3375         Also use the NotNull placement new to avoid a branch on silly allocators.
3376
3377 2013-03-04  Joshua Bell  <jsbell@chromium.org>
3378
3379         [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
3380
3381         * bindings/scripts/test/V8/V8Float64Array.cpp:
3382         (WebCore::ConfigureV8Float64ArrayTemplate):
3383         (WebCore::V8Float64Array::GetTemplate):
3384         * bindings/scripts/test/V8/V8Float64Array.h:
3385         (V8Float64Array):
3386         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3387         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
3388         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
3389         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
3390         (WebCore::V8TestActiveDOMObject::GetTemplate):
3391         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3392         (V8TestActiveDOMObject):
3393         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3394         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
3395         (WebCore::V8TestCustomNamedGetter::GetTemplate):
3396         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3397         (V8TestCustomNamedGetter):
3398         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3399         (WebCore::ConfigureV8TestEventConstructorTemplate):
3400         (WebCore::V8TestEventConstructor::GetTemplate):
3401         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3402         (V8TestEventConstructor):
3403         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3404         (WebCore::ConfigureV8TestEventTargetTemplate):
3405         (WebCore::V8TestEventTarget::GetTemplate):
3406         * bindings/scripts/test/V8/V8TestEventTarget.h:
3407         (V8TestEventTarget):
3408         * bindings/scripts/test/V8/V8TestException.cpp:
3409         (WebCore::ConfigureV8TestExceptionTemplate):
3410         (WebCore::V8TestException::GetTemplate):
3411         * bindings/scripts/test/V8/V8TestException.h:
3412         (V8TestException):
3413         * bindings/scripts/test/V8/V8TestInterface.cpp:
3414         (WebCore::ConfigureV8TestInterfaceTemplate):
3415         (WebCore::V8TestInterface::GetTemplate):
3416         * bindings/scripts/test/V8/V8TestInterface.h:
3417         (V8TestInterface):
3418         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3419         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
3420         (WebCore::V8TestMediaQueryListListener::GetTemplate):
3421         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3422         (V8TestMediaQueryListListener):
3423         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3424         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
3425         (WebCore::ConfigureV8TestNamedConstructorTemplate):
3426         (WebCore::V8TestNamedConstructor::GetTemplate):
3427         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3428         (V8TestNamedConstructorConstructor):
3429         (V8TestNamedConstructor):
3430         * bindings/scripts/test/V8/V8TestNode.cpp:
3431         (WebCore::ConfigureV8TestNodeTemplate):
3432         (WebCore::V8TestNode::GetTemplate):
3433         * bindings/scripts/test/V8/V8TestNode.h:
3434         (V8TestNode):
3435         * bindings/scripts/test/V8/V8TestObj.cpp:
3436         (WebCore::ConfigureV8TestObjTemplate):
3437         (WebCore::V8TestObj::GetTemplate):
3438         (WebCore::V8TestObj::installPerContextPrototypeProperties):
3439         * bindings/scripts/test/V8/V8TestObj.h:
3440         (V8TestObj):
3441         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3442         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
3443         (WebCore::V8TestOverloadedConstructors::GetTemplate):
3444         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3445         (V8TestOverloadedConstructors):
3446         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3447         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3448         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3449         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3450         (V8TestSerializedScriptValueInterface):
3451         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3452         (WebCore::ConfigureV8TestTypedefsTemplate):
3453         (WebCore::V8TestTypedefs::GetTemplate):
3454         * bindings/scripts/test/V8/V8TestTypedefs.h:
3455         (V8TestTypedefs):
3456
3457 2013-03-04  Tony Chang  <tony@chromium.org>
3458
3459         Unreviewed, rolling out r144562.
3460         http://trac.webkit.org/changeset/144562
3461         https://bugs.webkit.org/show_bug.cgi?id=85642
3462
3463         Caused KeyPadInsert faluires in webkit_unittests
3464
3465         * platform/chromium/KeyCodeConversionGtk.cpp:
3466         (WebCore::windowsKeyCodeForKeyEvent):
3467
3468 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
3469
3470         getComputedStyle not implemented for -webkit-columns shorthand
3471         https://bugs.webkit.org/show_bug.cgi?id=111236
3472
3473         Reviewed by Alexis Menard.
3474
3475         Implement getComputedStyle for -webkit-columns shorthand.
3476
3477         Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
3478
3479         * css/CSSComputedStyleDeclaration.cpp:
3480         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3481
3482 2013-03-04  Levi Weintraub  <leviw@chromium.org>
3483
3484         Add support for 8 bit TextRuns on Chromium Linux & Mac
3485         https://bugs.webkit.org/show_bug.cgi?id=99393
3486
3487         Reviewed by Eric Seidel.
3488
3489         Adding support for 8 bit TextRuns for Mac and Linux Chromium. To accomplish this,
3490         8 bit text runs are upconverted to 16 bit in the complex text path during string
3491         normalization, as HarfBuzz operates on UChars.
3492
3493         Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
3494         before enabling this optimization.
3495
3496         No new tests. No change in behavior.
3497
3498         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
3499         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
3500         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3501         (WebCore::normalizeCharacters):
3502         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3503
3504 2013-03-04  Alexis Menard  <alexis@webkit.org>
3505
3506         transition-property property and transition shorthand property doesn't accept "all, all".
3507         https://bugs.webkit.org/show_bug.cgi?id=111201
3508
3509         Reviewed by Simon Fraser.
3510
3511         Relax the parsing of transition-property to allow all, all as a value.
3512         It is not very useful per say but it is possible by the spec and we
3513         align with Firefox, IE and Opera.
3514
3515         Test: LayoutTests/transitions/transitions-parsing.html
3516
3517         * css/CSSParser.cpp:
3518         (WebCore::CSSParser::parseAnimationProperty):
3519
3520 2013-03-04  Min Qin  <qinmin@chromium.org>
3521
3522         Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
3523         https://bugs.webkit.org/show_bug.cgi?id=111229
3524
3525         Reviewed by Simon Fraser.
3526
3527         If applyPageScaleFactorInCompositor is set to true, webcore should use css coordinates.
3528         As a result, we shouldn't apply page scale to clipRect in RenderLayerCompositor.
3529         Layout tests set the flag to false, so we don't have anything to test against.
3530
3531         * rendering/RenderLayerCompositor.cpp:
3532         (WebCore::RenderLayerCompositor::addToOverlapMap):
3533
3534 2013-03-04  Ian Vollick  <vollick@chromium.org>
3535
3536         ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
3537         https://bugs.webkit.org/show_bug.cgi?id=108257
3538
3539         Reviewed by David Hyatt.
3540
3541         With composited scrolling we paint both with and without respecting
3542         overflow clip. To prevent collisions in the clip cache, and to prevent
3543         throwing away cached clips unnecessarily, we keep two copies of the
3544         clip cache -- one for when overflow clip is respected, and one for
3545         when it isn't.
3546
3547         No new tests. Covered by existing tests (in debug):
3548           compositing/overflow/automatically-opt-into-composited-scrolling.html
3549           compositing/overflow/composited-scrolling-creates-a-stacking-container.html
3550
3551         * rendering/RenderLayer.cpp:
3552         (WebCore::RenderLayer::updateClipRects):
3553           No longer asserts that our 'respect overflow clip' status is
3554           consistent. It also gets and sets the clip cache using the clip rect
3555           context rather than just the clip rect type.
3556         (WebCore::RenderLayer::calculateClipRects):
3557         (WebCore::RenderLayer::parentClipRects):
3558         (WebCore::RenderLayer::clearClipRects):
3559         (WebCore::ClipRectsCache::ClipRectsCache):
3560         (WebCore::ClipRectsCache::getClipRects):
3561         (WebCore::ClipRectsCache::setClipRects):
3562         (WebCore::ClipRectsCache::getIndex):
3563           Get and set the cached clip rects using the context rather than
3564           type.
3565         (WebCore::RenderLayer::clipRects):
3566           We now cache twice as many clip rects.
3567         * rendering/RenderLayerBacking.cpp:
3568         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3569           ShouldRespectOverflowClip was moved out of RenderLayer.
3570
3571         * rendering/RenderLayer.cpp:
3572         (WebCore::RenderLayer::updateClipRects):
3573         (WebCore::RenderLayer::calculateClipRects):
3574         (WebCore::RenderLayer::parentClipRects):
3575         (WebCore::RenderLayer::clearClipRects):
3576         * rendering/RenderLayer.h:
3577         (WebCore::ClipRectsCache::ClipRectsCache):
3578         (WebCore::ClipRectsCache::getClipRects):
3579         (WebCore::ClipRectsCache::setClipRects):
3580         (ClipRectsCache):
3581         (WebCore::ClipRectsCache::getIndex):
3582         (WebCore::RenderLayer::clipRects):
3583         * rendering/RenderLayerBacking.cpp:
3584         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3585
3586 2013-03-04  Aaron Colwell  <acolwell@chromium.org>
3587
3588         Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
3589         https://bugs.webkit.org/show_bug.cgi?id=111195
3590
3591         Reviewed by Adam Barth.
3592
3593         No new tests. No user visible behavior changed.
3594
3595         * platform/graphics/SourceBufferPrivate.h:
3596         (SourceBufferPrivate):
3597
3598 2013-03-04  David Hyatt  <hyatt@apple.com>
3599
3600         [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
3601         https://bugs.webkit.org/show_bug.cgi?id=111338
3602
3603         Reviewed by Allan Jensen.
3604
3605         There is nothing special about a multi-column flow thread style now, so we can just
3606         use the existing anonymous style creation function.
3607
3608         * rendering/RenderMultiColumnBlock.cpp:
3609         (WebCore):
3610         (WebCore::RenderMultiColumnBlock::addChild):
3611
3612 2013-03-04  Mario Sanchez Prada  <mario.prada@samsung.com>
3613
3614         [GTK] WebCore::returnString is unsafe and should be removed!
3615         https://bugs.webkit.org/show_bug.cgi?id=110423
3616
3617         Reviewed by Martin Robinson.
3618
3619         Remove returnString() and replace it in callers with a new
3620         function that will cache and return the values of string
3621         properties for ATK interfaces in the private section of the
3622         wrapper AtkObject WebKitAccessible.
3623
3624         * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
3625         * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
3626
3627         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3628         (_WebKitAccessiblePrivate): New private structure to store cached
3629         values of string property for the different ATK interfaces.
3630         (cacheAndReturnAtkProperty): New helper function to make sure the
3631         returned const gchar* value is previously cached in the private
3632         section of the wrapper AtkObject.
3633         (webkitAccessibleGetName): Use the new helper function.
3634         (webkitAccessibleGetDescription): Ditto.
3635         (webkitAccessibleInit): Initialize pointer to private structure.
3636         (webkitAccessibleFinalize): Remove unneeded code.
3637         (webkitAccessibleClassInit): Add private struct to class type/
3638         * accessibility/atk/WebKitAccessibleWrapperAtk.h:
3639         (_WebKitAccessible): New member pointing to the private structure,
3640         made the new helper function cacheAndReturnAtkProperty() available
3641         to external callers (implementation files for ATK interfaces).
3642         (AtkCachedProperty): New enum to allow reusing code when calling
3643         cacheAndReturnAtkProperty() to cache and return different properties.
3644
3645         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
3646         (webkitAccessibleActionGetKeybinding): Replace calls to returnString()
3647         with calls to the new helper function cacheAndReturnAtkProperty().
3648         (webkitAccessibleActionGetName): Ditto.
3649         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
3650         (documentAttributeValue): Ditto.
3651         (webkitAccessibleDocumentGetLocale): Ditto.
3652         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
3653         (webkitAccessibleImageGetImageDescription): Ditto.
3654
3655         Remove returnString() from WebKitAccessibleHyperlink (which is not
3656         an AtkObject, but a GObject) as well, replacing it in callers with
3657         simple code that will cache and return the required values in the
3658         private section of these kind of objects.
3659
3660         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
3661         (_WebKitAccessibleHyperlinkPrivate): Added two new fields to cache
3662         string values for the key binding and name properties from the
3663         AtkAction interface, which is implemented by AtkHyperlink.
3664         (webkitAccessibleHyperlinkActionGetKeybinding): Cache the string
3665         value for the key binding before returning a const gchar* pointer.
3666         (webkitAccessibleHyperlinkActionGetName): Ditto.
3667         (webkitAccessibleHyperlinkGetURI): Do not cache the URI here, as
3668         this function returns a gchar* that will be owned by the caller.
3669
3670 2013-03-04  peavo@outlook.com  <peavo@outlook.com>
3671
3672         [Curl] Compile fix after r144216
3673         https://bugs.webkit.org/show_bug.cgi?id=111305
3674
3675         Reviewed by Brent Fulgham.
3676
3677         * platform/network/curl/ResourceRequest.h:
3678         (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
3679
3680 2013-03-03  David Hyatt  <hyatt@apple.com>
3681
3682         [New Multicolumn] Make sure region styling works for columns inside regions.
3683         https://bugs.webkit.org/show_bug.cgi?id=111276
3684
3685         Reviewed by Sam Weinig.
3686
3687         Test: fast/regions/region-styling-in-columns.html
3688
3689         * rendering/RenderFlowThread.cpp:
3690         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
3691         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
3692         * rendering/RenderFlowThread.h:
3693         (CurrentRenderFlowThreadMaintainer):
3694         Fix the CurrentRenderFlowThreadMaintainer so that it saves off the old render flow thread
3695         and restores it when done. This effectively makes flow thread layout a push/pop stack,
3696         since with in-flow threads, this is allowed. We assert that a nested flow thread is
3697         in-flow to preserve the invariant that you can't nest CSS Regions flow thread.
3698
3699         * rendering/RenderRegion.cpp:
3700         (WebCore::RenderRegion::computeChildrenStyleInRegion):
3701         Add isInFlowRenderFlowThread() to the anonymous check to make sure a style gets made
3702         for the nested flow thread.
3703
3704 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
3705
3706         Web Inspector: WebInspector.AceTextEditor throws a warning
3707         https://bugs.webkit.org/show_bug.cgi?id=111315
3708
3709         Reviewed by Pavel Feldman.
3710
3711         Add WebInspector.AceTextEditor to externs.js to suppress closure
3712         compilation warning.
3713
3714         No new tests: no change in behaviour.
3715
3716         * inspector/front-end/externs.js:
3717         (WebInspector.AceTextEditor):
3718
3719 2013-03-04  Antoine Quint  <graouts@apple.com>
3720
3721         Fix debug build under certain configurations, cause was
3722         http://trac.webkit.org/changeset/144624.
3723
3724         * inspector/InspectorController.cpp:
3725         (WebCore::InspectorController::InspectorController):
3726         * inspector/InspectorLayerTreeAgent.cpp:
3727         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3728         * inspector/InspectorLayerTreeAgent.h:
3729         (WebCore):
3730         (WebCore::InspectorLayerTreeAgent::create):
3731         (InspectorLayerTreeAgent):
3732
3733 2013-03-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3734
3735         [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
3736         https://bugs.webkit.org/show_bug.cgi?id=111322
3737
3738         Reviewed by Simon Hausmann.
3739
3740         Do not try to load blacklisted plugins.
3741
3742         * plugins/qt/PluginPackageQt.cpp:
3743         (WebCore::PluginPackage::fetchInfo):
3744
3745 2013-03-04  Alexis Menard  <alexis@webkit.org>
3746
3747         transition properties can't be found in CSSStyleDeclaration
3748         https://bugs.webkit.org/show_bug.cgi?id=110011
3749
3750         Reviewed by Antti Koivisto.
3751
3752         The previous approach for handling the unprefixing was to alias the
3753         unprefixed properties with the prefixed ones in CSSPropertyNames.in.
3754         Unfortunately it will alias the properties in the parsing code which will just
3755         identically parse the two versions. This means that when we populate StylePropertySet
3756         we do not have information whether we just parsed the prefixed, the
3757         unprefixed properties or we parsed both. The patch takes another
3758         approach by creating two distinct sets of properties (unprefixed and
3759         prefixed). Each properties have their own id and we now handle them in
3760         the parsing code as disctints properties and add both versions to the
3761         declared style. In order to avoid properties getting out of sync, 
3762         this patch adds few facilities to StylePropertySet to update the
3763         prefixed and the unprefixed entries. Finally the style resolution
3764         happens only for the prefixed version (to limit the size of this patch)
3765         and the unprefixed versions are not resolved. This is to avoid creating
3766         the animation objects twice for the resolved style.
3767
3768         Test : transitions/transitions-parsing.html
3769
3770         * css/CSSComputedStyleDeclaration.cpp:
3771         (WebCore):
3772         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3773         * css/CSSParser.cpp:
3774         (WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
3775         prefixed and the unprefixed property even if only one is specified.
3776         (WebCore):
3777         (WebCore::CSSParser::parseValue):
3778         (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
3779         unprefixed longhands to the declarated style.
3780         (WebCore::CSSParser::parseAnimationProperty):
3781         * css/CSSParser.h:
3782         (CSSParser):
3783         * css/CSSProperty.cpp:
3784         (WebCore::CSSProperty::isInheritedProperty):
3785         * css/CSSProperty.h:
3786         (WebCore:: prefixingVariantForPropertyId): This function takes a given
3787         property id and returns its prefixed or unprefixed id if it exists. If
3788         not it returns the same id.
3789         (WebCore):
3790         * css/CSSPropertyNames.in:
3791         * css/StylePropertySet.cpp:
3792         (WebCore::StylePropertySet::getPropertyValue):
3793         (WebCore::StylePropertySet::removeShorthandProperty):
3794         (WebCore::StylePropertySet::removeProperty):
3795         (WebCore::StylePropertySet::removeProperty): Remove
3796         also the prefixed or unprefixed shorthand if it exists.
3797         (WebCore):
3798         (WebCore::StylePropertySet::setProperty):
3799         (WebCore::StylePropertySet:: appendPrefixingVariantProperty):
3800         (WebCore::StylePropertySet::setPrefixingVariantProperty): If it
3801         exists a unprefixed or prefixed counterpart of the property we're
3802         trying to set, then we update the other one.
3803         (WebCore::StylePropertySet::asText):
3804         (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
3805         * css/StylePropertySet.h:
3806         (StylePropertySet):
3807         * css/StylePropertyShorthand.cpp:
3808         (WebCore::transitionShorthand):
3809         (WebCore):
3810         (WebCore::shorthandForProperty): Define the transitions unprefixed
3811         longhands.
3812         * css/StylePropertyShorthand.h:
3813         (WebCore):
3814         * css/StyleResolver.cpp:
3815         (WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
3816         resolution and the creation of the animations for the style. As the
3817         declarated style now contains declarations for the prefixed and
3818         unprefixed property we do not want to resolve two times and create duplicate animations.
3819         Therefore when we try to resolve the unprefixed version we just bail out.
3820
3821 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3822
3823         Web Inspector: CPU Flame Chart: reveal profiler DataGrid node when user clicks on a FlameChart item.
3824         https://bugs.webkit.org/show_bug.cgi?id=111309
3825
3826         Reviewed by Yury Semikhatsky.
3827
3828         * inspector/front-end/CPUProfileView.js:
3829         (WebInspector.CPUProfileView.prototype._revealProfilerNode):
3830         * inspector/front-end/FlameChart.js:
3831         (WebInspector.FlameChart):
3832         (WebInspector.FlameChart.prototype._onClick):
3833
3834 2013-03-04  Antoine Quint  <graouts@apple.com>
3835
3836         Web Inspector: remove existing LayerTreeAgent protocol APIs
3837         https://bugs.webkit.org/show_bug.cgi?id=111251
3838
3839         In order to eventually provide a more useful API for the LayerTreeAgent
3840         that will be done in followup bugs, we remove the current API exposed by
3841         the agent providing a clean slate that will make future patches easier
3842         to read. Additionally, we remove the "childLayers" property on the Layer
3843         object since we will no longer be providing a hierarchy of layers, but
3844         rather a flat list of layers attached to a node and its descendants.
3845
3846         No new tests since we're removing the APIs exposed by the LayerTreeAgent.
3847         Subsequent patches will add tests as new APIs are added.
3848
3849         Reviewed by Timothy Hatcher.
3850
3851         * inspector/Inspector.json:
3852         * inspector/InspectorDOMAgent.cpp:
3853         * inspector/InspectorDOMAgent.h:
3854         * inspector/InspectorLayerTreeAgent.cpp:
3855         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3856         * inspector/InspectorLayerTreeAgent.h:
3857         (InspectorLayerTreeAgent):
3858
3859 2013-03-04  Li Yin  <li.yin@intel.com>
3860
3861         MediaStream.ended must return true when it is created with ended tracks.
3862         https://bugs.webkit.org/show_bug.cgi?id=111293
3863
3864         Reviewed by Kentaro Hara.
3865
3866         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#MediaStream-ended
3867         When a MediaStream object is created, its ended attribute must be set to false,
3868         unless it is being created using the MediaStream() constructor whose arguments
3869         are lists of MediaStreamTrack objects that are all ended, in which case the
3870         MediaStream object must be created with its ended attribute set to true.
3871
3872         Test: fast/mediastream/MediaStreamConstructor.html
3873
3874         * platform/mediastream/MediaStreamDescriptor.h:
3875         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3876
3877 2013-03-04  Alexander Pavlov  <apavlov@chromium.org>
3878
3879         Web Inspector: Adding new rules broken if a <style> tag is added to document dynamically
3880         https://bugs.webkit.org/show_bug.cgi?id=111299
3881
3882         Reviewed by Pavel Feldman.
3883
3884         The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
3885         not from the document.styleSheets list.
3886
3887         Test: inspector/styles/add-new-rule-with-style-after-body.html
3888
3889         * inspector/InspectorCSSAgent.cpp:
3890         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3891
3892 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3893
3894         Web Inspector: Unreviewed. Fix for closure type annotations.
3895
3896         * inspector/front-end/FlameChart.js:
3897
3898 2013-03-04  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3899
3900         [EFL] Build fix when compiling with GLES2 support enabled.
3901         https://bugs.webkit.org/show_bug.cgi?id=111291
3902
3903         Reviewed by Kenneth Rohde Christiansen.
3904
3905         This patch fixes build issues when compiling with GLES2
3906         support. As part of the fix the patch removes Evas specific
3907         workaround of using GLX with EGL in PlatformContext as GLES2 
3908         is the main target with EGL.
3909
3910         * platform/graphics/OpenGLESShims.h:
3911         * platform/graphics/opengl/GLPlatformContext.cpp:
3912         (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
3913         * platform/graphics/texmap/TextureMapper.h:
3914
3915 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3916
3917         Web Inspector: implement Flame Chart for CPU profiler.
3918         https://bugs.webkit.org/show_bug.cgi?id=111162
3919
3920         Reviewed by Yury Semikhatsky.
3921
3922         It is an initial implementation. The next step is to provide
3923         function names and other stats about the hovered item.
3924
3925         * WebCore.gypi:
3926         * WebCore.vcproj/WebCore.vcproj:
3927         * WebCore.vcxproj/WebCore.vcxproj:
3928         * WebCore.vcxproj/WebCore.vcxproj.filters:
3929         * inspector/compile-front-end.py:
3930         * inspector/front-end/CPUProfileView.js:
3931         (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
3932         * inspector/front-end/FlameChart.js: Added.
3933         (WebInspector.FlameChart):
3934         (WebInspector.FlameChart.prototype._onMouseMove):
3935         (WebInspector.FlameChart.prototype.findNodeCallback):
3936         (WebInspector.FlameChart.prototype._coordinatesToNode):
3937         (WebInspector.FlameChart.prototype.onResize):
3938         (WebInspector.FlameChart.prototype._rootNodes):
3939         (WebInspector.FlameChart.prototype.draw):
3940         (WebInspector.FlameChart.prototype._drawNode):
3941         (WebInspector.FlameChart.prototype._forEachNode):
3942         (WebInspector.FlameChart.prototype._drawBar):
3943         (WebInspector.FlameChart.prototype.update):
3944         * inspector/front-end/Settings.js:
3945         (WebInspector.ExperimentsSettings):
3946         * inspector/front-end/WebKit.qrc:
3947         * inspector/front-end/flameChart.css: Added.
3948         (.flame-chart):
3949
3950 2013-03-04  Marja Hölttä  <marja@chromium.org>
3951
3952         [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
3953         https://bugs.webkit.org/show_bug.cgi?id=110875
3954
3955         The parameter will later be used for generating specialized V8
3956         bindings for the 3 different world types (main world, isolated
3957         work, worker).
3958
3959         Reviewed by Kentaro Hara.
3960
3961         No new tests (no changes in behavior yet).
3962
3963         * bindings/scripts/CodeGeneratorV8.pm:
3964         (GenerateHeader):
3965         (GenerateDomainSafeFunctionGetter):
3966         (GenerateDomainSafeFunctionSetter):
3967         (GenerateNormalAttrGetter):
3968         (GenerateNamedConstructor):
3969         (GenerateImplementation):
3970         * bindings/v8/DOMDataStore.cpp:
3971         (WebCore::DOMDataStore::DOMDataStore):
3972         * bindings/v8/DOMDataStore.h:
3973         (DOMDataStore):
3974         * bindings/v8/DOMWrapperWorld.cpp:
3975         (WebCore):
3976         (WebCore::DOMWrapperWorld::setInitializingWindow):
3977         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3978         (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
3979         * bindings/v8/DOMWrapperWorld.h:
3980         (DOMWrapperWorld):
3981         (WebCore::DOMWrapperWorld::getWorld):
3982         * bindings/v8/Dictionary.cpp:
3983         (WebCore::Dictionary::get):
3984         * bindings/v8/PageScriptDebugServer.cpp:
3985         (WebCore::retrieveFrameWithGlobalObjectCheck):
3986         * bindings/v8/V8AdaptorFunction.cpp:
3987         (WebCore::V8AdaptorFunction::getTemplate):
3988         (WebCore::V8AdaptorFunction::wrap):
3989         * bindings/v8/V8AdaptorFunction.h:
3990         (V8AdaptorFunction):
3991         * bindings/v8/V8Binding.cpp:
3992         (WebCore::toDOMWindow):
3993         (WebCore::toScriptExecutionContext):
3994         (WebCore::worldType):
3995         (WebCore):
3996         (WebCore::worldTypeInMainThread):
3997         * bindings/v8/V8Binding.h:
3998         (WebCore):
3999         * bindings/v8/V8DOMWindowShell.cpp:
4000         (WebCore::V8DOMWindowShell::clearForNavigation):
4001         (WebCore::V8DOMWindowShell::installDOMWindow):
4002         * bindings/v8/V8DOMWrapper.cpp:
4003         (WebCore::V8DOMWrapper::createWrapper):
4004         * bindings/v8/V8Initializer.cpp:
4005         (WebCore::findFrame):
4006         * bindings/v8/V8PerContextData.cpp:
4007         (WebCore::V8PerContextData::constructorForTypeSlowCase):
4008         * bindings/v8/WorkerScriptController.cpp:
4009         (WebCore::WorkerScriptController::WorkerScriptController):
4010         (WebCore::WorkerScriptController::controllerForContext):
4011         * bindings/v8/WrapperTypeInfo.h:
4012         (WebCore::WrapperTypeInfo::getTemplate):
4013         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4014         (WebCore::V8DOMWindow::eventAttrGetterCustom):
4015         (WebCore::V8DOMWindow::eventAttrSetterCustom):
4016         (WebCore::V8DOMWindow::toStringMethodCustom):
4017         (WebCore::V8DOMWindow::namedSecurityCheck):
4018         (WebCore::V8DOMWindow::indexedSecurityCheck):
4019         (WebCore::toV8):
4020         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
4021         (WebCore::V8HTMLDocument::wrapInShadowObject):
4022         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
4023         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
4024         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
4025         (V8HTMLImageElementConstructor):
4026         * bindings/v8/custom/V8InjectedScriptManager.cpp:
4027         (WebCore::createInjectedScriptHostV8Wrapper):
4028         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
4029         * bindings/v8/custom/V8LocationCustom.cpp:
4030         (WebCore::V8Location::reloadAttrGetterCustom):
4031         (WebCore::V8Location::replaceAttrGetterCustom):
4032         (WebCore::V8Location::assignAttrGetterCustom):
4033         * bindings/v8/custom/V8MessageEventCustom.cpp:
4034         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
4035
4036 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
4037