Specify Shadow DOM Pseudo IDs in Media Element Constructors
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
2
3         Specify Shadow DOM Pseudo IDs in Media Element Constructors
4         https://bugs.webkit.org/show_bug.cgi?id=130882
5
6         Reviewed by Eric Carlson.
7
8         * html/shadow/MediaControlElements.cpp:
9         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
10         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
11         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
12         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
13         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
14         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
15         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
16         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
17         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
18         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
19         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
20         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
21         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
22         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
23         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
24         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
25         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
26         (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
27         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
28         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
29         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
30         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
31         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
32         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
33         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.
34
35 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
36
37         [iOS][WK2] Adjust the tile coverage on the scrollview's edges
38         https://bugs.webkit.org/show_bug.cgi?id=130884
39
40         Reviewed by Dan Bernstein.
41
42         * platform/ios/ScrollViewIOS.mm:
43         (WebCore::ScrollView::computeCoverageRect):
44         Pull back the future rect inside the contentRect if it goes outside.
45         There is no point in retiling for rubberbanding and the extra tiles should be always be
46         on the opposite side to the edges.
47
48 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
49
50         Remove unused LocaleMac::create method
51         https://bugs.webkit.org/show_bug.cgi?id=130870
52
53         Reviewed by Andreas Kling.
54
55         * platform/text/mac/LocaleMac.h:
56         * platform/text/mac/LocaleMac.mm:
57         (WebCore::LocaleMac::create): Deleted.
58         (WebCore::LocaleMac::shortDateFormatter): Deleted.
59
60 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
61
62         Clean up unneeded "mutable" keyword
63         https://bugs.webkit.org/show_bug.cgi?id=130832
64
65         Reviewed by Andreas Kling.
66
67         As r166350, this patch cleans up unneeded "mutable" keywords.
68         Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
69
70         * css/CSSFontFaceRule.h:
71         * css/CSSStyleRule.h:
72         * editing/FrameSelection.h:
73
74 2014-03-27  Enrica Casucci  <enrica@apple.com>
75
76         Add support for AirPlay picker in WK2 for iOS.
77         https://bugs.webkit.org/show_bug.cgi?id=130855
78         <rdar://problem/15349859>
79
80         Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
81
82         Adds support in HTMLMediaSession to display the airplay picker
83         and to monitor presence of available wireless targets.
84
85         * html/HTMLMediaSession.cpp:
86         (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
87         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
88         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
89         * loader/EmptyClients.h:
90         * page/ChromeClient.h:
91         * platform/audio/MediaSessionManager.cpp:
92         (WebCore::MediaSessionManager::wirelessRoutesAvailableChanged):
93         * platform/audio/MediaSessionManager.h:
94         (WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
95         (WebCore::MediaSessionManager::startMonitoringAirPlayRoutes):
96         (WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes):
97         * platform/audio/ios/MediaSessionManagerIOS.h:
98         * platform/audio/ios/MediaSessionManagerIOS.mm:
99         (WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
100         (WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes):
101         (WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes):
102         (-[WebMediaSessionHelper initWithCallback:]):
103         (-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
104         (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
105         (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
106         (-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
107         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
108         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
109         (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
110
111 2014-03-27  Bem Jones-Bey  <bjonesbe@adobe.com>
112
113         [CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
114         https://bugs.webkit.org/show_bug.cgi?id=127982
115
116         Reviewed by Simon Fraser.
117
118         Calculate rounded corners for box shapes as defined in the CSS Shapes
119         spec.
120
121         Tests: css3/masking/clip-path-border-radius-border-box-000.html
122                css3/masking/clip-path-border-radius-content-box-000.html
123                css3/masking/clip-path-border-radius-content-box-001.html
124                css3/masking/clip-path-border-radius-padding-box-000.html
125                css3/masking/clip-path-border-radius-padding-box-001.html
126                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html
127                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html
128                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html
129                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html
130                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html
131                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html
132                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html
133                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html
134                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html
135                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html
136                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html
137                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html
138                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html
139                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html
140                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html
141                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html
142
143         * platform/graphics/RoundedRect.h:
144         (WebCore::RoundedRect::Radii::transposedRadii): Transpose radii for
145             vertical writing modes.
146         (WebCore::RoundedRect::moveBy): Add method for use with clip path.
147         (WebCore::RoundedRect::transposedRect): Transpose rect for vertical
148             writing modes.
149         * rendering/RenderBox.h:
150         (WebCore::RenderBox::marginBoxRect): Return the margin box rect for
151             the RenderBox.
152         * rendering/RenderLayer.cpp:
153         (WebCore::RenderLayer::setupClipPath): Call the new function for the
154             rounded corner calculation.
155         * rendering/shapes/ShapeInfo.cpp:
156         (WebCore::ShapeInfo<RenderType>::computedShape): Call the new function
157             for the rounded corner calculation.
158         * rendering/shapes/BoxShape.cpp:
159         (WebCore::adjustRadiusForMarginBoxShape): Helper function for
160             computeRoundedRectForLayoutBoxShape.
161         (WebCore::computeMarginBoxShapeRadius): Ditto.
162         (WebCore::computeMarginBoxShapeRadii): Ditto.
163         (WebCore::computeRoundedRectForBoxShape): Utility function to do the
164             rounded corner calculation.
165         * rendering/shapes/BoxShape.h: Add new function.
166         * rendering/style/RenderStyle.h:
167         (WebCore::RenderStyle::getRoundedInnerBorderFor): Add default argument
168             values.
169
170 2014-03-27  Commit Queue  <commit-queue@webkit.org>
171
172         Unreviewed, rolling out r166364.
173         https://bugs.webkit.org/show_bug.cgi?id=130872
174
175         Caused a test assertion (Requested by smfr on #webkit).
176
177         Reverted changeset:
178
179         "Operator stretching: expose a math data API"
180         https://bugs.webkit.org/show_bug.cgi?id=130572
181         http://trac.webkit.org/changeset/166364
182
183 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
184
185         [iOS][WK2] Compute a good exposed rect when scaling WKContentView
186         https://bugs.webkit.org/show_bug.cgi?id=130761
187
188         Reviewed by Simon Fraser.
189
190         * WebCore.exp.in:
191         * platform/ScrollView.h:
192         * platform/ios/ScrollViewIOS.mm:
193         (WebCore::ScrollView::setScrollVelocity):
194         (WebCore::ScrollView::computeCoverageRect):
195         While scaling in, do not add margins tiles. When scaling out, add 1 margin tile size
196         all around.
197
198 2014-03-27  Commit Queue  <commit-queue@webkit.org>
199
200         Unreviewed, rolling out r166360.
201         https://bugs.webkit.org/show_bug.cgi?id=130869
202
203         Seems to have broken PLT (Requested by ap on #webkit).
204
205         Reverted changeset:
206
207         "Connection::dispatchOneMessage() can be re-entered while
208         handling Cmd-key menu"
209         https://bugs.webkit.org/show_bug.cgi?id=130767
210         http://trac.webkit.org/changeset/166360
211
212 2014-03-27  Antti Koivisto  <antti@apple.com>
213
214         Remove LiveNodeList::Type
215         https://bugs.webkit.org/show_bug.cgi?id=130866
216
217         Reviewed by Andreas Kling.
218
219         We don't need dynamic type information anymore.
220
221         * dom/ClassNodeList.cpp:
222         (WebCore::ClassNodeList::ClassNodeList):
223         * dom/ContainerNode.cpp:
224         (WebCore::ContainerNode::getElementsByTagName):
225         (WebCore::ContainerNode::getElementsByName):
226         (WebCore::ContainerNode::getElementsByClassName):
227         (WebCore::ContainerNode::radioNodeList):
228         * dom/LiveNodeList.cpp:
229         (WebCore::LiveNodeList::LiveNodeList):
230         * dom/LiveNodeList.h:
231         (WebCore::LiveNodeList::invalidationType):
232         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
233         (WebCore::LiveNodeList::type): Deleted.
234         * dom/NameNodeList.cpp:
235         (WebCore::NameNodeList::NameNodeList):
236         (WebCore::NameNodeList::nodeMatches): Deleted.
237         * dom/NameNodeList.h:
238         (WebCore::NameNodeList::nodeMatches):
239         * dom/NodeRareData.h:
240         (WebCore::NodeListTypeIdentifier<ClassNodeList>::value):
241         (WebCore::NodeListTypeIdentifier<NameNodeList>::value):
242         (WebCore::NodeListTypeIdentifier<TagNodeList>::value):
243         (WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
244         (WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
245         (WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):
246         
247             Get unique id from type for key generation purposes only.
248
249         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
250         (WebCore::NodeListsNodeData::addCacheWithName):
251         (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
252         (WebCore::NodeListsNodeData::removeCacheWithName):
253         (WebCore::NodeListsNodeData::namedNodeListKey):
254         * dom/TagNodeList.cpp:
255         (WebCore::TagNodeList::TagNodeList):
256         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
257         * dom/TagNodeList.h:
258         * html/LabelableElement.cpp:
259         (WebCore::LabelableElement::labels):
260         * html/LabelsNodeList.cpp:
261         (WebCore::LabelsNodeList::LabelsNodeList):
262         * html/LabelsNodeList.h:
263         * html/RadioNodeList.cpp:
264         (WebCore::RadioNodeList::RadioNodeList):
265         * html/RadioNodeList.h:
266
267 2014-03-27  Simon Fraser  <simon.fraser@apple.com>
268
269         Fix crash when RenderView is cleared inside of frame flattening layout
270         https://bugs.webkit.org/show_bug.cgi?id=130864
271
272         Reviewed by Dan Bernstein.
273         
274         Navigating on http://wallstcheatsheet.com pages on iOS in WebKit1 would
275         sometimes crash when, inside the inChildFrameLayoutWithFrameFlattening clause,
276         our frame's RenderView would be null after doing a layout from the root frame,
277         possibly also when WebCore was being re-entered from another thread.
278         
279         Add a null check to fix this.
280         
281         Crash was timing-dependent and hard to test.
282
283         * page/FrameView.cpp:
284         (WebCore::FrameView::layout):
285
286 2014-03-27  Antti Koivisto  <antti@apple.com>
287
288         Remove some unnecessary branches from LiveNodeList traversal
289         https://bugs.webkit.org/show_bug.cgi?id=130854
290
291         Reviewed by Andreas Kling.
292
293         Compile different traversal code paths for all NodeList subclasses.
294
295         * dom/ClassNodeList.cpp:
296         (WebCore::ClassNodeList::ClassNodeList):
297         (WebCore::ClassNodeList::~ClassNodeList):
298         (WebCore::ClassNodeList::nodeMatches): Deleted.
299         * dom/ClassNodeList.h:
300         (WebCore::ClassNodeList::nodeMatches):
301         (WebCore::ClassNodeList::nodeMatchesInlined): Deleted.
302         
303             Remove separate nodeMatchesInlined functions. 
304             We now rely on exact types and marking classes final.
305
306         * dom/LiveNodeList.cpp:
307         (WebCore::LiveNodeList::LiveNodeList):
308         (WebCore::LiveNodeList::~LiveNodeList):
309         (WebCore::LiveNodeList::namedItem):
310         (WebCore::LiveNodeList::rootNode): Deleted.
311         (WebCore::isMatchingElement): Deleted.
312         (WebCore::firstMatchingElement): Deleted.
313         (WebCore::lastMatchingElement): Deleted.
314         (WebCore::nextMatchingElement): Deleted.
315         (WebCore::previousMatchingElement): Deleted.
316         (WebCore::traverseMatchingElementsForward): Deleted.
317         (WebCore::traverseMatchingElementsBackward): Deleted.
318         (WebCore::LiveNodeList::collectionFirst): Deleted.
319         (WebCore::LiveNodeList::collectionLast): Deleted.
320         (WebCore::LiveNodeList::collectionTraverseForward): Deleted.
321         (WebCore::LiveNodeList::collectionTraverseBackward): Deleted.
322         (WebCore::LiveNodeList::length): Deleted.
323         (WebCore::LiveNodeList::item): Deleted.
324         (WebCore::LiveNodeList::memoryCost): Deleted.
325         (WebCore::LiveNodeList::invalidateCache): Deleted.
326         * dom/LiveNodeList.h:
327         (WebCore::LiveNodeList::invalidateCacheForAttribute):
328         (WebCore::CachedLiveNodeList::collectionCanTraverseBackward):
329         (WebCore::LiveNodeList::rootNode):
330         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
331         
332             Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
333             It is the base class for all concrete LiveNodeLists.
334
335         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
336         (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst):
337         (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
338         (WebCore::nextMatchingElement):
339         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
340         (WebCore::previousMatchingElement):
341         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
342         (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
343         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
344         (WebCore::CachedLiveNodeList<NodeListType>::length):
345         (WebCore::CachedLiveNodeList<NodeListType>::item):
346         (WebCore::CachedLiveNodeList<NodeListType>::memoryCost):
347         
348             Templated code moves to header.
349
350         (WebCore::LiveNodeList::LiveNodeList): Deleted.
351         (WebCore::LiveNodeList::~LiveNodeList): Deleted.
352         (WebCore::LiveNodeList::invalidateCache): Deleted.
353         (WebCore::LiveNodeList::collectionCanTraverseBackward): Deleted.
354         (WebCore::LiveNodeList::willValidateIndexCache): Deleted.
355         * dom/NameNodeList.cpp:
356         (WebCore::NameNodeList::NameNodeList):
357         * dom/NameNodeList.h:
358         * dom/Node.cpp:
359         (WebCore::Document::invalidateNodeListAndCollectionCaches):
360         (WebCore::NodeListsNodeData::invalidateCaches):
361         * dom/TagNodeList.cpp:
362         (WebCore::TagNodeList::TagNodeList):
363         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
364         (WebCore::HTMLTagNodeList::~HTMLTagNodeList):
365         (WebCore::TagNodeList::nodeMatches): Deleted.
366         (WebCore::HTMLTagNodeList::nodeMatches): Deleted.
367         * dom/TagNodeList.h:
368         (WebCore::TagNodeList::nodeMatches):
369         (WebCore::HTMLTagNodeList::nodeMatches):
370         (WebCore::TagNodeList::create): Deleted.
371         (WebCore::HTMLTagNodeList::nodeMatchesInlined): Deleted.
372         * html/LabelsNodeList.cpp:
373         (WebCore::LabelsNodeList::LabelsNodeList):
374         * html/LabelsNodeList.h:
375         * html/RadioNodeList.cpp:
376         (WebCore::RadioNodeList::RadioNodeList):
377         * html/RadioNodeList.h:
378
379 2014-03-27  Adenilson Cavalcanti  <cavalcantii@gmail.com>
380
381         Remove comment from Filter.h
382         https://bugs.webkit.org/show_bug.cgi?id=130848
383
384         Reviewed by Simon Fraser.
385
386         Exploring the use of consts on applyScale() methods didn't yield
387         good results.
388
389         No new tests, no change on behavior.
390
391         * platform/graphics/filters/Filter.h:
392
393 2014-03-27  Frédéric Wang  <fred.wang@free.fr>
394
395         Operator stretching: expose a math data API
396         https://bugs.webkit.org/show_bug.cgi?id=130572
397
398         Reviewed by Chris Fleizach.
399
400         We expose a new SimpleFontData API to give access to the data from the
401         OpenType MATH table using a font cache. The class OpenTypeMathData will
402         be implemented in bug 130324. On Darwin platform, we also implement the
403         missing FontPlatformData::openTypeTable function which will be necessary
404         to load the OpenType MATH table. The changes are intended to be used
405         for MathML operator stretching (bug 130322) so tests are not added yet.
406
407         * CMakeLists.txt: add new OpenTypeMathData files.
408         * WebCore.vcxproj/WebCore.vcxproj: ditto.
409         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
410         * WebCore.xcodeproj/project.pbxproj: ditto.
411         * platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
412         We make the math and vertical data share the same key for the cache.
413         (WebCore::fontMathDataCacheInstance):
414         (WebCore::FontCache::getMathData):
415         (WebCore::fontVerticalDataCacheInstance):
416         * platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
417         * platform/graphics/FontPlatformData.cpp:
418         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
419         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
420         * platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
421         (WebCore::SimpleFontData::SimpleFontData):
422         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
423         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
424         (WebCore::OpenTypeMathData::OpenTypeMathData):
425         * platform/graphics/opentype/OpenTypeMathData.h: Added.
426         (WebCore::OpenTypeMathData::create):
427         (WebCore::OpenTypeMathData::hasMathData):
428
429 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
430
431         Fix a crash caused by track insertion after load()
432         https://bugs.webkit.org/show_bug.cgi?id=130777
433
434         Reviewed by Eric Carlson.
435
436         Test: media/track/track-insert-after-load-crash.html
437
438         Based on the Blink change (patch by acolwell@chromium.org):
439         https://codereview.chromium.org/211373009/
440
441         * html/HTMLMediaElement.cpp:
442         (WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.
443
444 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
445
446         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
447         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
448         https://bugs.webkit.org/show_bug.cgi?id=130767
449         <rdar://problem/16307487>
450
451         Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
452         mode to it on Mac.
453
454         * CMakeLists.txt:
455         * WebCore.exp.in:
456         * WebCore.vcxproj/WebCore.vcxproj:
457         * WebCore.vcxproj/WebCore.vcxproj.filters:
458         * WebCore.xcodeproj/project.pbxproj:
459         * platform/MainRunLoop.cpp: Added.
460         (WebCore::initializeMainRunLoop):
461         * platform/MainRunLoop.h: Added.
462         * platform/mac/MainRunLoop.mm: Added.
463         (WebCore::initializeMainRunLoop):
464
465 2014-03-27  Krzysztof Czech  <k.czech@samsung.com>
466
467         AX: Returns const reference to static string.
468         https://bugs.webkit.org/show_bug.cgi?id=130835
469
470         Reviewed by Mario Sanchez Prada.
471
472         Avoiding some unnecessary copies by returning const reference to static string.
473
474         No new tests. No behaviour change.
475
476         * accessibility/AccessibilityMediaControls.cpp:
477         (WebCore::AccessibilityMediaControl::controlTypeName):
478         (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
479         * accessibility/AccessibilityMediaControls.h:
480
481 2014-03-27  Mihnea Ovidenie  <mihnea@adobe.com>
482
483         [CSSRegions] Rename inNamedFlow flag to isNamedFlowContentNode flag
484         https://bugs.webkit.org/show_bug.cgi?id=130731
485
486         Reviewed by Andrei Bucur.
487
488         Currently, the inNamedFlow flag in Node class tells if a node is a content node, one that has a style with flow-into.
489         Since it is used only for those nodes and not propagated through hierarchy, i want to renamed it to a more meaningful name.
490         No new functionality, no new tests.
491
492         * dom/ContainerNode.cpp:
493         (WebCore::destroyRenderTreeIfNeeded):
494         * dom/Element.cpp:
495         (WebCore::Element::~Element):
496         (WebCore::Element::unregisterNamedFlowContentElement):
497         * dom/Node.h:
498         (WebCore::Node::isNamedFlowContentNode):
499         (WebCore::Node::setIsNamedFlowContentNode):
500         (WebCore::Node::clearIsNamedFlowContentNode):
501         * rendering/RenderNamedFlowThread.cpp:
502         (WebCore::RenderNamedFlowThread::clearContentElements):
503         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
504         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
505         (WebCore::nextNodeInsideContentElement):
506         * style/StyleResolveTree.cpp:
507         (WebCore::Style::attachChildren):
508         (WebCore::Style::resolveLocal):
509
510 2014-03-27  Mihnea Ovidenie  <mihnea@adobe.com>
511
512         [CSSRegions] Crash when cloning a region child with a content node child
513         https://bugs.webkit.org/show_bug.cgi?id=129811
514
515         Reviewed by David Hyatt.
516
517         Collecting the children of a region in another named flow will be supported
518         again in the future and it will be revisited when we will implement the content
519         keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
520         Remove the support for now as it introduces unnecessary complexity in the code
521         and potential wrong behavior.
522
523         Test: fast/regions/region-content-node-child-clone-crash.html
524
525         * dom/Element.cpp:
526         (WebCore::Element::shouldMoveToFlowThread):
527         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
528         * dom/Element.h:
529         * dom/ElementRareData.h:
530         (WebCore::ElementRareData::ElementRareData):
531         * rendering/FlowThreadController.cpp:
532         * rendering/FlowThreadController.h:
533         * style/StyleResolveTree.cpp:
534         (WebCore::Style::moveToFlowThreadIfNeeded):
535         (WebCore::Style::createRendererIfNeeded):
536
537 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
538
539         Remove unneeded mutable keyword in some member variables 
540         https://bugs.webkit.org/show_bug.cgi?id=130813
541
542         Reviewed by Andreas Kling.
543
544         Some member variables have mutable keyword though they don't used by const function.
545         This patch removes them. 
546
547         No new tests, no behavior changes. Just clean up.
548
549         * storage/StorageAreaSync.h:
550         * svg/animation/SVGSMILElement.h:
551
552 2014-03-27  Commit Queue  <commit-queue@webkit.org>
553
554         Unreviewed, rolling out r166296 and r166331.
555         https://bugs.webkit.org/show_bug.cgi?id=130822
556
557         caused some crashes and frequent assertion failures, and the
558         fix is going to take a little while (Requested by thorton on
559         #webkit).
560
561         Reverted changesets:
562
563         "[iOS WebKit2] Flush all surfaces after painting into all of
564         them, instead of after painting into each one"
565         https://bugs.webkit.org/show_bug.cgi?id=130768
566         http://trac.webkit.org/changeset/166296
567
568         "Assertion failure in RemoteLayerBackingStore::flush"
569         https://bugs.webkit.org/show_bug.cgi?id=130810
570         http://trac.webkit.org/changeset/166331
571
572 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
573
574         Fix failing scrolling tests by reverting to previous behavior where
575         the scrolling geometry for the main frame scrolling node was only
576         updated from frameViewLayoutUpdated() and no-where else.
577
578         * WebCore.exp.in:
579         * page/scrolling/AsyncScrollingCoordinator.cpp:
580         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
581         * page/scrolling/AsyncScrollingCoordinator.h:
582         * page/scrolling/ScrollingCoordinator.h:
583         (WebCore::ScrollingCoordinator::updateScrollingNode):
584         * rendering/RenderLayerCompositor.cpp:
585         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
586         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Deleted.
587
588 2014-03-26  Ryosuke Niwa  <rniwa@webkit.org>
589
590         HTMLConverter::_processText is slow because it walks up ancestor elements
591         https://bugs.webkit.org/show_bug.cgi?id=130820
592
593         Reviewed by Sam Weinig.
594
595         Avoid walking up the tree from each text node by caching the aggregated attributed strings for each element.
596         Also compute the attributed strings top-down to avoid calling mutableCopy in every iteration. 
597
598         This reduces the runtime of Interactive/CopyAll.html from 15s to 13s (15%).
599
600         * editing/cocoa/HTMLConverter.mm:
601         (HTMLConverter::_attributesForElement):
602         (HTMLConverter::attributesForElement):
603         (HTMLConverter::aggregatedAttributesForAncestors):
604         (HTMLConverter::_processText):
605
606 2014-03-26  Sam Weinig  <sam@webkit.org>
607
608         Fix iOS build.
609
610         * editing/cocoa/HTMLConverter.mm:
611         (_font):
612
613 2014-03-26  Ryosuke Niwa  <rniwa@webkit.org>
614
615         Make _processText and _traverseNode in HTMLConverter more efficient
616         https://bugs.webkit.org/show_bug.cgi?id=130769
617
618         Reviewed by Sam Weinig.
619
620         Rewrote a bunch of code in C++ and avoided creating wrappers.
621         This reduces the runtime of Interactive/CopyAll.html from ~16.5s to 15s.
622
623         * editing/cocoa/HTMLConverter.mm:
624         (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
625         (HTMLConverter::HTMLConverter):
626         (HTMLConverter::~HTMLConverter):
627         (HTMLConverter::_processElement):
628         (HTMLConverter::_processText):
629         (HTMLConverter::_traverseNode):
630         (HTMLConverter::_traverseFooterNode):
631         (HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
632         (HTMLConverter::_loadFromDOMRange):
633
634 2014-03-26  Adenilson Cavalcanti  <cavalcantii@gmail.com>
635
636         FEGaussianBlur: unify and const-ify calculateKernelSize
637         https://bugs.webkit.org/show_bug.cgi?id=130779
638
639         Some methods can benefit of using const refs as also make sense to
640         unify the interface (i.e. parameters) in calculateKernelSize/Unscaled.
641
642         FilterEffect::filter() will now return a reference, which helps since
643         its descendants were accessing methods into the pointer without testing
644         for it.
645
646         Reviewed by Simon Fraser.
647
648         No new tests, no changes on behavior.
649
650         * platform/graphics/filters/FEDisplacementMap.cpp:
651         (WebCore::FEDisplacementMap::platformApplySoftware):
652         * platform/graphics/filters/FEDropShadow.cpp:
653         (WebCore::FEDropShadow::determineAbsolutePaintRect):
654         (WebCore::FEDropShadow::platformApplySoftware):
655         * platform/graphics/filters/FEGaussianBlur.cpp:
656         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
657         (WebCore::FEGaussianBlur::calculateKernelSize):
658         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
659         (WebCore::FEGaussianBlur::platformApplySoftware):
660         * platform/graphics/filters/FEGaussianBlur.h:
661         * platform/graphics/filters/FEMorphology.cpp:
662         (WebCore::FEMorphology::determineAbsolutePaintRect):
663         (WebCore::FEMorphology::platformApplySoftware):
664         * platform/graphics/filters/FEOffset.cpp:
665         (WebCore::FEOffset::determineAbsolutePaintRect):
666         (WebCore::FEOffset::platformApplySoftware):
667         * platform/graphics/filters/FETile.cpp:
668         (WebCore::FETile::platformApplySoftware):
669         * platform/graphics/filters/FETurbulence.cpp:
670         (WebCore::FETurbulence::fillRegion):
671         * platform/graphics/filters/Filter.h:
672         (WebCore::Filter::applyHorizontalScale):
673         (WebCore::Filter::applyVerticalScale):
674         * platform/graphics/filters/FilterEffect.h:
675         (WebCore::FilterEffect::filter):
676         * platform/graphics/filters/SourceAlpha.cpp:
677         (WebCore::SourceAlpha::determineAbsolutePaintRect):
678         (WebCore::SourceAlpha::platformApplySoftware):
679         * platform/graphics/filters/SourceGraphic.cpp:
680         (WebCore::SourceGraphic::determineAbsolutePaintRect):
681         (WebCore::SourceGraphic::platformApplySoftware):
682         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
683         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
684         * svg/graphics/filters/SVGFEImage.cpp:
685         (WebCore::FEImage::determineAbsolutePaintRect):
686         (WebCore::FEImage::platformApplySoftware):
687
688 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
689
690         Make sure childContainmentLayer is parented
691         https://bugs.webkit.org/show_bug.cgi?id=130808
692
693         Reviewed by Tim Horton.
694
695         m_childContainmentLayer was never parented if the page
696         created no other compositing layers, which left a dangling
697         GraphicsLayer which in turn confused UI-side compositing a little.
698         Fix by always parenting this layer.
699
700         * rendering/RenderLayerBacking.cpp:
701         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
702
703 2014-03-26  Brian Burg  <bburg@apple.com>
704
705         Web Replay: disable page cache during capture/replay
706         https://bugs.webkit.org/show_bug.cgi?id=130672
707
708         Reviewed by Timothy Hatcher.
709
710         Save, set, and restore page cache settings at the correct times.
711
712         No new tests. If this code fails, then the tests for network replay will fail.
713
714         * replay/ReplayController.cpp:
715         (WebCore::ReplayController::setForceDeterministicSettings): Added.
716         (WebCore::ReplayController::startCapturing):
717         (WebCore::ReplayController::stopCapturing):
718         (WebCore::ReplayController::cancelPlayback):
719         (WebCore::ReplayController::replayToPosition):
720         * replay/ReplayController.h:
721
722 2014-03-26  Sam Weinig  <sam@webkit.org>
723
724         Convert more of HTMLConverter to C++
725         https://bugs.webkit.org/show_bug.cgi?id=130811
726
727         Reviewed by Anders Carlsson.
728
729         * editing/cocoa/HTMLConverter.mm:
730         (HTMLConverter::HTMLConverter):
731         (HTMLConverter::~HTMLConverter):
732         (HTMLConverter::_blockLevelElementForNode):
733         (HTMLConverter::_colorForElement):
734         (HTMLConverter::_computedAttributesForElement):
735         (HTMLConverter::_attributesForElement):
736         (HTMLConverter::_fillInBlock):
737         (HTMLConverter::_enterElement):
738         (HTMLConverter::_addTableForElement):
739         (HTMLConverter::_addTableCellForElement):
740         (HTMLConverter::_processElement):
741         (HTMLConverter::_exitElement):
742         (HTMLConverter::_getFloat): Deleted.
743         (HTMLConverter::_elementIsBlockLevel): Deleted.
744         (HTMLConverter::_elementHasOwnBackgroundColor): Deleted.
745         (HTMLConverter::_colorForNode): Deleted.
746
747 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
748
749         Hook up -webkit-overflow-scrolling:touch for iOS WK2
750         https://bugs.webkit.org/show_bug.cgi?id=130809
751
752         Reviewed by Tim Horton.
753
754         Get -webkit-overflow-scrolling: touch working for iOS WK2.
755         
756         * WebCore.exp.in:
757         * page/scrolling/AsyncScrollingCoordinator.cpp:
758         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
759         Send in ScrollingGeometry when we update scrolling nodes.
760         * page/scrolling/AsyncScrollingCoordinator.h:
761         * page/scrolling/ScrollingCoordinator.h:
762         (WebCore::ScrollingCoordinator::updateScrollingNode):
763         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
764         Need to get to the scrolling layer in a subclass.
765         (WebCore::ScrollingTreeScrollingNodeIOS::scrollLayer):
766         * rendering/RenderLayer.cpp:
767         (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Remove code
768         that temporarily disabled touch-scrolling.
769         * rendering/RenderLayerCompositor.cpp:
770         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): When we
771         update scrolling nodes, send in the right scrolling geometry.
772
773 2014-03-26  Timothy Hatcher  <timothy@apple.com>
774
775         Modernize the loops in InspectorPageAgent.cpp.
776
777         Also moves the check for hiddenFromInspector to a lower level.
778         This hides hidden resources from more places.
779
780         https://bugs.webkit.org/show_bug.cgi?id=130803
781
782         Reviewed by Joseph Pecoraro.
783
784         * inspector/InspectorPageAgent.cpp:
785         (WebCore::buildArrayForCookies):
786         (WebCore::cachedResourcesForFrame):
787         (WebCore::allResourcesURLsForFrame):
788         (WebCore::InspectorPageAgent::getCookies):
789         (WebCore::InspectorPageAgent::searchInResources):
790         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
791         (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
792         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
793
794 2014-03-26  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
795
796         Add platform implementation for RTCOfferAnswerOptions and RTCOfferOptions
797         https://bugs.webkit.org/show_bug.cgi?id=130689
798
799         Reviewed by Eric Carlson.
800
801         RTCOfferAnswerOptions and RTCOfferOptions objects were being passed to platform class, causing a layer
802         violation.
803
804         * Modules/mediastream/RTCOfferAnswerOptions.cpp:
805         (WebCore::RTCOfferAnswerOptions::initialize):
806         (WebCore::RTCOfferOptions::initialize):
807         * Modules/mediastream/RTCOfferAnswerOptions.h:
808         (WebCore::RTCOfferAnswerOptions::requestIdentity):
809         (WebCore::RTCOfferAnswerOptions::privateOfferAnswerOptions):
810         (WebCore::RTCOfferAnswerOptions::RTCOfferAnswerOptions):
811         (WebCore::RTCOfferOptions::offerToReceiveVideo):
812         (WebCore::RTCOfferOptions::offerToReceiveAudio):
813         (WebCore::RTCOfferOptions::voiceActivityDetection):
814         (WebCore::RTCOfferOptions::iceRestart):
815         (WebCore::RTCOfferOptions::privateOfferOptions):
816         (WebCore::RTCOfferOptions::RTCOfferOptions):
817         * Modules/mediastream/RTCPeerConnection.cpp:
818         (WebCore::RTCPeerConnection::createOffer):
819         (WebCore::RTCPeerConnection::createAnswer):
820         * platform/mediastream/RTCOfferAnswerOptionsPrivate.h: Added.
821         * platform/mediastream/RTCPeerConnectionHandler.h:
822         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
823         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
824         (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
825         * platform/mock/RTCPeerConnectionHandlerMock.h:
826
827 2014-03-26  Zalan Bujtas  <zalan@apple.com>
828
829         Device scale factor should always be greater than 0.
830         https://bugs.webkit.org/show_bug.cgi?id=130798
831
832         Reviewed by David Kilzer.
833
834         Rendering context requires a device scale factor > 0 so that we can map CSS pixels
835         to device pixels properly. Neither 0 nor a negative device pixel ratio are considered to be valid.
836
837         * page/Page.cpp:
838         (WebCore::Page::setDeviceScaleFactor):
839
840 2014-03-26  Myles C. Maxfield  <mmaxfield@apple.com>
841
842         Skipping underlines disregard points completely inside the underline rect
843         https://bugs.webkit.org/show_bug.cgi?id=130800
844
845         Reviewed by Dean Jackson.
846
847         When determining bounds for underline skipping, endpoints of glyph contours
848         that lie entirely within the rect of the underline are ignored. This patch
849         makes these points affect the skipping regions the same way that intersections
850         do.
851
852         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html
853
854         * platform/graphics/mac/FontMac.mm:
855         (WebCore::updateX): Refactored common code into a function
856         (WebCore::findPathIntersections): Test for endpoints which lie entirely within
857         the underline bounds
858
859 2014-03-26  Pratik Solanki  <psolanki@apple.com>
860
861         Unreviewed. iOS build fix after r166312. Soft link CMTimeRangeGetEnd.
862
863         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
864
865 2014-03-26  Timothy Hatcher  <timothy@apple.com>
866
867         Propagate the hiddenFromInspector flag on ResourceRequest in
868         places when a new request a made or passed between processes.
869
870         https://bugs.webkit.org/show_bug.cgi?id=130741
871
872         Reviewed by Joseph Pecoraro.
873
874         * WebCore.exp.in: Updated symbols for updateFromDelegatePreservingOldProperties.
875         * platform/network/cf/ResourceRequest.h:
876         * platform/network/cf/ResourceRequestCFNet.cpp:
877         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
878         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
879         * platform/network/curl/ResourceRequest.h:
880         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
881         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
882         * platform/network/mac/ResourceRequestMac.mm:
883         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
884         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
885         * platform/network/soup/ResourceRequest.h:
886         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
887         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
888
889 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
890
891         [CSS Shapes] Remove no-longer-used shape-inside geometry code
892         https://bugs.webkit.org/show_bug.cgi?id=130740
893
894         Reviewed by David Hyatt.
895
896         This patch removes shape-padding support, since it can be used only with shape-inside.
897         Shape-inside support has been removed in r166301.
898
899         No new tests needed, existing tests have been removed by r166301.
900
901         * rendering/shapes/BoxShape.cpp:
902         (WebCore::BoxShape::shapePaddingLogicalBoundingBox): Deleted.
903         (WebCore::BoxShape::shapePaddingBounds): Deleted.
904         (WebCore::BoxShape::getIncludedIntervals): Deleted.
905         (WebCore::BoxShape::firstIncludedIntervalLogicalTop): Deleted.
906         * rendering/shapes/BoxShape.h:
907         * rendering/shapes/PolygonShape.cpp:
908         (WebCore::leftSide): Deleted.
909         (WebCore::isReflexVertex): Deleted.
910         (WebCore::computeShapePaddingBounds): Deleted.
911         (WebCore::PolygonShape::shapePaddingBounds): Deleted.
912         (WebCore::PolygonShape::getIncludedIntervals): Deleted.
913         (WebCore::firstFitRectInPolygon): Deleted.
914         (WebCore::aboveOrToTheLeft): Deleted.
915         (WebCore::PolygonShape::firstIncludedIntervalLogicalTop): Deleted.
916         * rendering/shapes/PolygonShape.h:
917         (WebCore::PolygonShape::PolygonShape):
918         * rendering/shapes/RasterShape.cpp:
919         (WebCore::RasterShapeIntervals::firstIncludedIntervalY): Deleted.
920         (WebCore::RasterShapeIntervals::getIncludedIntervals): Deleted.
921         (WebCore::RasterShape::paddingIntervals): Deleted.
922         (WebCore::RasterShape::getIncludedIntervals): Deleted.
923         (WebCore::RasterShape::firstIncludedIntervalLogicalTop): Deleted.
924         * rendering/shapes/RasterShape.h:
925         * rendering/shapes/RectangleShape.cpp:
926         (WebCore::ellipseYIntercept): Deleted.
927         (WebCore::RectangleShape::shapePaddingBounds): Deleted.
928         (WebCore::RectangleShape::getIncludedIntervals): Deleted.
929         (WebCore::cornerInterceptForWidth): Deleted.
930         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop): Deleted.
931         * rendering/shapes/RectangleShape.h:
932         * rendering/shapes/Shape.cpp:
933         (WebCore::Shape::createShape):
934         (WebCore::Shape::createRasterShape):
935         (WebCore::Shape::createBoxShape):
936         * rendering/shapes/Shape.h:
937         (WebCore::Shape::lineOverlapsShapePaddingBounds): Deleted.
938         (WebCore::Shape::shapePadding): Deleted.
939         * rendering/shapes/ShapeInfo.cpp:
940         (WebCore::ShapeInfo<RenderType>::computedShape):
941         * rendering/style/RenderStyle.cpp:
942         (WebCore::RenderStyle::changeRequiresLayout):
943         * rendering/style/RenderStyle.h:
944         * rendering/style/StyleRareNonInheritedData.cpp:
945         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
946         (WebCore::StyleRareNonInheritedData::operator==):
947         * rendering/style/StyleRareNonInheritedData.h:
948
949 2014-03-26  Jeremy Jones  <jeremyj@apple.com>
950
951         Implement hasLiveStreamingContent property in WebAVPlayerController
952         https://bugs.webkit.org/show_bug.cgi?id=128684
953
954         Reviewed by Simon Fraser.
955
956         * WebCore.exp.in:
957         Add export for WebVideoFullscreenInterfaceAVKit::setSeekableRanges().
958
959         * platform/ios/WebVideoFullscreenInterface.h:
960         Add setSeekableRanges()
961
962         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
963         Add setSeekableRanges()
964
965         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
966         Remove vestigial playerLayer property. Add seekableTimeRanges property.
967
968         (-[WebAVPlayerController dealloc]):
969         Release _seekableTimeRanges.
970         Remove references to _playerLayer.
971
972         (-[WebAVPlayerController hasLiveStreamingContent]):
973         Implement based on duration. Live stream has an infinite duration.
974
975         (+[WebAVPlayerController keyPathsForValuesAffectingHasLiveStreamingContent]):
976         Describe dependent keys for computed property hasLiveStreamingContent.
977
978         (-[WebAVPlayerController skipBackwardThirtySeconds:]):
979         Seek back 30 seconds if that time is in the seekable ranges.
980
981         (-[WebAVPlayerController gotoEndOfSeekableRanges:]):
982         Jump to live by going to the of the seekable ranges.
983
984         (WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
985         Convert TimeRange to CMTimeRange.
986
987         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
988         (WebVideoFullscreenModelMediaElement::setMediaElement):
989         Set initial seekable ranges.
990
991         (WebVideoFullscreenModelMediaElement::handleEvent):
992         Update seekable ranges when time changes.
993
994 2014-03-26  Brent Fulgham  <bfulgham@apple.com>
995
996         Fix OS X build.
997
998         * WebCore.exp.in: Add missing export symbol.
999
1000 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
1001
1002         Fix the Windows build. Add a no-op impl for Mac non-UI-side.
1003
1004         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1005         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1006         (PlatformCALayerWin::PlatformCALayerWin):
1007         * platform/graphics/ca/win/PlatformCALayerWin.h:
1008
1009 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
1010
1011         REGRESSION (r155977): matrix animations no longer animate
1012         https://bugs.webkit.org/show_bug.cgi?id=130789
1013         <rdar://problem/15650946>
1014
1015         Reviewed by Dean Jackson.
1016         
1017         r155977 erroneously removed two lines that set the end points for
1018         matrix animations (used when transform lists don't match), so
1019         put them back.
1020         
1021         Also don't repaint when updateContentsScale()
1022         is called and doesn't change the contents scale.
1023
1024         Test: compositing/animation/matrix-animation.html
1025
1026         * platform/graphics/ca/GraphicsLayerCA.cpp:
1027         (WebCore::GraphicsLayerCA::updateRootRelativeScale):
1028         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
1029         (WebCore::GraphicsLayerCA::updateContentsScale):
1030
1031 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
1032
1033         Add a custom behavior flag to GraphicsLayer, piped down to PlatformCALayer, for scrolling layers
1034         https://bugs.webkit.org/show_bug.cgi?id=130778
1035
1036         Reviewed by Tim Horton.
1037
1038         Make it possible to put a "custom behavior" flag on a layer so that,
1039         with UI-side compositing, we know to create a specific type of
1040         layer or view for that GraphicsLayer.
1041
1042         * WebCore.exp.in:
1043         * platform/graphics/GraphicsLayer.cpp:
1044         (WebCore::GraphicsLayer::GraphicsLayer):
1045         * platform/graphics/GraphicsLayer.h:
1046         (WebCore::GraphicsLayer::setCustomBehavior):
1047         (WebCore::GraphicsLayer::customBehavior):
1048         * platform/graphics/ca/GraphicsLayerCA.cpp:
1049         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1050         (WebCore::GraphicsLayerCA::updateCustomBehavior):
1051         (WebCore::GraphicsLayerCA::setCustomBehavior):
1052         * platform/graphics/ca/GraphicsLayerCA.h:
1053         * platform/graphics/ca/PlatformCALayer.h:
1054         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1055         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1056         (PlatformCALayerMac::PlatformCALayerMac):
1057         * rendering/RenderLayerBacking.cpp:
1058         (WebCore::RenderLayerBacking::updateScrollingLayers):
1059
1060 2014-03-26  Brent Fulgham  <bfulgham@apple.com>
1061
1062         Unreviewed test correction.
1063
1064         Because of the way DRT on Windows links to WebCore, having the implementaion of the update
1065         method in the header caused a runtime failure due to duplicate symbols being bound to the
1066         compilation unit.
1067
1068         * accessibility/AXObjectCache.cpp:
1069         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Moved from header.
1070         * accessibility/AXObjectCache.h:
1071         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Deleted.
1072
1073 2014-03-26  Jer Noble  <jer.noble@apple.com>
1074
1075         REGRESSION(r162679): Poster image visible under the video
1076         https://bugs.webkit.org/show_bug.cgi?id=130783
1077
1078         Reviewed by Simon Fraser.
1079
1080         In the listed revision, we started checking for isRenderImage()
1081         instead of isImage(). RenderMedias return 'true' for the first
1082         but 'false' for the second. Change the if() statement to check
1083         for isRenderMedia() in addition to !isRenderImage().
1084
1085         * rendering/RenderLayerBacking.cpp:
1086         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
1087
1088 2014-03-26  Antti Koivisto  <antti@apple.com>
1089
1090         Render tree construction is O(N^2) in number of siblings
1091         https://bugs.webkit.org/show_bug.cgi?id=129065
1092
1093         Reviewed by Darin Adler.
1094         
1095         When adding a new renderer to the tree we would search for the correct render tree
1096         position by traversing DOM children forward to find something that already has a renderer.
1097         In common case there is no such renderer. This would be repeated for each inserted renderer
1098         leading to O(n^2) in respect to child node count.
1099         
1100         This patch caches the computed render tree insertion position and passes it to siblings.
1101         Until the cached position is reached it can be used for all new renderers.
1102
1103         Test: perf/sibling-renderer-On2.html
1104
1105         * style/StyleResolveTree.cpp:
1106         (WebCore::Style::RenderTreePosition::parent):
1107         (WebCore::Style::RenderTreePosition::RenderTreePosition):
1108         (WebCore::Style::RenderTreePosition::canInsert):
1109         (WebCore::Style::RenderTreePosition::insert):
1110         (WebCore::Style::RenderTreePosition::computeNextSibling):
1111         (WebCore::Style::RenderTreePosition::invalidateNextSibling):
1112         (WebCore::Style::styleForElement):
1113         (WebCore::Style::elementInsideRegionNeedsRenderer):
1114         (WebCore::Style::createRendererIfNeeded):
1115         (WebCore::Style::createTextRendererIfNeeded):
1116         (WebCore::Style::attachTextRenderer):
1117         (WebCore::Style::updateTextRendererAfterContentChange):
1118         (WebCore::Style::attachChildren):
1119         (WebCore::Style::attachDistributedChildren):
1120         (WebCore::Style::attachShadowRoot):
1121         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
1122         (WebCore::Style::attachRenderTree):
1123         (WebCore::Style::resolveLocal):
1124         (WebCore::Style::resolveTextNode):
1125         (WebCore::Style::resolveShadowTree):
1126         (WebCore::Style::updateBeforeOrAfterPseudoElement):
1127         (WebCore::Style::resolveTree):
1128
1129 2014-03-26  Commit Queue  <commit-queue@webkit.org>
1130
1131         Unreviewed, rolling out r166264.
1132         https://bugs.webkit.org/show_bug.cgi?id=130785
1133
1134         Broke some window.opener tests for WK2 Mavericks (Requested by
1135         brrian__ on #webkit).
1136
1137         Reverted changeset:
1138
1139         "Web Replay: resource unique identifiers should be unique-per-
1140         frame, not globally"
1141         https://bugs.webkit.org/show_bug.cgi?id=130632
1142         http://trac.webkit.org/changeset/166264
1143
1144 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
1145
1146         [CSS Shapes] Remove shape-inside support
1147         https://bugs.webkit.org/show_bug.cgi?id=130698
1148
1149         Reviewed by David Hyatt.
1150
1151         CSS Shapes Level 1 (CR) only contains shape-outside. We are focusing our efforts on finalizing
1152         the implementation of shape-outside, it's worth to remove shape-inside code at this point for now.
1153
1154         A list of reasons for the removal:
1155           - Shape-inside is only part of Shapes Level 2, which needs to be improved on some topics.
1156           - Shape-inside is lack of new shapes support (e.g. inset).
1157           - Deprecated shapes (r165472) are removed from the code (e.g. rectangle), which affects shape-inside. 
1158           - The current shape-inside code spreads across the layout code.
1159           - The current shape-inside implementation is experimental in some areas,
1160             and the partially implemented code can have security implications.
1161           - Removal of shape-inside opens possibilities for code complexity and performance
1162             optimizations for shape-outside. (e.g. simpler geometry code)
1163
1164         No new tests are needed.
1165
1166         * CMakeLists.txt:
1167         * Configurations/FeatureDefines.xcconfig:
1168         * GNUmakefile.list.am:
1169         * WebCore.xcodeproj/project.pbxproj:
1170         * css/CSSComputedStyleDeclaration.cpp:
1171         (WebCore::ComputedStyleExtractor::propertyValue):
1172         * css/CSSParser.cpp:
1173         (WebCore::isSimpleLengthPropertyID):
1174         (WebCore::CSSParser::parseValue):
1175         (WebCore::CSSParser::parseShapeProperty):
1176         * css/CSSPropertyNames.in:
1177         * css/DeprecatedStyleBuilder.cpp:
1178         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1179         * css/StyleResolver.cpp:
1180         (WebCore::StyleResolver::applyProperty):
1181         (WebCore::StyleResolver::loadPendingImages):
1182         * page/animation/CSSPropertyAnimation.cpp:
1183         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1184         * rendering/LayoutState.cpp:
1185         (WebCore::LayoutState::LayoutState):
1186         * rendering/LayoutState.h:
1187         (WebCore::LayoutState::LayoutState):
1188         (WebCore::LayoutState::shapeInsideInfo): Deleted.
1189         * rendering/RenderBlock.cpp:
1190         (WebCore::RenderBlock::styleDidChange):
1191         (WebCore::RenderBlock::imageChanged):
1192         (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
1193         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved): Deleted.
1194         (WebCore::RenderBlock::logicalOffsetFromShapeAncestorContainer): Deleted.
1195         (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Deleted.
1196         (WebCore::RenderBlock::ensureShapeInsideInfo): Deleted.
1197         (WebCore::RenderBlock::shapeInsideInfo): Deleted.
1198         (WebCore::RenderBlock::setShapeInsideInfo): Deleted.
1199         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout): Deleted.
1200         (WebCore::RenderBlock::layoutShapeInsideInfo): Deleted.
1201         (WebCore::shapeInfoRequiresRelayout): Deleted.
1202         (WebCore::RenderBlock::computeShapeSize): Deleted.
1203         (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Deleted.
1204         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Deleted.
1205         (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout): Deleted.
1206         * rendering/RenderBlock.h:
1207         (WebCore::RenderBlock::allowsShapeInsideInfoSharing): Deleted.
1208         * rendering/RenderBlockFlow.cpp:
1209         (WebCore::RenderBlockFlow::layoutBlock):
1210         (WebCore::RenderBlockFlow::layoutBlockChild):
1211         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1212         * rendering/RenderBlockFlow.h:
1213         * rendering/RenderBlockLineLayout.cpp:
1214         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
1215         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1216         (WebCore::constructBidiRunsForLine): Deleted.
1217         (WebCore::pushShapeContentOverflowBelowTheContentBox): Deleted.
1218         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine): Deleted.
1219         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Deleted.
1220         (WebCore::adjustLogicalLineTop): Deleted.
1221         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded): Deleted.
1222         * rendering/RenderDeprecatedFlexibleBox.cpp:
1223         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1224         * rendering/RenderElement.cpp:
1225         (WebCore::RenderElement::~RenderElement):
1226         (WebCore::RenderElement::initializeStyle):
1227         (WebCore::RenderElement::setStyle):
1228         * rendering/RenderFlexibleBox.cpp:
1229         (WebCore::RenderFlexibleBox::layoutBlock):
1230         * rendering/RenderGrid.cpp:
1231         (WebCore::RenderGrid::layoutBlock):
1232         * rendering/RenderNamedFlowFragment.cpp:
1233         (WebCore::RenderNamedFlowFragment::createStyle):
1234         * rendering/RenderView.h:
1235         * rendering/SimpleLineLayout.cpp:
1236         (WebCore::SimpleLineLayout::canUseFor):
1237         * rendering/line/BreakingContextInlineHeaders.h:
1238         (WebCore::BreakingContext::handleText):
1239         (WebCore::BreakingContext::handleEndOfLine):
1240         (WebCore::updateSegmentsForShapes): Deleted.
1241         * rendering/line/LineBreaker.cpp:
1242         (WebCore::LineBreaker::nextLineBreak):
1243         * rendering/line/LineWidth.cpp:
1244         (WebCore::LineWidth::LineWidth):
1245         (WebCore::LineWidth::updateAvailableWidth):
1246         (WebCore::LineWidth::wrapNextToShapeOutside):
1247         (WebCore::LineWidth::fitBelowFloats):
1248         (WebCore::LineWidth::updateLineSegment): Deleted.
1249         (WebCore::LineWidth::updateCurrentShapeSegment): Deleted.
1250         * rendering/line/LineWidth.h:
1251         * rendering/shapes/ShapeInsideInfo.cpp: Removed.
1252         * rendering/shapes/ShapeInsideInfo.h: Removed.
1253         * rendering/style/RenderStyle.cpp:
1254         (WebCore::RenderStyle::changeRequiresLayout):
1255         * rendering/style/RenderStyle.h:
1256         * rendering/style/StyleRareNonInheritedData.cpp:
1257         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1258         (WebCore::StyleRareNonInheritedData::operator==):
1259         * rendering/style/StyleRareNonInheritedData.h:
1260
1261 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
1262
1263         Avoid duplicate size checks when creating empty image
1264         https://bugs.webkit.org/show_bug.cgi?id=130730
1265
1266         Reviewed by Dean Jackson.
1267
1268         Merged from Blink (patch by ch.dumez@samsung.com):
1269         https://chromium.googlesource.com/chromium/blink/+/4861a71bc1f284fc97417f405ab7d08dc6947b88
1270         http://crbug.com/190633011
1271
1272         * html/canvas/CanvasRenderingContext2D.cpp:
1273         (WebCore::createEmptyImageData): Don't perform overflow calculation twice.
1274
1275 2014-03-26  Sergio Villar Senin  <svillar@igalia.com>
1276
1277         [CSS Grid Layout] getComputedStyle() must return the specified value for positioning properties
1278         https://bugs.webkit.org/show_bug.cgi?id=130010
1279
1280         Reviewed by Darin Adler.
1281
1282         According to the specs
1283         http://dev.w3.org/csswg/css-grid/#property-index and also to
1284         http://lists.w3.org/Archives/Public/www-style/2014Mar/0162.html
1285         the function getComputedStyle() must return the specified values
1286         for positioning properties, i.e, grid-{columns|rows}-{start|end}.
1287
1288         We were in some cases, adjusting the style in the StyleResolver
1289         (for example with two opposing spans) something that is now done
1290         in the RenderGrid because we cannot alter the original style.
1291
1292         The code moved to the renderer became more self explanatory and it
1293         now supports named grid areas with names ending in "-start" and
1294         "-end".
1295
1296         Test: fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html
1297
1298         * css/StyleResolver.cpp:
1299         (WebCore::StyleResolver::adjustRenderStyle):
1300         (WebCore::gridLineDefinedBeforeGridArea): Deleted.
1301         (WebCore::StyleResolver::adjustNamedGridItemPosition): Deleted.
1302         (WebCore::StyleResolver::adjustGridItemPosition): Deleted.
1303         * css/StyleResolver.h:
1304         * rendering/RenderGrid.cpp:
1305         (WebCore::isColumnSide):
1306         (WebCore::RenderGrid::explicitGridSizeForSide):
1307         (WebCore::gridLineDefinedBeforeGridArea):
1308         (WebCore::setNamedLinePositionIfDefinedBeforeArea):
1309         (WebCore::RenderGrid::adjustNamedGridItemPosition):
1310         (WebCore::RenderGrid::adjustGridPositionsFromStyle):
1311         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
1312         (WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle):
1313         (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
1314         * rendering/RenderGrid.h:
1315         * rendering/style/GridPosition.h:
1316         (WebCore::GridPosition::setAutoPosition): New helper function.
1317
1318 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
1319
1320         Fix the iOS build.
1321
1322         * WebCore.exp.in:
1323
1324 2014-03-26  Tim Horton  <timothy_horton@apple.com>
1325
1326         [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
1327         https://bugs.webkit.org/show_bug.cgi?id=130768
1328         <rdar://problem/16421471>
1329
1330         Reviewed by Simon Fraser.
1331
1332         * platform/graphics/cocoa/IOSurface.h:
1333         Add a non-ensuring platformContext() getter.
1334
1335 2014-03-26  James Craig  <jcraig@apple.com>
1336
1337         Web Inspector: AXI: crash when inspecting "bar" text node in getAccessibilityPropertiesForNode layout test
1338         https://bugs.webkit.org/show_bug.cgi?id=130290
1339
1340         Reviewed by Timothy Hatcher.
1341
1342         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1343
1344         Fixing regression from r165590. http://webkit.org/b/129779
1345         Verify isElementNode to avoid calling toElement on document or text nodes.
1346
1347         * inspector/InspectorDOMAgent.cpp:
1348         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1349
1350 2014-03-25  Sergio Villar Senin  <svillar@igalia.com>
1351
1352         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in editing/
1353         https://bugs.webkit.org/show_bug.cgi?id=130722
1354
1355         Reviewed by Antti Koivisto.
1356
1357         * editing/AlternativeTextController.cpp:
1358         (WebCore::markerTypesForAutocorrection):
1359         (WebCore::markerTypesForReplacement):
1360         (WebCore::markerTypesForAppliedDictationAlternative):
1361         * editing/EditingStyle.cpp:
1362         (WebCore::htmlElementEquivalents):
1363         (WebCore::htmlAttributeEquivalents):
1364         * editing/FormatBlockCommand.cpp:
1365         (WebCore::isElementForFormatBlock):
1366         * editing/RemoveFormatCommand.cpp:
1367         (WebCore::isElementForRemoveFormatCommand):
1368         * editing/ReplaceSelectionCommand.cpp:
1369         (WebCore::isProhibitedParagraphChild):
1370         * editing/atk/FrameSelectionAtk.cpp:
1371         (WebCore::maybeEmitTextFocusChange):
1372
1373 2014-03-25  Simon Fraser  <simon.fraser@apple.com>
1374
1375         Add a new type of scrolling tree node for overflow scrolling
1376         https://bugs.webkit.org/show_bug.cgi?id=130763
1377
1378         Reviewed by Tim Horton.
1379
1380         Prepare for overflow scrolling via the scrolling tree by adding
1381         a new scrolling node type for overflow:scroll nodes. Mostly
1382         this is a new ScrollingNodeType that gets mapped to the same
1383         scrolling state nodes and scrolling nodes, but iOS creates
1384         state and scrolling nodes specific to overflow:scroll.
1385         
1386         Change the type checking on nodes to use virtual functions instead
1387         of just checking the node type, to allow the macros to work with
1388         the new scrolling node type.
1389
1390         * WebCore.exp.in:
1391         * page/scrolling/AsyncScrollingCoordinator.cpp:
1392         (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
1393         * page/scrolling/ScrollingCoordinator.h:
1394         * page/scrolling/ScrollingStateFixedNode.h:
1395         * page/scrolling/ScrollingStateNode.h:
1396         (WebCore::ScrollingStateNode::isFixedNode):
1397         (WebCore::ScrollingStateNode::isStickyNode):
1398         (WebCore::ScrollingStateNode::isScrollingNode):
1399         * page/scrolling/ScrollingStateScrollingNode.cpp:
1400         (WebCore::ScrollingStateScrollingNode::create):
1401         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1402         * page/scrolling/ScrollingStateScrollingNode.h:
1403         * page/scrolling/ScrollingStateStickyNode.h:
1404         * page/scrolling/ScrollingStateTree.cpp:
1405         (WebCore::ScrollingStateTree::attachNode):
1406         * page/scrolling/ScrollingTree.cpp:
1407         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
1408         (WebCore::ScrollingTree::updateTreeFromStateNode):
1409         * page/scrolling/ScrollingTreeNode.h:
1410         (WebCore::ScrollingTreeNode::isFixedNode):
1411         (WebCore::ScrollingTreeNode::isStickyNode):
1412         (WebCore::ScrollingTreeNode::isScrollingNode):
1413         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1414         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1415         * page/scrolling/ScrollingTreeScrollingNode.h:
1416         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
1417         (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
1418         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
1419         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1420         (WebCore::ScrollingTreeScrollingNodeIOS::create):
1421         (WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
1422         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1423         (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
1424         * page/scrolling/mac/ScrollingTreeFixedNode.h:
1425         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1426         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1427         (WebCore::ScrollingTreeScrollingNodeMac::create):
1428         (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
1429         * page/scrolling/mac/ScrollingTreeStickyNode.h:
1430         * rendering/RenderLayerCompositor.cpp:
1431         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
1432
1433 2014-03-26  Krzysztof Czech  <k.czech@samsung.com>
1434
1435         [ATK] Utilize new AtkValue interface coming in ATK 2.11.92
1436         https://bugs.webkit.org/show_bug.cgi?id=130575
1437
1438         Reviewed by Mario Sanchez Prada.
1439
1440         ATK 2.11.92 introduces some new API and deprecates an old one.
1441         Adjust current implementation to meet requirements of the new API.
1442
1443         No new tests. Covered by existing ones.
1444
1445         * accessibility/atk/AXObjectCacheAtk.cpp:
1446         (WebCore::AXObjectCache::postPlatformNotification):
1447         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
1448         (webkitAccessibleSetNewValue):
1449         (webkitAccessibleGetIncrementValue):
1450         (webkitAccessibleGetValueAndText):
1451         (webkitAccessibleGetIncrement):
1452         (webkitAccessibleSetValue):
1453         (webkitAccessibleGetRange):
1454         (webkitAccessibleValueSetCurrentValue):
1455         (webkitAccessibleValueGetMinimumIncrement):
1456         (webkitAccessibleValueInterfaceInit):
1457
1458 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
1459
1460         Unreviewed. Removing the remaining Automake cruft.
1461
1462         * GNUmakefile.list.am: Removed.
1463
1464 2014-03-25  Pratik Solanki  <psolanki@apple.com>
1465
1466         iOS build fix. Add missing semicolon.
1467
1468         * editing/cocoa/HTMLConverter.mm:
1469         (HTMLConverter::_addAttachmentForElement):
1470
1471 2014-03-25  Sam Weinig  <sam@webkit.org>
1472
1473         Speculative iOS build fix.
1474
1475         * editing/cocoa/HTMLConverter.mm:
1476         (HTMLConverter::_addAttachmentForElement):
1477
1478 2014-03-25  Jer Noble  <jer.noble@apple.com>
1479
1480         [MSE] Duplicate 'seeked' events.
1481         https://bugs.webkit.org/show_bug.cgi?id=130754
1482
1483         Reviewed by Eric Carlson.
1484
1485         Test: media/media-source/media-source-duplicate-seeked.html
1486
1487         During certain seek operations, HTMLMediaElement::finishSeek() can be called re-entrantly due to
1488         the ready state changing as a result of MediaSource::monitorSourceBuffers(). Move this call to the
1489         end of finishSeek() after m_seeking has been cleared.
1490
1491         * html/HTMLMediaElement.cpp:
1492         (WebCore::HTMLMediaElement::parseAttribute):
1493
1494 2014-03-25  James Craig  <jcraig@apple.com>
1495
1496         Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
1497         https://bugs.webkit.org/show_bug.cgi?id=130712
1498
1499         Reviewed by Timothy Hatcher.
1500
1501         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1502
1503         Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
1504
1505         * inspector/InspectorDOMAgent.cpp:
1506         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1507         * inspector/protocol/DOM.json:
1508
1509 2014-03-25  Sanghyup Lee  <sh53.lee@samsung.com>
1510
1511         When the mouse is upped after dragged out of shadowDOM, it should lose :active.
1512         https://bugs.webkit.org/show_bug.cgi?id=130660
1513
1514         Reviewed by Darin Adler.
1515
1516         This caused a regression after r165037.
1517         When we have to clear :active style of shadow DOM, we should clear host's style.
1518         This patch replaces parentElement() by parentOrShadowHostElement().
1519
1520         * dom/Document.cpp:
1521         (WebCore::Document::updateHoverActiveState):
1522
1523 2014-03-25  Eric Carlson  <eric.carlson@apple.com>
1524
1525         [Mac] Always retry a failed MediaDocument as a PluginDocument
1526         https://bugs.webkit.org/show_bug.cgi?id=130742
1527
1528         Reviewed by Jer Noble.
1529
1530         * html/HTMLMediaElement.cpp:
1531         (WebCore::HTMLMediaElement::mediaLoadingFailedFatally): If the element is in a media document,
1532             tell it that loading failed so it can retry as a plug-in.
1533
1534 2014-03-25  Ryosuke Niwa  <rniwa@webkit.org>
1535
1536         Replace HTMLConverter::_stringForNode by propertyValueForNode
1537         https://bugs.webkit.org/show_bug.cgi?id=130711
1538
1539         Reviewed by Sam Weinig.
1540
1541         Replaced all calls to HTMLConverter::_stringForNode by that to propertyValueForNode.
1542
1543         * editing/cocoa/HTMLConverter.mm:
1544         (HTMLConverter::_computedAttributesForElement):
1545         (HTMLConverter::_addAttachmentForElement):
1546         (HTMLConverter::_enterElement):
1547         (HTMLConverter::_addTableForElement):
1548         (HTMLConverter::_addTableCellForElement):
1549         (HTMLConverter::_processElement):
1550         (HTMLConverter::_exitElement):
1551         (HTMLConverter::_processText):
1552         (HTMLConverter::_traverseNode):
1553         (HTMLConverter::_traverseFooterNode):
1554         (HTMLConverter::_stringForNode): Deleted.
1555
1556 2014-03-25  Pratik Solanki  <psolanki@apple.com>
1557
1558         Attempt to fix iOS build after r166261.
1559
1560         * WebCore.xcodeproj/project.pbxproj: Make SystemSleepListener.h a private header.
1561
1562 2014-03-21  Jer Noble  <jer.noble@apple.com>
1563
1564         [iOS] Enable caption support in full screen.
1565         https://bugs.webkit.org/show_bug.cgi?id=130603
1566
1567         Reviewed by Eric Carlson.
1568
1569         Add TextTrackRepresentation support to MediaPlayerPrivateAVFoundationObjC.
1570
1571         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1572         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1573         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Add the m_textTrackRepresenationLayer if present.
1574         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Ditto.
1575         (WebCore::MediaPlayerPrivateAVFoundationObjC::requiresTextTrackRepresentation): True, if a m_videoFullscreenLayer is present.
1576         (WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation): Remove the old, and add the new m_textTrackRepresenationLayer.
1577
1578         Make the text track container a stacking context for painting purposes.
1579         * Modules/mediacontrols/mediaControlsiOS.css:
1580         (video::-webkit-media-text-track-container):
1581
1582 2014-03-25  Brian Burg  <bburg@apple.com>
1583
1584         Web Replay: resource unique identifiers should be unique-per-frame, not globally
1585         https://bugs.webkit.org/show_bug.cgi?id=130632
1586
1587         Reviewed by Timothy Hatcher.
1588
1589         For replay purposes, we want to deterministically assign resource load identifiers
1590         to resource loaders, provided that the resource loaders are created in the same
1591         order.
1592
1593         To do this, we convert unique identifiers from being globally-unique to being
1594         frame-unique. When a new frame is being loaded, unique identifiers for
1595         subresources of that frame begin counting from 1.
1596
1597         No new tests. Identifier invariants are exercised by existing assertions and tests.
1598
1599         * loader/ProgressTracker.cpp:
1600         (WebCore::ProgressTracker::ProgressTracker):
1601         (WebCore::ProgressTracker::reset):
1602         (WebCore::ProgressTracker::createUniqueIdentifier):
1603         * loader/ProgressTracker.h:
1604
1605 2014-03-25  Jer Noble  <jer.noble@apple.com>
1606
1607         [Mac] Pause the media element during system sleep.
1608         https://bugs.webkit.org/show_bug.cgi?id=130718
1609
1610         Reviewed by Eric Carlson.
1611
1612         Test: media/video-system-sleep.html
1613
1614         Relying on the platform media system to pause and restart playback during
1615         system sleep can cause problems on some platforms, especially where hardware
1616         decoders are concerned. Rather than implicitly pausing the media during
1617         system sleep, explicitly pause the media before sleeping and resume (if
1618         appropriate) upon waking.
1619
1620         Add a new class to be used for system sleep notifications:
1621         * platform/SystemSleepListener.cpp: Added.
1622         (WebCore::SystemSleepListener::create):
1623         (WebCore::SystemSleepListener::SystemSleepListener):
1624         * platform/SystemSleepListener.h: Added.
1625         (WebCore::SystemSleepListener::Client::~Client):
1626         (WebCore::SystemSleepListener::~SystemSleepListener):
1627         (WebCore::SystemSleepListener::client):
1628
1629         Add a Mac-specific implementation:
1630         * platform/mac/SystemSleepListenerMac.h: Added.
1631         * platform/mac/SystemSleepListenerMac.mm: Added.
1632         (WebCore::SystemSleepListener::create):
1633         (WebCore::SystemSleepListenerMac::SystemSleepListenerMac):
1634         (WebCore::SystemSleepListenerMac::~SystemSleepListenerMac):
1635
1636         Listen for system sleep notifications in MediaSessionManager:
1637         * platform/audio/MediaSessionManager.cpp:
1638         (WebCore::MediaSessionManager::MediaSessionManager):
1639         (WebCore::MediaSessionManager::systemWillSleep):
1640         (WebCore::MediaSessionManager::systemDidWake):
1641         * platform/audio/MediaSessionManager.h:
1642
1643         Drive-by fix; notify the MediaSession that playback will begin
1644         due to autoplay, but do not begin autoplaying if the session
1645         is already interrupted:
1646         * html/HTMLMediaElement.cpp:
1647         (WebCore::HTMLMediaElement::parseAttribute):
1648
1649         Add new files to project:
1650         * WebCore.vcxproj/WebCore.vcxproj:
1651         * WebCore.xcodeproj/project.pbxproj:
1652         * CMakeLists.txt:
1653         * GNUmakefile.list.am:
1654
1655 2014-03-25  Radu Stavila  <stavila@adobe.com>
1656
1657         [CSS Regions] The background of children of scrollable elements flowed into regions is not properly scrolled
1658         https://bugs.webkit.org/show_bug.cgi?id=130574
1659
1660         Reviewed by David Hyatt.
1661
1662         When computing the clip rect for painting the box decorations, the scrolled content offset
1663         must be computed by going up the containing block tree, up to the region.
1664
1665         Tests: fast/regions/scrollable-region-scrollable-absolute-content-background.html
1666                fast/regions/scrollable-region-scrollable-content-background.html
1667
1668         * rendering/RenderNamedFlowThread.cpp:
1669         (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
1670
1671 2014-03-25  Joseph Pecoraro  <pecoraro@apple.com>
1672
1673         [iOS] Inspector View Indication Support
1674         https://bugs.webkit.org/show_bug.cgi?id=130709
1675
1676         Reviewed by Simon Fraser.
1677
1678         * inspector/InspectorClient.h:
1679         (WebCore::InspectorClient::showInspectorIndication):
1680         (WebCore::InspectorClient::hideInspectorIndication):
1681         * inspector/InspectorController.cpp:
1682         (WebCore::InspectorController::setIndicating):
1683         Rename indicate/hideIndication to show/hide names.
1684
1685 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
1686
1687         Unreviewed build fix. Typo on checkin.
1688
1689         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1690         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Left an unmatched open bracket.
1691
1692 2014-03-25  Jer Noble  <jer.noble@apple.com>
1693
1694         Even further unreviewed build fix after r166247. Unprotect the implementation of HTMLMediaElement::shouldDisableSleep().
1695
1696         * html/HTMLMediaElement.cpp:
1697         (WebCore::HTMLMediaElement::parseAttribute):
1698
1699 2014-03-25  Jer Noble  <jer.noble@apple.com>
1700
1701         Further unreviewed build fix after r166247. Add DisplaySleepDisabler to the windows project file and
1702         move the definition of DisplaySleepDisabler's constructor and destructor into the cpp file.
1703
1704         * WebCore.vcxproj/WebCore.vcxproj:
1705         * platform/DisplaySleepDisabler.cpp:
1706         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
1707         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
1708         * platform/DisplaySleepDisabler.h:
1709
1710 2014-03-25  Jer Noble  <jer.noble@apple.com>
1711
1712         Unreviewed build fix after r166247. Un-platform-protect the declaration of HTMLMediaElement::shouldDisableSleep()
1713         and make WebVideoFullscreenController's _displaySleepDisabler a std::unique_ptr.
1714
1715         * html/HTMLMediaElement.h:
1716         * platform/mac/WebVideoFullscreenController.h:
1717
1718 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
1719
1720         [iOS] Pass additional options to AVFoundation during playback.
1721         https://bugs.webkit.org/show_bug.cgi?id=130624
1722
1723         Reviewed by Eric Carlson.
1724
1725         * html/HTMLMediaElement.cpp:
1726         (WebCore::HTMLMediaElement::doesHaveAttribute): Return attribute value if the user
1727         passes a pointer to fill in.
1728         * html/HTMLMediaElement.h:
1729         * platform/graphics/MediaPlayer.cpp:
1730         (WebCore::MediaPlayer::doesHaveAttribute):
1731         * platform/graphics/MediaPlayer.h:
1732         (WebCore::MediaPlayerClient::doesHaveAttribute):
1733         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1734         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Pass additional
1735         option if supplied by user.
1736
1737 2014-03-25  Michael Saboff  <msaboff@apple.com>
1738
1739         Unreviewed, rolling out r166070.
1740
1741         Rollout r166070 due to 2% performance loss in page load times
1742
1743         Reverted changeset:
1744
1745         "Change CodeGeneratorJS.pm special cases for "DOMWindow" to be
1746         general purpose"
1747         https://bugs.webkit.org/show_bug.cgi?id=130553
1748         http://trac.webkit.org/changeset/166070
1749
1750 2014-03-25  Michael Saboff  <msaboff@apple.com>
1751
1752         Unreviewed, rolling out r166126.
1753
1754         Rollout r166126 in prepartion to roll out prerequisite r166070
1755
1756         Reverted changeset:
1757
1758         "toThis() on a JSWorkerGlobalScope should return a JSProxy and
1759         not undefined"
1760         https://bugs.webkit.org/show_bug.cgi?id=130554
1761         http://trac.webkit.org/changeset/166126
1762
1763 2014-03-25  Jer Noble  <jer.noble@apple.com>
1764
1765         [iOS] Playing video does not disable display sleep.
1766         https://bugs.webkit.org/show_bug.cgi?id=130729
1767
1768         Reviewed by Eric Carlson.
1769
1770         DisplaySleepDisabler was broken by r161589, which replaced the iOS implementation with
1771         an empty one. Make a platform independent version with a Cocoa-platform subclass. Update
1772         the APIs to non-deprecated ones.
1773
1774         * platform/DisplaySleepDisabler.cpp: Added.
1775         (WebCore::DisplaySleepDisabler::create):
1776         * platform/DisplaySleepDisabler.h: Added.
1777         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
1778         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
1779         * platform/cocoa/DisplaySleepDisablerCocoa.cpp: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
1780         (WebCore::DisplaySleepDisabler::create):
1781         (WebCore::DisplaySleepDisablerCocoa::DisplaySleepDisablerCocoa):
1782         (WebCore::DisplaySleepDisablerCocoa::~DisplaySleepDisablerCocoa):
1783         * platform/cocoa/DisplaySleepDisablerCocoa.h: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
1784
1785         Update m_sleepDisabler to be a std::unique_ptr, and unprotect the definition of methods which use it.
1786         * html/HTMLMediaElement.cpp:
1787         (WebCore::HTMLMediaElement::updateSleepDisabling):
1788         (WebCore::HTMLMediaElement::shouldDisableSleep):
1789         * html/HTMLMediaElement.h:
1790
1791         Add the new and renamed files to the project:
1792         * CMakeLists.txt:
1793         * GNUmakefile.list.am:
1794         * WebCore.xcodeproj/project.pbxproj:
1795
1796 2014-03-25  Dirk Schulze  <krit@webkit.org>
1797
1798         Implement ImageData constructors and WebWorkers exposure
1799         https://bugs.webkit.org/show_bug.cgi?id=130668
1800
1801         Reviewed by Dean Jackson.
1802
1803         Add new constructors for ImageData.
1804
1805         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
1806
1807         Test: fast/canvas/canvas-imageData.html
1808
1809         * html/ImageData.cpp: 
1810         (WebCore::ImageData::create):
1811         * html/ImageData.h:
1812         * html/ImageData.idl:
1813
1814 2014-03-25  Myles C. Maxfield  <mmaxfield@apple.com>
1815
1816         InlineIterator position (unsigned int) variable can wrap around
1817         https://bugs.webkit.org/show_bug.cgi?id=130540
1818
1819         Reviewed by Simon Fraser.
1820
1821         We trigger an ASSERT that occurs when we are ignoring spaces (to collapse them
1822         into a single whitespace mark) but then encounter a line break. Because we don't ignore
1823         the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
1824         we want to ignore that first space as well (so as not to push the text away from the right
1825         edge). We do this by decrementing the InlineIterator pointing to this first space, so all
1826         the spaces get ignored. However, if that space is the first character in a Text node, the
1827         decrement will try to go past the beginning of the node, and trigger an ASSERT.
1828
1829         This design is not great. At some point we should rework it to more elegantly handle
1830         collapsing whitespace in both RTL and LTR writing modes.
1831
1832         This patch adds an ASSERT earlier in this codepath to catch potential problems earlier.
1833         It also pulls our sentinel value out into a separate boolean to make it more clear what is
1834         going on.
1835
1836         Test: fast/text/whitespace-only-text-in-rtl.html
1837
1838         * rendering/InlineIterator.h:
1839         (WebCore::InlineIterator::moveTo): Use the set***() calls
1840         (WebCore::InlineIterator::setOffset): ASSERT early that our math hasn't wrapped
1841         * rendering/RenderBlockLineLayout.cpp:
1842         (WebCore::RenderBlockFlow::appendRunsForObject): Use new boolean value
1843         * rendering/line/BreakingContextInlineHeaders.h:
1844         (WebCore::BreakingContext::handleText): Guard against wraps
1845         (WebCore::checkMidpoints): Use new boolean value
1846         * rendering/line/TrailingObjects.cpp:
1847         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Use new boolean value
1848
1849 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
1850
1851         [GTK] Remove the autotools build
1852         https://bugs.webkit.org/show_bug.cgi?id=130717
1853
1854         Reviewed by Anders Carlsson.
1855
1856         * GNUmakefile.am: Removed.
1857         * bindings/gobject/GNUmakefile.am: Removed.
1858         * config.h: Removed references to autotools configure file.
1859
1860 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
1861
1862         Prevent 'removetrack' events from firing when all inband text tracks are removed.
1863         https://bugs.webkit.org/show_bug.cgi?id=130704
1864
1865         Reviewed by Eric Carlson.
1866
1867         Test: media/track/track-remove-track.html
1868
1869         Based on the Blink change (patch by acolwell@chromium.org):
1870         https://codereview.chromium.org/177243018/
1871
1872         * html/HTMLMediaElement.cpp:
1873         (WebCore::HTMLMediaElement::prepareForLoad): Reorder steps to match W3C specification.
1874         (WebCore::HTMLMediaElement::noneSupported): Forget tracks as required by specification.
1875         (WebCore::HTMLMediaElement::mediaLoadingFailed): Forget tracks as required by specification.
1876         (WebCore::HTMLMediaElement::removeTextTrack): Only request the 'removetracks' event if
1877         requested by caller.
1878         (WebCore::HTMLMediaElement::removeAllInbandTracks): Renamed to 'forgetResourceSpecificTracks'
1879         (WebCore::HTMLMediaElement::noneSupported): Specify that we want the 'removetracks' event
1880         fired for this use case.
1881         (WebCore::HTMLMediaElement::prepareForLoad): Switch to new 'forgetResourceSpecificTracks' name.
1882         * html/HTMLMediaElement.h:
1883         * html/track/TextTrackList.cpp:
1884         (TextTrackList::remove): Only fire the 'removetrack' event if the caller requests it.
1885         * html/track/TextTrackList.h: Add default argument to fire the 'removetrack' event
1886         when removing a track.
1887         * html/track/TrackListBase.cpp:
1888         (TrackListBase::remove): Only fire the 'removetrack' event if the caller requests it.
1889         * html/track/TrackListBase.h: Add default argument to fire the 'removetrack' event.
1890
1891 2014-03-25  David Kilzer  <ddkilzer@apple.com>
1892
1893         Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
1894         <http://webkit.org/b/130713>
1895         <rdar://problem/15661876>
1896
1897         Reviewed by Darin Adler.
1898
1899         Merged from Blink (patch by Ian Beer):
1900         http://crbug.com/303657
1901         https://src.chromium.org/viewvc/blink?view=rev&revision=158938
1902
1903         Test: fast/forms/form-submission-crash-successful-submit-button.html
1904
1905         * html/HTMLFormElement.cpp:
1906         (WebCore::HTMLFormElement::submit):
1907
1908 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
1909
1910         [ARM64] GNU assembler fails in TransformationMatrix::multiply
1911         https://bugs.webkit.org/show_bug.cgi?id=130454
1912
1913         Reviewed by Zoltan Herczeg.
1914
1915         Change the NEON intstructions to the proper style.
1916
1917         * platform/graphics/transforms/TransformationMatrix.cpp:
1918         (WebCore::TransformationMatrix::multiply):
1919
1920 2014-03-20  Sergio Villar Senin  <svillar@igalia.com>
1921
1922         [CSS Grid Layout] Vertical rectangles not considered as valid grid areas
1923         https://bugs.webkit.org/show_bug.cgi?id=130513
1924
1925         Reviewed by Andreas Kling.
1926
1927         Grid areas sized as vertical rectangles were incorrectly
1928         considered as invalid by the parser. That's because the condition
1929         checking that each new row was adjacent to the previous one was
1930         using the first row of the currently parsed grid area instead of
1931         the last one.
1932
1933         Test: fast/css-grid-layout/grid-template-areas-get-set.html
1934
1935         * css/CSSParser.cpp:
1936         (WebCore::CSSParser::parseGridTemplateAreas):
1937
1938 2014-03-25  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1939
1940         [GTK] Volume slider shows below the panel with videos in certain cases
1941         https://bugs.webkit.org/show_bug.cgi?id=130608
1942
1943         Reviewed by Jer Noble.
1944
1945         We need to delay the moment we check if the volume slider shows up
1946         or down. If the video was not visible, the offsets were 0 and it
1947         was forced to be shown below the panel.
1948
1949         Test: media/video-initially-hidden-volume-slider-up.html
1950
1951         * Modules/mediacontrols/mediaControlsApple.js:
1952         (Controller.prototype.createControls): Moved volumebox pseudo from
1953         the subclass. The test checks for it and it would fail in Mac.
1954         * Modules/mediacontrols/mediaControlsGtk.js:
1955         (ControllerGtk.prototype.createControls): Moved volumebox pseudo
1956         to the superclass.
1957         (ControllerGtk.prototype.handleMuteButtonMouseOver): Check if
1958         volume slider should show up or down.
1959         (ControllerGtk.prototype.updateReadyState): Removed check for
1960         volume slider direction.
1961
1962 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
1963
1964         [Win] Enable WebVTT Regions on Windows.
1965         https://bugs.webkit.org/show_bug.cgi?id=130680
1966
1967         Reviewed by Eric Carlson.
1968
1969         * DerivedSources.cpp: Add new build components.
1970         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1971         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1972
1973 2014-03-24  Simon Fraser  <simon.fraser@apple.com>
1974
1975         Remove some unnecessary includes from PlatformCALayerClient.h
1976         https://bugs.webkit.org/show_bug.cgi?id=130703
1977
1978         Reviewed by Andreas Kling.
1979         
1980         No need for all these #includes.
1981
1982         * platform/graphics/ca/PlatformCALayerClient.h:
1983
1984 2014-03-24  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1985
1986         [core] FEGaussianBlur: use IntSize to simplify member function interface
1987         https://bugs.webkit.org/show_bug.cgi?id=130695
1988
1989         Reviewed by Dean Jackson.
1990
1991         By returning an IntSize to store the calculated kernel size values
1992         it is possible to have less function parameters. This patch also
1993         streamlines a bit the code in calculateUnscaledKernelSize.
1994
1995         No new tests, no change in behavior.
1996
1997         * platform/graphics/filters/FEDropShadow.cpp:
1998         (WebCore::FEDropShadow::determineAbsolutePaintRect):
1999         * platform/graphics/filters/FEGaussianBlur.cpp:
2000         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
2001         (WebCore::FEGaussianBlur::calculateKernelSize):
2002         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
2003         (WebCore::FEGaussianBlur::platformApplySoftware):
2004         * platform/graphics/filters/FEGaussianBlur.h:
2005         (if): Deleted.
2006         * platform/graphics/filters/FilterOperations.cpp:
2007         (WebCore::outsetSizeForBlur):
2008
2009 2014-03-24  Brian Burg  <bburg@apple.com>
2010
2011         Web Replay: capture and replay keyboard events
2012         https://bugs.webkit.org/show_bug.cgi?id=130314
2013
2014         Reviewed by Joseph Pecoraro.
2015
2016         Upstream support for capturing and replaying non-IME keyboard input.
2017         This works similarly to mouse events. It introduces optional fields and
2018         macros to encode/decode them.
2019
2020         Test: ManualTests/inspector/replay-keyboard-events.html
2021
2022         * replay/ReplayInputDispatchMethods.cpp:
2023         (WebCore::HandleKeyPress::dispatch):
2024         * replay/SerializationMethods.cpp:
2025         (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
2026         (JSC::EncodingTraits<NondeterministicInputBase>::decodeValue): Switch existing
2027         encode/decode calls to use the shortening macros.
2028         (JSC::EncodingTraits<KeypressCommand>::encodeValue): Added.
2029         (JSC::EncodingTraits<KeypressCommand>::decodeValue): Added.
2030         (JSC::PlatformKeyboardEventAppKit::PlatformKeyboardEventAppKit): Subclass
2031         PlatformKeyboardEvent so that we can set AppKit-specific members not
2032         initialized through the main constructors.
2033         (JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Added.
2034         (JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue): Added.
2035         * replay/SerializationMethods.h:
2036         * replay/UserInputBridge.cpp:
2037         (WebCore::UserInputBridge::UserInputBridge): initialize m_state inside a guard.
2038         (WebCore::UserInputBridge::handleKeyEvent): fill in the implementation.
2039         * replay/WebInputs.json:
2040
2041 2014-03-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2042
2043         Optimizing string construction for type error in JSNavigatorCustom.cpp
2044         https://bugs.webkit.org/show_bug.cgi?id=130683
2045
2046         Reviewed by Eric Carlson.
2047
2048         * bindings/js/JSNavigatorCustom.cpp:
2049         (WebCore::JSNavigator::webkitGetUserMedia):
2050
2051 2014-03-24  Beth Dakin  <bdakin@apple.com>
2052
2053         Legacy-style scrollbars constantly redraw after scrolling
2054         https://bugs.webkit.org/show_bug.cgi?id=130699
2055
2056         Reviewed by Simon Fraser.
2057
2058         The constant re-draw was happening because we were never calling [ScrollbarPainter 
2059         setUsePresentationValue:NO]. This is a silly bug where were should have been 
2060         looking at PlatformWheelEvent::momentumPhase() instead of 
2061         PlatformWheelEvent::phase()
2062
2063         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2064         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
2065
2066 2014-03-24  Daniel Bates  <dabates@apple.com>
2067
2068         XSS Auditor doesn't block <script> injected before an existing <script>
2069         https://bugs.webkit.org/show_bug.cgi?id=130475
2070
2071         Merged from Blink (patch by Tom Sepez):
2072         https://src.chromium.org/viewvc/blink?view=rev&revision=169697
2073
2074         Tests: http/tests/security/xssAuditor/script-tag-expression-follows.html
2075                http/tests/security/xssAuditor/script-tag-near-start.html
2076
2077         * html/parser/XSSAuditor.cpp:
2078         (WebCore::startsHTMLCommentAt):
2079         (WebCore::startsSingleLineCommentAt):
2080         (WebCore::startsMultiLineCommentAt):
2081         (WebCore::startsOpeningScriptTagAt):
2082         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
2083
2084 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
2085
2086         Activate WebVTT Tests Once Merging is Complete
2087         https://bugs.webkit.org/show_bug.cgi?id=130420
2088
2089         Reviewed by Eric Carlson.
2090
2091         * Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)
2092
2093 2014-03-24  Anders Carlsson  <andersca@apple.com>
2094
2095         Re-fix the build.
2096
2097         * WebCore.exp.in:
2098
2099 2014-03-24  Anders Carlsson  <andersca@apple.com>
2100
2101         Fix build.
2102
2103         * WebCore.exp.in:
2104         Move a CFNetwork only symbol inside the USE(CFNETWORK) section.
2105
2106 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
2107
2108         Regression: AX: Don't expose role or notifications for invalid menus
2109         https://bugs.webkit.org/show_bug.cgi?id=129814
2110
2111         Reviewed by Mario Sanchez Prada.
2112
2113         If a role=menu has no menuitem children, it should not be a menu.
2114         This was a bit tricky to implement since we need to update the role after the children are created,
2115         but it means we have to be a bit more aggressive about when to updateChildren, so that the role
2116         is known to be valid.
2117
2118         Test: platform/mac/accessibility/invalid-menu-role-does-not-send-notification.html
2119
2120         * accessibility/AXObjectCache.cpp:
2121         (WebCore::AXObjectCache::notificationPostTimerFired):
2122         * accessibility/AccessibilityRenderObject.cpp:
2123         (WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
2124         (WebCore::AccessibilityRenderObject::addChildren):
2125         * accessibility/AccessibilityRenderObject.h:
2126         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2127         (-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
2128
2129 2014-03-24  Andy Estes  <aestes@apple.com>
2130
2131         [iOS] Download support by CFURLDownloadRef under USE(CFNETWORK).
2132         https://bugs.webkit.org/show_bug.cgi?id=129322
2133
2134         Reviewed by Anders Carlsson.
2135
2136         * platform/network/ResourceHandle.h:
2137         * platform/network/cf/ResourceHandleCFNet.cpp:
2138         (WebCore::ResourceHandle::releaseConnectionForDownload): Changed to
2139         return a RetainPtr that adopts the connection's retain count.
2140
2141 2014-03-24  Enrica Casucci  <enrica@apple.com>
2142
2143         Update Hindi fallback font.
2144         https://bugs.webkit.org/show_bug.cgi?id=130690
2145         <rdar://problem/16391601>
2146
2147         Reviewed by Sam Weinig.
2148
2149         Using the new available font for Hindi in the fallback list.
2150
2151         * platform/graphics/ios/FontCacheIOS.mm:
2152         (WebCore::FontCache::systemFallbackForCharacters):
2153
2154 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
2155
2156         Merge Minor WebVTT Cleanups from Blink
2157         https://bugs.webkit.org/show_bug.cgi?id=130681
2158
2159         Reviewed by Eric Carlson.
2160
2161         Merged from Blink (patch by philipj@opera.com):
2162         https://chromium.googlesource.com/chromium/blink/+/693eb5e2933dca0eab5bbd604e9f3406fe9fd1ab
2163         http://crbug.com/52593009
2164         https://chromium.googlesource.com/chromium/blink/+/40b3602feab34e9be829fd742b6ad6ded322a09f
2165         http://crbug.com/104243003
2166
2167         * html/track/TextTrack.cpp:
2168         (WebCore::TextTrack::setMode):
2169         * html/track/TextTrack.idl:
2170         * html/track/TextTrackCue.h:
2171         * html/track/VTTCue.cpp:
2172         (WebCore::VTTCue::VTTCue):
2173         * html/track/VTTCue.h:
2174
2175 2014-03-24  Commit Queue  <commit-queue@webkit.org>
2176
2177         Unreviewed, rolling out r166169.
2178         https://bugs.webkit.org/show_bug.cgi?id=130682
2179
2180         This patch broke tests on Apple Mavericks (Requested by fredw
2181         on #webkit).
2182
2183         Reverted changeset:
2184
2185         "Operator stretching: expose a math data API"
2186         https://bugs.webkit.org/show_bug.cgi?id=130572
2187         http://trac.webkit.org/changeset/166169
2188
2189 2014-03-24  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
2190
2191         ENABLE(CSS_GRID_LAYOUT) guard for CSSGridLineNamesValue
2192         https://bugs.webkit.org/show_bug.cgi?id=130669
2193
2194         Reviewed by Sergio Villar Senin.
2195
2196         No new tests. No new functionality.
2197
2198         * css/CSSGridLineNamesValue.cpp:
2199         * css/CSSGridLineNamesValue.h:
2200
2201 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
2202
2203         <hr> should expose AXRole/AXSubrole, etc
2204         https://bugs.webkit.org/show_bug.cgi?id=109015
2205
2206         Reviewed by Mario Sanchez Prada.
2207
2208         Expose the <hr> element to Mac and iOS through the accessibility interface.
2209
2210         Test: platform/mac/accessibility/hr-element.html
2211
2212         * English.lproj/Localizable.strings:
2213         * accessibility/AccessibilityNodeObject.cpp:
2214         (WebCore::AccessibilityNodeObject::isEnabled):
2215         * accessibility/AccessibilityObject.cpp:
2216         (WebCore::AccessibilityObject::computedRoleString):
2217         * accessibility/AccessibilityRenderObject.cpp:
2218         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2219         * accessibility/atk/AccessibilityObjectAtk.cpp:
2220         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2221         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2222         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
2223         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
2224         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2225         (createAccessibilityRoleMap):
2226         (-[WebAccessibilityObjectWrapper subrole]):
2227         (-[WebAccessibilityObjectWrapper roleDescription]):
2228         * platform/LocalizedStrings.cpp:
2229         (WebCore::AXHorizontalRuleDescriptionText):
2230         * platform/LocalizedStrings.h:
2231
2232 2014-03-24  Antti Koivisto  <antti@apple.com>
2233
2234         Invalidate sibling text node style when needed instead of attaching synchronously
2235         https://bugs.webkit.org/show_bug.cgi?id=130590
2236
2237         Reviewed by Andreas Kling.
2238         
2239         Make things simpler.
2240
2241         * style/StyleResolveTree.cpp:
2242         (WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
2243         
2244             Just invalidate instead of calling attach directly.
2245             Rename to match.
2246
2247         (WebCore::Style::textRendererIsNeeded):
2248         (WebCore::Style::createTextRendererIfNeeded):
2249         
2250             Move all testing to textRendererIsNeeded.
2251
2252         (WebCore::Style::updateTextRendererAfterContentChange):
2253         
2254             Call resolveTextNode instead of re-implementing the same thing.
2255
2256         (WebCore::Style::resolveLocal):
2257         (WebCore::Style::resolveTextNode):
2258         
2259             Avoid unnecessary reattaching.
2260             Rename for consistency.
2261
2262         (WebCore::Style::resolveShadowTree):
2263         (WebCore::Style::resolveTree):
2264         
2265 2014-03-24  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
2266
2267         Fix !ENABLE(VIDEO) build
2268         https://bugs.webkit.org/show_bug.cgi?id=130671
2269
2270         Reviewed by Eric Carlson.
2271
2272         Add missing ENABLE(VIDEO) guards because many functions use
2273         the newly guarded functions.
2274
2275         * testing/Internals.cpp:
2276         * testing/Internals.h:
2277         * testing/Internals.idl:
2278
2279 2014-03-24  Antti Koivisto  <antti@apple.com>
2280
2281         Text autosizing does not determine line count correctly for simple line layout
2282         https://bugs.webkit.org/show_bug.cgi?id=130673
2283
2284         Reviewed by Daniel Bates.
2285         
2286         We don't count lines correctly in simple line layout case.
2287
2288         * page/Frame.cpp:
2289         (WebCore::Frame::textAutosizingWidth):
2290         (WebCore::Frame::setTextAutosizingWidth):
2291         * page/ios/FrameIOS.mm:
2292         (WebCore::Frame::textAutosizingWidth): Deleted.
2293         (WebCore::Frame::setTextAutosizingWidth): Deleted.
2294         
2295             Move to Frame.cpp to make enabling on non-iOS build easier.
2296
2297         * rendering/RenderBlockFlow.cpp:
2298         (WebCore::RenderBlockFlow::lineCount):
2299         
2300             Handle simple line layout case.
2301
2302         (WebCore::RenderBlockFlow::lineCountForTextAutosizing):
2303             
2304             Call lineCount() if children are inline.
2305             Rename for clarity.
2306
2307         (WebCore::RenderBlockFlow::adjustComputedFontSizes):
2308         (WebCore::RenderBlockFlow::immediateLineCount): Deleted.
2309         * rendering/RenderBlockFlow.h:
2310
2311 2014-03-24  Frédéric Wang  <fred.wang@free.fr>
2312
2313         [regression] background colors do not apply to <mo> elements.
2314         https://bugs.webkit.org/show_bug.cgi?id=130470.
2315
2316         Test: mathml/presentation/tokenElements-background-color.html
2317
2318         * rendering/mathml/RenderMathMLOperator.cpp:
2319         (WebCore::RenderMathMLOperator::paint): always call the parent painting to draw the background.
2320         (WebCore::RenderMathMLOperator::paintChildren): move the special case for invisible operator here.
2321
2322 2014-03-24  Frédéric Wang  <fred.wang@free.fr>
2323
2324         Operator stretching: expose a math data API
2325         https://bugs.webkit.org/show_bug.cgi?id=130572
2326
2327         Reviewed by Chris Fleizach.
2328
2329         We expose a new SimpleFontData API to give access to the data from the
2330         OpenType MATH table using a font cache. The class OpenTypeMathData will
2331         be implemented in bug 130324. On Darwin platform, we also implement the
2332         missing FontPlatformData::openTypeTable function which will be necessary
2333         to load the OpenType MATH table. The changes are intended to be used
2334         for MathML operator stretching (bug 130322) so tests are not added yet.
2335
2336         * CMakeLists.txt: add new OpenTypeMathData files.
2337         * GNUmakefile.list.am: ditto.
2338         * WebCore.vcxproj/WebCore.vcxproj: ditto.
2339         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2340         * WebCore.xcodeproj/project.pbxproj: ditto.
2341         * platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
2342         We make the math and vertical data share the same key for the cache.
2343         (WebCore::fontMathDataCacheInstance):
2344         (WebCore::FontCache::getMathData):
2345         (WebCore::fontVerticalDataCacheInstance):
2346         * platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
2347         * platform/graphics/FontPlatformData.cpp:
2348         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
2349         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
2350         * platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
2351         (WebCore::SimpleFontData::SimpleFontData):
2352         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
2353         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
2354         (WebCore::OpenTypeMathData::OpenTypeMathData):
2355         * platform/graphics/opentype/OpenTypeMathData.h: Added.
2356         (WebCore::OpenTypeMathData::create):
2357         (WebCore::OpenTypeMathData::hasMathData):
2358
2359 2014-03-24  Jon Lee  <jonlee@apple.com>
2360
2361         Build fixes.
2362
2363         Unreviewed.
2364
2365         * editing/ios/EditorIOS.mm:
2366         (WebCore::Editor::writeSelectionToPasteboard): Convert to reference.
2367
2368 2014-03-24  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
2369
2370         ENABLE(VIDEO_TRACK) guard for CSSParserSelector::parsePseudoCueFunctionSelector
2371         https://bugs.webkit.org/show_bug.cgi?id=130666
2372
2373         Reviewed by Andreas Kling.
2374
2375         No new tests. No new functionality.
2376
2377         * css/CSSParserValues.cpp:
2378         (WebCore::CSSParserSelector::parsePseudoCueFunctionSelector): Deleted.
2379
2380 2014-03-24  Javier Fernandez  <jfernandez@igalia.com>
2381
2382         [CSS Grid Layout] Update named <grid-line> syntax to the last version of the specs
2383         https://bugs.webkit.org/show_bug.cgi?id=129041
2384
2385         Reviewed by Sergio Villar Senin.
2386
2387         From Blink r162555 by <svillar@igalia.com>
2388
2389         Names for grid lines are now specified as a list of whitespace separated
2390         idents enclosed in parentheses instead of as a list of strings.
2391
2392         Updated tests to match the new <grid-line> syntax.
2393
2394         * CMakeLists.txt:
2395         * GNUmakefile.list.am:
2396         * WebCore.xcodeproj/project.pbxproj: Added info of the new file for the CSSGridLineNamesValue class.
2397         * css/CSSComputedStyleDeclaration.cpp:
2398         (WebCore::addValuesForNamedGridLinesAtIndex): The named <grid-line> value is now a list.
2399         * css/CSSGrammar.y.in: New syntax for named <grid-line>.
2400         * css/CSSGridLineNamesValue.cpp: Added.
2401         (WebCore::CSSGridLineNamesValue::customCSSText): String representation of the named <grid-line> as a list of Strings.
2402         (WebCore::CSSGridLineNamesValue::CSSGridLineNamesValue): Constructor.
2403         (WebCore::CSSGridLineNamesValue::cloneForCSSOM): Ref counted cloning function.
2404         * css/CSSGridLineNamesValue.h: Added.
2405         (WebCore::CSSGridLineNamesValue::create): Ref counted constructor.
2406         * css/CSSParser.cpp:
2407         (WebCore::CSSParser::parseGridLineNames): It replaces the old parseGrdTrackNames.
2408         (WebCore::CSSParser::parseGridTrackList): Using the new named <grid-line> syntax.
2409         (WebCore::CSSParser::parseGridTrackRepeatFunction): Using the new named <grid-line> syntax.
2410         * css/CSSParser.h:
2411         * css/CSSParserValues.cpp:
2412         (WebCore::destroy): Handling the case of CSSValue being CSSValueList intances.
2413         (WebCore::CSSParserValue::createCSSValue): Handling the case of CSSValue being CSSValueList intances.
2414         * css/CSSParserValues.h:
2415         (WebCore::CSSParserValue::setFromValueList): Adds the named <grid-line> list to the CSSParserValueList instance.
2416         * css/CSSValue.cpp:
2417         (WebCore::CSSValue::equals): Handling the case of the new CSSGridLineNamesValue class.
2418         (WebCore::CSSValue::cssText): Handling the case of the new CSSGridLineNamesValue class.
2419         (WebCore::CSSValue::destroy): Handling the case of the new CSSGridLineNamesValue class.
2420         * css/CSSValue.h:
2421         (WebCore::CSSValue::isGridLineNamesValue): Type cast check for the new CSSGridLineNamesValue class.
2422         * css/StyleResolver.cpp:
2423         (WebCore::createGridTrackList): Using the new named <grid-line> syntax.
2424
2425 2014-03-23  Sam Weinig  <sam@webkit.org>
2426
2427         Convert WebHTMLConverter to C++
2428         https://bugs.webkit.org/show_bug.cgi?id=130655
2429
2430         Reviewed by Andreas Kling.
2431
2432         - Mechanically converts the Objective-C class WebHTMLConverter, to the C++ HTMLConverter (lots of cleanup to follow).
2433         - Removes unused members
2434             - _standardFontFamily (never assigned to)
2435             - _textSizeMultiplier (always exactly 1)
2436             - _webViewTextSizeMultiplier (always exactly 0)
2437             - _defaultFontSize (always exactly 12, changed to be constant)
2438             - _minimumFontSize (always exactly 1, changed to be constant)
2439             - _colorsForNodes (never assigned to)
2440             - _indexingLimit (always exactly 0)
2441             - _thumbnailLimit (always exactly 0)
2442             - _flags.isIndexing (always false)
2443             - _flags.isTesting (always false)
2444
2445         * editing/cocoa/HTMLConverter.mm:
2446         (HTMLConverter::convert):
2447         (HTMLConverter::HTMLConverter):
2448         (HTMLConverter::~HTMLConverter):
2449         (defaultParagraphStyle):
2450         (_childrenForNode):
2451         (HTMLConverter::_stringForNode):
2452         (HTMLConverter::_getFloat):
2453         (_webKitBundle):
2454         (HTMLConverter::_elementIsBlockLevel):
2455         (HTMLConverter::_elementHasOwnBackgroundColor):
2456         (HTMLConverter::_blockLevelElementForNode):
2457         (HTMLConverter::_colorForNode):
2458         (HTMLConverter::_computedAttributesForElement):
2459         (HTMLConverter::_attributesForElement):
2460         (HTMLConverter::_newParagraphForElement):
2461         (HTMLConverter::_newLineForElement):
2462         (HTMLConverter::_newTabForElement):
2463         (_WebMessageDocumentClass):
2464         (HTMLConverter::_addAttachmentForElement):
2465         (HTMLConverter::_addQuoteForElement):
2466         (HTMLConverter::_addValue):
2467         (HTMLConverter::_fillInBlock):
2468         (HTMLConverter::_processMetaElementWithName):
2469         (HTMLConverter::_processHeadElement):
2470         (HTMLConverter::_enterElement):
2471         (HTMLConverter::_addTableForElement):
2472         (HTMLConverter::_addTableCellForElement):
2473         (HTMLConverter::_processElement):
2474         (HTMLConverter::_addMarkersToList):
2475         (HTMLConverter::_exitElement):
2476         (HTMLConverter::_processText):
2477         (HTMLConverter::_traverseNode):
2478         (HTMLConverter::_traverseFooterNode):
2479         (HTMLConverter::_adjustTrailingNewline):
2480         (HTMLConverter::_loadFromDOMRange):
2481         (fileWrapperForURL):
2482         (fileWrapperForElement):
2483         (WebCore::attributedStringFromRange):
2484         (WebCore::editingAttributedStringFromRange):
2485
2486 2014-03-23  Jinwoo Song  <jinwoo7.song@samsung.com>
2487
2488         Remove Dead Stores from editing directory
2489         https://bugs.webkit.org/show_bug.cgi?id=130634
2490
2491         Reviewed by Darin Adler.
2492
2493         Remove Dead Stores from editing directory which assigning a value to a variable
2494         and never reading that value.
2495
2496         * editing/ApplyStyleCommand.cpp:
2497         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
2498         * editing/markup.cpp:
2499         (WebCore::createMarkupInternal):
2500
2501 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
2502
2503         Move all EFL typedefs into EflTypedefs.h.
2504         https://bugs.webkit.org/show_bug.cgi?id=130511
2505
2506         Reviewed by Gyuyoung Kim.
2507
2508         * platform/FileSystem.h: Remove EFL typedefs.
2509         * platform/Widget.h: Ditto.
2510         * platform/efl/EflScreenUtilities.h: Ditto.
2511         * platform/graphics/Icon.h: Ditto.
2512         * platform/graphics/Image.h: Ditto.
2513         * platform/graphics/IntPoint.h: Ditto.
2514         * platform/graphics/IntRect.h: Ditto.
2515         * platform/network/NetworkStateNotifier.h: Ditto.
2516
2517 2014-03-23  Sam Weinig  <sam@webkit.org>
2518
2519         Move HTMLConverter from platform/mac to editing/cocoa.
2520
2521         Rubber-stamped by Darin Adler.
2522
2523         * WebCore.xcodeproj/project.pbxproj:
2524         * editing/cocoa: Added.
2525         * editing/cocoa/HTMLConverter.h: Copied from platform/mac/HTMLConverter.h.
2526         * editing/cocoa/HTMLConverter.mm: Copied from platform/mac/HTMLConverter.mm.
2527         * platform/mac/HTMLConverter.h: Removed.
2528         * platform/mac/HTMLConverter.mm: Removed.
2529
2530 2014-03-23  Sam Weinig  <sam@webkit.org>
2531
2532         Simplify the HTMLConverter interface (Part 2)
2533         https://bugs.webkit.org/show_bug.cgi?id=130654
2534
2535         Reviewed by Darin Adler.
2536
2537         Switch HTMLConverter from using an Objective-C interface to C functions.
2538
2539         * WebCore.exp.in:
2540         * editing/ios/EditorIOS.mm:
2541         (WebCore::Editor::writeSelectionToPasteboard):
2542         * editing/mac/EditorMac.mm:
2543         (WebCore::Editor::dataSelectionForPasteboard):
2544         (WebCore::Editor::writeSelectionToPasteboard):
2545         * platform/ios/PasteboardIOS.mm:
2546         * platform/mac/HTMLConverter.h:
2547         * platform/mac/HTMLConverter.mm:
2548         (WebCore::attributedStringFromRange):
2549         (WebCore::editingAttributedStringFromRange):
2550         * platform/mac/PasteboardMac.mm:
2551
2552 2014-03-23  Darin Adler  <darin@apple.com>
2553
2554         Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
2555         https://bugs.webkit.org/show_bug.cgi?id=130653
2556
2557         Reviewed by Antti Koivisto.
2558
2559         * dom/ContainerNode.cpp: Moved the post-attach callback code from here to
2560         StyleResolveTree.h/cpp.
2561         * dom/ContainerNode.h: Ditto.
2562
2563         * dom/Document.cpp:
2564         (WebCore::Document::recalcStyle): Use Style::PostResolutionCallbackDisabler instead of
2565         PostAttachCallbackDisabler.
2566
2567         * dom/Element.h: Moved the post-attach callback code from here to StyleResolveTree.h/cpp.
2568
2569         * html/HTMLEmbedElement.cpp:
2570         (WebCore::HTMLEmbedElement::parseAttribute): Simplified the code for typeAttr, turning
2571         it into a 1-liner. Added a FIXME in codeAttr about the fact that it does not have the
2572         code to trigger image loads. Changed srcAttr to call updateImageLoaderWithNewURLSoon to
2573         do the image loading logic.
2574
2575         * html/HTMLFormControlElement.cpp:
2576         (WebCore::HTMLFormControlElement::didAttachRenderers): Updated to use
2577         Style::queuePostResolutionCallback and use a lambda instead of a function.
2578         (WebCore::HTMLFormControlElement::didRecalcStyle): Ditto. Also added RefPtr instead
2579         of just using wishful thinking to keep the object alive.
2580         * html/HTMLFrameOwnerElement.cpp:
2581         (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc): Ditto.
2582
2583         * html/HTMLObjectElement.cpp:
2584         (WebCore::HTMLObjectElement::parseAttribute):: Simplified the code for typeAttr, turning
2585         it into a 1-liner. Changed dataAttr to use updateImageLoaderWithNewURLSoon(). Also made
2586         it call setNeedsWidgetUpdate(true) unconditionally after checking carefully to see that's
2587         harmless if there is no renderer. Changed classidAttr to call setNeedsWidgetUpdate(true)
2588         unconditionally and not set m_classId.
2589         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use fastGetAttribute
2590         instead of classId and descendantsOfType instead of getElementsByTagName.
2591         (WebCore::HTMLObjectElement::hasValidClassId): Use fastGetAttribute instead of classId.
2592         (WebCore::HTMLObjectElement::renderFallbackContent): Use imageLoader instead of m_imageLoader.
2593
2594         * html/HTMLObjectElement.h: Removed classId, since there is no reason to cache that
2595         attribute in a data member. Rearranged header, making more private, and fixing some typos,
2596         and doing a "using" instead of a function to disambiguate the inherited form functions.
2597
2598         * html/HTMLPlugInImageElement.cpp:
2599         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize m_needsImageReload.
2600         (WebCore::HTMLPlugInImageElement::createElementRenderer): Fixed some code that assumed the
2601         first child of the shadow root is guaranteed to be an element.
2602         (WebCore::HTMLPlugInImageElement::didRecalcStyle): Added. Calls the new
2603         scheduleUpdateForAfterStyleResolution function.
2604         (WebCore::HTMLPlugInImageElement::didAttachRenderers): Moved all the logic from this
2605         function into scheduleUpdateForAfterStyleResolution. Also added a call through to the base
2606         class; cleaner even though it's just an assertion.
2607         (WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Added.
2608         Schedules a call to updateAfterStyleResolution when needed.
2609         (WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Added.
2610         Combines updateWidgetIfNecessary and startLoadingImage, and also deals with the new
2611         m_needsImageReload boolean in cases where no actual loading is done.
2612         (WebCore::HTMLPlugInImageElement::removedFrom): Added. Do not delay the load event of
2613         document once this element is removed, clears m_needsImageReload.
2614         (WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Removed null check on oldDocument,
2615         since m_needsDocumentActivationCallbacks can't be true if the old document was null.
2616         (WebCore::is100Percent): Added helper to make function below more readable.
2617         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Restructured the code a
2618         bit. The part that attracted my attention was the local variable of type RenderBox, which
2619         was named renderEmbeddedObject. Turns out the caller guarantees to only call this if there
2620         is a renderer of type RenderEmbeddedObject, so depend on that.
2621         (WebCore::HTMLPlugInImageElement::setNeedsImageReload): Added. When called with true, sets
2622         the flag and triggers a style recalculation, and lets updateAfterStyleResolution do the rest.
2623         When called with false, reverses the effects and stops delaying the load event.
2624
2625         * html/HTMLPlugInImageElement.h: Trimmed includes a bit. Made more members private.
2626         Marked more function members final. Made a protected imageLoader function so that
2627         m_imageLoader can be private. Added new protected function updateImageLoaderWithNewURLSoon,
2628         as well as other new private functions. Made m_imageLoader be std::unique_ptr instead of
2629         OwnPtr, and added m_needsImageReload.
2630
2631         * style/StyleResolveTree.cpp:
2632         (WebCore::Style::needsPseudoElement): Fixed spelling error in the name of this function.
2633         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Updated for name change.
2634         (WebCore::Style::attachRenderTree): Update for new name of PostResolutionCallbackDisabler.
2635         (WebCore::Style::updateBeforeOrAfterPseudoElement): Updated for name change.
2636         (WebCore::Style::postResolutionCallbackQueue): Added.
2637         (WebCore::Style::queuePostResolutionCallback): Added.
2638         (WebCore::Style::suspendMemoryCacheClientCalls): Added. This is a side effect of the original
2639         PostAttachCallbackDisabler that is now done in a cleaner way, using the callback queue, instead
2640         of as a special case. It should not work for multiple documents across multiple pages instead of
2641         only the outermost one.
2642         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Added.
2643         Calls suspendMemoryCacheClientCalls, but a FIXME tries to point out why that isn't so great.
2644         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Added.
2645         (WebCore::Style::postResolutionCallbacksAreSuspended): Added.
2646
2647         * style/StyleResolveTree.h: Added queuePostResolutionCallback and
2648         postResolutionCallbacksAreSuspended. Also added PostResolutionCallbackDisabler, which should
2649         eventually become a private implementation detail.
2650
2651 2014-03-23  Sam Weinig  <sam@webkit.org>
2652
2653         Simplify the HTMLConverter interface (Part 1)
2654         https://bugs.webkit.org/show_bug.cgi?id=130654
2655
2656         Reviewed by Dan Bernstein.
2657
2658         Convert WebHTMLConverter's interface to only use class methods as the first
2659         step of simplifying the interface. 
2660
2661         * editing/ios/EditorIOS.mm:
2662         (WebCore::attributedStringForRange):
2663         * editing/mac/EditorMac.mm:
2664         (WebCore::attributedStringForRange):
2665         * platform/mac/HTMLConverter.h:
2666         * platform/mac/HTMLConverter.mm:
2667         (+[WebHTMLConverter attributedStringFromRange:]):
2668
2669 2014-03-23  James Craig  <jcraig@apple.com>
2670
2671         Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
2672         https://bugs.webkit.org/show_bug.cgi?id=130635
2673
2674         Reviewed by Timothy Hatcher.
2675
2676         Support for @aria-owns, @aria-controls, and @aria-flowto.
2677
2678         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2679
2680         * inspector/InspectorDOMAgent.cpp:
2681         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2682         * inspector/protocol/DOM.json:
2683
2684 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
2685
2686         Clean up #includes by geometry classes
2687         https://bugs.webkit.org/show_bug.cgi?id=130645
2688
2689         Reviewed by Andreas Kling.
2690
2691         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
2692         classes brings in a lot of additional headers. Fix by adding a new
2693         GeometryUtilities file so that the basic files don't need Vector,
2694         and including GeometryUtilities.h where necessary.
2695         
2696         Also forward declare PrintStream.h and only bring in the header
2697         in implementation files.
2698
2699         * CMakeLists.txt:
2700         * GNUmakefile.list.am:
2701         * WebCore.vcxproj/WebCore.vcxproj:
2702         * WebCore.vcxproj/WebCore.vcxproj.filters:
2703         * WebCore.xcodeproj/project.pbxproj:
2704         * css/CSSToStyleMap.h:
2705         * html/HTMLCanvasElement.cpp:
2706         * platform/cairo/WidgetBackingStoreCairo.h:
2707         * platform/graphics/FloatPoint.cpp:
2708         * platform/graphics/FloatPoint.h:
2709         * platform/graphics/FloatRect.cpp:
2710         * platform/graphics/FloatRect.h:
2711         * platform/graphics/FloatSize.cpp:
2712         * platform/graphics/FloatSize.h:
2713         * platform/graphics/GeometryUtilities.cpp: Added.
2714         (WebCore::findSlope):
2715         (WebCore::findIntersection):
2716         (WebCore::unionRect):
2717         (WebCore::mapRect):
2718         * platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
2719         * platform/graphics/IntPoint.h:
2720         * platform/graphics/IntRect.cpp:
2721         * platform/graphics/IntRect.h:
2722         * platform/graphics/IntSize.h:
2723         * platform/graphics/TextTrackRepresentation.h:
2724         * platform/graphics/Tile.h:
2725         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
2726         * platform/gtk/WidgetBackingStoreGtkX11.h:
2727         * rendering/RenderBoxModelObject.cpp:
2728         * rendering/RenderImage.cpp:
2729         * rendering/RenderObject.cpp:
2730
2731 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
2732
2733         Clean up #includes by geometry classes
2734         https://bugs.webkit.org/show_bug.cgi?id=130645
2735
2736         Reviewed by Andreas Kling.
2737
2738         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
2739         classes brings in a lot of additional headers. Fix by adding a new
2740         GeometryUtilities file so that the basic files don't need Vector,
2741         and including GeometryUtilities.h where necessary.
2742         
2743         Also forward declare PrintStream.h and only bring in the header
2744         in implementation files.
2745
2746         * CMakeLists.txt:
2747         * GNUmakefile.list.am:
2748         * WebCore.vcxproj/WebCore.vcxproj:
2749         * WebCore.vcxproj/WebCore.vcxproj.filters:
2750         * WebCore.xcodeproj/project.pbxproj:
2751         * css/CSSToStyleMap.h:
2752         * html/HTMLCanvasElement.cpp:
2753         * platform/cairo/WidgetBackingStoreCairo.h:
2754         * platform/graphics/FloatPoint.cpp:
2755         * platform/graphics/FloatPoint.h:
2756         * platform/graphics/FloatRect.cpp:
2757         * platform/graphics/FloatRect.h:
2758         * platform/graphics/FloatSize.cpp:
2759         * platform/graphics/FloatSize.h:
2760         * platform/graphics/GeometryUtilities.cpp: Added.
2761         (WebCore::findSlope):
2762         (WebCore::findIntersection):
2763         (WebCore::unionRect):
2764         (WebCore::mapRect):
2765         * platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
2766         * platform/graphics/IntPoint.h:
2767         * platform/graphics/IntRect.cpp:
2768         * platform/graphics/IntRect.h:
2769         * platform/graphics/IntSize.h:
2770         * platform/graphics/TextTrackRepresentation.h:
2771         * platform/graphics/Tile.h:
2772         * platform/gtk/WidgetBackingStoreGtkX11.h:
2773         * rendering/RenderBoxModelObject.cpp:
2774         * rendering/RenderImage.cpp:
2775         * rendering/RenderObject.cpp:
2776
2777 2014-03-22  Chang Shu  <cshu@webkit.org>
2778
2779         Replace deprecatedIsCollapsibleWhitespace with RenderStyle::isCollapsibleWhiteSpace in TextIterator.
2780         https://bugs.webkit.org/show_bug.cgi?id=130612.
2781
2782         Reviewed by Darin Adler.
2783
2784         Some layout tests are affected by this change but the new behavior should be correct.
2785
2786         * editing/TextIterator.cpp:
2787         (WebCore::TextIterator::handleTextNode):
2788         (WebCore::TextIterator::handleTextBox):
2789
2790 2014-03-22  Sam Weinig  <sam@webkit.org>
2791
2792         Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
2793         https://bugs.webkit.org/show_bug.cgi?id=130639
2794
2795         Reviewed by Darin Adler.
2796
2797         This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
2798
2799         - Removes gratuitous lookup of CSS properties that are known at compile time.
2800         - Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) 
2801           that will alway yield the same results.
2802         - Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
2803           but instead used the non-existent font-effect.
2804
2805         * platform/mac/HTMLConverter.mm:
2806         (HTMLConverterCaches::computedStylePropertyForElement):
2807         (HTMLConverterCaches::inlineStylePropertyForElement):
2808         (HTMLConverterCaches::propertyValueForNode):
2809         (-[WebHTMLConverter _stringForNode:property:]):
2810         (HTMLConverterCaches::floatPropertyValueForNode):
2811         (-[WebHTMLConverter _getFloat:forNode:property:]):
2812         (HTMLConverterCaches::isBlockElement):
2813         (HTMLConverterCaches::elementHasOwnBackgroundColor):
2814         (HTMLConverterCaches::colorPropertyValueForNode):
2815         (-[WebHTMLConverter _colorForNode:property:]):
2816         (-[WebHTMLConverter _computedAttributesForElement:]):
2817         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2818         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
2819         (-[WebHTMLConverter _addTableForElement:]):
2820         (-[WebHTMLConverter _addTableCellForElement:]):
2821         (-[WebHTMLConverter _processElement:tag:display:depth:]):
2822         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
2823         (-[WebHTMLConverter _processText:]):
2824         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
2825
2826 2014-03-22  Andreas Kling  <akling@apple.com>
2827
2828         Fix debug build.
2829
2830         * bindings/js/JSDOMBinding.h:
2831         (WebCore::createWrapper):
2832
2833 2014-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2834
2835         Add *final* keyword to NavigatorContentUtils class
2836         https://bugs.webkit.org/show_bug.cgi?id=130636
2837
2838         Reviewed by Darin Adler.
2839
2840         NavigatorContentUtils won't be used as a base class. So, added final keyword.
2841
2842         No new tests, no behavior changes.
2843
2844         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
2845
2846 2014-03-22  Andreas Kling  <akling@apple.com>
2847
2848         CREATE_DOM_WRAPPER doesn't need the ExecState.
2849         <https://webkit.org/b/130648>
2850
2851         Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
2852         that we need from the global object instead.
2853
2854         toJS() and toJSNewlyCreated() still take an ExecState, that needs
2855         to be dealt with separately since some of them have scary looking
2856         currentWorld() checks.
2857
2858         Reviewed by Darin Adler.
2859
2860         * bindings/js/JSAudioContextCustom.cpp:
2861         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2862         * bindings/js/JSBlobCustom.cpp:
2863         (WebCore::toJS):
2864         (WebCore::JSBlobConstructor::constructJSBlob):
2865         * bindings/js/JSCDATASectionCustom.cpp:
2866         (WebCore::toJSNewlyCreated):
2867         * bindings/js/JSCSSRuleCustom.cpp:
2868         (WebCore::toJS):
2869         * bindings/js/JSCSSValueCustom.cpp:
2870         (WebCore::toJS):
2871         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2872         (WebCore::toJS):
2873         * bindings/js/JSDOMBinding.h:
2874         (WebCore::createWrapper):
2875         (WebCore::wrap):
2876         (WebCore::createNewWrapper):
2877         * bindings/js/JSDocumentCustom.cpp:
2878         (WebCore::toJS):
2879         * bindings/js/JSElementCustom.cpp:
2880         (WebCore::toJSNewlyCreated):
2881         * bindings/js/JSEventCustom.cpp:
2882         (WebCore::toJS):
2883         * bindings/js/JSHTMLCollectionCustom.cpp:
2884         (WebCore::toJS):
2885         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2886         (WebCore::JSHTMLTemplateElement::content):
2887         * bindings/js/JSIDBAnyCustom.cpp:
2888         (WebCore::toJS):
2889         * bindings/js/JSImageDataCustom.cpp:
2890         (WebCore::toJS):
2891         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
2892         (WebCore::toJS):
2893         * bindings/js/JSNodeCustom.cpp:
2894         (WebCore::createWrapperInline):
2895         * bindings/js/JSPerformanceEntryCustom.cpp:
2896         (WebCore::toJS):
2897         * bindings/js/JSRTCIceCandidateCustom.cpp:
2898         (WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
2899         * bindings/js/JSRTCPeerConnectionCustom.cpp:
2900         (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
2901         * bindings/js/JSRTCSessionDescriptionCustom.cpp:
2902         (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
2903         * bindings/js/JSSVGPathSegCustom.cpp:
2904         (WebCore::toJS):
2905         * bindings/js/JSStyleSheetCustom.cpp:
2906         (WebCore::toJS):
2907         * bindings/js/JSTextCustom.cpp:
2908         (WebCore::toJSNewlyCreated):
2909         * bindings/js/JSTextTrackCueCustom.cpp:
2910         (WebCore::toJS):
2911         * bindings/js/JSTouchCustom.cpp:
2912         (WebCore::toJSNewlyCreated):
2913         * bindings/js/JSTouchListCustom.cpp:
2914         (WebCore::toJSNewlyCreated):
2915         * bindings/js/JSTrackCustom.cpp:
2916         (WebCore::toJS):
2917         * bindings/scripts/CodeGeneratorJS.pm:
2918         (GenerateImplementation):
2919         * dom/make_names.pl:
2920         (printWrapperFunctions):
2921         (printWrapperFactoryCppFile):
2922         (printWrapperFactoryHeaderFile):
2923
2924 2014-03-22  Michael Saboff  <msaboff@apple.com>
2925
2926         toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
2927         https://bugs.webkit.org/show_bug.cgi?id=130554
2928
2929         Reviewed by Geoffrey Garen.
2930
2931         Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
2932         Added cast from JSProxy->target() if the jsCast<>() to the native object fails
2933         in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
2934         The original cast is needed for access to the local side of the worker, while the JSProxy
2935         cast is used on the remote side of a worker.
2936
2937         Test: fast/workers/worker-strict.html
2938
2939         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2940         (WebCore::toJSDedicatedWorkerGlobalScope):
2941         (WebCore::toJSSharedWorkerGlobalScope):
2942
2943         * bindings/js/WorkerScriptController.cpp:
2944         (WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
2945         the WorkerGlobalScope object as the this object to script evaluation.
2946
2947         * workers/DedicatedWorkerGlobalScope.idl:
2948         * workers/SharedWorkerGlobalScope.idl:
2949         * workers/WorkerGlobalScope.idl:
2950         Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
2951         getting the object to use for global evaluation.
2952
2953 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
2954
2955         Some #include hygiene in Node/Element etc
2956         https://bugs.webkit.org/show_bug.cgi?id=130642
2957
2958         Reviewed by Geoffrey Garen.
2959
2960         Clean up various #includes.
2961
2962         * accessibility/AccessibilityObject.h:
2963         * bindings/js/WebCoreTypedArrayController.h:
2964         * dom/Element.h:
2965         * dom/EventListenerMap.h:
2966         * dom/EventTarget.h:
2967         * dom/Node.h:
2968         * rendering/RenderObject.h:
2969         * rendering/svg/RenderSVGRoot.h:
2970
2971 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
2972
2973         FloatRect.h on iOS should not suck in a system header
2974         https://bugs.webkit.org/show_bug.cgi?id=130641
2975
2976         Reviewed by Geoff Garen.
2977
2978         Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.
2979
2980         * platform/graphics/FloatRect.h:
2981
2982 2014-03-22  Dan Bernstein  <mitz@apple.com>
2983
2984         Fixed the iOS build.
2985
2986         Reviewed by Darin Adler.
2987
2988         * page/ios/FrameIOS.mm:
2989         (WebCore::Frame::interpretationsForCurrentRoot):
2990
2991 2014-03-22  Darin Adler  <darin@apple.com>
2992
2993         Remove String::deprecatedCharacters
2994         https://bugs.webkit.org/show_bug.cgi?id=126854
2995
2996         Reviewed by Sam Weinig.
2997
2998         * bindings/scripts/StaticString.pm:
2999         (GenerateStrings): Remove the code to generate the null m_copyData16 pointer.
3000
3001         * editing/TextIterator.cpp:
3002         (WebCore::SearchBuffer::prependContext): Changed to use the new append function in
3003         StringView.h and removed the one defined locally here.
3004
3005         * editing/VisibleUnits.cpp:
3006         (WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
3007         in StringView.h instead of using deprecatedCharacters.
3008         (WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
3009         Removed an append function defined locally here and use the one in StringView.h.
3010
3011         * editing/htmlediting.cpp:
3012         (WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.
3013
3014         * html/parser/HTMLToken.h:
3015         (WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
3016         of a const String&.
3017
3018         * loader/appcache/ManifestParser.cpp:
3019         (WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.
3020
3021         * page/EventSource.cpp:
3022         (WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
3023         Also added a comment about incorrect use of the decode function.
3024
3025         * page/ios/FrameIOS.mm:
3026         (WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
3027         Also use simpler new-style for loops.
3028
3029         * platform/LinkHash.cpp:
3030         (WebCore::visitedURLInline): Use the new append function and StringView::substring.
3031         (WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.
3032
3033         * platform/URL.cpp:
3034         (WebCore::findFirstOf): Chagned to take a StringView.
3035         (WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
3036         the future if it's needed elsewhere.
3037         (WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
3038         or consider replacing the one that takes const String& with just this one.
3039         (WebCore::appendEncodedHostname): Changed to take a StringView and use
3040         StringView::upconvertedCharacters.
3041         (WebCore::findHostnamesInMailToURL): Changed to take a StringView.
3042         (WebCore::findHostnameInHierarchicalURL): Ditto.
3043         (WebCore::encodeHostnames): Ditto.
3044         (WebCore::encodeRelativeString): Ditto.
3045
3046         * platform/graphics/StringTruncator.cpp:
3047         (WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.
3048
3049         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3050         (WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
3051         of on a UChar*.
3052         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.
3053
3054         * platform/text/TextCodecICU.cpp:
3055         (WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
3056         replace the backslashes with yen signs. Also optimize case where there are no backslashes.
3057
3058         * rendering/RenderListMarker.cpp:
3059         (WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).
3060
3061         * rendering/RenderText.cpp:
3062         (WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
3063         calling StringBuilder::deprecatedCharacters.
3064
3065         * rendering/RenderText.h: Removed deprecatedCharacters function.
3066
3067         * rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.
3068
3069         * rendering/svg/SVGInlineTextBox.cpp:
3070         (WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.
3071
3072         * rendering/svg/SVGTextMetrics.cpp:
3073         (WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
3074         (WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
3075         take a character pointer any more. Instead, extract the text and use the StringView version of
3076         the TextRun constructor.
3077         (WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
3078         update for above changes.
3079         * rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.
3080
3081         * rendering/svg/SVGTextMetricsBuilder.cpp:
3082         (WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
3083         (WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
3084         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
3085         (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
3086         for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.
3087
3088         * rendering/svg/SVGTextQuery.cpp:
3089         (WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
3090         (WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
3091         (WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
3092         (WebCore::calculateGlyphBoundaries): Ditto.
3093
3094         * xml/XPathFunctions.cpp:
3095         (WebCore::XPath::atomicSubstring): Added.
3096         (WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
3097         Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
3098         That function also uses characters8/16 rather than depreccatedCharacters.
3099
3100         * xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.
3101
3102         * xml/parser/XMLDocumentParserLibxml2.cpp:
3103         (WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
3104         (WebCore::parseAttributes): Ditto.
3105
3106 2014-03-22  Commit Queue  <commit-queue@webkit.org>
3107
3108         Unreviewed, rolling out r166118.
3109         https://bugs.webkit.org/show_bug.cgi?id=130640
3110
3111         Crashing things (Requested by weinig on #webkit).
3112
3113         Reverted changeset:
3114
3115         "Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
3116         properties"
3117         https://bugs.webkit.org/show_bug.cgi?id=130639
3118         http://trac.webkit.org/changeset/166118
3119
3120 2014-03-22  Sam Weinig  <sam@webkit.org>
3121
3122         Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
3123         https://bugs.webkit.org/show_bug.cgi?id=130639
3124
3125         Reviewed by Simon Fraser.
3126
3127         This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
3128
3129         - Removes gratuitous lookup of CSS properties that are known at compile time.
3130         - Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) 
3131           that will alway yield the same results.
3132         - Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
3133           but instead used the non-existent font-effect.
3134
3135         * platform/mac/HTMLConverter.mm:
3136         (HTMLConverterCaches::computedStylePropertyForElement):
3137         (HTMLConverterCaches::inlineStylePropertyForElement):
3138         (HTMLConverterCaches::propertyValueForNode):
3139         (-[WebHTMLConverter _stringForNode:property:]):
3140         (HTMLConverterCaches::floatPropertyValueForNode):
3141         (-[WebHTMLConverter _getFloat:forNode:property:]):
3142         (HTMLConverterCaches::isBlockElement):
3143         (HTMLConverterCaches::elementHasOwnBackgroundColor):
3144         (HTMLConverterCaches::colorPropertyValueForNode):
3145         (-[WebHTMLConverter _colorForNode:property:]):
3146         (-[WebHTMLConverter _computedAttributesForElement:]):
3147         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
3148         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
3149         (-[WebHTMLConverter _addTableForElement:]):
3150         (-[WebHTMLConverter _addTableCellForElement:]):
3151         (-[WebHTMLConverter _processElement:tag:display:depth:]):
3152         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
3153         (-[WebHTMLConverter _processText:]):
3154         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
3155
3156 2014-03-21  Simon Fraser  <simon.fraser@apple.com>
3157
3158         Don't flush compositing layers within FrameView::willPaintContents()
3159         https://bugs.webkit.org/show_bug.cgi?id=130627
3160         <rdar://problem/16368869>
3161
3162         Reviewed by Sam Weinig.
3163
3164         Remove the call to flushCompositingStateForThisFrame() here. We should
3165         have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
3166         Flushing during painting is actually harmful, since we could be inside
3167         a CA commit already, and creating or destroying layers via flushing is bad.
3168
3169         * page/FrameView.cpp:
3170         (WebCore::FrameView::willPaintContents):
3171
3172 2014-03-22  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
3173
3174         ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
3175         https://bugs.webkit.org/show_bug.cgi?id=127361
3176
3177         Huge numbers represented by the 'INF' value can not be used
3178         in CSS rules, so they make the assert fail. We have to make
3179         sure that the parsed property value is finite, otherwise
3180         the property will be dropped.
3181
3182         Test: fast/css/infinite-floating-value.html
3183
3184         * css/CSSValuePool.cpp:
3185         (WebCore::CSSValuePool::createValue):
3186
3187 2014-03-21  Zalan Bujtas  <zalan@apple.com>
3188
3189         Remove redundant friending from class Image.
3190         https://bugs.webkit.org/show_bug.cgi?id=130628
3191
3192         Reviewed by Simon Fraser.
3193
3194         Those friend classes are subclasses. No need to make them friend of their parent class.
3195
3196         No change in functionality.
3197
3198         * platform/graphics/Image.h:
3199
3200 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
3201
3202         [iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
3203         https://bugs.webkit.org/show_bug.cgi?id=130555
3204
3205         Reviewed by Simon Fraser.
3206
3207         * WebCore.exp.in:
3208         * platform/ScrollView.h:
3209         * platform/graphics/ca/mac/TileController.mm:
3210         (WebCore::TileController::computeTileCoverageRect):
3211         * platform/ios/ScrollViewIOS.mm:
3212         (WebCore::ScrollView::setScrollVelocityInformation):
3213         (WebCore::ScrollView::computeCoverageRect):
3214         * rendering/RenderLayerCompositor.cpp:
3215         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3216
3217 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
3218
3219         [iOS] clean up fullscreen player controller when exiting fullscreen
3220         https://bugs.webkit.org/show_bug.cgi?id=130621
3221
3222         Reviewed by Jer Noble.
3223
3224         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3225         (-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
3226         (-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
3227         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate
3228             and player controller to nil.
3229
3230 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
3231
3232         [iOS] remote command callbacks must happen on the WebThread
3233         https://bugs.webkit.org/show_bug.cgi?id=130618
3234
3235         Reviewed by Jer Noble.
3236
3237         * platform/ios/RemoteCommandListenerIOS.h:
3238         (WebCore::RemoteCommandListenerIOS::createWeakPtr):
3239         * platform/ios/RemoteCommandListenerIOS.mm:
3240         (WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the
3241             main thread before making listener callbacks.
3242
3243 2014-03-21  Zalan Bujtas  <zalan@apple.com>
3244
3245         Subpixel rendering: Make <img> positioning subpixel aware.
3246         https://bugs.webkit.org/show_bug.cgi?id=130596
3247
3248         Reviewed by Simon Fraser.
3249
3250         Change <img> positioning from integral to device pixel. It enables us
3251         to paint hairline borders around <img> properly.
3252         This patch changes the behavior of broken image representation from constant 1 CSS px border
3253         to a dynamic 1 device px.
3254
3255         Test: fast/images/hidpi-image-position-on-device-pixels.html
3256
3257         * WebCore.exp.in:
3258         * platform/graphics/GraphicsContext.cpp:
3259         (WebCore::GraphicsContext::drawImage):
3260         * platform/graphics/GraphicsContext.h:
3261         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3262         (WebCore::GraphicsContext::drawRect):
3263         * platform/graphics/cg/GraphicsContextCG.cpp:
3264         (WebCore::GraphicsContext::drawRect):
3265         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3266         (WebCore::GraphicsContext::drawRect):
3267         * rendering/RenderImage.cpp:
3268         (WebCore::RenderImage::paintReplaced):
3269         (WebCore::RenderImage::paintIntoRect):
3270         * rendering/RenderImage.h:
3271         * rendering/RenderLayer.cpp:
3272         (WebCore::RenderLayer::drawPlatformResizerImage):
3273
3274 2014-03-21  Brent Fulgham  <bfulgham@apple.com>
3275
3276         Merge VTTScanner Code from Blink
3277         https://bugs.webkit.org/show_bug.cgi?id=130616
3278
3279         Reviewed by Eric Carlson.
3280
3281         Merged from Blink (patch by fs@opera.com):
3282         https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
3283         http://crbug.com/75273002
3284         https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
3285         http://crbug.com/134173002
3286         https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
3287         http://crbug.com/134153002
3288         https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
3289         http://crbug.com/137033002
3290         https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
3291         http://crbug.com/140503004
3292         https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
3293         http://crbug.com/139343006
3294         https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
3295         http://crbug.com/143983002
3296         https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
3297         http://crbug.com/144893002
3298  
3299         * CMakeLists.txt:
3300         * GNUmakefile.list.am:
3301         * WebCore.vcxproj/WebCore.vcxproj:
3302         * WebCore.vcxproj/WebCore.vcxproj.filters:
3303         * WebCore.xcodeproj/project.pbxproj:
3304         * html/track/ParsingUtilities.h: Added.
3305         (skipExactly):
3306         (skipUntil):
3307         (skipWhile):
3308         * html/track/VTTCue.cpp:
3309         (WebCore::VTTCue::markFutureAndPastNodes):
3310         (WebCore::VTTCue::settingName):
3311         (WebCore::scanPercentage):
3312         (WebCore::VTTCue::setCueSettings):
3313         * html/track/VTTCue.h:
3314         * html/track/VTTRegion.cpp:
3315         (WebCore::VTTRegion::setRegionSettings):
3316         (WebCore::VTTRegion::scanSettingName):
3317         (WebCore::parsedEntireRun):
3318         (WebCore::VTTRegion::parseSettingValue):
3319         * html/track/VTTRegion.h:
3320         * html/track/VTTScanner.cpp: Added.
3321         (WebCore::VTTScanner::VTTScanner):
3322         (WebCore::VTTScanner::scan):
3323         (WebCore::VTTScanner::scanRun):
3324         (WebCore::VTTScanner::skipRun):
3325         (WebCore::VTTScanner::extractString):
3326         (WebCore::VTTScanner::restOfInputAsString):
3327         (WebCore::VTTScanner::scanDigits):
3328         (WebCore::VTTScanner::scanFloat):
3329         * html/track/VTTScanner.h: Added.
3330         (WebCore::VTTScanner::Run::Run):
3331         (WebCore::VTTScanner::Run::start):
3332         (WebCore::VTTScanner::Run::end):
3333         (WebCore::VTTScanner::Run::isEmpty):
3334         (WebCore::VTTScanner::isAt):
3335         (WebCore::VTTScanner::isAtEnd):
3336         (WebCore::VTTScanner::match):
3337         (WebCore::VTTScanner::position):
3338         (WebCore::VTTScanner::end):
3339         (WebCore::VTTScanner::LCharPredicateAdapter):
3340         (WebCore::VTTScanner::Run::length):
3341         (WebCore::VTTScanner::scan):
3342         (WebCore::VTTScanner::skipWhile):
3343         (WebCore::VTTScanner::skipUntil):
3344         (WebCore::VTTScanner::collectWhile):
3345         (WebCore::VTTScanner::collectUntil):
3346         (WebCore::VTTScanner::seekTo):
3347         (WebCore::VTTScanner::currentChar):
3348         (WebCore::VTTScanner::advance):
3349         * html/track/WebVTTParser.cpp:
3350         (WebCore::WebVTTParser::parseFloatPercentageValue):
3351         (WebCore::WebVTTParser::parseFloatPercentageValuePair):
3352         (WebCore::WebVTTParser::collectTimingsAndSettings):
3353         (WebCore::WebVTTParser::collectTimeStamp):
3354         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
3355         * html/track/WebVTTParser.h:
3356
3357 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
3358
3359         Pseudo type cleanup part 2: split pseudo elements parsing
3360         https://bugs.webkit.org/show_bug.cgi?id=130370
3361
3362         Reviewed by Andreas Kling.
3363
3364         With this patch, pseudo elements are handled separately. The only thing left in
3365         the old path is compatibility pseudo elements and pseudo classes.
3366
3367         The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
3368         The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.
3369
3370         The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().
3371
3372         All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
3373         is updated accordingly. The next step will be to clean that part.
3374
3375         * CMakeLists.txt:
3376         * DerivedSources.make:
3377         * GNUmakefile.list.am:
3378         * WebCore.vcxproj/WebCore.vcxproj:
3379         * WebCore.vcxproj/WebCore.vcxproj.filters:
3380         * WebCore.xcodeproj/project.pbxproj:
3381         * css/CSSComputedStyleDeclaration.cpp:
3382         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
3383         * css/CSSGrammar.y.in:
3384         * css/CSSParserValues.cpp:
3385         (WebCore::CSSParserSelector::parsePseudoElementSelector):
3386         (WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
3387         (WebCore::CSSParserSelector::setPseudoTypeValue):
3388         * css/CSSParserValues.h:
3389         * css/CSSSelector.cpp:
3390         (WebCore::CSSSelector::parsePseudoElementType):
3391         * css/CSSSelector.h:
3392         * css/SelectorPseudoElementTypeMap.in: Added.
3393         * css/SelectorPseudoTypeMap.h:
3394         * css/SelectorPseudoTypeMap.in:
3395         * css/html.css:
3396         (q::before):
3397         (q::after):
3398         * css/makeSelectorPseudoElementsMap.py: Added.
3399         (enumerablePseudoType):
3400         (expand_ifdef_condition):
3401         * page/DOMWindow.cpp:
3402         (WebCore::DOMWindow::getMatchedCSSRules):
3403
3404 2014-03-20  Andreas Kling  <akling@apple.com>
3405
3406         Less inclusion of JSCInlines.h.
3407         <https://webkit.org/b/130545>
3408
3409         Stop including JSCInlines.h from JSDOMGlobalObject.h!
3410
3411         Reviewed by Simon Fraser.
3412
3413         * ForwardingHeaders/runtime/IdentifierInlines.h: Added.
3414         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3415         * bindings/js/JSCommandLineAPIHostCustom.cpp:
3416         * bindings/js/JSDOMGlobalObject.h:
3417         * bindings/js/JSDOMStringMapCustom.cpp:
3418         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3419         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3420         * bindings/js/JSLazyEventListener.cpp:
3421         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3422         * bindings/js/JSStorageCustom.cpp:
3423         * bindings/js/ScriptGlobalObject.cpp:
3424         * dom/NodeIterator.cpp:
3425         * dom/TreeWalker.cpp:
3426         * testing/Internals.cpp:
3427         * testing/js/WebCoreTestSupport.cpp:
3428
3429 2014-03-21  Oliver Hunt  <oliver@apple.com>
3430
3431         Fix a crash when assigning an object to document.location
3432         https://bugs.webkit.org/show_bug.cgi?id=130213
3433
3434         Reviewed by Geoffrey Garen.
3435
3436         Convert location to string before we make use the document.
3437         This prevents us from attempting to navigate a frame that
3438         has already been removed.
3439
3440         Test: fast/dom/navigation-with-sideeffects-crash.html
3441
3442         * bindings/js/JSDocumentCustom.cpp:
3443         (WebCore::JSDocument::location):
3444         (WebCore::JSDocument::setLocation):
3445
3446 2014-03-21  Brian Burg  <bburg@apple.com>
3447
3448         Web Replay: replay controller is improperly setting user input bridge state
3449         https://bugs.webkit.org/show_bug.cgi?id=130606
3450
3451         Reviewed by Timothy Hatcher.
3452
3453         The user input bridge was being set based on the old session state,
3454         rather than the new session state.
3455
3456         * replay/ReplayController.cpp:
3457         (WebCore::ReplayController::setSessionState):
3458
3459 2014-03-21  James Craig  <jcraig@apple.com>
3460
3461         Web Inspector: AXI: Expose Accessibility Tree children of the selected node
3462         https://bugs.webkit.org/show_bug.cgi?id=130264
3463
3464         Reviewed by Timothy Hatcher.
3465
3466         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3467
3468         Expose the accessibility tree children (different from DOM children) of the
3469         current node in the accessibility node inspector.
3470
3471         * inspector/InspectorDOMAgent.cpp: