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