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