1 2013-03-06 Julien Chaffraix <jchaffraix@webkit.org>
3 Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
4 https://bugs.webkit.org/show_bug.cgi?id=111505
6 Unreviewed minimal build fix.
8 * css/StyleResolver.cpp:
9 (WebCore::StyleResolver::applyProperty):
10 Put CSSPropertyWebkitWrap under the proper if-guard.
12 2013-03-06 Vsevolod Vlasov <vsevik@chromium.org>
14 Unreviewed follow up to r144928: front-end closure compilation fixes.
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):
22 2013-03-06 Vsevolod Vlasov <vsevik@chromium.org>
24 Web Inspector: Update open resource dialog when new uiSourceCodes are loaded.
25 https://bugs.webkit.org/show_bug.cgi?id=111327
27 Reviewed by Pavel Feldman.
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):
47 2013-03-06 Vladislav Kaznacheev <kaznacheev@chromium.org>
49 Web Inspector: Move sidebar-specific styles to a separate file.
50 https://bugs.webkit.org/show_bug.cgi?id=111173
52 Reviewed by Pavel Feldman.
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):
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:
91 (a.worker-item:hover):
92 * inspector/front-end/sidebarPane.css: Added.
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]):
118 2013-03-06 Vladislav Kaznacheev <kaznacheev@chromium.org>
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.
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.
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):
139 2013-03-05 Yury Semikhatsky <yurys@chromium.org>
141 Web Inspector: support stable remote object ids
142 https://bugs.webkit.org/show_bug.cgi?id=109908
144 Reviewed by Pavel Feldman.
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.
151 Test: inspector-protocol/persistent-id.html
153 * bindings/js/JSInjectedScriptHostCustom.cpp:
154 (WebCore::JSInjectedScriptHost::objectId):
156 (WebCore::JSInjectedScriptHost::releaseObjectId):
157 * bindings/js/ScriptObject.h:
159 (WTF::ScriptObjectHash::hash):
160 (WTF::ScriptObjectHash::equal):
162 * bindings/v8/ScriptObject.h:
164 (WTF::ScriptObjectHash::hash):
165 (WTF::ScriptObjectHash::equal):
167 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
168 (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
170 (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
171 * inspector/InjectedScriptHost.cpp:
172 (WebCore::InjectedScriptHost::create):
173 (WebCore::InjectedScriptHost::InjectedScriptHost):
174 (WebCore::InjectedScriptHost::disconnect):
175 (WebCore::InjectedScriptHost::objectId):
177 (WebCore::InjectedScriptHost::releaseObjectId):
178 * inspector/InjectedScriptHost.h:
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):
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:
198 2013-03-06 Marja Hölttä <marja@chromium.org>
200 REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
201 https://bugs.webkit.org/show_bug.cgi?id=111565
203 Reviewed by Jochen Eisinger.
205 In toDOMWindow, the variable "global" was first nuked, and then used again. This
206 change was introduced in r144617.
208 No new tests (no functional changes).
210 * bindings/v8/V8Binding.cpp:
211 (WebCore::toDOMWindow):
213 2013-03-06 Yury Semikhatsky <yurys@chromium.org>
215 Web Inspector: use regular eval instead of injectScript for front-end extension API
216 https://bugs.webkit.org/show_bug.cgi?id=111529
218 Reviewed by Pavel Feldman.
220 Removed InjectedScriptManager::injectScript and replaced all of it calls
221 except the actual script injection with ScriptController::executeScript.
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):
238 2013-03-06 Allan Sandfeld Jensen <allan.jensen@digia.com>
240 [Qt] Do not disable C++0x
241 https://bugs.webkit.org/show_bug.cgi?id=111559
243 Reviewed by Kenneth Rohde Christiansen.
247 2013-03-06 Julien Chaffraix <jchaffraix@webkit.org>
249 Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
250 https://bugs.webkit.org/show_bug.cgi?id=111505
252 Reviewed by Alexis Menard.
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.
259 This change addresses both issues by removing the code and adding ASSERTs that should prevent people
260 from adding more dead code.
262 Refactoring, covered by existing tests.
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.
270 * css/StyleBuilder.cpp:
271 (WebCore::StyleBuilder::StyleBuilder):
272 Removed the shorthands.
274 * css/StyleBuilder.h:
275 (WebCore::StyleBuilder::setPropertyHandler):
276 Added ASSERTs that people don't add shorthand handling.
278 * css/StyleResolver.cpp:
279 (WebCore::isValidVisitedLinkProperty):
280 Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
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.
287 2013-03-05 Kent Tamura <tkent@chromium.org>
289 Rename WebCore/editing/visible_units.* to VisibleUnits.*
290 https://bugs.webkit.org/show_bug.cgi?id=111426
292 Reviewed by Alexey Proskuryakov.
294 No new tests. Just a refactoring.
297 * GNUmakefile.list.am:
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:
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.
341 * page/mac/FrameMac.mm:
342 * platform/win/EditorWin.cpp:
344 2013-03-06 Alexis Menard <alexis@webkit.org>
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
349 Reviewed by Julien Chaffraix.
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.
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.
363 (WebCore::CSSParser::parseValue):
365 2013-03-06 Luiz Agostini <luiz.agostini@nokia.com>
367 Accelerated overflow scrolling for Coordinated Graphics.
368 https://bugs.webkit.org/show_bug.cgi?id=110323
370 Reviewed by Noam Rosenthal.
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.
376 Tests will be added on bug #111140.
378 Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
380 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
381 (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
383 (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
384 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
385 (ScrollingCoordinatorCoordinatedGraphics):
387 GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
388 them to its TextureMapperLayer on the appropriated time.
390 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
391 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
392 (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
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):
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.
406 * platform/graphics/texmap/TextureMapperLayer.cpp:
407 (WebCore::TextureMapperLayer::hitTest):
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):
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):
426 CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
428 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
429 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
430 (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
432 (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
433 (WebCore::CoordinatedGraphicsLayer::resetLayerState):
434 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
436 (CoordinatedGraphicsLayer):
437 (WebCore::CoordinatedGraphicsLayer::isScrollable):
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.
443 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
444 (WebCore::CoordinatedGraphicsScene::setLayerState):
445 (WebCore::CoordinatedGraphicsScene::createLayer):
446 (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
448 (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
449 (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
450 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
452 (CoordinatedGraphicsSceneClient):
453 (CoordinatedGraphicsScene):
455 New fields have been added to CoordinatedGraphicsLayerState.
457 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
458 (CoordinatedGraphicsLayerState):
460 2013-03-06 Allan Sandfeld Jensen <allan.jensen@digia.com>
462 REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
463 https://bugs.webkit.org/show_bug.cgi?id=109291
465 Reviewed by Kenneth Rohde Christiansen.
467 Report we support fixed layers.
469 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
470 (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
471 (ScrollingCoordinatorCoordinatedGraphics):
473 2013-03-06 Sheriff Bot <webkit.review.bot@gmail.com>
475 Unreviewed, rolling out r144859.
476 http://trac.webkit.org/changeset/144859
477 https://bugs.webkit.org/show_bug.cgi?id=111519
479 Introduced a test that calls non-exist function on non-
480 Chromium ports and crash on Chromium (Requested by rniwa on
483 * html/HTMLAudioElement.h:
484 (WebCore::HTMLAudioElement::hasPendingActivity):
486 * html/HTMLAudioElement.idl:
487 * html/HTMLMediaElement.cpp:
488 (WebCore::HTMLMediaElement::hasPendingActivity):
489 * html/HTMLMediaElement.idl:
491 2013-03-06 Ilya Tikhonovsky <loislo@chromium.org>
493 Web Inspector: Could not open Profiles panel.
494 https://bugs.webkit.org/show_bug.cgi?id=111535
496 Reviewed by Alexander Pavlov.
498 * inspector/front-end/CPUProfileView.js:
499 * inspector/front-end/ProfilesPanel.js:
501 2013-03-06 Tony Chang <tony@chromium.org>
503 Crash during middle mouse click when page is removed
504 https://bugs.webkit.org/show_bug.cgi?id=111489
506 Reviewed by Hajime Morrita.
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.
511 Test: editing/pasteboard/selection-paste-crash.html
513 * page/EventHandler.cpp:
514 (WebCore::EventHandler::handlePasteGlobalSelection):
516 2013-03-05 Eric Seidel <eric@webkit.org>
518 Replace shouldLazyAttach bool with an enum for readability
519 https://bugs.webkit.org/show_bug.cgi?id=111503
521 Reviewed by Dimitri Glazkov.
523 No behavioral change.
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:
535 (WebCore::V8Node::insertBeforeMethodCustom):
536 (WebCore::V8Node::replaceChildMethodCustom):
537 (WebCore::V8Node::appendChildMethodCustom):
538 * dom/ContainerNode.cpp:
540 (WebCore::ContainerNode::insertBefore):
541 (WebCore::ContainerNode::replaceChild):
542 (WebCore::ContainerNode::appendChild):
543 (WebCore::updateTreeAfterInsertion):
544 * dom/ContainerNode.h:
547 (WebCore::Node::insertBefore):
548 (WebCore::Node::replaceChild):
549 (WebCore::Node::appendChild):
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):
565 2013-03-05 Hajime Morrita <morrita@google.com>
567 Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
568 https://bugs.webkit.org/show_bug.cgi?id=111523
570 Reviewed by Kentaro Hara.
572 This change removes CustomElementConstructor::m_name and renames
573 m_tagName to m_name. Now generated function name is same as interface name.
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.
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.
583 No new tests. Just removing old code.
585 * bindings/scripts/CodeGeneratorV8.pm:
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):
597 2013-03-05 Ilya Tikhonovsky <loislo@chromium.org>
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
602 Reviewed by Yury Semikhatsky.
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.
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):
619 2013-03-05 Csaba Osztrogonác <ossy@webkit.org>
621 Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
623 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
624 (WebCore::CoordinatedGraphicsScene::setLayerState):
625 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
626 (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
628 2013-03-05 Geoffrey Garen <ggaren@apple.com>
630 Autoreleased cached pages slow down the PLT by 2%
631 https://bugs.webkit.org/show_bug.cgi?id=111522
633 Reviewed by Filip Pizlo.
635 Let's stop doing that.
639 * history/PageCache.cpp:
640 (WebCore::PageCache::remove):
642 2013-03-05 Hayato Ito <hayato@chromium.org>
644 [Shadow] Implements event re-targeting for Touch Events.
645 https://bugs.webkit.org/show_bug.cgi?id=107800
647 Reviewed by Dimitri Glazkov.
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.
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.
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
664 Now, Touch Events can be fired in shadow tree. I've removed the
667 Test: fast/dom/shadow/touch-event-retargeting.html
669 * dom/EventContext.cpp:
670 (WebCore::EventContext::isTouchEventContext):
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:
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):
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:
697 (WebCore::Node::dispatchEvent):
699 (WebCore::Node::dispatchTouchEvent):
704 (WebCore::Touch::Touch):
706 (WebCore::Touch::cloneWithNewTarget):
709 * dom/TouchEvent.cpp:
710 (WebCore::TouchEventDispatchMediator::create):
712 (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
713 (WebCore::TouchEventDispatchMediator::event):
714 (WebCore::TouchEventDispatchMediator::dispatchEvent):
717 (WebCore::TouchEvent::setTouches):
718 (WebCore::TouchEvent::setTargetTouches):
719 (WebCore::TouchEvent::setChangedTouches):
720 (TouchEventDispatchMediator):
722 (WebCore::toTouchEvent):
724 (WebCore::TouchList::item):
728 * page/EventHandler.cpp:
729 (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
730 (WebCore::EventHandler::handleTouchEvent):
732 2013-03-05 Hajime Morrita <morrita@google.com>
734 [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
735 https://bugs.webkit.org/show_bug.cgi?id=111411
737 Reviewed by Kentaro Hara.
739 No new tests. No observable change yet.
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.
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
749 - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
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.)
757 Using such WrapperTypeInfos, created custom element wrappers can
758 get appropriate set of method and properties regardless of its
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.
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:
779 2013-03-05 Aaron Colwell <acolwell@chromium.org>
781 Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
782 https://bugs.webkit.org/show_bug.cgi?id=110623
784 Reviewed by Eric Seidel.
786 Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
788 * html/HTMLAudioElement.h:
790 * html/HTMLAudioElement.idl:
791 * html/HTMLMediaElement.cpp:
792 (WebCore::HTMLMediaElement::hasPendingActivity):
793 * html/HTMLMediaElement.idl:
795 2013-03-05 Chris Fleizach <cfleizach@apple.com>
797 AX: Support aria-posinset/setsize
798 https://bugs.webkit.org/show_bug.cgi?id=109725
800 Reviewed by Tim Horton.
802 Expose aria-setsize and aria-posinset through accessibility.
803 Right now only the Mac platform exposes them.
805 Test: platform/mac/accessibility/aria-setsize-posinset.html
807 * accessibility/AccessibilityObject.cpp:
808 (WebCore::AccessibilityObject::supportsARIASetSize):
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:
821 2013-03-05 Peter Nelson <peter@peterdn.com>
823 [WinCairo] Support for cookies is incomplete
824 https://bugs.webkit.org/show_bug.cgi?id=110147
826 Expired and HttpOnly cookies no longer accessible from JavaScript.
827 Cookies set in JavaScript now have correct domain/path.
829 Reviewed by Brent Fulgham.
831 Test: http/tests/cookies/http-get-cookie-set-in-js.html
833 * platform/network/curl/CookieJarCurl.cpp:
835 (WebCore::addMatchingCurlCookie):
836 (WebCore::getNetscapeCookieFormat):
837 (WebCore::setCookiesFromDOM):
838 (WebCore::cookieRequestHeaderFieldValue):
840 2013-03-05 Alec Flett <alecflett@chromium.org>
842 Fix mac clang build with long long
843 https://bugs.webkit.org/show_bug.cgi?id=111495
845 Unreviewed fix for mac build.
847 * Modules/indexeddb/IDBBackingStore.cpp:
848 (WebCore::IDBBackingStore::IDBBackingStore):
850 2013-03-05 Alec Flett <alecflett@chromium.org>
852 Fix mac clang build with long long
853 https://bugs.webkit.org/show_bug.cgi?id=111495
855 Unreviewed fix for mac build.
857 * Modules/indexeddb/IDBBackingStore.cpp:
858 (WebCore::IDBBackingStore::IDBBackingStore):
860 2013-03-05 Aaron Colwell <acolwell@chromium.org>
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
865 Reviewed by Adam Barth.
867 No new tests. This doesn't change user visible behavior.
869 * bindings/scripts/CodeGeneratorV8.pm:
870 (GenerateNamedConstructor):
871 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
873 2013-03-05 Shawn Singh <shawnsingh@chromium.org>
875 Fix default background of a dragged image.
876 https://bugs.webkit.org/show_bug.cgi?id=110512
878 Reviewed by Tony Chang.
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.
888 ManualTests/drag-background-with-padding.html
890 Infrastructure for retrieving the drag image for pixel testing
894 (WebCore::Frame::nodeImage):
896 2013-03-05 Emil A Eklund <eae@chromium.org>
898 ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
899 https://bugs.webkit.org/show_bug.cgi?id=108838
901 Reviewed by Levi Weintraub.
903 Ensure that RenderTable::recalcSections is called when moving a
904 TableSection by calling setNeedsSectionRecalc in addChild for
907 Test: fullscreen/full-screen-table-section.html
909 * rendering/RenderTable.cpp:
910 (WebCore::RenderTable::addChild):
912 2013-03-05 Kenneth Russell <kbr@google.com>
914 Upgrade ANGLE to r1987
915 https://bugs.webkit.org/show_bug.cgi?id=111381
917 Reviewed by Dean Jackson.
919 Covered by existing tests. Ran WebGL conformance tests in Safari
920 to ensure correct operation of patch.
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.
935 2013-03-05 Alec Flett <alecflett@chromium.org>
937 IndexedDB: Add IDBBackingStoreTest
938 https://bugs.webkit.org/show_bug.cgi?id=111233
940 Reviewed by Adam Barth.
942 These are tweaks to make IDBBackingStore more easily testable.
944 * Modules/indexeddb/IDBBackingStore.cpp:
945 (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
947 2013-03-04 James Robinson <jamesr@chromium.org>
949 [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
950 https://bugs.webkit.org/show_bug.cgi?id=111386
952 Reviewed by Adrienne Walker.
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.
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):
968 2013-03-05 Anders Carlsson <andersca@apple.com>
970 Split up the storage event dispatch functions further
971 https://bugs.webkit.org/show_bug.cgi?id=111482
973 Reviewed by Beth Dakin.
975 Add new functions for dispatching storage events to a set of frames.
977 * storage/StorageAreaImpl.cpp:
978 (WebCore::StorageAreaImpl::dispatchStorageEvent):
979 * storage/StorageEventDispatcher.cpp:
980 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
981 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
983 (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
984 (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
985 * storage/StorageEventDispatcher.h:
987 (StorageEventDispatcher):
989 2013-03-05 Stephen Chenney <schenney@chromium.org>
991 Crash when ImageLoader deletes Element inside SVGImageElement
992 https://bugs.webkit.org/show_bug.cgi?id=111085
994 Reviewed by Abhishek Arya.
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.
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.
1007 Test: svg/custom/image-with-attr-change-after-delete-crash.html
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.
1018 2013-03-05 Antoine Quint <graouts@apple.com>
1020 Web Inspector: identify reflection layers in LayerTreeAgent
1021 https://bugs.webkit.org/show_bug.cgi?id=111419
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.
1032 Reviewed by Dean Jackson.
1034 Test: inspector-protocol/layers/layers-reflected-content.html
1036 * inspector/Inspector.json:
1037 * inspector/InspectorLayerTreeAgent.cpp:
1038 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1040 2013-03-05 peavo@outlook.com <peavo@outlook.com>
1042 [WinCairo] Compile fix after r144024.
1043 https://bugs.webkit.org/show_bug.cgi?id=111306
1045 Reviewed by James Robinson.
1047 * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
1048 * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
1050 2013-03-05 James Weatherall <wez@chromium.org>
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
1055 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1057 Reviewed by Ojan Vafai.
1059 * platform/chromium/KeyCodeConversionGtk.cpp:
1060 (WebCore::windowsKeyCodeForKeyEvent):
1062 2013-03-05 Alec Flett <alecflett@chromium.org>
1064 IndexedDB: Properly refactor frontend/backend code by #includes
1065 https://bugs.webkit.org/show_bug.cgi?id=110653
1067 Reviewed by Dimitri Glazkov.
1069 IndexedDB has a distinct backend and frontend, with well defined
1070 *Interface / *Callbacks classes distinguishing them, respectively.
1072 This makes sure that the frontend and backend do not include each
1073 other and fixes build problems that occurred as a result.
1075 Specifically this moves enums out of IDBCursor and IDBTransaction
1076 into IndexedDB.h in a new WebCore::IndexedDB namespace.
1078 No new tests, as this is just a refactor.
1080 2013-03-05 Jeffrey Pfau <jpfau@apple.com>
1082 Clear associated cache partitions when deleting origins' cache
1083 https://bugs.webkit.org/show_bug.cgi?id=111383
1085 Reviewed by Maciej Stachowiak.
1087 Clear the cache partitions associated with the origin being cleared.
1089 Not possible to test with current automated test tools, must be tested manually.
1091 * loader/cache/MemoryCache.cpp:
1092 (WebCore::MemoryCache::removeResourcesWithOrigin):
1094 2013-03-04 Ojan Vafai <ojan@chromium.org>
1096 Inline min/maxInstrinsicLogicalWidth functions
1097 https://bugs.webkit.org/show_bug.cgi?id=111399
1099 Reviewed by Tony Chang.
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.
1106 * rendering/RenderBox.cpp:
1107 (WebCore::RenderBox::fillAvailableMeasure):
1108 (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1109 (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1110 * rendering/RenderBox.h:
1112 2013-03-05 Victor Carbune <vcarbune@chromium.org>
1114 Cue line-height property shouldn't be inherited from the video element
1115 https://bugs.webkit.org/show_bug.cgi?id=111262
1117 Reviewed by Eric Carlson.
1119 Test: media/track/track-cue-rendering-on-resize.html
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.
1125 2013-03-05 Joshua Bell <jsbell@chromium.org>
1127 IndexedDB: Remove some unused binding code
1128 https://bugs.webkit.org/show_bug.cgi?id=111463
1130 Reviewed by Adam Barth.
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.
1138 No new tests - just removing dead code.
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.
1147 2013-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
1149 Unreviewed, rolling out r144798.
1150 http://trac.webkit.org/changeset/144798
1151 https://bugs.webkit.org/show_bug.cgi?id=111478
1153 "broke chromium windows build" (Requested by dpranke on
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:
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:
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:
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):
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:
1227 (WebCore::IDBIndex::openCursor):
1228 (WebCore::IDBIndex::openKeyCursor):
1229 * Modules/indexeddb/IDBObjectStore.cpp:
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:
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):
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.
1261 2013-03-05 Tommy Widenflycht <tommyw@google.com>
1263 MediaStream API: Allow local and remote descriptions to be accessed after close
1264 https://bugs.webkit.org/show_bug.cgi?id=111437
1266 Reviewed by Adam Barth.
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.
1271 Existing tests expanded to cover patch.
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):
1280 2013-03-05 Charlie Reis <creis@chromium.org>
1282 Add FrameLoaderClient::didAccessInitialDocument
1283 https://bugs.webkit.org/show_bug.cgi?id=107963
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.
1289 Only takes effect for PLATFORM(CHROMIUM), since no other platforms
1290 listen to the notification.
1292 Reviewed by Adam Barth.
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):
1305 * loader/FrameLoader.h:
1307 * loader/FrameLoaderClient.h:
1308 (FrameLoaderClient):
1309 (WebCore::FrameLoaderClient::didAccessInitialDocument):
1311 2013-03-05 Otto Derek Cheung <otcheung@rim.com>
1313 [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
1314 https://bugs.webkit.org/show_bug.cgi?id=111468
1316 Reviewed by Rob Buis.
1317 Internally reviewed by Konrad Piascik.
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.
1324 Safer to flush everything out and try again.
1326 * platform/blackberry/CookieManager.cpp:
1327 (WebCore::CookieManager::getBackingStoreCookies):
1329 2013-03-05 Tony Gentilcore <tonyg@chromium.org>
1331 CompactHTMLToken does not need an XSSInfo pointer
1332 https://bugs.webkit.org/show_bug.cgi?id=111423
1334 Reviewed by Eric Seidel.
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.
1339 No new tests because no new functionality.
1341 * html/parser/BackgroundHTMLParser.cpp:
1342 (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
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:
1354 * html/parser/HTMLDocumentParser.cpp:
1355 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1356 * html/parser/HTMLDocumentParser.h:
1358 * html/parser/XSSAuditorDelegate.h:
1362 2013-03-05 Anders Carlsson <andersca@apple.com>
1364 Split StorageEventDispatcher::dispatch into two functions
1365 https://bugs.webkit.org/show_bug.cgi?id=111464
1367 Reviewed by Beth Dakin.
1369 Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
1370 dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
1371 the right function based on the storage area type.
1373 * storage/StorageAreaImpl.cpp:
1374 (WebCore::StorageAreaImpl::dispatchStorageEvent):
1375 * storage/StorageEventDispatcher.cpp:
1376 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
1378 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
1379 * storage/StorageEventDispatcher.h:
1380 (StorageEventDispatcher):
1382 2013-03-05 Brent Fulgham <bfulgham@webkit.org>
1384 [WinCairo] Unreviewed build fix after r144024.
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.
1392 2013-03-05 Alec Flett <alecflett@chromium.org>
1394 IndexedDB: Properly refactor frontend/backend code by #includes
1395 https://bugs.webkit.org/show_bug.cgi?id=110653
1397 Reviewed by Dimitri Glazkov.
1399 IndexedDB has a distinct backend and frontend, with well defined
1400 *Interface / *Callbacks classes distinguishing them, respectively.
1402 This makes sure that the frontend and backend do not include each
1403 other and fixes build problems that occurred as a result.
1405 Specifically this moves enums out of IDBCursor and IDBTransaction
1406 into IndexedDB.h in a new WebCore::IndexedDB namespace.
1408 No new tests, as this is just a refactor.
1410 2013-03-05 James Robinson <jamesr@chromium.org>
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
1415 Reviewed by Darin Adler.
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()
1421 * dom/ContainerNode.cpp:
1422 (WebCore::ContainerNode::setActive):
1423 * page/ChromeClient.h:
1424 (WebCore::ChromeClient::supportsImmediateInvalidation):
1426 2013-03-05 Anders Carlsson <andersca@apple.com>
1428 Simplify storage event dispatch somewhat
1429 https://bugs.webkit.org/show_bug.cgi?id=111461
1431 Reviewed by Beth Dakin.
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.
1437 * storage/StorageAreaImpl.cpp:
1438 (WebCore::StorageAreaImpl::setItem):
1439 (WebCore::StorageAreaImpl::removeItem):
1440 (WebCore::StorageAreaImpl::clear):
1441 (WebCore::StorageAreaImpl::dispatchStorageEvent):
1443 * storage/StorageAreaImpl.h:
1446 2013-03-05 Tony Chang <tony@chromium.org>
1448 Fix some crashes in render sliders
1449 https://bugs.webkit.org/show_bug.cgi?id=111458
1451 Reviewed by Ojan Vafai.
1453 Fix some cases where we assumed the renderer is a renderBox.
1455 Test: fast/forms/range/slider-inline-crash.html
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.
1461 2013-03-04 Andrew Scherkus <scherkus@chromium.org>
1463 REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
1464 https://bugs.webkit.org/show_bug.cgi?id=111109
1466 Reviewed by Eric Carlson.
1468 Covered by following tests:
1469 media/track/track-cue-rendering-horizontal.html
1470 media/track/track-cue-rendering-vertical.html
1472 * rendering/RenderTheme.cpp:
1473 (WebCore::RenderTheme::paint):
1474 * rendering/RenderTheme.h:
1475 (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
1477 2013-03-05 Gwang Yoon Hwang <ryumiel@company100.net>
1479 Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
1480 https://bugs.webkit.org/show_bug.cgi?id=108294
1482 Reviewed by Anders Carlsson.
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.
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.
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.
1502 This patch is based on Dongsung Huang, and Noam's work in
1503 https://bugs.webkit.org/show_bug.cgi?id=108294
1505 No new tests, covered by existing tests.
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):
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:
1567 (CoordinatedGraphicsScene):
1568 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
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:
1579 2013-03-05 Roger Fong <roger_fong@apple.com>
1581 Unreviewed. AppleWin VS2010 build fix.
1583 * WebCore.vcxproj/WebCore.vcxproj:
1584 * WebCore.vcxproj/WebCore.vcxproj.filters:
1585 * rendering/RenderingAllInOne.cpp:
1587 2013-03-05 Bem Jones-Bey <bjonesbe@adobe.com>
1589 [CSS Exclusions] shape-outside on floats for polygon shapes
1590 https://bugs.webkit.org/show_bug.cgi?id=98676
1592 Reviewed by David Hyatt.
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.
1600 Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
1602 * rendering/ExclusionShapeInfo.cpp:
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
1611 * rendering/ExclusionShapeInfo.h:
1613 (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
1614 computeSegmentsForLine is virtual, the destructor must be virtual
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
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
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
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.
1686 2013-03-04 David Hyatt <hyatt@apple.com>
1688 [New Multicolumn] Autogenerate regions for columns.
1689 https://bugs.webkit.org/show_bug.cgi?id=111363
1691 Reviewed by Dean Jackson.
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.
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.
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
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.
1715 * rendering/RenderBlock.cpp:
1716 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1717 (WebCore::RenderBlock::layoutBlockChild):
1718 * rendering/RenderBlock.h:
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.
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.
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.
1738 (WebCore::RenderFlowThread::layout):
1739 Changed to move the region validation code into its own function that is
1740 now called from here.
1742 (WebCore::RenderFlowThread::updateLogicalWidth):
1743 Don't assert if a region set needs layout.
1745 (WebCore::RenderFlowThread::computeLogicalHeight):
1746 Ditto. Don't assert if a region set needs layout. That's expected now.
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
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.
1760 (WebCore::RenderFlowThread::mapFromFlowToRegion):
1761 Modified to turn auto-generation off, since this is not really
1762 a "layout-time" function.
1764 (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1765 Modified to not assert if a region set needs layout, since that is
1768 * rendering/RenderFlowThread.h:
1769 Changes to remove const from the methods that can trigger region
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.
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
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.
1786 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1787 We now lay out the flow thread as a special excluded child (like the legend
1790 * rendering/RenderMultiColumnBlock.h:
1791 (RenderMultiColumnBlock):
1792 Add new overrides like layoutSpecialExcludedChild.
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
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
1806 * rendering/RenderMultiColumnFlowThread.h:
1807 (RenderMultiColumnFlowThread):
1808 Adding new method declarations like autoGenerateRegionsToBlockOffset.
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().
1816 * rendering/RenderMultiColumnSet.h:
1817 Remove setFlowThreadPortionRect override, since the function can just be simple
1818 and non-virtual in RenderRegion now.
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
1826 * rendering/RenderRegion.h:
1827 (WebCore::RenderRegion::setFlowThreadPortionRect):
1828 Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
1830 2013-03-04 Alexey Proskuryakov <ap@apple.com>
1832 Make AsyncFileReader work without ScriptExecutionContext
1833 https://bugs.webkit.org/show_bug.cgi?id=111376
1835 Reviewed by Anders Carlsson.
1837 * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
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.
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):
1858 (WebCore::AsyncFileStream::openForReadOnFileThread):
1859 (WebCore::AsyncFileStream::openForWriteOnFileThread):
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.
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.
1874 * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
1875 strongly typed arguments. Closely based on CrossThreadTask.h.
1877 * platform/network/BlobResourceHandle.cpp:
1878 (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
1880 * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
1882 2013-03-05 Jessie Berlin <jberlin@apple.com>
1884 Update the localizable strings file.
1886 Rubber-stamped by Anders Carlsson.
1888 * English.lproj/Localizable.strings:
1890 2013-03-05 Chris Fleizach <cfleizach@apple.com>
1892 AX: aria-label does not override text content on iOS
1893 https://bugs.webkit.org/show_bug.cgi?id=111222
1895 Reviewed by David Kilzer.
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.
1901 Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
1903 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1904 (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1905 (-[WebAccessibilityObjectWrapper accessibilityLabel]):
1906 (-[WebAccessibilityObjectWrapper accessibilityHint]):
1907 * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1909 2013-03-05 David Kilzer <ddkilzer@apple.com>
1911 BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1912 <http://webkit.org/b/106742>
1914 Fixes the following build failures:
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
1924 * Configurations/FeatureDefines.xcconfig:
1925 - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1927 2013-03-05 Dmitry Zvorygin <zvorygin@chromium.org>
1929 Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
1930 https://bugs.webkit.org/show_bug.cgi?id=111418
1932 The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
1933 http://www.iana.org/assignments/media-types/application/font-woff
1935 Reviewed by Pavel Feldman.
1937 * inspector/front-end/NetworkManager.js:
1938 (WebInspector.NetworkManager):
1939 (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
1941 2013-03-05 Julien Chaffraix <jchaffraix@webkit.org>
1943 [CSS Grid Layout] Add parsing for grid-{end|after}
1944 https://bugs.webkit.org/show_bug.cgi?id=111372
1946 Reviewed by Tony Chang.
1948 Test: fast/css-grid-layout/grid-item-end-after-get-set.html
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}
1954 * css/CSSComputedStyleDeclaration.cpp:
1955 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1956 Added the new properties to our known properties. Also added
1957 support for getComputedStyle.
1959 * css/CSSParser.cpp:
1960 (WebCore::CSSParser::parseValue):
1961 Added parsing for the new properties.
1963 * css/CSSProperty.cpp:
1964 (WebCore::CSSProperty::isInheritedProperty):
1965 The new properties are not inherited.
1967 * css/CSSPropertyNames.in:
1968 Added the new properties.
1970 * css/StyleResolver.cpp:
1971 (WebCore::StyleResolver::applyProperty):
1972 Added code to handle applying them to our style.
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.
1982 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
1984 Unreviewed follow-up to r144756, fix broken inspector-less build.
1986 * inspector/InspectorInstrumentation.h:
1987 (WebCore::InspectorInstrumentation::willWriteHTML):
1989 2013-03-05 Mark Lam <mark.lam@apple.com>
1991 Improve robustness of WebSQL quota management.
1992 https://bugs.webkit.org/show_bug.cgi?id=110600.
1994 Reviewed by Geoffrey Garen.
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.
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).
2004 The mutex mutual exclusion also serves to ensure that only 1 thread
2005 can write to a sqlite database at one time.
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).
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.
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.
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.
2029 4. Fixed a bug in SQLStatement to check if the errorCallback exists
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.
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):
2068 * WebCore.vcproj/WebCore.vcproj:
2069 * WebCore.vcxproj/WebCore.vcxproj:
2070 * WebCore.vcxproj/WebCore.vcxproj.filters:
2071 * WebCore.xcodeproj/project.pbxproj:
2073 * platform/FileSystem.h:
2074 * platform/posix/FileSystemPOSIX.cpp:
2075 (WebCore::lockFile):
2076 (WebCore::unlockFile):
2078 2013-03-05 Ilya Tikhonovsky <loislo@chromium.org>
2080 Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
2081 https://bugs.webkit.org/show_bug.cgi?id=111431
2083 Reviewed by Yury Semikhatsky.
2085 class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
2086 Style names were changed accordingly.
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:
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:
2109 2013-03-05 Yury Semikhatsky <yurys@chromium.org>
2111 Web Inspector: remove "Live native memory chart" experiment
2112 https://bugs.webkit.org/show_bug.cgi?id=111432
2114 Reviewed by Alexander Pavlov.
2116 Removed support for live native memory chart.
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:
2128 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
2130 Web Inspector: remove length parameter from Parse HTML timeline event
2131 https://bugs.webkit.org/show_bug.cgi?id=111421
2133 Reviewed by Yury Semikhatsky.
2135 - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
2136 - drive-by style fixes.
2138 * html/parser/HTMLDocumentParser.cpp:
2139 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2140 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2141 (WebCore::HTMLDocumentParser::pumpTokenizer):
2142 * inspector/InspectorInstrumentation.cpp:
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):
2160 2013-03-05 Alexei Filippov <alph@chromium.org>
2162 Web Inspector: allow each profiler panel to have own landing page
2163 https://bugs.webkit.org/show_bug.cgi?id=111298
2165 Reviewed by Yury Semikhatsky.
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.
2171 No new tests: code refactoring.
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)):
2202 2013-03-05 Eugene Klyuchnikov <eustas@chromium.org>
2204 Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
2205 https://bugs.webkit.org/show_bug.cgi?id=111427
2207 Reviewed by Alexander Pavlov.
2209 Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
2211 * inspector/front-end/CSSMetadata.js:
2212 Added JSDocs, avoided possible NPEs.
2213 * inspector/front-end/StylesSidebarPane.js:
2214 Fixed JSDocs, removed unused assignment.
2216 2013-03-05 David Kilzer <ddkilzer@apple.com>
2218 BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
2219 <http://webkit.org/b/110050>
2221 Fixes the following build failures:
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);
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);
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);
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);
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);
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);
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);
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);
2253 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2254 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2255 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2256 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2258 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
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
2263 Reviewed by Pavel Feldman.
2265 * inspector/InspectorTimelineAgent.cpp:
2266 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2267 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2268 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2269 (WebCore::InspectorTimelineAgent::setFrameIdentifier):
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):
2280 2013-03-05 Tommy Widenflycht <tommyw@google.com>
2282 MediaStream API: Add the getStreamById method on RTCPeerConnection
2283 https://bugs.webkit.org/show_bug.cgi?id=111311
2285 Reviewed by Adam Barth.
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
2290 Existing tests have been extended to cover patch.
2292 * Modules/mediastream/RTCPeerConnection.cpp:
2293 (WebCore::RTCPeerConnection::getStreamById):
2295 * Modules/mediastream/RTCPeerConnection.h:
2296 (RTCPeerConnection):
2297 * Modules/mediastream/RTCPeerConnection.idl:
2298 * platform/chromium/support/WebMediaStream.cpp:
2299 (WebKit::WebMediaStream::initialize):
2301 * platform/mediastream/MediaStreamSource.cpp:
2302 (WebCore::MediaStreamSource::setReadyState):
2304 2013-03-05 Antoine Quint <graouts@apple.com>
2306 Web Inspector: allow retrieval of composited layers in a given DOM subtree
2307 https://bugs.webkit.org/show_bug.cgi?id=111312
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.
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
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).
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
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.
2337 Reviewed by Simon Fraser.
2339 Test: inspector-protocol/layers/layers-for-node.html
2341 * inspector/Inspector.json:
2342 * inspector/InspectorLayerTreeAgent.cpp:
2343 (WebCore::InspectorLayerTreeAgent::layersForNode):
2345 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2346 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2347 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2348 (WebCore::InspectorLayerTreeAgent::idForNode):
2349 * inspector/InspectorLayerTreeAgent.h:
2350 (InspectorLayerTreeAgent):
2352 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
2354 Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
2355 https://bugs.webkit.org/show_bug.cgi?id=111344
2357 - create web socket related records in a manner consistent with the rest of timeline.
2359 Reviewed by Pavel Feldman.
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):
2369 2013-03-05 Andrei Bucur <abucur@adobe.com>
2371 [CSS Regions] Crash when MathML used in CSS Regions
2372 https://bugs.webkit.org/show_bug.cgi?id=110686
2374 Reviewed by David Hyatt.
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.
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.
2384 Test: fast/regions/mathml-crash.html
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):
2392 (WebCore::FragmentationDisabler::~FragmentationDisabler):
2393 * rendering/RenderView.h:
2394 (FragmentationDisabler):
2396 * rendering/mathml/RenderMathMLBlock.cpp:
2397 (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2399 2013-03-05 Mike West <mkwst@chromium.org>
2401 Cleanup: Move HitTestLocation and HitTestResult into separate files.
2402 https://bugs.webkit.org/show_bug.cgi?id=111294
2404 Reviewed by Allan Sandfeld Jensen.
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.
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.
2416 * GNUmakefile.list.am:
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.
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.
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.
2452 2013-03-05 Jochen Eisinger <jochen@chromium.org>
2454 Refactor UserGestureIndicator::Token to be a top-level class
2455 https://bugs.webkit.org/show_bug.cgi?id=111412
2457 Reviewed by Nico Weber.
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
2463 * dom/UserGestureIndicator.cpp:
2464 (WebCore::UserGestureIndicator::UserGestureIndicator):
2465 (WebCore::UserGestureIndicator::currentToken):
2466 * dom/UserGestureIndicator.h:
2468 (WebCore::UserGestureToken::~UserGestureToken):
2470 (UserGestureIndicator):
2473 * page/EventHandler.h:
2475 2013-03-05 Mike West <mkwst@chromium.org>
2477 Remove redundant code in Document::updateHoverActiveState.
2478 https://bugs.webkit.org/show_bug.cgi?id=111303
2480 Reviewed by Darin Adler.
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.
2489 There should be no web-visible effect from this change; it should simply
2490 make this function less complex.
2492 Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
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.
2500 2013-03-05 Koji Hara <kojih@chromium.org>
2502 [V8] Remove unused custom indexedPropertyGetter
2503 https://bugs.webkit.org/show_bug.cgi?id=111409
2505 Reviewed by Kentaro Hara.
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.
2511 No new tests. Simple refactoring.
2513 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
2515 2013-03-05 Hajime Morrita <morrita@google.com>
2517 ShadowRoot needs guardRef() and guardDeref()
2518 https://bugs.webkit.org/show_bug.cgi?id=109777
2520 Reviewed by Dimitri Glazkov.
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.
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.
2538 No new tests. Covered by existing tests.
2542 (WebCore::Document::Document):
2543 (WebCore::Document::~Document):
2544 (WebCore::Document::dispose): Extracted from removedLastRef()
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.
2552 (WebCore::Node::~Node):
2553 (WebCore::Node::removedLastRef):
2555 (WebCore::Node::setTreeScope):
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.
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):
2583 2013-03-04 Uday Kiran <udaykiran@motorola.com>
2585 getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
2586 https://bugs.webkit.org/show_bug.cgi?id=111018
2588 Reviewed by Alexander Pavlov.
2590 Test: fast/css/getPropertyValue-webkit-text-stroke.html
2592 * css/StylePropertySet.cpp:
2593 (WebCore::StylePropertySet::getPropertyValue):
2595 2013-03-04 Uday Kiran <udaykiran@motorola.com>
2597 getPropertyValue for -webkit-columns returns null, should compute the shorthand value
2598 https://bugs.webkit.org/show_bug.cgi?id=111011
2600 Reviewed by Alexander Pavlov.
2602 Test: fast/css/getPropertyValue-columns.html
2604 * css/StylePropertySet.cpp:
2605 (WebCore::StylePropertySet::getPropertyValue):
2607 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
2609 Web Inspector: Do not accumulate file system files, add them to workspace immediately
2610 https://bugs.webkit.org/show_bug.cgi?id=111325
2612 Reviewed by Pavel Feldman.
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):
2621 2013-03-04 Kinuko Yasuda <kinuko@chromium.org>
2623 Unreviewed Windows build fix attempt.
2625 floor method is ambigious so explicitly specify the type.
2627 * html/canvas/WebGLRenderingContext.cpp:
2628 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2630 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2632 AX: cellForColumnAndRow fails for tables with hidden table cells
2633 https://bugs.webkit.org/show_bug.cgi?id=110050
2635 Reviewed by Tim Horton.
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
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.
2650 Test: accessibility/table-with-hidden-head-section.html
2652 * accessibility/AccessibilityARIAGrid.cpp:
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:
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):
2685 2013-03-04 Arpita Bahuguna <a.bah@samsung.com>
2687 getAttribute does not behave correctly for mixed-case attributes on HTML elements
2688 https://bugs.webkit.org/show_bug.cgi?id=105713
2690 Reviewed by Andreas Kling.
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]
2699 Test: fast/dom/Element/getAttribute-case-insensitivity.html
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.
2710 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
2712 [Chromium] Add runtime flag for font load events
2713 https://bugs.webkit.org/show_bug.cgi?id=111296
2715 Reviewed by Kent Tamura.
2717 Add a runtime feature flag for FontLoader interface (disabled by default),
2718 and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
2720 * bindings/generic/RuntimeEnabledFeatures.cpp:
2722 * bindings/generic/RuntimeEnabledFeatures.h:
2723 (RuntimeEnabledFeatures):
2724 (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
2725 (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
2727 2013-03-04 Brandon Jones <bajones@google.com>
2729 WEBGL_compressed_texture_atc implementation
2730 https://bugs.webkit.org/show_bug.cgi?id=110496
2732 Reviewed by Kenneth Russell.
2734 Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
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.
2740 * DerivedSources.make:
2741 * DerivedSources.pri:
2742 * GNUmakefile.list.am:
2745 * WebCore.xcodeproj/project.pbxproj:
2746 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2748 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2749 (WebCore::toV8Object):
2750 * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
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.
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:
2764 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2765 (WebCore::WebGLRenderingContext::getExtension):
2766 (WebCore::WebGLRenderingContext::getSupportedExtensions):
2767 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2768 * html/canvas/WebGLRenderingContext.h:
2770 (WebGLRenderingContext):
2771 * platform/graphics/Extensions3D.h:
2774 2013-03-04 Eugene Klyuchnikov <eustas@chromium.org>
2776 Web Inspector: Exceptions when WebInspector run in hosted mode.
2777 https://bugs.webkit.org/show_bug.cgi?id=111326
2779 Reviewed by Pavel Feldman.
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.
2785 Currently protocol enums are referenced only from NetworkManager.
2787 Test: inspector/inspector-backend-commands-generation.html
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.
2795 2013-03-04 Chris Rogers <crogers@google.com>
2797 Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
2798 https://bugs.webkit.org/show_bug.cgi?id=111385
2800 Reviewed by James Robinson.
2802 See specification details for .maxChannelCount:
2803 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
2805 * Modules/webaudio/AudioDestinationNode.h:
2806 (WebCore::AudioDestinationNode::maxChannelCount):
2807 * Modules/webaudio/AudioDestinationNode.idl:
2808 * Modules/webaudio/AudioNode.h:
2809 Implement .maxChannelCount attribute.
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
2825 * platform/audio/AudioDestination.h:
2827 * platform/audio/chromium/AudioDestinationChromium.cpp:
2828 (WebCore::AudioDestination::maxChannelCount):
2829 (WebCore::AudioDestinationChromium::render):
2830 Call into chromium WebKit API: audioHardwareOutputChannels().
2832 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2833 (WebCore::AudioDestination::maxChannelCount):
2834 Add basic implementation for maxChannelCount() only supporting stereo output.
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.
2841 2013-03-04 Adam Barth <abarth@webkit.org>
2843 Background HTML parser can rewind the tokenizer after end-of-file
2844 https://bugs.webkit.org/show_bug.cgi?id=111365
2846 Reviewed by Eric Seidel.
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.
2852 This patch renames checkForSpeculationFailure to validateSpeculations
2853 and ensures that it always takes ownership of the main thread's
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
2861 Test: fast/parser/document-write-fighting-eof.html
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):
2875 2013-03-04 Tim 'mithro' Ansell <mithro@mithis.com>
2877 Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
2878 https://bugs.webkit.org/show_bug.cgi?id=109446
2880 Reviewed by Eric Seidel.
2882 Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
2884 * css/CSSStyleSheet.h:
2886 2013-03-04 Kentaro Hara <haraken@chromium.org>
2888 Unreviewd build fix after r144701.
2890 * platform/EventTracer.cpp:
2891 (WebCore::EventTracer::initialize):
2893 2013-03-04 Min Qin <qinmin@chromium.org>
2895 Fix some style issues in RenderLayerCompositor
2896 https://bugs.webkit.org/show_bug.cgi?id=111369
2898 Reviewed by Simon Fraser.
2900 Just style fix, no test needed
2902 * rendering/RenderLayerCompositor.cpp:
2903 (WebCore::RenderLayerCompositor::frameViewDidScroll):
2904 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2906 2013-03-04 Terry Anderson <tdanderson@chromium.org>
2908 Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
2909 https://bugs.webkit.org/show_bug.cgi?id=111007
2911 Reviewed by Simon Fraser.
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.
2920 No change in behavior, so no new tests needed.
2922 * rendering/RenderLayer.cpp:
2923 (WebCore::RenderLayer::scrollByRecursively):
2924 * rendering/RenderLayer.h:
2926 2013-03-04 Kentaro Hara <haraken@chromium.org>
2928 Unreviewed build fix after r144701.
2930 * platform/EventTracer.cpp:
2931 (WebCore::EventTracer::initialize):
2933 2013-03-04 Christian Biesinger <cbiesinger@chromium.org>
2935 REGRESSION (r143643): Buttons containing floats render differently
2936 https://bugs.webkit.org/show_bug.cgi?id=110933
2938 Reviewed by Ojan Vafai.
2940 Test: fast/forms/button-with-float.html
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
2949 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2951 Support WebSpeech - Speech Synthesis
2952 https://bugs.webkit.org/show_bug.cgi?id=106742
2956 * Modules/speech/SpeechSynthesis.cpp:
2958 2013-03-04 Rafael Weinstein <rafaelw@chromium.org>
2960 Unreviewed, rolling out r144595.
2961 http://trac.webkit.org/changeset/144595
2962 https://bugs.webkit.org/show_bug.cgi?id=90341
2964 Causing multiple crashes in fast/dom/Element/* tests (hits
2965 assert in Attr.cp:215)
2968 (WebCore::Element::setAttributeNode):
2970 2013-02-26 Kentaro Hara <haraken@chromium.org>
2972 [chromium] Implement TRACE_EVENT macros for sampling profiling
2973 https://bugs.webkit.org/show_bug.cgi?id=110932
2975 Reviewed by Adam Barth.
2977 We are implementing TRACE_EVENT macros for sampling profiling.
2978 It works in the following mechanism:
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)
2983 - WebKit gets the addresses of the global state variables at the
2984 initialization step. (i.e. EventTracer::initialize())
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)
2990 - A sampling thread running in Chrome reads the global states
2991 periodically and visualizes the profiling results into about://tracing.
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.
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.
3000 * platform/EventTracer.cpp:
3001 (WebCore::EventTracer::initialize):
3002 (WebCore::EventTracer::getTraceCategoryEnabledFlag):
3004 * platform/EventTracer.h:
3007 * platform/chromium/EventTracerChromium.cpp:
3009 (WebCore::EventTracer::initialize):
3010 * platform/chromium/TraceEvent.h:
3012 2013-03-04 Chris Fleizach <cfleizach@apple.com>
3014 Support WebSpeech - Speech Synthesis
3015 https://bugs.webkit.org/show_bug.cgi?id=106742
3017 Reviewed by Simon Fraser.
3019 Enable speech synthesis for the Mac.
3021 * Configurations/FeatureDefines.xcconfig:
3023 2013-03-04 Ruslan Abdikeev <aruslan@chromium.org>
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
3028 Reviewed by Adam Barth.
3030 Test: fast/dom/icon-url-list-apple-touch.html
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.
3039 (WebCore::Document::shortcutIconURLs):
3041 (WebCore::Document::iconURLs):
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):
3051 (WebCore::Internals::allIconURLs):
3052 * testing/Internals.h:
3053 * testing/Internals.idl:
3055 2013-02-27 Jeffrey Pfau <jpfau@apple.com>
3057 Cache partitioning does not affect iframe MainResources
3058 https://bugs.webkit.org/show_bug.cgi?id=111022
3060 Reviewed by David Kilzer.
3062 Set the partition of a main resource request if in a subframe.
3064 Test: http/tests/cache/partitioned-cache-iframe.html
3066 * loader/FrameLoader.cpp:
3067 (WebCore::FrameLoader::loadURL):
3069 2013-03-04 Chris Fleizach <cfleizach@apple.com>
3071 AX: user agent shadow roots for plugins should be 'accessible'
3072 https://bugs.webkit.org/show_bug.cgi?id=111339
3074 Reviewed by Tim Horton.
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.
3080 * html/HTMLPlugInImageElement.cpp:
3081 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3083 2013-03-04 Alok Priyadarshi <alokp@chromium.org>
3085 [chromium] Form controls on composited layers are not painted properly
3086 https://bugs.webkit.org/show_bug.cgi?id=111366
3088 Reviewed by James Robinson.
3090 Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
3092 * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
3093 (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
3095 2013-03-04 Simon Fraser <simon.fraser@apple.com>
3097 Give ViewportConstraints classes copy constructors
3098 https://bugs.webkit.org/show_bug.cgi?id=111367
3100 Reviewed by Beth Dakin.
3102 Downstream code requires that ViewportConstraints objects have
3103 copy constructors, so add them.
3105 Also clean up some redundant initialization of stack objects
3106 in RenderLayerCompositor.
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):
3121 2013-03-04 Roger Fong <roger_fong@apple.com>
3123 Unreviewed. AppleWin build fix.
3125 * html/parser/XSSAuditor.cpp:
3126 (WebCore::isSemicolonSeparatedAttribute):
3128 2013-03-04 Andreas Kling <akling@apple.com>
3130 CSSParser: Avoid temporary String when parsing hex colors.
3131 <http://webkit.org/b/111341>
3133 Reviewed by Anders Carlsson.
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.
3138 * css/CSSParser.cpp:
3139 (WebCore::CSSParser::fastParseColor):
3141 * css/CSSParserValues.h:
3144 2013-03-04 Julien Chaffraix <jchaffraix@webkit.org>
3146 [CSS Grid Layout] Add parsing for grid-{start|before}
3147 https://bugs.webkit.org/show_bug.cgi?id=110988
3149 Reviewed by Tony Chang.
3151 Test: fast/css-grid-layout/grid-item-start-before-get-set.html
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.
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.
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}.
3182 2013-03-04 Chris Fleizach <cfleizach@apple.com>
3184 WebSpeech: change voiceURI to voice
3185 https://bugs.webkit.org/show_bug.cgi?id=110773
3187 Reviewed by Tim Horton.
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.
3192 Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
3194 * Modules/speech/SpeechSynthesisUtterance.cpp:
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::]):
3213 2013-03-04 Victor Costan <costan@gmail.com>
3215 Filename passed to FormData.append() takes precedence over filename in
3217 https://bugs.webkit.org/show_bug.cgi?id=111255
3219 Reviewed by Alexey Proskuryakov.
3221 Test: http/tests/local/formdata/send-form-data-with-filename.html
3223 * platform/network/FormData.cpp:
3224 (WebCore::FormData::appendKeyValuePairItems): changed to implement the
3225 behavior in the XMLHttpRequest W3C spec.
3227 2013-03-04 Alexis Hetu <sugoi@chromium.org>
3229 Canvas and DOM go out of sync
3230 https://bugs.webkit.org/show_bug.cgi?id=107701
3232 Reviewed by Simon Fraser.
3234 Test: fast/canvas/canvas-overflow-hidden-animation.html
3236 Added an update of the current compositor from the layer's stacking
3237 container when the layer itself isn't a stacking container.
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.
3244 2013-03-04 Alexey Proskuryakov <ap@apple.com>
3246 Small BlobResourceHandle cleanup
3247 https://bugs.webkit.org/show_bug.cgi?id=111352
3249 Reviewed by Sam Weinig.
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().
3255 * platform/network/BlobRegistryImpl.cpp:
3256 (WebCore::loadResourceSynchronously):
3257 (WebCore::BlobRegistryImpl::createResourceHandle):
3258 (WebCore::BlobRegistryImpl::getBlobDataFromURL):
3259 * platform/network/BlobRegistryImpl.h:
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:
3273 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
3275 Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
3276 https://bugs.webkit.org/show_bug.cgi?id=111320
3278 Reviewed by Pavel Feldman.
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):
3292 2013-03-04 Tom Sepez <tsepez@chromium.org>
3294 XSSAuditor bypass with --> comment syntax.
3295 https://bugs.webkit.org/show_bug.cgi?id=111349
3297 Reviewed by Adam Barth.
3299 Test: http/tests/security/xssAuditor/open-iframe-src-03.html
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.
3306 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
3308 Web Inspector: Modal dialogs sometimes lose focus.
3309 https://bugs.webkit.org/show_bug.cgi?id=111317
3311 Reviewed by Pavel Feldman.
3313 setCurrentFocusElement doesn't give focus to an element anymore
3314 if modal glass pane is shown and element is not inside it.
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:
3329 2013-03-04 Roger Fong <roger_fong@apple.com>
3331 Unreviewed. AppleWin build fix.
3333 * WebCore.vcxproj/WebCore.vcxproj:
3335 2013-03-04 Dan Carney <dcarney@google.com>
3337 [v8] add isolate parameter to heap statistics calls
3338 https://bugs.webkit.org/show_bug.cgi?id=111308
3340 Reviewed by Jochen Eisinger.
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):
3352 2013-03-04 Jochen Eisinger <jochen@chromium.org>
3354 [chromium] remove deprecated hyphenation methods from Platform
3355 https://bugs.webkit.org/show_bug.cgi?id=111101
3357 Reviewed by Adam Barth.
3359 * platform/text/chromium/Hyphenation.cpp:
3360 (WebCore::canHyphenate):
3361 (WebCore::lastHyphenLocation):
3363 2013-03-04 Benjamin Poulain <benjamin@webkit.org>
3365 Use initialization from literal for MediaFeatureNames
3366 https://bugs.webkit.org/show_bug.cgi?id=111283
3368 Reviewed by Andreas Kling.
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.
3375 Also use the NotNull placement new to avoid a branch on silly allocators.
3377 2013-03-04 Joshua Bell <jsbell@chromium.org>
3379 [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
3381 * bindings/scripts/test/V8/V8Float64Array.cpp:
3382 (WebCore::ConfigureV8Float64ArrayTemplate):
3383 (WebCore::V8Float64Array::GetTemplate):
3384 * bindings/scripts/test/V8/V8Float64Array.h:
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:
3413 * bindings/scripts/test/V8/V8TestInterface.cpp:
3414 (WebCore::ConfigureV8TestInterfaceTemplate):
3415 (WebCore::V8TestInterface::GetTemplate):
3416 * bindings/scripts/test/V8/V8TestInterface.h:
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:
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:
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:
3457 2013-03-04 Tony Chang <tony@chromium.org>
3459 Unreviewed, rolling out r144562.
3460 http://trac.webkit.org/changeset/144562
3461 https://bugs.webkit.org/show_bug.cgi?id=85642
3463 Caused KeyPadInsert faluires in webkit_unittests
3465 * platform/chromium/KeyCodeConversionGtk.cpp:
3466 (WebCore::windowsKeyCodeForKeyEvent):
3468 2013-03-04 Uday Kiran <udaykiran@motorola.com>
3470 getComputedStyle not implemented for -webkit-columns shorthand
3471 https://bugs.webkit.org/show_bug.cgi?id=111236
3473 Reviewed by Alexis Menard.
3475 Implement getComputedStyle for -webkit-columns shorthand.
3477 Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
3479 * css/CSSComputedStyleDeclaration.cpp:
3480 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3482 2013-03-04 Levi Weintraub <leviw@chromium.org>
3484 Add support for 8 bit TextRuns on Chromium Linux & Mac
3485 https://bugs.webkit.org/show_bug.cgi?id=99393
3487 Reviewed by Eric Seidel.
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.
3493 Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
3494 before enabling this optimization.
3496 No new tests. No change in behavior.
3498 (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
3499 * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
3500 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3501 (WebCore::normalizeCharacters):
3502 (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3504 2013-03-04 Alexis Menard <alexis@webkit.org>
3506 transition-property property and transition shorthand property doesn't accept "all, all".
3507 https://bugs.webkit.org/show_bug.cgi?id=111201
3509 Reviewed by Simon Fraser.
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.
3515 Test: LayoutTests/transitions/transitions-parsing.html
3517 * css/CSSParser.cpp:
3518 (WebCore::CSSParser::parseAnimationProperty):
3520 2013-03-04 Min Qin <qinmin@chromium.org>
3522 Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
3523 https://bugs.webkit.org/show_bug.cgi?id=111229
3525 Reviewed by Simon Fraser.
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.
3531 * rendering/RenderLayerCompositor.cpp:
3532 (WebCore::RenderLayerCompositor::addToOverlapMap):
3534 2013-03-04 Ian Vollick <vollick@chromium.org>
3536 ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
3537 https://bugs.webkit.org/show_bug.cgi?id=108257
3539 Reviewed by David Hyatt.
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
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
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
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.
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):
3581 (WebCore::ClipRectsCache::getIndex):
3582 (WebCore::RenderLayer::clipRects):
3583 * rendering/RenderLayerBacking.cpp:
3584 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3586 2013-03-04 Aaron Colwell <acolwell@chromium.org>
3588 Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
3589 https://bugs.webkit.org/show_bug.cgi?id=111195
3591 Reviewed by Adam Barth.
3593 No new tests. No user visible behavior changed.
3595 * platform/graphics/SourceBufferPrivate.h:
3596 (SourceBufferPrivate):
3598 2013-03-04 David Hyatt <hyatt@apple.com>
3600 [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
3601 https://bugs.webkit.org/show_bug.cgi?id=111338
3603 Reviewed by Allan Jensen.
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.
3608 * rendering/RenderMultiColumnBlock.cpp:
3610 (WebCore::RenderMultiColumnBlock::addChild):
3612 2013-03-04 Mario Sanchez Prada <mario.prada@samsung.com>
3614 [GTK] WebCore::returnString is unsafe and should be removed!
3615 https://bugs.webkit.org/show_bug.cgi?id=110423
3617 Reviewed by Martin Robinson.
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.
3624 * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
3625 * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
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.
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.
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.
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.
3670 2013-03-04 peavo@outlook.com <peavo@outlook.com>
3672 [Curl] Compile fix after r144216
3673 https://bugs.webkit.org/show_bug.cgi?id=111305
3675 Reviewed by Brent Fulgham.
3677 * platform/network/curl/ResourceRequest.h:
3678 (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
3680 2013-03-03 David Hyatt <hyatt@apple.com>
3682 [New Multicolumn] Make sure region styling works for columns inside regions.
3683 https://bugs.webkit.org/show_bug.cgi?id=111276
3685 Reviewed by Sam Weinig.
3687 Test: fast/regions/region-styling-in-columns.html
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.
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.
3704 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
3706 Web Inspector: WebInspector.AceTextEditor throws a warning
3707 https://bugs.webkit.org/show_bug.cgi?id=111315
3709 Reviewed by Pavel Feldman.
3711 Add WebInspector.AceTextEditor to externs.js to suppress closure
3712 compilation warning.
3714 No new tests: no change in behaviour.
3716 * inspector/front-end/externs.js:
3717 (WebInspector.AceTextEditor):
3719 2013-03-04 Antoine Quint <graouts@apple.com>
3721 Fix debug build under certain configurations, cause was
3722 http://trac.webkit.org/changeset/144624.
3724 * inspector/InspectorController.cpp:
3725 (WebCore::InspectorController::InspectorController):
3726 * inspector/InspectorLayerTreeAgent.cpp:
3727 (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3728 * inspector/InspectorLayerTreeAgent.h:
3730 (WebCore::InspectorLayerTreeAgent::create):
3731 (InspectorLayerTreeAgent):
3733 2013-03-04 Allan Sandfeld Jensen <allan.jensen@digia.com>
3735 [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
3736 https://bugs.webkit.org/show_bug.cgi?id=111322
3738 Reviewed by Simon Hausmann.
3740 Do not try to load blacklisted plugins.
3742 * plugins/qt/PluginPackageQt.cpp:
3743 (WebCore::PluginPackage::fetchInfo):
3745 2013-03-04 Alexis Menard <alexis@webkit.org>
3747 transition properties can't be found in CSSStyleDeclaration
3748 https://bugs.webkit.org/show_bug.cgi?id=110011
3750 Reviewed by Antti Koivisto.
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.
3768 Test : transitions/transitions-parsing.html
3770 * css/CSSComputedStyleDeclaration.cpp:
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.
3777 (WebCore::CSSParser::parseValue):
3778 (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
3779 unprefixed longhands to the declarated style.
3780 (WebCore::CSSParser::parseAnimationProperty):
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.
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.
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:
3807 * css/StylePropertyShorthand.cpp:
3808 (WebCore::transitionShorthand):
3810 (WebCore::shorthandForProperty): Define the transitions unprefixed
3812 * css/StylePropertyShorthand.h:
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.
3821 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
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
3826 Reviewed by Yury Semikhatsky.
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):
3834 2013-03-04 Antoine Quint <graouts@apple.com>
3836 Web Inspector: remove existing LayerTreeAgent protocol APIs
3837 https://bugs.webkit.org/show_bug.cgi?id=111251
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.
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.
3849 Reviewed by Timothy Hatcher.
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):
3859 2013-03-04 Li Yin <li.yin@intel.com>
3861 MediaStream.ended must return true when it is created with ended tracks.
3862 https://bugs.webkit.org/show_bug.cgi?id=111293
3864 Reviewed by Kentaro Hara.
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.
3872 Test: fast/mediastream/MediaStreamConstructor.html
3874 * platform/mediastream/MediaStreamDescriptor.h:
3875 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3877 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
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
3882 Reviewed by Pavel Feldman.
3884 The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
3885 not from the document.styleSheets list.
3887 Test: inspector/styles/add-new-rule-with-style-after-body.html
3889 * inspector/InspectorCSSAgent.cpp:
3890 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3892 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
3894 Web Inspector: Unreviewed. Fix for closure type annotations.
3896 * inspector/front-end/FlameChart.js:
3898 2013-03-04 Kondapally Kalyan <kalyan.kondapally@intel.com>
3900 [EFL] Build fix when compiling with GLES2 support enabled.
3901 https://bugs.webkit.org/show_bug.cgi?id=111291
3903 Reviewed by Kenneth Rohde Christiansen.
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.
3910 * platform/graphics/OpenGLESShims.h:
3911 * platform/graphics/opengl/GLPlatformContext.cpp:
3912 (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
3913 * platform/graphics/texmap/TextureMapper.h:
3915 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
3917 Web Inspector: implement Flame Chart for CPU profiler.
3918 https://bugs.webkit.org/show_bug.cgi?id=111162
3920 Reviewed by Yury Semikhatsky.
3922 It is an initial implementation. The next step is to provide
3923 function names and other stats about the hovered item.
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.
3950 2013-03-04 Marja Hölttä <marja@chromium.org>
3952 [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
3953 https://bugs.webkit.org/show_bug.cgi?id=110875
3955 The parameter will later be used for generating specialized V8
3956 bindings for the 3 different world types (main world, isolated
3959 Reviewed by Kentaro Hara.
3961 No new tests (no changes in behavior yet).
3963 * bindings/scripts/CodeGeneratorV8.pm:
3965 (GenerateDomainSafeFunctionGetter):
3966 (GenerateDomainSafeFunctionSetter):
3967 (GenerateNormalAttrGetter):
3968 (GenerateNamedConstructor):
3969 (GenerateImplementation):
3970 * bindings/v8/DOMDataStore.cpp:
3971 (WebCore::DOMDataStore::DOMDataStore):
3972 * bindings/v8/DOMDataStore.h:
3974 * bindings/v8/DOMWrapperWorld.cpp:
3976 (WebCore::DOMWrapperWorld::setInitializingWindow):
3977 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3978 (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
3979 * bindings/v8/DOMWrapperWorld.h:
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):
3996 (WebCore::worldTypeInMainThread):
3997 * bindings/v8/V8Binding.h:
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):
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):
4036 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>