1 2013-03-06 Vladislav Kaznacheev <kaznacheev@chromium.org>
3 Web Inspector: Combine style-related panes into a single tab when Elements panel is split horizontally.
4 https://bugs.webkit.org/show_bug.cgi?id=111550
5 Reviewed by Pavel Feldman.
7 Grouping the Elements sidebar panes into two tabbed panes proved to be
8 confusing and inconvenient. Put all the Elements sidebar panes into a single tabbed pane.
9 Combined Styles, Computed Style and Metrics into a single pane.
11 * inspector/front-end/ElementsPanel.js:
12 (WebInspector.ElementsPanel.prototype._splitVertically):
13 (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
14 * inspector/front-end/elementsPanel.css:
15 (.sidebar-pane.composite):
16 (.sidebar-pane.composite > .body):
17 (.sidebar-pane.composite .metrics):
18 (.sidebar-pane.composite .sidebar-pane-toolbar):
19 (.sidebar-pane.composite .sidebar-pane-toolbar > .sidebar-pane-subtitle):
20 (.sidebar-pane.composite .styles-section.read-only):
22 2013-03-05 Yury Semikhatsky <yurys@chromium.org>
24 Web Inspector: support stable remote object ids
25 https://bugs.webkit.org/show_bug.cgi?id=109908
27 Reviewed by Pavel Feldman.
29 Introduced a map from javascript object to its id. It guarantees
30 that object is assined id only once (unless it is explicitely
31 released). The map is per execution context and is stored in
32 InjectedScriptManager.
34 Test: inspector-protocol/persistent-id.html
36 * bindings/js/JSInjectedScriptHostCustom.cpp:
37 (WebCore::JSInjectedScriptHost::objectId):
39 (WebCore::JSInjectedScriptHost::releaseObjectId):
40 * bindings/js/ScriptObject.h:
42 (WTF::ScriptObjectHash::hash):
43 (WTF::ScriptObjectHash::equal):
45 * bindings/v8/ScriptObject.h:
47 (WTF::ScriptObjectHash::hash):
48 (WTF::ScriptObjectHash::equal):
50 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51 (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
53 (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
54 * inspector/InjectedScriptHost.cpp:
55 (WebCore::InjectedScriptHost::create):
56 (WebCore::InjectedScriptHost::InjectedScriptHost):
57 (WebCore::InjectedScriptHost::disconnect):
58 (WebCore::InjectedScriptHost::objectId):
60 (WebCore::InjectedScriptHost::releaseObjectId):
61 * inspector/InjectedScriptHost.h:
64 * inspector/InjectedScriptHost.idl:
65 * inspector/InjectedScriptManager.cpp:
66 (InjectedScriptManager::ObjectIdMap):
67 (WebCore::InjectedScriptManager::ObjectIdMap::ObjectIdMap):
68 (WebCore::InjectedScriptManager::ObjectIdMap::objectId):
69 (WebCore::InjectedScriptManager::ObjectIdMap::releaseObjectId):
71 (WebCore::InjectedScriptManager::InjectedScriptManager):
72 (WebCore::InjectedScriptManager::discardInjectedScripts):
73 (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
74 (WebCore::InjectedScriptManager::objectId):
75 (WebCore::InjectedScriptManager::releaseObjectId):
76 * inspector/InjectedScriptManager.h:
77 (InjectedScriptManager):
78 * inspector/InjectedScriptSource.js:
81 2013-03-06 Marja Hölttä <marja@chromium.org>
83 REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
84 https://bugs.webkit.org/show_bug.cgi?id=111565
86 Reviewed by Jochen Eisinger.
88 In toDOMWindow, the variable "global" was first nuked, and then used again. This
89 change was introduced in r144617.
91 No new tests (no functional changes).
93 * bindings/v8/V8Binding.cpp:
94 (WebCore::toDOMWindow):
96 2013-03-06 Yury Semikhatsky <yurys@chromium.org>
98 Web Inspector: use regular eval instead of injectScript for front-end extension API
99 https://bugs.webkit.org/show_bug.cgi?id=111529
101 Reviewed by Pavel Feldman.
103 Removed InjectedScriptManager::injectScript and replaced all of it calls
104 except the actual script injection with ScriptController::executeScript.
106 * inspector/InjectedScriptManager.cpp:
107 (WebCore::InjectedScriptManager::injectedScriptFor):
108 * inspector/InjectedScriptManager.h:
109 (InjectedScriptManager):
110 * inspector/InspectorAgent.cpp:
111 (WebCore::InspectorAgent::didClearWindowObjectInWorld):
112 * inspector/InspectorPageAgent.cpp:
113 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
114 * inspector/front-end/DOMAgent.js:
115 (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
116 * inspector/front-end/ExtensionAPI.js:
117 (buildExtensionAPIInjectedScript):
118 * inspector/front-end/ExtensionServer.js:
119 (WebInspector.ExtensionServer.prototype._onReload):
121 2013-03-06 Allan Sandfeld Jensen <allan.jensen@digia.com>
123 [Qt] Do not disable C++0x
124 https://bugs.webkit.org/show_bug.cgi?id=111559
126 Reviewed by Kenneth Rohde Christiansen.
130 2013-03-06 Julien Chaffraix <jchaffraix@webkit.org>
132 Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
133 https://bugs.webkit.org/show_bug.cgi?id=111505
135 Reviewed by Alexis Menard.
137 The CSS parsing code expands shorthands (with the exception of 'font') to their longhands.
138 This means that all the code in StyleResolver / StyleBuilder to handle shorthands is basically
139 dead and shouldn't be there. The reason for it to be is that people didn't know about shorthands
140 expansion and thus copied existing code.
142 This change addresses both issues by removing the code and adding ASSERTs that should prevent people
143 from adding more dead code.
145 Refactoring, covered by existing tests.
147 * css/StylePropertyShorthand.h: Added isExpandedShorthand.
148 * css/StylePropertyShorthand.cpp:
149 (WebCore::isExpandedShorthand):
150 Added this function that ignores 'font' as it is the only shorthand that is no consistently expanded
151 to account for system fonts.
153 * css/StyleBuilder.cpp:
154 (WebCore::StyleBuilder::StyleBuilder):
155 Removed the shorthands.
157 * css/StyleBuilder.h:
158 (WebCore::StyleBuilder::setPropertyHandler):
159 Added ASSERTs that people don't add shorthand handling.
161 * css/StyleResolver.cpp:
162 (WebCore::isValidVisitedLinkProperty):
163 Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
166 (WebCore::StyleResolver::applyProperty):
167 Removed all shorthand handling code, moved the shorthands together and added some ASSERT
168 to ensure people don't abuse the code and re-add some of it back by mistake.
170 2013-03-05 Kent Tamura <tkent@chromium.org>
172 Rename WebCore/editing/visible_units.* to VisibleUnits.*
173 https://bugs.webkit.org/show_bug.cgi?id=111426
175 Reviewed by Alexey Proskuryakov.
177 No new tests. Just a refactoring.
180 * GNUmakefile.list.am:
183 * WebCore.vcproj/WebCore.vcproj:
184 * WebCore.vcxproj/WebCore.vcxproj:
185 * WebCore.vcxproj/WebCore.vcxproj.filters:
186 * WebCore.xcodeproj/project.pbxproj:
187 * accessibility/AccessibilityNodeObject.cpp:
188 * accessibility/AccessibilityObject.cpp:
189 * accessibility/AccessibilityRenderObject.cpp:
190 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
191 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
192 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
195 * editing/AlternativeTextController.cpp:
196 * editing/ApplyBlockElementCommand.cpp:
197 * editing/ApplyStyleCommand.cpp:
198 * editing/CompositeEditCommand.cpp:
199 * editing/DeleteSelectionCommand.cpp:
200 * editing/EditingAllInOne.cpp:
201 * editing/EditingStyle.cpp:
202 * editing/Editor.cpp:
203 * editing/FormatBlockCommand.cpp:
204 * editing/FrameSelection.cpp:
205 * editing/IndentOutdentCommand.cpp:
206 * editing/InsertLineBreakCommand.cpp:
207 * editing/InsertListCommand.cpp:
208 * editing/InsertParagraphSeparatorCommand.cpp:
209 * editing/InsertTextCommand.cpp:
210 * editing/ReplaceSelectionCommand.cpp:
211 * editing/SurroundingText.cpp:
212 * editing/TextCheckingHelper.cpp:
213 * editing/TextIterator.cpp:
214 * editing/TypingCommand.cpp:
215 * editing/VisiblePosition.cpp:
216 * editing/VisibleSelection.cpp:
217 * editing/VisibleUnits.cpp: Copied from Source/WebCore/editing/visible_units.cpp.
218 * editing/VisibleUnits.h: Copied from Source/WebCore/editing/visible_units.h.
219 * editing/htmlediting.cpp:
220 * editing/markup.cpp:
221 * editing/visible_units.cpp: Removed.
222 * editing/visible_units.h: Removed.
224 * page/mac/FrameMac.mm:
225 * platform/win/EditorWin.cpp:
227 2013-03-06 Alexis Menard <alexis@webkit.org>
229 Do not add CSSPropertyBorderImage shorthand part of the property list when parsing CSS border property
230 https://bugs.webkit.org/show_bug.cgi?id=111481
232 Reviewed by Julien Chaffraix.
234 After http://trac.webkit.org/changeset/135848 and more generally we do not
235 add shorthand directly into the property list used afterwards to build
236 StylePropertySet but we rather expand the shorthand to add the
237 longhands. CSSPropertyBorderImage is a shorthand and it should follow
238 that rule, so when we successfully parsed CSS border property and we
239 should reset border-image then we should reset the longhands too.
241 Test: LayoutTests/inspector/styles/styles-new-API-expected.txt which
242 reflects the fact that we add longhands instead of the shorthand. All
243 the other tests should not regress.
246 (WebCore::CSSParser::parseValue):
248 2013-03-06 Luiz Agostini <luiz.agostini@nokia.com>
250 Accelerated overflow scrolling for Coordinated Graphics.
251 https://bugs.webkit.org/show_bug.cgi?id=110323
253 Reviewed by Noam Rosenthal.
255 A scroll offset is applied to individual layers on UI process and the
256 web process is notified assynchronously.
257 The new API WKCoordinatedScene may be used to scroll layers in the UI process.
259 Tests will be added on bug #111140.
261 Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
263 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
264 (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
266 (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
267 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
268 (ScrollingCoordinatorCoordinatedGraphics):
270 GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
271 them to its TextureMapperLayer on the appropriated time.
273 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
274 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
275 (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
277 (WebCore::GraphicsLayerTextureMapper::setIsScrollable):
278 (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
279 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
280 (WebCore::GraphicsLayerTextureMapper::setScrollClient):
281 (WebCore::GraphicsLayerTextureMapper::setID):
282 (GraphicsLayerTextureMapper):
283 (WebCore::GraphicsLayerTextureMapper::isScrollable):
285 TextureMapperLayer is responsible for applying the requested scroll offset and for
286 sending the commit messages to web process. It is also able to hittest layers and identify
287 the ones that are scrollable.
289 * platform/graphics/texmap/TextureMapperLayer.cpp:
290 (WebCore::TextureMapperLayer::hitTest):
292 (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
293 (WebCore::TextureMapperLayer::findScrollableContentsLayerAt):
294 (WebCore::TextureMapperLayer::mapScrollOffset):
295 (WebCore::TextureMapperLayer::commitScrollOffset):
296 (WebCore::TextureMapperLayer::scrollBy):
297 (WebCore::TextureMapperLayer::didCommitScrollOffset):
298 * platform/graphics/texmap/TextureMapperLayer.h:
299 (TextureMapperLayer):
301 (WebCore::TextureMapperLayer::TextureMapperLayer):
302 (WebCore::TextureMapperLayer::setID):
303 (WebCore::TextureMapperLayer::id):
304 (WebCore::TextureMapperLayer::setScrollClient):
305 (WebCore::TextureMapperLayer::setIsScrollable):
306 (WebCore::TextureMapperLayer::isScrollable):
307 (WebCore::TextureMapperLayer::adjustedPosition):
309 CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
311 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
312 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
313 (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
315 (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
316 (WebCore::CoordinatedGraphicsLayer::resetLayerState):
317 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
319 (CoordinatedGraphicsLayer):
320 (WebCore::CoordinatedGraphicsLayer::isScrollable):
322 CoordinatedGraphicsScene receives the commit messages from TextureMapperLayer and
323 dispatches them on the main thread. It also has a new method that is used to find
324 the topmost scrollable layer at a given point.
326 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
327 (WebCore::CoordinatedGraphicsScene::setLayerState):
328 (WebCore::CoordinatedGraphicsScene::createLayer):
329 (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
331 (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
332 (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
333 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
335 (CoordinatedGraphicsSceneClient):
336 (CoordinatedGraphicsScene):
338 New fields have been added to CoordinatedGraphicsLayerState.
340 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
341 (CoordinatedGraphicsLayerState):
343 2013-03-06 Allan Sandfeld Jensen <allan.jensen@digia.com>
345 REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
346 https://bugs.webkit.org/show_bug.cgi?id=109291
348 Reviewed by Kenneth Rohde Christiansen.
350 Report we support fixed layers.
352 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
353 (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
354 (ScrollingCoordinatorCoordinatedGraphics):
356 2013-03-06 Sheriff Bot <webkit.review.bot@gmail.com>
358 Unreviewed, rolling out r144859.
359 http://trac.webkit.org/changeset/144859
360 https://bugs.webkit.org/show_bug.cgi?id=111519
362 Introduced a test that calls non-exist function on non-
363 Chromium ports and crash on Chromium (Requested by rniwa on
366 * html/HTMLAudioElement.h:
367 (WebCore::HTMLAudioElement::hasPendingActivity):
369 * html/HTMLAudioElement.idl:
370 * html/HTMLMediaElement.cpp:
371 (WebCore::HTMLMediaElement::hasPendingActivity):
372 * html/HTMLMediaElement.idl:
374 2013-03-06 Ilya Tikhonovsky <loislo@chromium.org>
376 Web Inspector: Could not open Profiles panel.
377 https://bugs.webkit.org/show_bug.cgi?id=111535
379 Reviewed by Alexander Pavlov.
381 * inspector/front-end/CPUProfileView.js:
382 * inspector/front-end/ProfilesPanel.js:
384 2013-03-06 Tony Chang <tony@chromium.org>
386 Crash during middle mouse click when page is removed
387 https://bugs.webkit.org/show_bug.cgi?id=111489
389 Reviewed by Hajime Morrita.
391 Check for a null page that can happen if we remove the document from the DOM.
392 The other methods in EventHandler also check for a null page.
394 Test: editing/pasteboard/selection-paste-crash.html
396 * page/EventHandler.cpp:
397 (WebCore::EventHandler::handlePasteGlobalSelection):
399 2013-03-05 Eric Seidel <eric@webkit.org>
401 Replace shouldLazyAttach bool with an enum for readability
402 https://bugs.webkit.org/show_bug.cgi?id=111503
404 Reviewed by Dimitri Glazkov.
406 No behavioral change.
408 * bindings/cpp/WebDOMNodeCustom.cpp:
409 (WebDOMNode::insertBefore):
410 (WebDOMNode::replaceChild):
411 (WebDOMNode::appendChild):
412 * bindings/js/JSNodeCustom.cpp:
413 (WebCore::JSNode::insertBefore):
414 (WebCore::JSNode::replaceChild):
415 (WebCore::JSNode::appendChild):
416 * bindings/v8/custom/V8NodeCustom.cpp:
418 (WebCore::V8Node::insertBeforeMethodCustom):
419 (WebCore::V8Node::replaceChildMethodCustom):
420 (WebCore::V8Node::appendChildMethodCustom):
421 * dom/ContainerNode.cpp:
423 (WebCore::ContainerNode::insertBefore):
424 (WebCore::ContainerNode::replaceChild):
425 (WebCore::ContainerNode::appendChild):
426 (WebCore::updateTreeAfterInsertion):
427 * dom/ContainerNode.h:
430 (WebCore::Node::insertBefore):
431 (WebCore::Node::replaceChild):
432 (WebCore::Node::appendChild):
435 * editing/AppendNodeCommand.cpp:
436 (WebCore::AppendNodeCommand::doApply):
437 * editing/InsertNodeBeforeCommand.cpp:
438 (WebCore::InsertNodeBeforeCommand::doApply):
439 * html/shadow/MediaControlsApple.cpp:
440 (WebCore::MediaControlsApple::createControls):
441 * html/shadow/MediaControlsBlackBerry.cpp:
442 (WebCore::MediaControlsBlackBerry::createControls):
443 * html/shadow/MediaControlsChromium.cpp:
444 (WebCore::MediaControlsChromium::initializeControls):
445 * html/shadow/MediaControlsChromiumAndroid.cpp:
446 (WebCore::MediaControlsChromiumAndroid::createControls):
448 2013-03-05 Hajime Morrita <morrita@google.com>
450 Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
451 https://bugs.webkit.org/show_bug.cgi?id=111523
453 Reviewed by Kentaro Hara.
455 This change removes CustomElementConstructor::m_name and renames
456 m_tagName to m_name. Now generated function name is same as interface name.
458 Originally, m_name was added to specify the generated constructor
459 name. An early version of custom element allows to give the name,
460 but it no longer says anything about that.
462 The rename is to align the semantics of type extension mechanism
463 of Custom Elements, where the name of a custom element isn't
464 necessarily a tag name.
466 No new tests. Just removing old code.
468 * bindings/scripts/CodeGeneratorV8.pm:
470 * dom/CustomElementConstructor.cpp:
471 (WebCore::CustomElementConstructor::create):
472 (WebCore::CustomElementConstructor::CustomElementConstructor):
473 (WebCore::CustomElementConstructor::createElement):
474 * dom/CustomElementConstructor.h:
475 (CustomElementConstructor):
476 (WebCore::CustomElementConstructor::name):
477 * dom/CustomElementRegistry.cpp:
478 (WebCore::CustomElementRegistry::registerElement):
480 2013-03-05 Ilya Tikhonovsky <loislo@chromium.org>
482 Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.
483 https://bugs.webkit.org/show_bug.cgi?id=111442
485 Reviewed by Yury Semikhatsky.
487 FlameChart is a canvas so it is not possible to attach the popover to the items on it.
488 It would be a bit tricky to support an offset due to complex behaviour of the popover.
489 The simplest solution is to create a fake anchor element and move it to the right position.
491 * inspector/front-end/FlameChart.js:
492 (WebInspector.FlameChart):
493 (WebInspector.FlameChart.prototype._getPopoverAnchor):
494 (WebInspector.FlameChart.prototype._showPopover):
495 (WebInspector.FlameChart.prototype._onMouseMove):
496 (WebInspector.FlameChart.prototype.findNodeCallback):
497 (WebInspector.FlameChart.prototype._coordinatesToNode):
498 (WebInspector.FlameChart.prototype.onResize):
499 * inspector/front-end/flameChart.css:
500 (.flame-chart .item-anchor):
502 2013-03-05 Csaba Osztrogonác <ossy@webkit.org>
504 Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
506 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
507 (WebCore::CoordinatedGraphicsScene::setLayerState):
508 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
509 (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
511 2013-03-05 Geoffrey Garen <ggaren@apple.com>
513 Autoreleased cached pages slow down the PLT by 2%
514 https://bugs.webkit.org/show_bug.cgi?id=111522
516 Reviewed by Filip Pizlo.
518 Let's stop doing that.
522 * history/PageCache.cpp:
523 (WebCore::PageCache::remove):
525 2013-03-05 Hayato Ito <hayato@chromium.org>
527 [Shadow] Implements event re-targeting for Touch Events.
528 https://bugs.webkit.org/show_bug.cgi?id=107800
530 Reviewed by Dimitri Glazkov.
532 So far, Touch Events have been intentionally disabled in shadow
533 tree since it allows users to access internal nodes in shadow tree
534 by accessing Touch Event's information.
536 This patch re-targets all individual touch point's target in
537 TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
538 before the Touch Event is dispatched so that we won't break an
539 upper boundary of shadow DOM.
541 Touch Events re-targeting is similar to that of Mouse Events
542 re-targeting. The difference is that a Touch Event can have more
543 than one related target because of multiple touches. We must
544 re-target all individual touch points which can be referred from
547 Now, Touch Events can be fired in shadow tree. I've removed the
550 Test: fast/dom/shadow/touch-event-retargeting.html
552 * dom/EventContext.cpp:
553 (WebCore::EventContext::isTouchEventContext):
555 (WebCore::TouchEventContext::TouchEventContext):
556 (WebCore::TouchEventContext::~TouchEventContext):
557 (WebCore::TouchEventContext::handleLocalEvents):
558 (WebCore::TouchEventContext::isTouchEventContext):
559 (WebCore::TouchEventContext::checkReachability): Used for assertion of reachability for each Touch point.
560 * dom/EventContext.h:
563 (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
564 (WebCore::TouchEventContext::touches):
565 (WebCore::TouchEventContext::targetTouches):
566 (WebCore::TouchEventContext::changedTouches):
567 (WebCore::EventContext::isReachable):
568 * dom/EventRetargeter.cpp:
569 (WebCore::EventRetargeter::calculateEventPath):
570 (WebCore::EventRetargeter::adjustForTouchEvent):
572 (WebCore::EventRetargeter::adjustTouchList):
573 (WebCore::EventRetargeter::adjustForRelatedTarget):
574 (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
575 (WebCore::EventRetargeter::buildRelatedNodeMap):
576 * dom/EventRetargeter.h:
580 (WebCore::Node::dispatchEvent):
582 (WebCore::Node::dispatchTouchEvent):
587 (WebCore::Touch::Touch):
589 (WebCore::Touch::cloneWithNewTarget):
592 * dom/TouchEvent.cpp:
593 (WebCore::TouchEventDispatchMediator::create):
595 (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
596 (WebCore::TouchEventDispatchMediator::event):
597 (WebCore::TouchEventDispatchMediator::dispatchEvent):
600 (WebCore::TouchEvent::setTouches):
601 (WebCore::TouchEvent::setTargetTouches):
602 (WebCore::TouchEvent::setChangedTouches):
603 (TouchEventDispatchMediator):
605 (WebCore::toTouchEvent):
607 (WebCore::TouchList::item):
611 * page/EventHandler.cpp:
612 (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
613 (WebCore::EventHandler::handleTouchEvent):
615 2013-03-05 Hajime Morrita <morrita@google.com>
617 [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
618 https://bugs.webkit.org/show_bug.cgi?id=111411
620 Reviewed by Kentaro Hara.
622 No new tests. No observable change yet.
624 This is a preparation for Bug 110436, where WebKit is going to
625 allow any HTML element to be a superclass of custom elements.
627 This change eliminates WrapperTypeInfo for custom element. Instead
628 of that, the wrapper of a custom element picks WrapperTypeInfo
629 from most descendant built-in HTML element. For example, think about
632 - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
634 In this case, both ExistingCustomElement and NewCustomElement has
635 HTMLDivElememnt's type info. This is because HTMLDivElememnt is
636 the most descendant (or "the nearest") built-in HTML
637 element. (HTMLElement isn't the most descendant.
638 ExistingCustomElement isn't a built-in.)
640 Using such WrapperTypeInfos, created custom element wrappers can
641 get appropriate set of method and properties regardless of its
644 This change tells the prototype object of each built-in object
645 which WrapperTypeInfo the native backing wants:
646 HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
647 example. The pointer to the type info is stored into an internal
648 field. On wrapper construction, createWrapper() walks up the
649 prototype chain and pick the first one.
651 * bindings/v8/V8DOMConfiguration.cpp:
652 (WebCore::V8DOMConfiguration::configureTemplate):
653 * bindings/v8/V8HTMLCustomElement.cpp:
654 (WebCore::findWrapperTypeOf):
655 (WebCore::V8HTMLCustomElement::createWrapper):
656 * bindings/v8/V8HTMLCustomElement.h:
657 * bindings/v8/V8PerContextData.cpp:
658 (WebCore::V8PerContextData::constructorForTypeSlowCase):
659 * bindings/v8/WrapperTypeInfo.h:
662 2013-03-05 Aaron Colwell <acolwell@chromium.org>
664 Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
665 https://bugs.webkit.org/show_bug.cgi?id=110623
667 Reviewed by Eric Seidel.
669 Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
671 * html/HTMLAudioElement.h:
673 * html/HTMLAudioElement.idl:
674 * html/HTMLMediaElement.cpp:
675 (WebCore::HTMLMediaElement::hasPendingActivity):
676 * html/HTMLMediaElement.idl:
678 2013-03-05 Chris Fleizach <cfleizach@apple.com>
680 AX: Support aria-posinset/setsize
681 https://bugs.webkit.org/show_bug.cgi?id=109725
683 Reviewed by Tim Horton.
685 Expose aria-setsize and aria-posinset through accessibility.
686 Right now only the Mac platform exposes them.
688 Test: platform/mac/accessibility/aria-setsize-posinset.html
690 * accessibility/AccessibilityObject.cpp:
691 (WebCore::AccessibilityObject::supportsARIASetSize):
693 (WebCore::AccessibilityObject::supportsARIAPosInset):
694 (WebCore::AccessibilityObject::ariaSetSize):
695 (WebCore::AccessibilityObject::ariaPosInset):
696 * accessibility/AccessibilityObject.h:
697 (AccessibilityObject):
698 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
699 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
700 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
701 * html/HTMLAttributeNames.in:
704 2013-03-05 Peter Nelson <peter@peterdn.com>
706 [WinCairo] Support for cookies is incomplete
707 https://bugs.webkit.org/show_bug.cgi?id=110147
709 Expired and HttpOnly cookies no longer accessible from JavaScript.
710 Cookies set in JavaScript now have correct domain/path.
712 Reviewed by Brent Fulgham.
714 Test: http/tests/cookies/http-get-cookie-set-in-js.html
716 * platform/network/curl/CookieJarCurl.cpp:
718 (WebCore::addMatchingCurlCookie):
719 (WebCore::getNetscapeCookieFormat):
720 (WebCore::setCookiesFromDOM):
721 (WebCore::cookieRequestHeaderFieldValue):
723 2013-03-05 Alec Flett <alecflett@chromium.org>
725 Fix mac clang build with long long
726 https://bugs.webkit.org/show_bug.cgi?id=111495
728 Unreviewed fix for mac build.
730 * Modules/indexeddb/IDBBackingStore.cpp:
731 (WebCore::IDBBackingStore::IDBBackingStore):
733 2013-03-05 Alec Flett <alecflett@chromium.org>
735 Fix mac clang build with long long
736 https://bugs.webkit.org/show_bug.cgi?id=111495
738 Unreviewed fix for mac build.
740 * Modules/indexeddb/IDBBackingStore.cpp:
741 (WebCore::IDBBackingStore::IDBBackingStore):
743 2013-03-05 Aaron Colwell <acolwell@chromium.org>
745 Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
746 https://bugs.webkit.org/show_bug.cgi?id=111486
748 Reviewed by Adam Barth.
750 No new tests. This doesn't change user visible behavior.
752 * bindings/scripts/CodeGeneratorV8.pm:
753 (GenerateNamedConstructor):
754 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
756 2013-03-05 Shawn Singh <shawnsingh@chromium.org>
758 Fix default background of a dragged image.
759 https://bugs.webkit.org/show_bug.cgi?id=110512
761 Reviewed by Tony Chang.
763 Transparent background color (particularly visible in the padding
764 of an element) was not being respected. The solution is to
765 initially fill the drag image with transparent instead of white,
766 so that any color background works correctly. This patch does not
767 affect Apple Mac or Win platforms, given that this part of the
768 code is #if guarded from those platforms.
771 ManualTests/drag-background-with-padding.html
773 Infrastructure for retrieving the drag image for pixel testing
777 (WebCore::Frame::nodeImage):
779 2013-03-05 Emil A Eklund <eae@chromium.org>
781 ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
782 https://bugs.webkit.org/show_bug.cgi?id=108838
784 Reviewed by Levi Weintraub.
786 Ensure that RenderTable::recalcSections is called when moving a
787 TableSection by calling setNeedsSectionRecalc in addChild for
790 Test: fullscreen/full-screen-table-section.html
792 * rendering/RenderTable.cpp:
793 (WebCore::RenderTable::addChild):
795 2013-03-05 Kenneth Russell <kbr@google.com>
797 Upgrade ANGLE to r1987
798 https://bugs.webkit.org/show_bug.cgi?id=111381
800 Reviewed by Dean Jackson.
802 Covered by existing tests. Ran WebGL conformance tests in Safari
803 to ensure correct operation of patch.
805 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
806 (WebCore::GraphicsContext3D::GraphicsContext3D):
807 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
808 (WebCore::GraphicsContext3D::GraphicsContext3D):
809 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
810 (WebCore::GraphicsContext3D::GraphicsContext3D):
811 * platform/graphics/mac/GraphicsContext3DMac.mm:
812 (WebCore::GraphicsContext3D::GraphicsContext3D):
813 * platform/graphics/qt/GraphicsContext3DQt.cpp:
814 (WebCore::GraphicsContext3DPrivate::initializeANGLE):
815 Changed all ports to query for highp support in fragment
816 shaders and conditionally enable it in ANGLE shader translator.
818 2013-03-05 Alec Flett <alecflett@chromium.org>
820 IndexedDB: Add IDBBackingStoreTest
821 https://bugs.webkit.org/show_bug.cgi?id=111233
823 Reviewed by Adam Barth.
825 These are tweaks to make IDBBackingStore more easily testable.
827 * Modules/indexeddb/IDBBackingStore.cpp:
828 (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
830 2013-03-04 James Robinson <jamesr@chromium.org>
832 [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
833 https://bugs.webkit.org/show_bug.cgi?id=111386
835 Reviewed by Adrienne Walker.
837 This moves checks for whether threaded compositing is enabled from WebCompositorSupport
838 to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
839 the class to make it easier for tests to specify the threaded configuration to use in the test.
841 * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
842 (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
843 * platform/graphics/chromium/Canvas2DLayerBridge.h:
844 (WebCore::Canvas2DLayerBridge::create):
845 (Canvas2DLayerBridge):
846 * platform/graphics/chromium/DrawingBufferChromium.cpp:
847 (WebCore::DrawingBuffer::DrawingBuffer):
848 * platform/graphics/skia/ImageBufferSkia.cpp:
849 (WebCore::createAcceleratedCanvas):
851 2013-03-05 Anders Carlsson <andersca@apple.com>
853 Split up the storage event dispatch functions further
854 https://bugs.webkit.org/show_bug.cgi?id=111482
856 Reviewed by Beth Dakin.
858 Add new functions for dispatching storage events to a set of frames.
860 * storage/StorageAreaImpl.cpp:
861 (WebCore::StorageAreaImpl::dispatchStorageEvent):
862 * storage/StorageEventDispatcher.cpp:
863 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
864 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
866 (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
867 (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
868 * storage/StorageEventDispatcher.h:
870 (StorageEventDispatcher):
872 2013-03-05 Stephen Chenney <schenney@chromium.org>
874 Crash when ImageLoader deletes Element inside SVGImageElement
875 https://bugs.webkit.org/show_bug.cgi?id=111085
877 Reviewed by Abhishek Arya.
879 Elements with ImageLoader objects associated with them may have their
880 final reference held by the ImageLoader (to allow events to be sent
881 and handled). Any call on Element that causes the ImageLoader to
882 dispatch events might then result in the final deref of the Element
883 itself, thus leaving all the Element's "this" pointers up the stack
884 pointing to invalid memory.
886 This change puts the deref of the Element on a timer so that, if the
887 deref is called via a method on Element, the call stack will unwind
888 before the deref occurs.
890 Test: svg/custom/image-with-attr-change-after-delete-crash.html
892 * loader/ImageLoader.cpp:
893 (WebCore::ImageLoader::ImageLoader): Initialize a timer
894 (WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
895 element on a oneShotTimer, with appropriate assertions and checks to
896 ensure we only ref/deref once.
897 (WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
898 * loader/ImageLoader.h:
899 (ImageLoader): Define a timer for controlling deref of the element.
901 2013-03-05 Antoine Quint <graouts@apple.com>
903 Web Inspector: identify reflection layers in LayerTreeAgent
904 https://bugs.webkit.org/show_bug.cgi?id=111419
906 We add a new property "isReflection" to the Layer objects returned
907 to the front-end to indicate whether the layer was created to host
908 the reflection for an element. When this new property is true, the
909 "nodeId" property is set to point to the reflected element's node
910 id, since there is no node per-se directly associated with this layer.
911 We also change the "bounds" property to return absolute page coordinates
912 such that the front-end can use this information to highlight that
913 region in the page since metrics would otherwise be unavailable.
915 Reviewed by Dean Jackson.
917 Test: inspector-protocol/layers/layers-reflected-content.html
919 * inspector/Inspector.json:
920 * inspector/InspectorLayerTreeAgent.cpp:
921 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
923 2013-03-05 peavo@outlook.com <peavo@outlook.com>
925 [WinCairo] Compile fix after r144024.
926 https://bugs.webkit.org/show_bug.cgi?id=111306
928 Reviewed by James Robinson.
930 * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
931 * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
933 2013-03-05 James Weatherall <wez@chromium.org>
935 keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
936 https://bugs.webkit.org/show_bug.cgi?id=85642
938 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
940 Reviewed by Ojan Vafai.
942 * platform/chromium/KeyCodeConversionGtk.cpp:
943 (WebCore::windowsKeyCodeForKeyEvent):
945 2013-03-05 Alec Flett <alecflett@chromium.org>
947 IndexedDB: Properly refactor frontend/backend code by #includes
948 https://bugs.webkit.org/show_bug.cgi?id=110653
950 Reviewed by Dimitri Glazkov.
952 IndexedDB has a distinct backend and frontend, with well defined
953 *Interface / *Callbacks classes distinguishing them, respectively.
955 This makes sure that the frontend and backend do not include each
956 other and fixes build problems that occurred as a result.
958 Specifically this moves enums out of IDBCursor and IDBTransaction
959 into IndexedDB.h in a new WebCore::IndexedDB namespace.
961 No new tests, as this is just a refactor.
963 2013-03-05 Jeffrey Pfau <jpfau@apple.com>
965 Clear associated cache partitions when deleting origins' cache
966 https://bugs.webkit.org/show_bug.cgi?id=111383
968 Reviewed by Maciej Stachowiak.
970 Clear the cache partitions associated with the origin being cleared.
972 Not possible to test with current automated test tools, must be tested manually.
974 * loader/cache/MemoryCache.cpp:
975 (WebCore::MemoryCache::removeResourcesWithOrigin):
977 2013-03-04 Ojan Vafai <ojan@chromium.org>
979 Inline min/maxInstrinsicLogicalWidth functions
980 https://bugs.webkit.org/show_bug.cgi?id=111399
982 Reviewed by Tony Chang.
984 Turns out these functions don't need to be public and only
985 have one caller. This patch is in preparation for supporting
986 intrinsic widths on tables, which will need to pass in the
987 border and padding width as an argument.
989 * rendering/RenderBox.cpp:
990 (WebCore::RenderBox::fillAvailableMeasure):
991 (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
992 (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
993 * rendering/RenderBox.h:
995 2013-03-05 Victor Carbune <vcarbune@chromium.org>
997 Cue line-height property shouldn't be inherited from the video element
998 https://bugs.webkit.org/show_bug.cgi?id=111262
1000 Reviewed by Eric Carlson.
1002 Test: media/track/track-cue-rendering-on-resize.html
1004 * css/mediaControls.css:
1005 (video::-webkit-media-text-track-container): Set the default font size
1006 and family using the "font" property to also reset the line-height property.
1008 2013-03-05 Joshua Bell <jsbell@chromium.org>
1010 IndexedDB: Remove some unused binding code
1011 https://bugs.webkit.org/show_bug.cgi?id=111463
1013 Reviewed by Adam Barth.
1015 IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
1016 root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
1017 remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
1018 to a ScriptValue before it gets anywhere near the binding code, so remove that too.
1019 Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.
1021 No new tests - just removing dead code.
1023 * Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
1024 * Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
1025 * WebCore.gypi: Ditto.
1026 * bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
1027 * bindings/v8/IDBBindingUtilities.h: Ditto.
1028 * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
1030 2013-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
1032 Unreviewed, rolling out r144798.
1033 http://trac.webkit.org/changeset/144798
1034 https://bugs.webkit.org/show_bug.cgi?id=111478
1036 "broke chromium windows build" (Requested by dpranke on
1039 * GNUmakefile.list.am:
1040 * Modules/indexeddb/IDBBackingStore.cpp:
1041 (WebCore::IDBBackingStore::Cursor::continueFunction):
1042 (WebCore::objectStoreCursorOptions):
1043 (WebCore::indexCursorOptions):
1044 (WebCore::IDBBackingStore::openObjectStoreCursor):
1045 (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
1046 (WebCore::IDBBackingStore::openIndexKeyCursor):
1047 (WebCore::IDBBackingStore::openIndexCursor):
1048 * Modules/indexeddb/IDBBackingStore.h:
1050 * Modules/indexeddb/IDBCursor.cpp:
1051 (WebCore::IDBCursor::create):
1052 (WebCore::IDBCursor::IDBCursor):
1053 (WebCore::IDBCursor::continueFunction):
1054 (WebCore::IDBCursor::stringToDirection):
1055 (WebCore::IDBCursor::directionToString):
1056 * Modules/indexeddb/IDBCursor.h:
1058 * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1059 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1060 (WebCore::IDBCursorBackendImpl::deleteFunction):
1061 (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
1062 * Modules/indexeddb/IDBCursorBackendImpl.h:
1063 (WebCore::IDBCursorBackendImpl::create):
1064 (WebCore::IDBCursorBackendImpl::value):
1065 (IDBCursorBackendImpl):
1066 * Modules/indexeddb/IDBCursorBackendInterface.h:
1068 * Modules/indexeddb/IDBCursorWithValue.cpp:
1069 (WebCore::IDBCursorWithValue::create):
1070 (WebCore::IDBCursorWithValue::IDBCursorWithValue):
1071 * Modules/indexeddb/IDBCursorWithValue.h:
1072 (IDBCursorWithValue):
1073 * Modules/indexeddb/IDBDatabase.cpp:
1074 (WebCore::IDBDatabase::transaction):
1075 * Modules/indexeddb/IDBDatabase.h:
1076 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1077 (WebCore::GetOperation::create):
1078 (WebCore::GetOperation::GetOperation):
1080 (WebCore::OpenCursorOperation::create):
1081 (WebCore::OpenCursorOperation::OpenCursorOperation):
1082 (OpenCursorOperation):
1083 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1084 (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1085 (WebCore::IDBDatabaseBackendImpl::createIndex):
1086 (WebCore::IDBDatabaseBackendImpl::deleteIndex):
1087 (WebCore::IDBDatabaseBackendImpl::get):
1088 (WebCore::GetOperation::perform):
1089 (WebCore::IDBDatabaseBackendImpl::put):
1090 (WebCore::PutOperation::perform):
1091 (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1092 (WebCore::IDBDatabaseBackendImpl::openCursor):
1093 (WebCore::OpenCursorOperation::perform):
1094 (WebCore::CountOperation::perform):
1095 (WebCore::IDBDatabaseBackendImpl::deleteRange):
1096 (WebCore::DeleteRangeOperation::perform):
1097 (WebCore::IDBDatabaseBackendImpl::clear):
1098 (WebCore::IDBDatabaseBackendImpl::transactionStarted):
1099 (WebCore::IDBDatabaseBackendImpl::transactionFinished):
1100 (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
1101 (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
1102 (WebCore::IDBDatabaseBackendImpl::createTransaction):
1103 (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1104 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1105 (IDBDatabaseBackendImpl):
1106 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1107 * Modules/indexeddb/IDBFactory.h:
1108 * Modules/indexeddb/IDBIndex.cpp:
1110 (WebCore::IDBIndex::openCursor):
1111 (WebCore::IDBIndex::openKeyCursor):
1112 * Modules/indexeddb/IDBObjectStore.cpp:
1114 (WebCore::IDBObjectStore::openCursor):
1115 * Modules/indexeddb/IDBRequest.cpp:
1116 (WebCore::IDBRequest::IDBRequest):
1117 (WebCore::IDBRequest::setCursorDetails):
1118 (WebCore::IDBRequest::setResultCursor):
1119 (WebCore::IDBRequest::onSuccess):
1120 * Modules/indexeddb/IDBRequest.h:
1122 * Modules/indexeddb/IDBTransaction.cpp:
1123 (WebCore::IDBTransaction::create):
1124 (WebCore::IDBTransaction::IDBTransaction):
1125 (WebCore::IDBTransaction::stringToMode):
1126 (WebCore::IDBTransaction::modeToString):
1127 * Modules/indexeddb/IDBTransaction.h:
1128 (WebCore::IDBTransaction::isReadOnly):
1129 (WebCore::IDBTransaction::isVersionChange):
1131 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1132 (WebCore::IDBTransactionBackendImpl::create):
1133 (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1134 * Modules/indexeddb/IDBTransactionBackendImpl.h:
1135 (IDBTransactionBackendImpl):
1136 (WebCore::IDBTransactionBackendImpl::mode):
1137 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1138 (WebCore::IDBTransactionCoordinator::processStartedTransactions):
1139 (WebCore::IDBTransactionCoordinator::canRunTransaction):
1140 * Modules/indexeddb/IndexedDB.h: Removed.
1144 2013-03-05 Tommy Widenflycht <tommyw@google.com>
1146 MediaStream API: Allow local and remote descriptions to be accessed after close
1147 https://bugs.webkit.org/show_bug.cgi?id=111437
1149 Reviewed by Adam Barth.
1151 It's quite clear in the standard that the getters should still return the old value.
1152 Also overhauling the state setters a bit to check if the new state is different.
1154 Existing tests expanded to cover patch.
1156 * Modules/mediastream/RTCPeerConnection.cpp:
1157 (WebCore::RTCPeerConnection::localDescription):
1158 (WebCore::RTCPeerConnection::remoteDescription):
1159 (WebCore::RTCPeerConnection::changeSignalingState):
1160 (WebCore::RTCPeerConnection::changeIceGatheringState):
1161 (WebCore::RTCPeerConnection::changeIceConnectionState):
1163 2013-03-05 Charlie Reis <creis@chromium.org>
1165 Add FrameLoaderClient::didAccessInitialDocument
1166 https://bugs.webkit.org/show_bug.cgi?id=107963
1168 Notifies the FrameLoaderClient if another page accesses the
1169 initial empty document of a main frame. In this case, it is
1170 no longer safe to display the provisional URL.
1172 Only takes effect for PLATFORM(CHROMIUM), since no other platforms
1173 listen to the notification.
1175 Reviewed by Adam Barth.
1177 * bindings/v8/V8DOMWindowShell.cpp:
1178 (WebCore::V8DOMWindowShell::setSecurityToken):
1179 Use default token for initial document.
1180 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1181 Notify loader if initial document is accessed.
1182 (WebCore::V8DOMWindow::namedSecurityCheck):
1183 (WebCore::V8DOMWindow::indexedSecurityCheck):
1184 * loader/FrameLoader.cpp:
1185 (WebCore::FrameLoader::FrameLoader):
1186 (WebCore::FrameLoader::didAccessInitialDocument):
1188 * loader/FrameLoader.h:
1190 * loader/FrameLoaderClient.h:
1191 (FrameLoaderClient):
1192 (WebCore::FrameLoaderClient::didAccessInitialDocument):
1194 2013-03-05 Otto Derek Cheung <otcheung@rim.com>
1196 [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
1197 https://bugs.webkit.org/show_bug.cgi?id=111468
1199 Reviewed by Rob Buis.
1200 Internally reviewed by Konrad Piascik.
1202 The assert in getBackingStoreCookies could be giving out false positives now
1203 that we have our fixes for cookie loading in PR 286189. The cookie store could
1204 be half loaded if the first cookie get/set call happens before the db is fully loaded.
1205 A full webkit sync call to reload the database will cause the assert to be hit.
1207 Safer to flush everything out and try again.
1209 * platform/blackberry/CookieManager.cpp:
1210 (WebCore::CookieManager::getBackingStoreCookies):
1212 2013-03-05 Tony Gentilcore <tonyg@chromium.org>
1214 CompactHTMLToken does not need an XSSInfo pointer
1215 https://bugs.webkit.org/show_bug.cgi?id=111423
1217 Reviewed by Eric Seidel.
1219 The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
1220 by moving a relatively uncommon attribute out to its own Vector.
1222 No new tests because no new functionality.
1224 * html/parser/BackgroundHTMLParser.cpp:
1225 (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
1227 (WebCore::BackgroundHTMLParser::pumpTokenizer):
1228 (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1229 * html/parser/BackgroundHTMLParser.h:
1230 (BackgroundHTMLParser):
1231 * html/parser/CompactHTMLToken.cpp:
1232 (SameSizeAsCompactHTMLToken):
1233 (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1234 * html/parser/CompactHTMLToken.h:
1237 * html/parser/HTMLDocumentParser.cpp:
1238 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1239 * html/parser/HTMLDocumentParser.h:
1241 * html/parser/XSSAuditorDelegate.h:
1245 2013-03-05 Anders Carlsson <andersca@apple.com>
1247 Split StorageEventDispatcher::dispatch into two functions
1248 https://bugs.webkit.org/show_bug.cgi?id=111464
1250 Reviewed by Beth Dakin.
1252 Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
1253 dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
1254 the right function based on the storage area type.
1256 * storage/StorageAreaImpl.cpp:
1257 (WebCore::StorageAreaImpl::dispatchStorageEvent):
1258 * storage/StorageEventDispatcher.cpp:
1259 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
1261 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
1262 * storage/StorageEventDispatcher.h:
1263 (StorageEventDispatcher):
1265 2013-03-05 Brent Fulgham <bfulgham@webkit.org>
1267 [WinCairo] Unreviewed build fix after r144024.
1269 * page/scrolling/ScrollingCoordinator.cpp:
1270 (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
1271 case of not using Accelerated Compositing
1272 (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
1273 (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.
1275 2013-03-05 Alec Flett <alecflett@chromium.org>
1277 IndexedDB: Properly refactor frontend/backend code by #includes
1278 https://bugs.webkit.org/show_bug.cgi?id=110653
1280 Reviewed by Dimitri Glazkov.
1282 IndexedDB has a distinct backend and frontend, with well defined
1283 *Interface / *Callbacks classes distinguishing them, respectively.
1285 This makes sure that the frontend and backend do not include each
1286 other and fixes build problems that occurred as a result.
1288 Specifically this moves enums out of IDBCursor and IDBTransaction
1289 into IndexedDB.h in a new WebCore::IndexedDB namespace.
1291 No new tests, as this is just a refactor.
1293 2013-03-05 James Robinson <jamesr@chromium.org>
1295 ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
1296 https://bugs.webkit.org/show_bug.cgi?id=87054
1298 Reviewed by Darin Adler.
1300 Adds a new ChromeClient function to query if the platform supports the immediate parameter
1301 to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
1304 * dom/ContainerNode.cpp:
1305 (WebCore::ContainerNode::setActive):
1306 * page/ChromeClient.h:
1307 (WebCore::ChromeClient::supportsImmediateInvalidation):
1309 2013-03-05 Anders Carlsson <andersca@apple.com>
1311 Simplify storage event dispatch somewhat
1312 https://bugs.webkit.org/show_bug.cgi?id=111461
1314 Reviewed by Beth Dakin.
1316 Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
1317 StorageEventDispatcher::dispatch there times. This is in preparation for changing the
1318 interface of StorageEventDispatcher so it can be used by WebKit2.
1320 * storage/StorageAreaImpl.cpp:
1321 (WebCore::StorageAreaImpl::setItem):
1322 (WebCore::StorageAreaImpl::removeItem):
1323 (WebCore::StorageAreaImpl::clear):
1324 (WebCore::StorageAreaImpl::dispatchStorageEvent):
1326 * storage/StorageAreaImpl.h:
1329 2013-03-05 Tony Chang <tony@chromium.org>
1331 Fix some crashes in render sliders
1332 https://bugs.webkit.org/show_bug.cgi?id=111458
1334 Reviewed by Ojan Vafai.
1336 Fix some cases where we assumed the renderer is a renderBox.
1338 Test: fast/forms/range/slider-inline-crash.html
1340 * html/shadow/SliderThumbElement.cpp:
1341 (WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
1342 (WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.
1344 2013-03-04 Andrew Scherkus <scherkus@chromium.org>
1346 REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
1347 https://bugs.webkit.org/show_bug.cgi?id=111109
1349 Reviewed by Eric Carlson.
1351 Covered by following tests:
1352 media/track/track-cue-rendering-horizontal.html
1353 media/track/track-cue-rendering-vertical.html
1355 * rendering/RenderTheme.cpp:
1356 (WebCore::RenderTheme::paint):
1357 * rendering/RenderTheme.h:
1358 (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
1360 2013-03-05 Gwang Yoon Hwang <ryumiel@company100.net>
1362 Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
1363 https://bugs.webkit.org/show_bug.cgi?id=108294
1365 Reviewed by Anders Carlsson.
1367 CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
1368 CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
1369 CoordinatedGraphicsScene (4 classes).
1370 If we want to add a new message, we need to add similar functions into 4 classes.
1372 Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
1373 CommitCoordinatedGraphicsState.
1374 CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
1375 1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
1376 2. CoordinatedLayerTreeHost stores all LayerStates.
1377 3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
1378 at the moment of flushing via CommitCoordinatedGraphicsState message.
1379 4. CoordinatedGraphicsScene applies all state changes to layers.
1381 There is one big behavior change. All states changes (e.g.
1382 UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
1383 CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.
1385 This patch is based on Dongsung Huang, and Noam's work in
1386 https://bugs.webkit.org/show_bug.cgi?id=108294
1388 No new tests, covered by existing tests.
1391 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1392 (WebCore::CoordinatedGraphicsLayer::setPosition):
1393 (WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
1394 (WebCore::CoordinatedGraphicsLayer::setSize):
1395 (WebCore::CoordinatedGraphicsLayer::setTransform):
1396 (WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
1397 (WebCore::CoordinatedGraphicsLayer::setPreserves3D):
1398 (WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
1399 (WebCore::CoordinatedGraphicsLayer::setDrawsContent):
1400 (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
1401 (WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
1402 (WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
1403 (WebCore::CoordinatedGraphicsLayer::setOpacity):
1404 (WebCore::CoordinatedGraphicsLayer::setContentsRect):
1405 (WebCore::CoordinatedGraphicsLayer::setFilters):
1406 (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
1407 (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
1408 (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
1409 (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
1410 (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
1411 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1412 (WebCore::CoordinatedGraphicsLayer::syncChildren):
1413 (WebCore::CoordinatedGraphicsLayer::syncFilters):
1414 (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
1415 (WebCore::CoordinatedGraphicsLayer::syncLayerState):
1416 (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
1417 (WebCore::CoordinatedGraphicsLayer::syncAnimations):
1418 (WebCore::CoordinatedGraphicsLayer::syncCanvas):
1419 (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
1420 (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
1421 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1422 (WebCore::CoordinatedGraphicsLayer::resetLayerState):
1424 (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
1425 (WebCore::CoordinatedGraphicsLayer::setRootLayer):
1426 (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
1427 (WebCore::CoordinatedGraphicsLayer::createTile):
1428 (WebCore::CoordinatedGraphicsLayer::updateTile):
1429 (WebCore::CoordinatedGraphicsLayer::removeTile):
1430 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1431 (CoordinatedGraphicsLayerClient):
1432 (CoordinatedGraphicsLayer):
1433 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1434 (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
1435 (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
1436 (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
1437 (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
1438 (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
1439 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1440 (WebCore::CoordinatedGraphicsScene::setLayerState):
1441 (WebCore::CoordinatedGraphicsScene::deleteLayer):
1442 (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
1443 (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
1444 (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
1445 (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
1446 (WebCore::CoordinatedGraphicsScene::commitSceneState):
1447 (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
1448 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1450 (CoordinatedGraphicsScene):
1451 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
1455 (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
1456 (CoordinatedGraphicsLayerState):
1457 (CoordinatedGraphicsState):
1458 * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
1459 * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Removed.
1460 * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:
1462 2013-03-05 Roger Fong <roger_fong@apple.com>
1464 Unreviewed. AppleWin VS2010 build fix.
1466 * WebCore.vcxproj/WebCore.vcxproj:
1467 * WebCore.vcxproj/WebCore.vcxproj.filters:
1468 * rendering/RenderingAllInOne.cpp:
1470 2013-03-05 Bem Jones-Bey <bjonesbe@adobe.com>
1472 [CSS Exclusions] shape-outside on floats for polygon shapes
1473 https://bugs.webkit.org/show_bug.cgi?id=98676
1475 Reviewed by David Hyatt.
1477 Implement support for polygonal shape-outside on floats. The basic
1478 tack taken here is to keep using the bounding box of the shape to
1479 position the float, but to compute the offset (caused by the shape)
1480 from the bounding box for each line when creating and positioning
1481 other inline content.
1483 Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
1485 * rendering/ExclusionShapeInfo.cpp:
1487 (WebCore::::computedShape): Add new template parameter.
1488 (WebCore::::logicalTopOffset): Add new template parameter.
1489 (WebCore::::computeSegmentsForLine): Move here from
1490 ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
1491 as well. Make virtual since there is slightly different behavior
1492 between each class even though the vast majority of the code is
1494 * rendering/ExclusionShapeInfo.h:
1496 (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
1497 computeSegmentsForLine is virtual, the destructor must be virtual
1499 (ExclusionShapeInfo): Add new data members to support
1500 computeSegmentsForLine.
1501 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
1502 right is based off of maxX, not y. (it's a logical bounding box!)
1503 (WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
1504 ExclusionShapeInsideInfo for use by computeSegmentsForLine and
1505 lineOverlapsShapeBounds.
1506 (WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
1507 ExclusionShapeInsideInfo for use by computeSegmentsForLine and
1508 lineOverlapsShapeBounds.
1509 (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
1510 ExclusionShapeInsideInfo for use by computeSegmentsForLine.
1511 * rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
1512 computeSegmentsForLine into ExclusionShapeInfo.
1513 * rendering/ExclusionShapeInsideInfo.h:
1514 (WebCore): Moved some methods to ExclusionShapeInfo.
1515 (ExclusionShapeInsideInfo): Update for new template parameter.
1516 (WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
1517 superclass method to clear the segment ranges. Segement ranges
1518 aren't used by shape outside, and have some complex dependencies
1519 that make it very hard to try and move up into ExclusionShapeInfo.
1520 (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
1521 for new template parameter.
1522 * rendering/ExclusionShapeOutsideInfo.cpp:
1523 (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
1525 (WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
1526 superclass method to not recompute if it isn't needed (this isn't
1527 straightfoward for shape inside, which is why it isn't common),
1528 and to save the left and right offsets caused by the shape
1529 outside, since that's all that is needed to properly do layout in
1531 * rendering/ExclusionShapeOutsideInfo.h:
1532 (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
1533 be on a single line, like most other methods of it's type in
1535 (ExclusionShapeOutsideInfo): Update for new template parameter.
1536 (WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
1537 Accessor method to get the left offset between the shape and the
1538 shape's bounding box.
1539 (WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
1540 Accessor method to get the left offset between the shape and the
1541 shape's bounding box.
1542 (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
1543 Update for new template parameter.
1544 * rendering/RenderBlock.cpp:
1545 (WebCore::::collectIfNeeded): Save the last float encountered so that
1546 the shape outside offset can be accounted for.
1547 (WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
1548 shape outside offset on the outermost float.
1549 (WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
1550 shape outside offset on the outermost float.
1551 * rendering/RenderBlock.h:
1552 (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1553 Initialize the lastFloat member.
1554 (WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
1555 last float encountered.
1556 (FloatIntervalSearchAdapter): Add a pointer to the last float
1557 encountered. Note that the variable is mutable because
1558 collectIfNeeded is declared as a const method even though it isn't
1559 (it uses loopholes to update m_offset and m_heightRemaining).
1560 Instead of trying to come up with a hack to stick with the
1561 loopholes, I decided to be explicit about it.
1562 * rendering/RenderBlockLineLayout.cpp:
1563 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
1564 into account the offset from any polygonal shape outside.
1565 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
1566 because the current code will not work properly with stacked
1567 floats that have polygonal shape outside.
1569 2013-03-04 David Hyatt <hyatt@apple.com>
1571 [New Multicolumn] Autogenerate regions for columns.
1572 https://bugs.webkit.org/show_bug.cgi?id=111363
1574 Reviewed by Dean Jackson.
1576 In CSS Regions, we lay out the regions first, and then
1577 we put the flow thread into the regions. This model doesn't
1578 really work for multicolumn layout, which needs to be able
1579 to auto-generate new regions lazily in response to the flow
1580 thread asking for regions at particular offsets.
1582 With the multi-column model, where the regions can't just occur
1583 anywhere, its ok not to lay them out before the flow thread, as
1584 long as we have at least given them the correct size.
1586 This patch changes the layout algorithm for columns to:
1587 (1) Size any existing regions (without worrying about placement).
1588 (2) Lay out the flow thread (generating and sizing regions lazily
1589 that need to be created).
1590 (3) Lay out the regions (to give them correct placement and to
1591 compute overflow correctly for the multi-column block that contains
1594 There are no new tests, since there are no behavioral changes. This
1595 is just groundwork for being able to add new sets in response to
1596 spans, balancing, and nested pagination contexts.
1598 * rendering/RenderBlock.cpp:
1599 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1600 (WebCore::RenderBlock::layoutBlockChild):
1601 * rendering/RenderBlock.h:
1603 Since we want to be able to call determineLogicalLeftPositionForChild
1604 to place the flow thread properly, and we don't want to apply a layout
1605 delta (flow threads repaint themselves), we parameterize the method
1606 here so that it can be called without applying a layout delta.
1608 * rendering/RenderFlowThread.cpp:
1609 (WebCore::RenderFlowThread::addRegionToThread):
1610 (WebCore::RenderFlowThread::removeRegionFromThread):
1611 These methods are only used by RenderMultiColumnFlowThread, since
1612 RenderNamedFlowThread overrides them. Remove the code that invalidates
1613 the flow threads region set as regions come and go, since that is now
1614 going to be expected with auto-generation.
1616 (WebCore::RenderFlowThread::validateRegions):
1617 Refactor the code in RenderFlowThread::layout that validates the regions
1618 into its own method, so that we can re-validate regions at any time
1619 after generating new ones.
1621 (WebCore::RenderFlowThread::layout):
1622 Changed to move the region validation code into its own function that is
1623 now called from here.
1625 (WebCore::RenderFlowThread::updateLogicalWidth):
1626 Don't assert if a region set needs layout.
1628 (WebCore::RenderFlowThread::computeLogicalHeight):
1629 Ditto. Don't assert if a region set needs layout. That's expected now.
1631 (WebCore::RenderFlowThread::regionAtBlockOffset):
1632 Add code to regionAtBlockOffset to auto-generate regions up to
1633 the offset. This ensures the region that is being asked for
1636 (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1637 (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1638 (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1639 (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1640 These functions are no longer const, since the act of asking for
1641 pagination offsets can cause us to generate new regions.
1643 (WebCore::RenderFlowThread::mapFromFlowToRegion):
1644 Modified to turn auto-generation off, since this is not really
1645 a "layout-time" function.
1647 (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1648 Modified to not assert if a region set needs layout, since that is
1651 * rendering/RenderFlowThread.h:
1652 Changes to remove const from the methods that can trigger region
1655 * rendering/RenderMultiColumnBlock.cpp:
1656 (WebCore::RenderMultiColumnBlock::styleDidChange):
1657 Make sure to propagate style changes down into the regions. I don't know
1658 of any correctness bugs around this, but I figured I'd be thorough.
1660 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1661 We no longer build a column set aggressively. We wait for the flow thread
1662 to ask us for a region at a particular offset, and only then do we
1665 (WebCore::RenderMultiColumnBlock::addChild):
1666 Now that we lay out the flow thread as a special excluded child, we don't
1667 care about the ordering of it relative to the region children.
1669 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1670 We now lay out the flow thread as a special excluded child (like the legend
1673 * rendering/RenderMultiColumnBlock.h:
1674 (RenderMultiColumnBlock):
1675 Add new overrides like layoutSpecialExcludedChild.
1677 * rendering/RenderMultiColumnFlowThread.cpp:
1678 (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
1679 Set the flow thread to the initial column width even when no regions exist
1680 yet. This way we ensure the width is right even when we don't have any
1683 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
1684 This method handles autogenerating the new region for a given offset.
1685 Right now it's simplistic, since we only have one column set. This method
1686 will be enhanced in future patches when we start supporting multiple column
1689 * rendering/RenderMultiColumnFlowThread.h:
1690 (RenderMultiColumnFlowThread):
1691 Adding new method declarations like autoGenerateRegionsToBlockOffset.
1693 * rendering/RenderMultiColumnSet.cpp:
1694 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1695 Since regions lay out after flow threads, we don't need to make
1696 setFlowThreadPortionRect virtual any longer. We can just get our column set's
1697 width correct immediately. This is the same logic, just moved into updateLogicalWidth().
1699 * rendering/RenderMultiColumnSet.h:
1700 Remove setFlowThreadPortionRect override, since the function can just be simple
1701 and non-virtual in RenderRegion now.
1703 * rendering/RenderRegion.cpp:
1704 (WebCore::RenderRegion::layoutBlock):
1705 Don't ever invalidate region sets in response to our size changing during layout. Since
1706 our size is always determined outside of layout now, we don't need to do any of
1709 * rendering/RenderRegion.h:
1710 (WebCore::RenderRegion::setFlowThreadPortionRect):
1711 Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
1713 2013-03-04 Alexey Proskuryakov <ap@apple.com>
1715 Make AsyncFileReader work without ScriptExecutionContext
1716 https://bugs.webkit.org/show_bug.cgi?id=111376
1718 Reviewed by Anders Carlsson.
1720 * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
1722 * dom/ScriptExecutionContext.cpp:
1723 * dom/ScriptExecutionContext.h:
1724 Removed fileThread(). Creating a thread for every context that acesses files appears
1725 wasteful and unnecessary.
1727 * fileapi/AsyncFileStream.h:
1728 * fileapi/AsyncFileStream.cpp:
1729 (WebCore::createFileThread): FileThread is now a singleton.
1730 (WebCore::fileThread): Ditto.
1731 (WebCore::AsyncFileStream::AsyncFileStream):
1732 (WebCore::AsyncFileStream::create):
1733 (WebCore::didStart):
1734 (WebCore::AsyncFileStream::startOnFileThread):
1735 (WebCore::AsyncFileStream::stop):
1736 (WebCore::derefProxyOnMainThread):
1737 (WebCore::AsyncFileStream::stopOnFileThread):
1738 (WebCore::didGetSize):
1739 (WebCore::AsyncFileStream::getSizeOnFileThread):
1741 (WebCore::AsyncFileStream::openForReadOnFileThread):
1742 (WebCore::AsyncFileStream::openForWriteOnFileThread):
1744 (WebCore::AsyncFileStream::readOnFileThread):
1745 (WebCore::didWrite):
1746 (WebCore::AsyncFileStream::writeOnFileThread):
1747 (WebCore::didTruncate):
1748 (WebCore::AsyncFileStream::truncateOnFileThread):
1749 Use callOnMainThread() instead of posting messages through a context. We never used
1750 other threads, and don't plan to.
1752 * loader/ResourceLoader.cpp:
1753 * loader/ResourceLoader.h:
1754 We no longer need this pseudo-client call to create an AsyncFileStream, now that
1755 we don't need to get a ScriptExecutionContext somewhere.
1757 * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
1758 strongly typed arguments. Closely based on CrossThreadTask.h.
1760 * platform/network/BlobResourceHandle.cpp:
1761 (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
1763 * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
1765 2013-03-05 Jessie Berlin <jberlin@apple.com>
1767 Update the localizable strings file.
1769 Rubber-stamped by Anders Carlsson.
1771 * English.lproj/Localizable.strings:
1773 2013-03-05 Chris Fleizach <cfleizach@apple.com>
1775 AX: aria-label does not override text content on iOS
1776 https://bugs.webkit.org/show_bug.cgi?id=111222
1778 Reviewed by David Kilzer.
1780 Make iOS use the same text alternative computation that Mac is using. The main difference
1781 is that description and title need to be concatenated, because iOS doesn't have two attributes
1782 to return those values.
1784 Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
1786 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1787 (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1788 (-[WebAccessibilityObjectWrapper accessibilityLabel]):
1789 (-[WebAccessibilityObjectWrapper accessibilityHint]):
1790 * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1792 2013-03-05 David Kilzer <ddkilzer@apple.com>
1794 BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1795 <http://webkit.org/b/106742>
1797 Fixes the following build failures:
1799 Undefined symbols for architecture i386:
1800 "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
1801 __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1802 NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
1803 "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
1804 __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1805 ld: symbol(s) not found for architecture i386
1807 * Configurations/FeatureDefines.xcconfig:
1808 - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1810 2013-03-05 Dmitry Zvorygin <zvorygin@chromium.org>
1812 Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
1813 https://bugs.webkit.org/show_bug.cgi?id=111418
1815 The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
1816 http://www.iana.org/assignments/media-types/application/font-woff
1818 Reviewed by Pavel Feldman.
1820 * inspector/front-end/NetworkManager.js:
1821 (WebInspector.NetworkManager):
1822 (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
1824 2013-03-05 Julien Chaffraix <jchaffraix@webkit.org>
1826 [CSS Grid Layout] Add parsing for grid-{end|after}
1827 https://bugs.webkit.org/show_bug.cgi?id=111372
1829 Reviewed by Tony Chang.
1831 Test: fast/css-grid-layout/grid-item-end-after-get-set.html
1833 This change adds the proper support for grid-{end|after}. It doesn't update
1834 grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
1837 * css/CSSComputedStyleDeclaration.cpp:
1838 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1839 Added the new properties to our known properties. Also added
1840 support for getComputedStyle.
1842 * css/CSSParser.cpp:
1843 (WebCore::CSSParser::parseValue):
1844 Added parsing for the new properties.
1846 * css/CSSProperty.cpp:
1847 (WebCore::CSSProperty::isInheritedProperty):
1848 The new properties are not inherited.
1850 * css/CSSPropertyNames.in:
1851 Added the new properties.
1853 * css/StyleResolver.cpp:
1854 (WebCore::StyleResolver::applyProperty):
1855 Added code to handle applying them to our style.
1857 * rendering/style/RenderStyle.h:
1858 * rendering/style/StyleGridItemData.cpp:
1859 (WebCore::StyleGridItemData::StyleGridItemData):
1860 * rendering/style/StyleGridItemData.h:
1861 (WebCore::StyleGridItemData::operator==):
1862 (StyleGridItemData):
1863 Updated our representation to store the new properties.
1865 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
1867 Unreviewed follow-up to r144756, fix broken inspector-less build.
1869 * inspector/InspectorInstrumentation.h:
1870 (WebCore::InspectorInstrumentation::willWriteHTML):
1872 2013-03-05 Mark Lam <mark.lam@apple.com>
1874 Improve robustness of WebSQL quota management.
1875 https://bugs.webkit.org/show_bug.cgi?id=110600.
1877 Reviewed by Geoffrey Garen.
1879 1. Introduced the OriginLock for synchronizing write access to the
1880 database origin directory. This allows us to more accurately
1881 compute the disk usage.
1883 The OriginLock uses a mutex to provide mutual exclusion between
1884 threads and a file lock for mutual exclusion between processes.
1885 The file lock part is conditional on USE(FILE_LOCK).
1887 The mutex mutual exclusion also serves to ensure that only 1 thread
1888 can write to a sqlite database at one time.
1890 2. Change the SQLTransactionCoordinator to only allow one write
1891 transaction to an origin instead of one write transaction per
1892 database. This is needed in order to accurately compute the
1893 disk usage. It is also necessary so that the OriginLock does not
1894 deadlock itself (as would be the case if concurrent write transactions
1895 to different databases in the same origin are allowed).
1897 3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
1898 disk usage may exceed the quota, and ensure that we will return
1899 an appropriate max database size.
1901 Disk usage can exceed the usage if it is already near the quota limit
1902 but have not exceeded it yet. If a new database is opened in that
1903 origin, it may bump the usage above the quota, but should not
1904 continually repeat this. Subsequent attempts to open a database
1905 will find that the quota is already exhausted and fail.
1907 There is still a race condition pertaining to the tracker database
1908 getting out of sync that may still enable runaway growth in the
1909 database sizes. That issue only manifest in a multi-process
1910 environment, and will be fixed in another changeset.
1912 4. Fixed a bug in SQLStatement to check if the errorCallback exists
1915 No new layout tests. A quota-test.html was attached to bugzilla for manual
1916 testing of multi-tab concurrent consumption of storage resource, and also
1917 to test handling situations when the user deletes the database files while
1918 the script is still using the database.
1921 * GNUmakefile.list.am:
1922 * Modules/webdatabase/DatabaseTracker.cpp:
1923 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1924 (WebCore::DatabaseTracker::originLockFor):
1925 (WebCore::DatabaseTracker::deleteOriginLockFor):
1926 (WebCore::DatabaseTracker::deleteOrigin):
1927 * Modules/webdatabase/DatabaseTracker.h:
1928 * Modules/webdatabase/OriginLock.cpp: Added.
1929 (WebCore::OriginLock::lockFileNameForPath):
1930 (WebCore::OriginLock::OriginLock):
1931 (WebCore::OriginLock::~OriginLock):
1932 (WebCore::OriginLock::lock):
1933 (WebCore::OriginLock::unlock):
1934 * Modules/webdatabase/OriginLock.h: Added.
1935 * Modules/webdatabase/SQLStatement.cpp:
1936 (WebCore::SQLStatement::performCallback):
1937 * Modules/webdatabase/SQLTransactionBackend.cpp:
1938 (WebCore::SQLTransactionBackend::doCleanup):
1939 (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
1940 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1941 (WebCore::SQLTransactionBackend::postflightAndCommit):
1942 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1943 (WebCore::SQLTransactionBackend::acquireOriginLock):
1944 (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
1945 * Modules/webdatabase/SQLTransactionBackend.h:
1946 (SQLTransactionBackend):
1947 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1948 (WebCore::getDatabaseIdentifier):
1951 * WebCore.vcproj/WebCore.vcproj:
1952 * WebCore.vcxproj/WebCore.vcxproj:
1953 * WebCore.vcxproj/WebCore.vcxproj.filters:
1954 * WebCore.xcodeproj/project.pbxproj:
1956 * platform/FileSystem.h:
1957 * platform/posix/FileSystemPOSIX.cpp:
1958 (WebCore::lockFile):
1959 (WebCore::unlockFile):
1961 2013-03-05 Ilya Tikhonovsky <loislo@chromium.org>
1963 Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
1964 https://bugs.webkit.org/show_bug.cgi?id=111431
1966 Reviewed by Yury Semikhatsky.
1968 class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
1969 Style names were changed accordingly.
1971 * inspector/front-end/Popover.js:
1972 (WebInspector.PopoverContentHelper):
1973 (WebInspector.PopoverContentHelper.prototype.contentTable):
1974 (WebInspector.PopoverContentHelper.prototype._createCell):
1975 (WebInspector.PopoverContentHelper.prototype.appendTextRow):
1976 (WebInspector.PopoverContentHelper.prototype.appendElementRow):
1977 (WebInspector.PopoverContentHelper.prototype.appendStackTrace):
1978 * inspector/front-end/TimelinePresentationModel.js:
1979 (WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
1980 (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
1981 (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
1982 (WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
1983 * inspector/front-end/popover.css:
1985 (.popover-function-name):
1986 (.popover-stacktrace-title):
1987 (.popover-details-row-title):
1988 (.popover-details-row-data):
1989 (.popover-details-title):
1990 * inspector/front-end/timelinePanel.css:
1992 2013-03-05 Yury Semikhatsky <yurys@chromium.org>
1994 Web Inspector: remove "Live native memory chart" experiment
1995 https://bugs.webkit.org/show_bug.cgi?id=111432
1997 Reviewed by Alexander Pavlov.
1999 Removed support for live native memory chart.
2001 * English.lproj/localizedStrings.js:
2002 * inspector/front-end/NativeMemorySnapshotView.js:
2003 * inspector/front-end/ProfileLauncherView.js:
2004 (WebInspector.ProfileLauncherView):
2005 * inspector/front-end/ProfilesPanel.js:
2006 (WebInspector.ProfilesPanel):
2007 * inspector/front-end/Settings.js:
2008 (WebInspector.ExperimentsSettings):
2009 * inspector/front-end/nativeMemoryProfiler.css:
2011 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
2013 Web Inspector: remove length parameter from Parse HTML timeline event
2014 https://bugs.webkit.org/show_bug.cgi?id=111421
2016 Reviewed by Yury Semikhatsky.
2018 - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
2019 - drive-by style fixes.
2021 * html/parser/HTMLDocumentParser.cpp:
2022 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2023 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2024 (WebCore::HTMLDocumentParser::pumpTokenizer):
2025 * inspector/InspectorInstrumentation.cpp:
2027 (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
2028 (WebCore::InspectorInstrumentation::didWriteHTMLImpl):
2029 * inspector/InspectorInstrumentation.h:
2030 (InspectorInstrumentation):
2031 (WebCore::InspectorInstrumentation::willWriteHTML):
2032 (WebCore::InspectorInstrumentation::didWriteHTML):
2033 * inspector/InspectorTimelineAgent.cpp:
2034 (WebCore::InspectorTimelineAgent::willWriteHTML):
2035 (WebCore::InspectorTimelineAgent::didWriteHTML):
2036 * inspector/InspectorTimelineAgent.h:
2037 (InspectorTimelineAgent):
2038 * inspector/TimelineRecordFactory.cpp:
2039 (WebCore::TimelineRecordFactory::createParseHTMLData):
2040 * inspector/TimelineRecordFactory.h:
2041 (TimelineRecordFactory):
2043 2013-03-05 Alexei Filippov <alph@chromium.org>
2045 Web Inspector: allow each profiler panel to have own landing page
2046 https://bugs.webkit.org/show_bug.cgi?id=111298
2048 Reviewed by Yury Semikhatsky.
2050 Refactor profiler landing page to allow different profiler panels to have own landing pages.
2051 - MultiProfileLauncherView is inherited from ProfileLauncherView
2052 - Native memory distribution profiler has got a custom page.
2054 No new tests: code refactoring.
2056 * inspector/front-end/HeapSnapshotView.js:
2057 (WebInspector.HeapSnapshotView.prototype.get profile):
2058 (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2059 (WebInspector.HeapSnapshotView.prototype._profiles):
2060 * inspector/front-end/NativeMemorySnapshotView.js:
2061 * inspector/front-end/ProfileLauncherView.js:
2062 (WebInspector.ProfileLauncherView):
2063 (WebInspector.ProfileLauncherView.prototype.addProfileType):
2064 (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
2065 (WebInspector.ProfileLauncherView.prototype._updateControls):
2066 (WebInspector.ProfileLauncherView.prototype.profileStarted):
2067 (WebInspector.ProfileLauncherView.prototype.profileFinished):
2068 (WebInspector.MultiProfileLauncherView):
2069 (WebInspector.MultiProfileLauncherView.prototype.addProfileType):
2070 (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
2071 (WebInspector.NativeProfileLauncherView):
2072 * inspector/front-end/ProfilesPanel.js:
2073 (WebInspector.ProfilesPanel):
2074 (WebInspector.ProfilesPanel.prototype._createLauncherView):
2075 (WebInspector.CPUProfilerPanel):
2076 (WebInspector.CSSSelectorProfilerPanel):
2077 (WebInspector.HeapProfilerPanel):
2078 (WebInspector.CanvasProfilerPanel):
2079 (WebInspector.MemoryChartProfilerPanel):
2080 (WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
2081 (WebInspector.NativeMemoryProfilerPanel):
2082 * inspector/front-end/profilesPanel.css:
2083 (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
2085 2013-03-05 Eugene Klyuchnikov <eustas@chromium.org>
2087 Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
2088 https://bugs.webkit.org/show_bug.cgi?id=111427
2090 Reviewed by Alexander Pavlov.
2092 Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
2094 * inspector/front-end/CSSMetadata.js:
2095 Added JSDocs, avoided possible NPEs.
2096 * inspector/front-end/StylesSidebarPane.js:
2097 Fixed JSDocs, removed unused assignment.
2099 2013-03-05 David Kilzer <ddkilzer@apple.com>
2101 BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
2102 <http://webkit.org/b/110050>
2104 Fixes the following build failures:
2106 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>'
2107 tableCell->rowIndexRange(rowRange);
2109 In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2110 Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2111 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2113 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>'
2114 tableCell->columnIndexRange(columnRange);
2116 In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2117 Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2118 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2120 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>'
2121 tableCell->rowIndexRange(rowRange);
2123 In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2124 Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2125 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2127 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>'
2128 tableCell->columnIndexRange(columnRange);
2130 In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2131 Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2132 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2136 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2137 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2138 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2139 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2141 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
2143 Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
2144 https://bugs.webkit.org/show_bug.cgi?id=111345
2146 Reviewed by Pavel Feldman.
2148 * inspector/InspectorTimelineAgent.cpp:
2149 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2150 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2151 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2152 (WebCore::InspectorTimelineAgent::setFrameIdentifier):
2154 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2155 (WebCore::InspectorTimelineAgent::appendRecord):
2156 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2157 (WebCore::InspectorTimelineAgent::commitFrameRecord):
2158 * inspector/InspectorTimelineAgent.h:
2159 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2160 (TimelineRecordEntry):
2161 (InspectorTimelineAgent):
2163 2013-03-05 Tommy Widenflycht <tommyw@google.com>
2165 MediaStream API: Add the getStreamById method on RTCPeerConnection
2166 https://bugs.webkit.org/show_bug.cgi?id=111311
2168 Reviewed by Adam Barth.
2170 Adding the missing method on RTCPeerConnection defined here:
2171 http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
2173 Existing tests have been extended to cover patch.
2175 * Modules/mediastream/RTCPeerConnection.cpp:
2176 (WebCore::RTCPeerConnection::getStreamById):
2178 * Modules/mediastream/RTCPeerConnection.h:
2179 (RTCPeerConnection):
2180 * Modules/mediastream/RTCPeerConnection.idl:
2181 * platform/chromium/support/WebMediaStream.cpp:
2182 (WebKit::WebMediaStream::initialize):
2184 * platform/mediastream/MediaStreamSource.cpp:
2185 (WebCore::MediaStreamSource::setReadyState):
2187 2013-03-05 Antoine Quint <graouts@apple.com>
2189 Web Inspector: allow retrieval of composited layers in a given DOM subtree
2190 https://bugs.webkit.org/show_bug.cgi?id=111312
2192 Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
2193 to gather all composited layers associated with nodes in the subtree of which
2194 the provided node is the root.
2196 In order to gather the layers in the subtree, we first traverse the node's
2197 renderer's RenderObject hierarchy and whenever we encounter a RenderObject
2198 that has a RenderLayer, we then traverse that renderLayer's RenderLayer
2199 hierarchy. This allows for a quick path through the relevant objects we're
2202 Layers gathered will push the node to which they're associated, allowing a
2203 nodeId for this layer to be listed in the Layer object sent to the front-end.
2204 It is crucial to be able to provide a nodeId as well as a layerId for a Layer
2205 object in order to be able to correctly assess mutations in the layer tree.
2206 For instance, it is expected that a node's layer be replaced by a new layer
2207 to represent a slightly different rendering of its content, but the front-end
2208 should be able to represent this layer as an object for which only certain
2209 attributes have changed (like the "paintCount" property).
2211 Layer objects also indicate whether they're associated to a node hosted in a
2212 shadow tree (the optional "isInShadowTree" property) in order for the front-end
2213 to be able to only show this layer if the option to show nodes hosted in shadow
2216 Finally, since we're only gathering composited layers, we're removing the
2217 "isLayerComposited" property and removing the optional flag on the "paintCount",
2218 "memory" and "compositedBounds" properties.
2220 Reviewed by Simon Fraser.
2222 Test: inspector-protocol/layers/layers-for-node.html
2224 * inspector/Inspector.json:
2225 * inspector/InspectorLayerTreeAgent.cpp:
2226 (WebCore::InspectorLayerTreeAgent::layersForNode):
2228 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2229 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2230 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2231 (WebCore::InspectorLayerTreeAgent::idForNode):
2232 * inspector/InspectorLayerTreeAgent.h:
2233 (InspectorLayerTreeAgent):
2235 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
2237 Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
2238 https://bugs.webkit.org/show_bug.cgi?id=111344
2240 - create web socket related records in a manner consistent with the rest of timeline.
2242 Reviewed by Pavel Feldman.
2244 * inspector/InspectorTimelineAgent.cpp:
2245 (WebCore::InspectorTimelineAgent::didCreateWebSocket):
2246 (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
2247 (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
2248 (WebCore::InspectorTimelineAgent::didDestroyWebSocket):
2249 * inspector/InspectorTimelineAgent.h:
2250 (InspectorTimelineAgent):
2252 2013-03-05 Andrei Bucur <abucur@adobe.com>
2254 [CSS Regions] Crash when MathML used in CSS Regions
2255 https://bugs.webkit.org/show_bug.cgi?id=110686
2257 Reviewed by David Hyatt.
2259 The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
2260 logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
2261 is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
2262 This causes an infinite recursion and triggers a stack overflow.
2264 The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
2265 on the destructor. This class is used when computing the preferred height for the children of a MathML block.
2267 Test: fast/regions/mathml-crash.html
2269 * rendering/RenderObject.cpp:
2270 (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
2271 state flag. The innermost flow threads need to manage their descendants flag values.
2272 * rendering/RenderView.cpp:
2273 (WebCore::FragmentationDisabler::FragmentationDisabler):
2275 (WebCore::FragmentationDisabler::~FragmentationDisabler):
2276 * rendering/RenderView.h:
2277 (FragmentationDisabler):
2279 * rendering/mathml/RenderMathMLBlock.cpp:
2280 (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2282 2013-03-05 Mike West <mkwst@chromium.org>
2284 Cleanup: Move HitTestLocation and HitTestResult into separate files.
2285 https://bugs.webkit.org/show_bug.cgi?id=111294
2287 Reviewed by Allan Sandfeld Jensen.
2289 HitTestLocation and HitTestResult currently both live in
2290 HitTestResult.h. That makes things more difficult to understand than
2291 they should be, and violates the one-class-one-file principle that
2292 WebKit generally follows. Happily, it's fairly trivial to fix.
2294 This should have no visible change; it's strictly an internal
2295 refactoring. It doesn't even touch any implementation code: we're
2296 just moving bits from one place to another.
2299 * GNUmakefile.list.am:
2302 * WebCore.vcproj/WebCore.vcproj:
2303 * WebCore.xcodeproj/project.pbxproj:
2304 Hey, look: a new file! Let's add it to six different build systems! :)
2305 * rendering/HitTestLocation.cpp: Added.
2307 (WebCore::HitTestLocation::HitTestLocation):
2308 (WebCore::HitTestLocation::~HitTestLocation):
2309 (WebCore::HitTestLocation::operator=):
2310 (WebCore::HitTestLocation::move):
2311 (WebCore::HitTestLocation::intersectsRect):
2312 (WebCore::HitTestLocation::intersects):
2313 (WebCore::HitTestLocation::rectForPoint):
2314 * rendering/HitTestLocation.h: Added.
2317 (WebCore::HitTestLocation::point):
2318 (WebCore::HitTestLocation::roundedPoint):
2319 (WebCore::HitTestLocation::region):
2320 (WebCore::HitTestLocation::isRectBasedTest):
2321 (WebCore::HitTestLocation::isRectilinear):
2322 (WebCore::HitTestLocation::boundingBox):
2323 (WebCore::HitTestLocation::topPadding):
2324 (WebCore::HitTestLocation::rightPadding):
2325 (WebCore::HitTestLocation::bottomPadding):
2326 (WebCore::HitTestLocation::leftPadding):
2327 (WebCore::HitTestLocation::transformedPoint):
2328 (WebCore::HitTestLocation::transformedRect):
2329 * rendering/HitTestResult.cpp:
2330 * rendering/HitTestResult.h:
2331 Move all this code from HitTestResult.* to HitTestLocation.*.
2332 * rendering/RenderBlock.cpp:
2333 Include HitTestLocation.h.
2335 2013-03-05 Jochen Eisinger <jochen@chromium.org>
2337 Refactor UserGestureIndicator::Token to be a top-level class
2338 https://bugs.webkit.org/show_bug.cgi?id=111412
2340 Reviewed by Nico Weber.
2342 This will allow for forward declaring the class in a public WebKit
2343 API header. The goal is to enable the embedder to hold on to a
2346 * dom/UserGestureIndicator.cpp:
2347 (WebCore::UserGestureIndicator::UserGestureIndicator):
2348 (WebCore::UserGestureIndicator::currentToken):
2349 * dom/UserGestureIndicator.h:
2351 (WebCore::UserGestureToken::~UserGestureToken):
2353 (UserGestureIndicator):
2356 * page/EventHandler.h:
2358 2013-03-05 Mike West <mkwst@chromium.org>
2360 Remove redundant code in Document::updateHoverActiveState.
2361 https://bugs.webkit.org/show_bug.cgi?id=111303
2363 Reviewed by Darin Adler.
2365 Document::updateHoverActiveState currently looks for touchrelease events
2366 and explictly clears out the hover state for all nodes between the
2367 currently hovered node and the top of the hover chain. This is actually
2368 redundant with the logic in the rest of the function; we can simplify by
2369 setting the Element* we're working with to 0, which causes the later
2370 loops to do the necessary work.
2372 There should be no web-visible effect from this change; it should simply
2373 make this function less complex.
2375 Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
2378 (WebCore::Document::updateHoverActiveState):
2379 Set innerElementInDocument to 0 rather than walking the hover chain
2380 and clearing it when we see a touchrelease event. The rest of the
2381 code in this function will have the same effect.
2383 2013-03-05 Koji Hara <kojih@chromium.org>
2385 [V8] Remove unused custom indexedPropertyGetter
2386 https://bugs.webkit.org/show_bug.cgi?id=111409
2388 Reviewed by Kentaro Hara.
2390 Remove unused custom indexedPropertyGetter.
2391 There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
2392 This commit assures all existing custom indexedPropertyGetter(for V8) are used.
2394 No new tests. Simple refactoring.
2396 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
2398 2013-03-05 Hajime Morrita <morrita@google.com>
2400 ShadowRoot needs guardRef() and guardDeref()
2401 https://bugs.webkit.org/show_bug.cgi?id=109777
2403 Reviewed by Dimitri Glazkov.
2405 This change moves m_guardRefCount from Document to TreeScope,
2406 which allows ShadowRoot to be guarded by guardRef() mechanism as
2407 Document. After r137524, Node referes TreeScope instead of
2408 Document. This is natural consequence of the change: It no longer
2409 makes sense to guardRef() Document pointer from Node.
2413 - Document::m_guardRefCount and related funcdtions are moved to TreeScope
2414 - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
2415 TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
2416 - Moved guardRef() and guardDeref() calls to TreeScope and Node.
2417 Note that there are two "guarded" TreeScope references. One is
2418 Node::m_treeScope and another is TreeScope::m_parentTreeScope.
2419 The guarded-ref management is now encapsulated in these two classes.
2421 No new tests. Covered by existing tests.
2425 (WebCore::Document::Document):
2426 (WebCore::Document::~Document):
2427 (WebCore::Document::dispose): Extracted from removedLastRef()
2429 (WebCore::Node::isTreeScope):
2430 (WebCore::Node::Node):
2431 * dom/DocumentFragment.cpp:
2432 (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
2433 (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
2435 (WebCore::Node::~Node):
2436 (WebCore::Node::removedLastRef):
2438 (WebCore::Node::setTreeScope):
2440 (WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
2441 * dom/ShadowRoot.cpp:
2442 (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
2443 (WebCore::ShadowRoot::dispose): Added.
2446 * dom/TreeScope.cpp:
2447 (SameSizeAsTreeScope):
2448 (WebCore::TreeScope::TreeScope):
2449 (WebCore::TreeScope::~TreeScope):
2450 (WebCore::TreeScope::dispose): Added.
2451 (WebCore::TreeScope::setParentTreeScope):
2452 (WebCore::TreeScope::deletionHasBegun):
2453 (WebCore::TreeScope::beginDeletion):
2454 (WebCore::TreeScope::refCount): Added.
2455 * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
2456 (WebCore::TreeScope::guardRef): Pulled up from Document.
2457 (WebCore::TreeScope::guardDeref): Ditto.
2458 (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
2459 (WebCore::TreeScope::deletionHasBegun): Added.
2460 (WebCore::TreeScope::beginDeletion): Added.
2461 (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
2462 * dom/TreeScopeAdopter.cpp:
2463 (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2464 (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2466 2013-03-04 Uday Kiran <udaykiran@motorola.com>
2468 getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
2469 https://bugs.webkit.org/show_bug.cgi?id=111018
2471 Reviewed by Alexander Pavlov.
2473 Test: fast/css/getPropertyValue-webkit-text-stroke.html
2475 * css/StylePropertySet.cpp:
2476 (WebCore::StylePropertySet::getPropertyValue):
2478 2013-03-04 Uday Kiran <udaykiran@motorola.com>
2480 getPropertyValue for -webkit-columns returns null, should compute the shorthand value
2481 https://bugs.webkit.org/show_bug.cgi?id=111011
2483 Reviewed by Alexander Pavlov.
2485 Test: fast/css/getPropertyValue-columns.html
2487 * css/StylePropertySet.cpp:
2488 (WebCore::StylePropertySet::getPropertyValue):
2490 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
2492 Web Inspector: Do not accumulate file system files, add them to workspace immediately
2493 https://bugs.webkit.org/show_bug.cgi?id=111325
2495 Reviewed by Pavel Feldman.
2497 * inspector/front-end/FileSystemProjectDelegate.js:
2498 (WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
2499 (WebInspector.FileSystemProjectDelegate.prototype.populate):
2500 * inspector/front-end/IsolatedFileSystem.js:
2501 (WebInspector.IsolatedFileSystem.prototype.innerCallback):
2502 (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
2504 2013-03-04 Kinuko Yasuda <kinuko@chromium.org>
2506 Unreviewed Windows build fix attempt.
2508 floor method is ambigious so explicitly specify the type.
2510 * html/canvas/WebGLRenderingContext.cpp:
2511 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2513 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2515 AX: cellForColumnAndRow fails for tables with hidden table cells
2516 https://bugs.webkit.org/show_bug.cgi?id=110050
2518 Reviewed by Tim Horton.
2520 If a table had hidden cells, then accessibility code was being confused in a few ways.
2521 1) The cellForColumnAndRow method would return the wrong information since that was
2522 using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
2523 2) The way we were adding children made it impossible to determine column and row range because we
2524 would skip rows that had hidden children
2525 3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow
2527 The fix does a few things to make things right:
2528 1) Always add an accessibility row, even if there are no visible cells in that row.
2529 2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
2530 3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
2531 4) cellForColumnAndRow should use unsigned values instead of int values.
2533 Test: accessibility/table-with-hidden-head-section.html
2535 * accessibility/AccessibilityARIAGrid.cpp:
2537 * accessibility/AccessibilityARIAGrid.h:
2538 (AccessibilityARIAGrid):
2539 * accessibility/AccessibilityARIAGridCell.cpp:
2540 (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2541 (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2542 * accessibility/AccessibilityARIAGridCell.h:
2543 (AccessibilityARIAGridCell):
2544 * accessibility/AccessibilityTable.cpp:
2545 (WebCore::AccessibilityTable::addChildren):
2546 (WebCore::AccessibilityTable::cellForColumnAndRow):
2547 * accessibility/AccessibilityTable.h:
2549 (AccessibilityTable):
2550 * accessibility/AccessibilityTableCell.cpp:
2551 (WebCore::AccessibilityTableCell::rowIndexRange):
2552 (WebCore::AccessibilityTableCell::columnIndexRange):
2553 * accessibility/AccessibilityTableCell.h:
2554 (AccessibilityTableCell):
2555 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2556 (webkitAccessibleTableGetColumnAtIndex):
2557 (webkitAccessibleTableGetRowAtIndex):
2558 (webkitAccessibleTableGetColumnExtentAt):
2559 (webkitAccessibleTableGetRowExtentAt):
2560 (webkitAccessibleTableGetColumnHeader):
2561 (webkitAccessibleTableGetRowHeader):
2562 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2563 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2564 * rendering/RenderTableSection.h:
2565 (RenderTableSection):
2566 (WebCore::RenderTableSection::rowRendererAt):
2568 2013-03-04 Arpita Bahuguna <a.bah@samsung.com>
2570 getAttribute does not behave correctly for mixed-case attributes on HTML elements
2571 https://bugs.webkit.org/show_bug.cgi?id=105713
2573 Reviewed by Andreas Kling.
2575 getAttribute() and getAttributeNode() APIs do not convert the
2576 passed attribute name to lowercase before comparing against the
2577 existing attributes.
2578 The specification however states that the passed name should
2579 be converted to ASCII lowercase before checking for the existence
2580 of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
2582 Test: fast/dom/Element/getAttribute-case-insensitivity.html
2585 (WebCore::ElementData::getAttributeItemIndex):
2586 getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
2587 which specifies whether the attribute's case should be ignored
2588 before comparison. But inspite of this param's value we still carry
2589 out a case sensitive search.
2590 Have modified the same to convert the passed attribute's name to
2591 lowercase if 'shouldIgnoreAttributeCase' is true.
2593 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
2595 [Chromium] Add runtime flag for font load events
2596 https://bugs.webkit.org/show_bug.cgi?id=111296
2598 Reviewed by Kent Tamura.
2600 Add a runtime feature flag for FontLoader interface (disabled by default),
2601 and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
2603 * bindings/generic/RuntimeEnabledFeatures.cpp:
2605 * bindings/generic/RuntimeEnabledFeatures.h:
2606 (RuntimeEnabledFeatures):
2607 (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
2608 (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
2610 2013-03-04 Brandon Jones <bajones@google.com>
2612 WEBGL_compressed_texture_atc implementation
2613 https://bugs.webkit.org/show_bug.cgi?id=110496
2615 Reviewed by Kenneth Russell.
2617 Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
2619 Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
2620 the format that I am aware of. Should enable mobile ports to expose the format, however.
2623 * DerivedSources.make:
2624 * DerivedSources.pri:
2625 * GNUmakefile.list.am:
2628 * WebCore.xcodeproj/project.pbxproj:
2629 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2631 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2632 (WebCore::toV8Object):
2633 * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2635 (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
2636 (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
2637 (WebCore::WebGLCompressedTextureATC::getName):
2638 (WebCore::WebGLCompressedTextureATC::create):
2639 (WebCore::WebGLCompressedTextureATC::supported):
2640 * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2642 (WebGLCompressedTextureATC):
2643 * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2644 * html/canvas/WebGLExtension.h:
2645 * html/canvas/WebGLRenderingContext.cpp:
2647 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2648 (WebCore::WebGLRenderingContext::getExtension):
2649 (WebCore::WebGLRenderingContext::getSupportedExtensions):
2650 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2651 * html/canvas/WebGLRenderingContext.h:
2653 (WebGLRenderingContext):
2654 * platform/graphics/Extensions3D.h:
2657 2013-03-04 Eugene Klyuchnikov <eustas@chromium.org>
2659 Web Inspector: Exceptions when WebInspector run in hosted mode.
2660 https://bugs.webkit.org/show_bug.cgi?id=111326
2662 Reviewed by Pavel Feldman.
2664 There is bug in commands code generation in InspectorBackend.js
2665 As a consequence all protocol enums have wrong names and cause
2666 exception when refererenced.
2668 Currently protocol enums are referenced only from NetworkManager.
2670 Test: inspector/inspector-backend-commands-generation.html
2672 * inspector/front-end/InspectorBackend.js:
2673 (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
2674 Use static method to generate code.
2675 (InspectorBackendClass._generateCommands):
2676 Extracted from loadFromJSONIfNeeded. Typo fixed.
2678 2013-03-04 Chris Rogers <crogers@google.com>
2680 Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
2681 https://bugs.webkit.org/show_bug.cgi?id=111385
2683 Reviewed by James Robinson.
2685 See specification details for .maxChannelCount:
2686 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
2688 * Modules/webaudio/AudioDestinationNode.h:
2689 (WebCore::AudioDestinationNode::maxChannelCount):
2690 * Modules/webaudio/AudioDestinationNode.idl:
2691 * Modules/webaudio/AudioNode.h:
2692 Implement .maxChannelCount attribute.
2695 * Modules/webaudio/DefaultAudioDestinationNode.h:
2696 * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2697 (WebCore::DefaultAudioDestinationNode::initialize):
2698 (WebCore::DefaultAudioDestinationNode::createDestination):
2699 (WebCore::DefaultAudioDestinationNode::enableInput):
2700 Call to createDestination() now takes no argument.
2701 Instead we maintain a member variable for the input device ID.
2702 (WebCore::DefaultAudioDestinationNode::maxChannelCount):
2703 (WebCore::DefaultAudioDestinationNode::setChannelCount):
2704 Check port-specific hardware support for maxChannelCount(),
2705 and allow setting the channel count based on what the hardware
2708 * platform/audio/AudioDestination.h:
2710 * platform/audio/chromium/AudioDestinationChromium.cpp:
2711 (WebCore::AudioDestination::maxChannelCount):
2712 (WebCore::AudioDestinationChromium::render):
2713 Call into chromium WebKit API: audioHardwareOutputChannels().
2715 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2716 (WebCore::AudioDestination::maxChannelCount):
2717 Add basic implementation for maxChannelCount() only supporting stereo output.
2719 * platform/audio/mac/AudioDestinationMac.cpp:
2720 (WebCore::AudioDestination::maxChannelCount):
2721 Add basic implementation for maxChannelCount() only supporting stereo output.
2722 Later, the mac port can support more than this with some small improvements to AudioDestinationMac.
2724 2013-03-04 Adam Barth <abarth@webkit.org>
2726 Background HTML parser can rewind the tokenizer after end-of-file
2727 https://bugs.webkit.org/show_bug.cgi?id=111365
2729 Reviewed by Eric Seidel.
2731 Prior to this patch, it was possible to call didFailSpeculation after
2732 processing the end-of-file token because checkForSpeculationFailure
2733 didn't zero out m_tokenizer in some control paths.
2735 This patch renames checkForSpeculationFailure to validateSpeculations
2736 and ensures that it always takes ownership of the main thread's
2739 This patch also adds a number of ASSERTs to make sure the parser state
2740 machine stays in the correct configuration (e.g., that we don't have a
2741 main thread tokenizer while we're supposed to be tokenizing on the
2744 Test: fast/parser/document-write-fighting-eof.html
2746 * html/parser/BackgroundHTMLInputStream.cpp:
2747 (WebCore::BackgroundHTMLInputStream::rewindTo):
2748 * html/parser/BackgroundHTMLParser.cpp:
2749 (WebCore::BackgroundHTMLParser::append):
2750 * html/parser/HTMLDocumentParser.cpp:
2751 (WebCore::HTMLDocumentParser::validateSpeculations):
2752 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2753 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2754 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2755 * html/parser/HTMLDocumentParser.h:
2756 (HTMLDocumentParser):
2758 2013-03-04 Tim 'mithro' Ansell <mithro@mithis.com>
2760 Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
2761 https://bugs.webkit.org/show_bug.cgi?id=109446
2763 Reviewed by Eric Seidel.
2765 Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
2767 * css/CSSStyleSheet.h:
2769 2013-03-04 Kentaro Hara <haraken@chromium.org>
2771 Unreviewd build fix after r144701.
2773 * platform/EventTracer.cpp:
2774 (WebCore::EventTracer::initialize):
2776 2013-03-04 Min Qin <qinmin@chromium.org>
2778 Fix some style issues in RenderLayerCompositor
2779 https://bugs.webkit.org/show_bug.cgi?id=111369
2781 Reviewed by Simon Fraser.
2783 Just style fix, no test needed
2785 * rendering/RenderLayerCompositor.cpp:
2786 (WebCore::RenderLayerCompositor::frameViewDidScroll):
2787 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2789 2013-03-04 Terry Anderson <tdanderson@chromium.org>
2791 Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
2792 https://bugs.webkit.org/show_bug.cgi?id=111007
2794 Reviewed by Simon Fraser.
2796 Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
2797 http://trac.webkit.org/changeset/142057,
2798 http://trac.webkit.org/changeset/140177, and
2799 http://trac.webkit.org/changeset/142195
2800 are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
2801 gesture-scrolling) and should be reverted.
2803 No change in behavior, so no new tests needed.
2805 * rendering/RenderLayer.cpp:
2806 (WebCore::RenderLayer::scrollByRecursively):
2807 * rendering/RenderLayer.h:
2809 2013-03-04 Kentaro Hara <haraken@chromium.org>
2811 Unreviewed build fix after r144701.
2813 * platform/EventTracer.cpp:
2814 (WebCore::EventTracer::initialize):
2816 2013-03-04 Christian Biesinger <cbiesinger@chromium.org>
2818 REGRESSION (r143643): Buttons containing floats render differently
2819 https://bugs.webkit.org/show_bug.cgi?id=110933
2821 Reviewed by Ojan Vafai.
2823 Test: fast/forms/button-with-float.html
2825 * rendering/RenderBlock.cpp:
2826 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2827 Also include new flexbox as a renderer that needs to enclose
2828 overhanging floats. Flex boxes establish a block formatting context,
2829 so they need to contain floats:
2830 http://dev.w3.org/csswg/css3-flexbox/#flex-items
2832 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2834 Support WebSpeech - Speech Synthesis
2835 https://bugs.webkit.org/show_bug.cgi?id=106742
2839 * Modules/speech/SpeechSynthesis.cpp:
2841 2013-03-04 Rafael Weinstein <rafaelw@chromium.org>
2843 Unreviewed, rolling out r144595.
2844 http://trac.webkit.org/changeset/144595
2845 https://bugs.webkit.org/show_bug.cgi?id=90341
2847 Causing multiple crashes in fast/dom/Element/* tests (hits
2848 assert in Attr.cp:215)
2851 (WebCore::Element::setAttributeNode):
2853 2013-02-26 Kentaro Hara <haraken@chromium.org>
2855 [chromium] Implement TRACE_EVENT macros for sampling profiling
2856 https://bugs.webkit.org/show_bug.cgi?id=110932
2858 Reviewed by Adam Barth.
2860 We are implementing TRACE_EVENT macros for sampling profiling.
2861 It works in the following mechanism:
2863 - Chromium defines global state variables for sampling profiling.
2864 (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)
2866 - WebKit gets the addresses of the global state variables at the
2867 initialization step. (i.e. EventTracer::initialize())
2869 - WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
2870 macros every time WebKit changes its state. (e.g. DOM attribute
2871 getters/setters/methods)
2873 - A sampling thread running in Chrome reads the global states
2874 periodically and visualizes the profiling results into about://tracing.
2876 This patch implements (1) a WebKit API to get the addresses of
2877 the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.
2879 No tests. The sampling profiler is not enabled in Chrome by default.
2880 I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
2881 confirmed that the sampling profiling is working as expected.
2883 * platform/EventTracer.cpp:
2884 (WebCore::EventTracer::initialize):
2885 (WebCore::EventTracer::getTraceCategoryEnabledFlag):
2887 * platform/EventTracer.h:
2890 * platform/chromium/EventTracerChromium.cpp:
2892 (WebCore::EventTracer::initialize):
2893 * platform/chromium/TraceEvent.h:
2895 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2897 Support WebSpeech - Speech Synthesis
2898 https://bugs.webkit.org/show_bug.cgi?id=106742
2900 Reviewed by Simon Fraser.
2902 Enable speech synthesis for the Mac.
2904 * Configurations/FeatureDefines.xcconfig:
2906 2013-03-04 Ruslan Abdikeev <aruslan@chromium.org>
2908 <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
2909 https://bugs.webkit.org/show_bug.cgi?id=109061
2911 Reviewed by Adam Barth.
2913 Test: fast/dom/icon-url-list-apple-touch.html
2915 Added iconTypes parameter to Document::iconURLs().
2916 Added Document::shortcutIconURLs() with original semantics of iconURLs().
2917 Fixed IconController.cpp to provide iconTypesMask to iconURLs().
2918 Renamed iconTypes to iconTypesMask to make the meaning clearer.
2922 (WebCore::Document::shortcutIconURLs):
2924 (WebCore::Document::iconURLs):
2927 * loader/icon/IconController.cpp:
2928 (WebCore::IconController::iconURL):
2929 (WebCore::IconController::urlsForTypes):
2930 * testing/Internals.cpp:
2931 (WebCore::Internals::iconURLs):
2932 (WebCore::Internals::shortcutIconURLs):
2934 (WebCore::Internals::allIconURLs):
2935 * testing/Internals.h:
2936 * testing/Internals.idl:
2938 2013-02-27 Jeffrey Pfau <jpfau@apple.com>
2940 Cache partitioning does not affect iframe MainResources
2941 https://bugs.webkit.org/show_bug.cgi?id=111022
2943 Reviewed by David Kilzer.
2945 Set the partition of a main resource request if in a subframe.
2947 Test: http/tests/cache/partitioned-cache-iframe.html
2949 * loader/FrameLoader.cpp:
2950 (WebCore::FrameLoader::loadURL):
2952 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2954 AX: user agent shadow roots for plugins should be 'accessible'
2955 https://bugs.webkit.org/show_bug.cgi?id=111339
2957 Reviewed by Tim Horton.
2959 If a plugin element uses a user agent shadow element, we should make that shadow element
2960 into a button with the title and subtitle put together, and use that as the label. This
2961 will probably be the best accessibility experience.
2963 * html/HTMLPlugInImageElement.cpp:
2964 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2966 2013-03-04 Alok Priyadarshi <alokp@chromium.org>
2968 [chromium] Form controls on composited layers are not painted properly
2969 https://bugs.webkit.org/show_bug.cgi?id=111366
2971 Reviewed by James Robinson.
2973 Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
2975 * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2976 (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2978 2013-03-04 Simon Fraser <simon.fraser@apple.com>
2980 Give ViewportConstraints classes copy constructors
2981 https://bugs.webkit.org/show_bug.cgi?id=111367
2983 Reviewed by Beth Dakin.
2985 Downstream code requires that ViewportConstraints objects have
2986 copy constructors, so add them.
2988 Also clean up some redundant initialization of stack objects
2989 in RenderLayerCompositor.
2993 * page/scrolling/ScrollingConstraints.h:
2994 (WebCore::ViewportConstraints::ViewportConstraints):
2995 (ViewportConstraints):
2996 (WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
2997 (FixedPositionViewportConstraints):
2998 (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
2999 (StickyPositionViewportConstraints):
3000 * rendering/RenderLayerCompositor.cpp:
3001 (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
3002 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
3004 2013-03-04 Roger Fong <roger_fong@apple.com>
3006 Unreviewed. AppleWin build fix.
3008 * html/parser/XSSAuditor.cpp:
3009 (WebCore::isSemicolonSeparatedAttribute):
3011 2013-03-04 Andreas Kling <akling@apple.com>
3013 CSSParser: Avoid temporary String when parsing hex colors.
3014 <http://webkit.org/b/111341>
3016 Reviewed by Anders Carlsson.
3018 Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
3019 This avoids creating a temporary WTF::String from the parser string.
3021 * css/CSSParser.cpp:
3022 (WebCore::CSSParser::fastParseColor):
3024 * css/CSSParserValues.h:
3027 2013-03-04 Julien Chaffraix <jchaffraix@webkit.org>
3029 [CSS Grid Layout] Add parsing for grid-{start|before}
3030 https://bugs.webkit.org/show_bug.cgi?id=110988
3032 Reviewed by Tony Chang.
3034 Test: fast/css-grid-layout/grid-item-start-before-get-set.html
3036 Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
3037 This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
3038 in the specification and will also be in the code. That means a lot of methods were renamed to be more
3039 aligned with the new design.
3041 * css/CSSComputedStyleDeclaration.cpp:
3042 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3043 * css/CSSParser.cpp:
3044 (WebCore::CSSParser::parseValue):
3045 * css/CSSProperty.cpp:
3046 (WebCore::CSSProperty::isInheritedProperty):
3047 * css/CSSPropertyNames.in:
3048 * css/StyleResolver.cpp:
3049 (WebCore::StyleResolver::applyProperty):
3050 Added the code to parse, apply and get back the new properties. Also
3051 some renaming after the internal naming change below.
3053 * rendering/RenderGrid.cpp:
3054 (WebCore::RenderGrid::maximumIndexInDirection):
3055 (WebCore::RenderGrid::placeItemsOnGrid):
3056 (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
3057 (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
3058 * rendering/style/RenderStyle.h:
3059 * rendering/style/StyleGridItemData.cpp:
3060 (WebCore::StyleGridItemData::StyleGridItemData):
3061 * rendering/style/StyleGridItemData.h:
3062 (WebCore::StyleGridItemData::operator==):
3063 Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.
3065 2013-03-04 Chris Fleizach <cfleizach@apple.com>
3067 WebSpeech: change voiceURI to voice
3068 https://bugs.webkit.org/show_bug.cgi?id=110773
3070 Reviewed by Tim Horton.
3072 Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
3073 This was recently added to the errata of the WebSpeech spec.
3075 Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
3077 * Modules/speech/SpeechSynthesisUtterance.cpp:
3079 (WebCore::SpeechSynthesisUtterance::voice):
3080 (WebCore::SpeechSynthesisUtterance::setVoice):
3081 * Modules/speech/SpeechSynthesisUtterance.h:
3082 (SpeechSynthesisUtterance):
3083 * Modules/speech/SpeechSynthesisUtterance.idl:
3084 * Modules/speech/SpeechSynthesisVoice.h:
3085 (WebCore::SpeechSynthesisVoice::platformVoice):
3086 (SpeechSynthesisVoice):
3087 * platform/PlatformSpeechSynthesisUtterance.cpp:
3088 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
3089 * platform/PlatformSpeechSynthesisUtterance.h:
3090 (WebCore::PlatformSpeechSynthesisUtterance::voice):
3091 (WebCore::PlatformSpeechSynthesisUtterance::setVoice):
3092 (PlatformSpeechSynthesisUtterance):
3093 * platform/mac/PlatformSpeechSynthesizerMac.mm:
3094 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3096 2013-03-04 Victor Costan <costan@gmail.com>
3098 Filename passed to FormData.append() takes precedence over filename in
3100 https://bugs.webkit.org/show_bug.cgi?id=111255
3102 Reviewed by Alexey Proskuryakov.
3104 Test: http/tests/local/formdata/send-form-data-with-filename.html
3106 * platform/network/FormData.cpp:
3107 (WebCore::FormData::appendKeyValuePairItems): changed to implement the
3108 behavior in the XMLHttpRequest W3C spec.
3110 2013-03-04 Alexis Hetu <sugoi@chromium.org>
3112 Canvas and DOM go out of sync
3113 https://bugs.webkit.org/show_bug.cgi?id=107701
3115 Reviewed by Simon Fraser.
3117 Test: fast/canvas/canvas-overflow-hidden-animation.html
3119 Added an update of the current compositor from the layer's stacking
3120 container when the layer itself isn't a stacking container.
3122 * rendering/RenderLayerBacking.cpp:
3123 (WebCore::RenderLayerBacking::updateAfterLayout):
3124 Added an update of the stacking container of the owning layer of the
3125 layer backing when the owning layer isn't a stacking container itself.
3127 2013-03-04 Alexey Proskuryakov <ap@apple.com>
3129 Small BlobResourceHandle cleanup
3130 https://bugs.webkit.org/show_bug.cgi?id=111352
3132 Reviewed by Sam Weinig.
3134 1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
3135 2. Added OVERRIDE to some functions.
3136 3. Added const to ResourceHandle::firstRequest().
3138 * platform/network/BlobRegistryImpl.cpp:
3139 (WebCore::loadResourceSynchronously):
3140 (WebCore::BlobRegistryImpl::createResourceHandle):
3141 (WebCore::BlobRegistryImpl::getBlobDataFromURL):
3142 * platform/network/BlobRegistryImpl.h:
3144 * platform/network/BlobResourceHandle.cpp:
3145 (WebCore::BlobResourceHandle::createAsync):
3146 (WebCore::BlobResourceHandle::loadResourceSynchronously):
3147 * platform/network/BlobResourceHandle.h:
3148 (BlobResourceHandle):
3149 * platform/network/FormData.cpp:
3150 (WebCore::appendBlobResolved):
3151 * platform/network/ResourceHandle.cpp:
3152 (WebCore::ResourceHandle::firstRequest):
3153 * platform/network/ResourceHandle.h:
3156 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
3158 Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
3159 https://bugs.webkit.org/show_bug.cgi?id=111320
3161 Reviewed by Pavel Feldman.
3163 * inspector/front-end/Object.js:
3164 (WebInspector.EventTarget):
3165 (WebInspector.EventTarget.prototype.addEventListener):
3166 (WebInspector.EventTarget.prototype.removeEventListener):
3167 (WebInspector.EventTarget.prototype.removeAllListeners):
3168 (WebInspector.EventTarget.prototype.hasEventListeners):
3169 (WebInspector.EventTarget.prototype.dispatchEventToListeners):
3170 * inspector/front-end/ResourceScriptMapping.js:
3171 * inspector/front-end/UISourceCode.js:
3172 * inspector/front-end/Workspace.js:
3173 (WebInspector.ProjectDelegate.prototype.searchInFileContent):
3175 2013-03-04 Tom Sepez <tsepez@chromium.org>
3177 XSSAuditor bypass with --> comment syntax.
3178 https://bugs.webkit.org/show_bug.cgi?id=111349
3180 Reviewed by Adam Barth.
3182 Test: http/tests/security/xssAuditor/open-iframe-src-03.html
3184 * html/parser/XSSAuditor.cpp:
3185 (WebCore::isTerminatingCharacter):
3186 Adds ">" to the list of terminating characters, so that comments of
3187 the form --> end the snippet we seek to match.
3189 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
3191 Web Inspector: Modal dialogs sometimes lose focus.
3192 https://bugs.webkit.org/show_bug.cgi?id=111317
3194 Reviewed by Pavel Feldman.
3196 setCurrentFocusElement doesn't give focus to an element anymore
3197 if modal glass pane is shown and element is not inside it.
3199 * inspector/front-end/Dialog.js:
3200 (WebInspector.Dialog):
3201 (WebInspector.Dialog.prototype._hide):
3202 * inspector/front-end/InspectorView.js:
3203 (WebInspector.InspectorView.prototype.defaultFocusedElement):
3204 * inspector/front-end/ScriptsPanel.js:
3205 (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
3206 * inspector/front-end/UIUtils.js:
3207 (WebInspector.GlassPane):
3208 (WebInspector.GlassPane.prototype.dispose):
3209 (WebInspector.setCurrentFocusElement):
3210 * inspector/front-end/dialog.css:
3212 2013-03-04 Roger Fong <roger_fong@apple.com>
3214 Unreviewed. AppleWin build fix.
3216 * WebCore.vcxproj/WebCore.vcxproj:
3218 2013-03-04 Dan Carney <dcarney@google.com>
3220 [v8] add isolate parameter to heap statistics calls
3221 https://bugs.webkit.org/show_bug.cgi?id=111308
3223 Reviewed by Jochen Eisinger.
3227 * bindings/v8/ScriptGCEvent.cpp:
3228 (WebCore::ScriptGCEvent::getHeapSize):
3229 (WebCore::ScriptGCEvent::getUsedHeapSize):
3230 * bindings/v8/V8AdaptorFunction.cpp:
3231 (WebCore::V8AdaptorFunction::getTemplate):
3232 * bindings/v8/V8GCController.cpp:
3233 (WebCore::V8GCController::checkMemoryUsage):
3235 2013-03-04 Jochen Eisinger <jochen@chromium.org>
3237 [chromium] remove deprecated hyphenation methods from Platform
3238 https://bugs.webkit.org/show_bug.cgi?id=111101
3240 Reviewed by Adam Barth.
3242 * platform/text/chromium/Hyphenation.cpp:
3243 (WebCore::canHyphenate):
3244 (WebCore::lastHyphenLocation):
3246 2013-03-04 Benjamin Poulain <benjamin@webkit.org>
3248 Use initialization from literal for MediaFeatureNames
3249 https://bugs.webkit.org/show_bug.cgi?id=111283
3251 Reviewed by Andreas Kling.
3253 * css/MediaFeatureNames.cpp:
3254 (WebCore::MediaFeatureNames::init):
3255 Initialization from literal is faster and use less memory. The names are
3256 defined statically in MediaFeatureNames.h.
3258 Also use the NotNull placement new to avoid a branch on silly allocators.
3260 2013-03-04 Joshua Bell <jsbell@chromium.org>
3262 [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
3264 * bindings/scripts/test/V8/V8Float64Array.cpp:
3265 (WebCore::ConfigureV8Float64ArrayTemplate):
3266 (WebCore::V8Float64Array::GetTemplate):
3267 * bindings/scripts/test/V8/V8Float64Array.h:
3269 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3270 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
3271 (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
3272 (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
3273 (WebCore::V8TestActiveDOMObject::GetTemplate):
3274 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3275 (V8TestActiveDOMObject):
3276 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3277 (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
3278 (WebCore::V8TestCustomNamedGetter::GetTemplate):
3279 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3280 (V8TestCustomNamedGetter):
3281 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3282 (WebCore::ConfigureV8TestEventConstructorTemplate):
3283 (WebCore::V8TestEventConstructor::GetTemplate):
3284 * bindings/scripts/test/V8/V8TestEventConstructor.h:
3285 (V8TestEventConstructor):
3286 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3287 (WebCore::ConfigureV8TestEventTargetTemplate):
3288 (WebCore::V8TestEventTarget::GetTemplate):
3289 * bindings/scripts/test/V8/V8TestEventTarget.h:
3290 (V8TestEventTarget):
3291 * bindings/scripts/test/V8/V8TestException.cpp:
3292 (WebCore::ConfigureV8TestExceptionTemplate):
3293 (WebCore::V8TestException::GetTemplate):
3294 * bindings/scripts/test/V8/V8TestException.h:
3296 * bindings/scripts/test/V8/V8TestInterface.cpp:
3297 (WebCore::ConfigureV8TestInterfaceTemplate):
3298 (WebCore::V8TestInterface::GetTemplate):
3299 * bindings/scripts/test/V8/V8TestInterface.h:
3301 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3302 (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
3303 (WebCore::V8TestMediaQueryListListener::GetTemplate):
3304 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3305 (V8TestMediaQueryListListener):
3306 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3307 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
3308 (WebCore::ConfigureV8TestNamedConstructorTemplate):
3309 (WebCore::V8TestNamedConstructor::GetTemplate):
3310 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3311 (V8TestNamedConstructorConstructor):
3312 (V8TestNamedConstructor):
3313 * bindings/scripts/test/V8/V8TestNode.cpp:
3314 (WebCore::ConfigureV8TestNodeTemplate):
3315 (WebCore::V8TestNode::GetTemplate):
3316 * bindings/scripts/test/V8/V8TestNode.h:
3318 * bindings/scripts/test/V8/V8TestObj.cpp:
3319 (WebCore::ConfigureV8TestObjTemplate):
3320 (WebCore::V8TestObj::GetTemplate):
3321 (WebCore::V8TestObj::installPerContextPrototypeProperties):
3322 * bindings/scripts/test/V8/V8TestObj.h:
3324 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3325 (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
3326 (WebCore::V8TestOverloadedConstructors::GetTemplate):
3327 * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3328 (V8TestOverloadedConstructors):
3329 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3330 (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3331 (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3332 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3333 (V8TestSerializedScriptValueInterface):
3334 * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3335 (WebCore::ConfigureV8TestTypedefsTemplate):
3336 (WebCore::V8TestTypedefs::GetTemplate):
3337 * bindings/scripts/test/V8/V8TestTypedefs.h:
3340 2013-03-04 Tony Chang <tony@chromium.org>
3342 Unreviewed, rolling out r144562.
3343 http://trac.webkit.org/changeset/144562
3344 https://bugs.webkit.org/show_bug.cgi?id=85642
3346 Caused KeyPadInsert faluires in webkit_unittests
3348 * platform/chromium/KeyCodeConversionGtk.cpp:
3349 (WebCore::windowsKeyCodeForKeyEvent):
3351 2013-03-04 Uday Kiran <udaykiran@motorola.com>
3353 getComputedStyle not implemented for -webkit-columns shorthand
3354 https://bugs.webkit.org/show_bug.cgi?id=111236
3356 Reviewed by Alexis Menard.
3358 Implement getComputedStyle for -webkit-columns shorthand.
3360 Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
3362 * css/CSSComputedStyleDeclaration.cpp:
3363 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3365 2013-03-04 Levi Weintraub <leviw@chromium.org>
3367 Add support for 8 bit TextRuns on Chromium Linux & Mac
3368 https://bugs.webkit.org/show_bug.cgi?id=99393
3370 Reviewed by Eric Seidel.
3372 Adding support for 8 bit TextRuns for Mac and Linux Chromium. To accomplish this,
3373 8 bit text runs are upconverted to 16 bit in the complex text path during string
3374 normalization, as HarfBuzz operates on UChars.
3376 Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
3377 before enabling this optimization.
3379 No new tests. No change in behavior.
3381 (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
3382 * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
3383 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3384 (WebCore::normalizeCharacters):
3385 (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3387 2013-03-04 Alexis Menard <alexis@webkit.org>
3389 transition-property property and transition shorthand property doesn't accept "all, all".
3390 https://bugs.webkit.org/show_bug.cgi?id=111201
3392 Reviewed by Simon Fraser.
3394 Relax the parsing of transition-property to allow all, all as a value.
3395 It is not very useful per say but it is possible by the spec and we
3396 align with Firefox, IE and Opera.
3398 Test: LayoutTests/transitions/transitions-parsing.html
3400 * css/CSSParser.cpp:
3401 (WebCore::CSSParser::parseAnimationProperty):
3403 2013-03-04 Min Qin <qinmin@chromium.org>
3405 Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
3406 https://bugs.webkit.org/show_bug.cgi?id=111229
3408 Reviewed by Simon Fraser.
3410 If applyPageScaleFactorInCompositor is set to true, webcore should use css coordinates.
3411 As a result, we shouldn't apply page scale to clipRect in RenderLayerCompositor.
3412 Layout tests set the flag to false, so we don't have anything to test against.
3414 * rendering/RenderLayerCompositor.cpp:
3415 (WebCore::RenderLayerCompositor::addToOverlapMap):
3417 2013-03-04 Ian Vollick <vollick@chromium.org>
3419 ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
3420 https://bugs.webkit.org/show_bug.cgi?id=108257
3422 Reviewed by David Hyatt.
3424 With composited scrolling we paint both with and without respecting
3425 overflow clip. To prevent collisions in the clip cache, and to prevent
3426 throwing away cached clips unnecessarily, we keep two copies of the
3427 clip cache -- one for when overflow clip is respected, and one for
3430 No new tests. Covered by existing tests (in debug):
3431 compositing/overflow/automatically-opt-into-composited-scrolling.html
3432 compositing/overflow/composited-scrolling-creates-a-stacking-container.html
3434 * rendering/RenderLayer.cpp:
3435 (WebCore::RenderLayer::updateClipRects):
3436 No longer asserts that our 'respect overflow clip' status is
3437 consistent. It also gets and sets the clip cache using the clip rect
3438 context rather than just the clip rect type.
3439 (WebCore::RenderLayer::calculateClipRects):
3440 (WebCore::RenderLayer::parentClipRects):
3441 (WebCore::RenderLayer::clearClipRects):
3442 (WebCore::ClipRectsCache::ClipRectsCache):
3443 (WebCore::ClipRectsCache::getClipRects):
3444 (WebCore::ClipRectsCache::setClipRects):
3445 (WebCore::ClipRectsCache::getIndex):
3446 Get and set the cached clip rects using the context rather than
3448 (WebCore::RenderLayer::clipRects):
3449 We now cache twice as many clip rects.
3450 * rendering/RenderLayerBacking.cpp: