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