Remove unused ThreadSpecificInspectorCounters.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-25  Andreas Kling  <akling@apple.com>
2
3         Remove unused ThreadSpecificInspectorCounters.
4         <https://webkit.org/b/129337>
5
6         We were keeping count of all the JS event listeners in every thread
7         to support an old Chromium feature that's no longer relevant.
8
9         Removing this gets rid of expensive thread-local storage lookups.
10
11         Reviewed by Anders Carlsson.
12
13         * bindings/js/JSEventListener.cpp:
14         (WebCore::JSEventListener::JSEventListener):
15         (WebCore::JSEventListener::~JSEventListener):
16         * inspector/InspectorCounters.cpp:
17         * inspector/InspectorCounters.h:
18         * inspector/InspectorTimelineAgent.cpp:
19         (WebCore::InspectorTimelineAgent::setDOMCounters):
20         * inspector/protocol/Timeline.json:
21         * platform/ThreadGlobalData.cpp:
22         (WebCore::ThreadGlobalData::ThreadGlobalData):
23         (WebCore::ThreadGlobalData::destroy):
24         * platform/ThreadGlobalData.h:
25
26 2014-02-25  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
27
28         display:table with padding and/or borders in border-box calculates height incorrectly
29         https://bugs.webkit.org/show_bug.cgi?id=126576
30
31         Reviewed by David Hyatt.
32
33         Based on blink issue https://codereview.chromium.org/25206002/
34
35         Tests: fast/box-sizing/css-table-collapse.html
36                fast/box-sizing/css-table-no-collapse.html
37                fast/box-sizing/table-collapse.html
38                fast/box-sizing/table-no-collapse.html
39
40         * rendering/RenderBox.cpp:
41         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
42
43 2014-02-25  Anders Carlsson  <andersca@apple.com>
44
45         Get rid of VisitedLinkStrategy
46         https://bugs.webkit.org/show_bug.cgi?id=129324
47
48         Reviewed by Dan Bernstein.
49
50         * GNUmakefile.list.am:
51         * WebCore.vcxproj/WebCore.vcxproj:
52         * WebCore.vcxproj/WebCore.vcxproj.filters:
53         * WebCore.xcodeproj/project.pbxproj:
54         * platform/PlatformStrategies.h:
55         (WebCore::PlatformStrategies::PlatformStrategies):
56         * platform/VisitedLinkStrategy.h: Removed.
57
58 2014-02-25  Alexey Proskuryakov  <ap@apple.com>
59
60         Rolling out http://trac.webkit.org/changeset/164611, because it broke
61         WebKit2.PrivateBrowsingPushStateNoHistoryCallback API test
62
63         The change was for:
64
65         https://bugs.webkit.org/show_bug.cgi?id=129141
66         Create SessionID class
67
68 2014-02-25  Commit Queue  <commit-queue@webkit.org>
69
70         Unreviewed, rolling out r164627.
71         http://trac.webkit.org/changeset/164627
72         https://bugs.webkit.org/show_bug.cgi?id=129325
73
74         Broke SubtleCrypto tests (Requested by ap on #webkit).
75
76         * bindings/js/JSDOMBinding.cpp:
77         (WebCore::reportException):
78         * bindings/js/JSDOMWindowBase.cpp:
79         (WebCore::JSDOMWindowBase::commonVM):
80
81 2014-02-25  Anders Carlsson  <andersca@apple.com>
82
83         DefaultVisitedLinkProvider can just call into the page group directly
84         https://bugs.webkit.org/show_bug.cgi?id=129320
85
86         Reviewed by Andreas Kling.
87
88         * page/DefaultVisitedLinkProvider.cpp:
89         (WebCore::DefaultVisitedLinkProvider::isLinkVisited):
90         (WebCore::DefaultVisitedLinkProvider::addVisitedLink):
91
92 2014-02-25  Commit Queue  <commit-queue@webkit.org>
93
94         Unreviewed, rolling out r164638.
95         http://trac.webkit.org/changeset/164638
96         https://bugs.webkit.org/show_bug.cgi?id=129321
97
98         Broke Windows build. (Requested by bfulgham on #webkit).
99
100         * dom/ContainerNode.h:
101         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
102         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
103         * dom/Element.cpp:
104         (WebCore::ensureAttrNodeListForElement):
105         (WebCore::Element::attributes):
106         * dom/ElementIteratorAssertions.h:
107         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
108         * dom/ElementRareData.h:
109         (WebCore::ElementRareData::create):
110         (WebCore::ElementRareData::setAttributeMap):
111         * dom/MutationObserverRegistration.cpp:
112         (WebCore::MutationObserverRegistration::create):
113         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
114         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
115         (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
116         * dom/MutationObserverRegistration.h:
117         * dom/NamedNodeMap.h:
118         (WebCore::NamedNodeMap::create):
119         (WebCore::NamedNodeMap::NamedNodeMap):
120         * dom/Node.cpp:
121         (WebCore::Node::ensureRareData):
122         (WebCore::Node::didMoveToNewDocument):
123         (WebCore::Node::ensureEventTargetData):
124         (WebCore::Node::mutationObserverRegistry):
125         (WebCore::Node::registerMutationObserver):
126         (WebCore::Node::unregisterMutationObserver):
127         (WebCore::Node::notifyMutationObserversNodeWillDetach):
128         * dom/Node.h:
129         * dom/NodeRareData.h:
130         (WebCore::NodeListsNodeData::create):
131         (WebCore::NodeListsNodeData::NodeListsNodeData):
132         (WebCore::NodeMutationObserverData::create):
133         (WebCore::NodeMutationObserverData::NodeMutationObserverData):
134         (WebCore::NodeRareData::create):
135         (WebCore::NodeRareData::clearNodeLists):
136         (WebCore::NodeRareData::ensureNodeLists):
137         (WebCore::NodeRareData::ensureMutationObserverData):
138         (WebCore::NodeRareData::NodeRareData):
139         * dom/StyledElement.cpp:
140         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
141
142 2014-02-25  Eric Carlson  <eric.carlson@apple.com>
143
144         [iOS] Show status image when playing video to external device
145         https://bugs.webkit.org/show_bug.cgi?id=129277
146
147         Reviewed by Jer Noble.
148
149         * Modules/mediacontrols/mediaControlsApple.js:
150         (Controller.prototype.handleEvent): Restructure the code so it is possible to handle events
151             that target the video element which aren't in the HandledVideoEvents array.
152
153         * Modules/mediacontrols/mediaControlsiOS.js:
154         (ControllerIOS.prototype.currentPlaybackTargetIsWireless): webkitCurrentPlaybackTargetIsWireless
155             is an attribute, not a function.
156         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Fix style.
157         (ControllerIOS.prototype.updateWirelessTargetAvailable): Ditto.
158         (ControllerIOS.prototype.updateProgress): Ditto.
159         (ControllerIOS.prototype.handleWrapperTouchStart): Show the controls if the wireless status
160             display is touched.
161         (ControllerIOS.prototype.handleFullscreenButtonClicked): Fix style
162         (ControllerIOS.prototype.handleWirelessPlaybackChange): Ditto.
163         (ControllerIOS.prototype.handleWirelessTargetAvailableChange):
164         (ControllerIOS.prototype.handleWirelessPickerButtonClicked): Ditto. Stop even propagation.
165
166         Move "playback target" logic into HTMLMediaSession.
167         * html/HTMLMediaElement.cpp:
168         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call media session.
169         (WebCore::HTMLMediaElement::loadResource): Tell media session to apply media player
170             restrictions now that it has a url.
171         (WebCore::HTMLMediaElement::invalidateCachedTime): Only log when cached time is not 
172             already invalie.
173         (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Call media session.
174         (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Ditto.
175         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto.
176         (WebCore::HTMLMediaElement::addEventListener): Ditto.
177         (WebCore::HTMLMediaElement::removeEventListen): Ditto.
178         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto.
179         (WebCore::HTMLMediaElement::createMediaPlayer): Ditto.
180
181         * html/HTMLMediaSession.cpp:
182         (WebCore::restrictionName): Log new WirelessVideoPlaybackDisabled restriction.
183         (WebCore::HTMLMediaSession::showingPlaybackTargetPickerPermitted): Return false if there
184             is no page, or if wireless playback is disabled.
185         (WebCore::HTMLMediaSession::currentPlaybackTargetIsWireless): New, logic from HTMLMediaElement.
186         (WebCore::HTMLMediaSession::showPlaybackTargetPicker): Ditto.
187         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets): Ditto.
188         (WebCore::HTMLMediaSession::wirelessVideoPlaybackDisabled): Ditto.
189         (WebCore::HTMLMediaSession::setWirelessVideoPlaybackDisabled): Ditto.
190         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Ditto.
191         (WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): New, apply media player specific
192             restriction.
193         * html/HTMLMediaSession.h:
194
195         Move "playback target" logic into HTMLMediaSession.
196         * html/HTMLVideoElement.cpp:
197         (WebCore::HTMLVideoElement::parseAttribute): Call media session.
198         (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Call media session.
199
200         * platform/audio/MediaSessionManager.h:
201         (WebCore::MediaSessionManager::showPlaybackTargetPicker): New method, does nothing in base class.
202
203         * platform/audio/ios/MediaSessionManagerIOS.h:
204         * platform/audio/ios/MediaSessionManagerIOS.mm:
205         (WebCore::MediaSessionManageriOS::showPlaybackTargetPicker): Add non-functional stub.
206
207         Implement wireless playback control and status API.
208         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
209         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Dispatch TargetIsWirelessChanged.
210         (WebCore::MediaPlayerPrivateAVFoundation::playbackTargetIsWirelessChanged): Pass through to
211             media element.
212         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
213
214         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
215         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
216         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
217             m_allowsWirelessVideoPlayback.
218         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Remove "externalPlaybackActive" observer.
219         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): Fix broken logging.
220         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Add "externalPlaybackActive" observer,
221             set initial wireless playback.
222         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):  Fix broken logging.
223         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Ditto.
224         (WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless): New.
225         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled): New.
226         (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled): New.
227         (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackTargetIsWirelessDidChange): New.
228         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with 
229             externalPlaybackActive.
230
231 2014-02-24  Brent Fulgham  <bfulgham@apple.com>
232
233         [Win] Gracefully recover from missing 'naturalSize' parameter for media
234         https://bugs.webkit.org/show_bug.cgi?id=129278
235
236         Reviewed by Eric Carlson.
237
238         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add declaration for
239         missing function call.
240         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
241         (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus): Don't treat missing 'naturalSize'
242         as a fatal error.
243         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Handle case of asset track
244         not being available yet. 
245         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged): If the 'naturalSize' is empty,
246         use the Player Item's 'presentationSize' instead.
247         (WebCore::AVFWrapper::processNotification): Add missing handler for duration changed.
248
249 2014-02-25  Sergio Villar Senin  <svillar@igalia.com>
250
251         [CSS Grid Layout] Add ENABLE flag
252         https://bugs.webkit.org/show_bug.cgi?id=129153
253
254         Reviewed by Simon Fraser.
255
256         Added ENABLE_CSS_GRID_LAYOUT feature flag.
257
258         * Configurations/FeatureDefines.xcconfig:
259         * css/CSSComputedStyleDeclaration.cpp:
260         (WebCore::isLayoutDependent):
261         (WebCore::ComputedStyleExtractor::propertyValue):
262         * css/CSSGridTemplateAreasValue.cpp:
263         * css/CSSGridTemplateAreasValue.h:
264         * css/CSSParser.cpp:
265         (WebCore::CSSParserContext::CSSParserContext):
266         (WebCore::operator==):
267         (WebCore::isValidKeywordPropertyAndValue):
268         (WebCore::isKeywordPropertyID):
269         (WebCore::CSSParser::parseValue):
270         * css/CSSParser.h:
271         * css/CSSParserMode.h:
272         * css/CSSPrimitiveValueMappings.h:
273         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
274         * css/CSSPropertyNames.in:
275         * css/CSSValue.cpp:
276         (WebCore::CSSValue::equals):
277         (WebCore::CSSValue::cssText):
278         (WebCore::CSSValue::destroy):
279         * css/DeprecatedStyleBuilder.cpp:
280         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
281         * css/StyleProperties.cpp:
282         (WebCore::StyleProperties::getPropertyValue):
283         * css/StylePropertyShorthand.cpp:
284         (WebCore::shorthandForProperty):
285         (WebCore::matchingShorthandsForLonghand):
286         * css/StyleResolver.cpp:
287         (WebCore::equivalentBlockDisplay):
288         (WebCore::StyleResolver::adjustRenderStyle):
289         (WebCore::StyleResolver::applyProperty):
290         * css/StyleResolver.h:
291         * dom/Document.cpp:
292         * dom/Document.h:
293         * rendering/RenderElement.cpp:
294         (WebCore::RenderElement::createFor):
295         * rendering/RenderGrid.cpp:
296         * rendering/RenderGrid.h:
297         * rendering/style/GridCoordinate.h:
298         * rendering/style/GridLength.h:
299         * rendering/style/GridPosition.h:
300         * rendering/style/GridTrackSize.h:
301         * rendering/style/RenderStyle.cpp:
302         (WebCore::RenderStyle::changeRequiresLayout):
303         * rendering/style/RenderStyle.h:
304         * rendering/style/RenderStyleConstants.h:
305         * rendering/style/StyleAllInOne.cpp:
306         * rendering/style/StyleGridData.cpp:
307         * rendering/style/StyleGridData.h:
308         * rendering/style/StyleGridItemData.cpp:
309         * rendering/style/StyleGridItemData.h:
310         * rendering/style/StyleRareNonInheritedData.cpp:
311         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
312         (WebCore::StyleRareNonInheritedData::operator==):
313         * rendering/style/StyleRareNonInheritedData.h:
314
315 2014-02-25  Jer Noble  <jer.noble@apple.com>
316
317         [EME][Mac] Fix a few issues in CDMSessionMediaSourceAVFObjC.
318         https://bugs.webkit.org/show_bug.cgi?id=129310
319
320         Reviewed by Eric Carlson.
321
322         Only send a 'keyerror' event if an actual error code was returned, not just
323         when no key was added:
324         * Modules/encryptedmedia/MediaKeySession.cpp:
325         (WebCore::MediaKeySession::addKeyTimerFired):
326
327         The 'length' parameter to a typed ArrayBufferView is the number of entries
328         in the array, not the byte length:
329         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
330         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
331
332         The return value of streamingContentKeyRequestDataForApp:contentIdentifier:trackId:options:error
333         is autoreleased; do not wrap it in an adoptNS:
334         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
335         (WebCore::CDMSessionMediaSourceAVFObjC::update):
336
337 2014-02-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
338
339         [MediaStream] Adding mock implementation of UserMediaClient
340         https://bugs.webkit.org/show_bug.cgi?id=129274
341
342         Reviewed by Eric Carlson.
343
344         * platform/mock/UserMediaClientMock.h: Added.
345         (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
346         * testing/Internals.cpp:
347         (WebCore::Internals::Internals):
348
349 2014-02-25  Ryosuke Niwa  <rniwa@webkit.org>
350
351         Tighten bitfields in live NodeLists and HTMLCollections
352         https://bugs.webkit.org/show_bug.cgi?id=129300
353
354         Reviewed by Geoffrey Garen.
355
356         Reduce the number of bits used for m_rootType and m_type in LiveNodeList.
357         Also use enum class for LiveNodeList types. We keep "Type" suffix not to
358         confuse old-ish compilers.
359
360         * dom/ClassNodeList.cpp:
361         (WebCore::ClassNodeList::ClassNodeList):
362         * dom/ContainerNode.cpp:
363         (WebCore::ContainerNode::getElementsByTagName):
364         (WebCore::ContainerNode::getElementsByName):
365         (WebCore::ContainerNode::getElementsByClassName):
366         (WebCore::ContainerNode::radioNodeList):
367         * dom/LiveNodeList.cpp:
368         (WebCore::LiveNodeList::collectionFirst):
369         (WebCore::LiveNodeList::collectionTraverseForward):
370         * dom/LiveNodeList.h:
371         (WebCore::LiveNodeList::LiveNodeList):
372         * dom/NameNodeList.cpp:
373         (WebCore::NameNodeList::NameNodeList):
374         * dom/NameNodeList.h:
375         (WebCore::NameNodeList::create):
376         * dom/NodeRareData.h:
377         (WebCore::NodeListsNodeData::namedNodeListKey):
378         * dom/TagNodeList.cpp:
379         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
380         * dom/TagNodeList.h:
381         (WebCore::TagNodeList::create):
382         (WebCore::HTMLTagNodeList::create):
383         * html/HTMLCollection.h:
384         * html/LabelableElement.cpp:
385         (WebCore::LabelableElement::labels):
386         * html/LabelsNodeList.cpp:
387         (WebCore::LabelsNodeList::LabelsNodeList):
388         * html/LabelsNodeList.h:
389         * html/RadioNodeList.cpp:
390         (WebCore::RadioNodeList::RadioNodeList):
391         * html/RadioNodeList.h:
392         (WebCore::RadioNodeList::create):
393
394 2014-02-24  Anders Carlsson  <andersca@apple.com>
395
396         Make it possible to set the visited link provider on a per page basis
397         https://bugs.webkit.org/show_bug.cgi?id=129288
398
399         Reviewed by Andreas Kling.
400
401         * WebCore.exp.in:
402         Export symbols needed by WebKit2.
403
404         * WebCore.xcodeproj/project.pbxproj:
405         Make VisitedLinkProvider a private header.
406
407         * page/Page.cpp:
408         (WebCore::Page::Page):
409         Take the visited link provider from the PageClients object.
410
411         (WebCore::Page::visitedLinkProvider):
412         If the page has a visited link provider set, return it.
413
414         * page/Page.h:
415         Add VisitedLinkProvider to Page and PageClients.
416
417 2014-02-25  Morten Stenshorne  <mstensho@opera.com>
418
419         [New Multicolumn] -webkit-column-break-inside:avoid doesn't work
420         https://bugs.webkit.org/show_bug.cgi?id=129299
421
422         Reviewed by Andrei Bucur.
423
424         adjustForUnsplittableChild() simply forgot to check whether we
425         were inside flow thread based multicol.
426
427         Test: fast/multicol/newmulticol/avoid-column-break-inside.html
428
429         * rendering/RenderBlockFlow.cpp:
430         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
431
432 2014-02-25  Mihnea Ovidenie  <mihnea@adobe.com>
433
434         [CSSRegions] Remove unused function RenderFlowThread::regionForCompositedLayer
435         https://bugs.webkit.org/show_bug.cgi?id=129303
436
437         Reviewed by Andrei Bucur.
438
439         Cleanup, no funtionality change, no new tests.
440
441         * rendering/RenderFlowThread.h:
442
443 2014-02-25  Mihai Tica  <mitica@adobe.com>
444
445         [CSS Blending] -webkit-mix-blend-mode should force transform-style: flat.
446         https://bugs.webkit.org/show_bug.cgi?id=126158
447
448         Reviewed by Mihnea Ovidenie.
449
450         As stated in the http://www.w3.org/TR/css3-transforms/#propdef-transform-style, an element with blending
451         should force transform-style: flat.
452
453         Test: css3/compositing/blend-mode-transform-style.html
454
455         * css/StyleResolver.cpp:
456         (WebCore::StyleResolver::adjustRenderStyle): If blending is detected, set transform-style to flat.
457
458 2014-02-25  Zan Dobersek  <zdobersek@igalia.com>
459
460         Move to using std::unique_ptr for Element, Node and related classes
461         https://bugs.webkit.org/show_bug.cgi?id=129058
462
463         Reviewed by Anders Carlsson.
464
465         Replace uses of OwnPtr and PassOwnPtr in Element, Node and the related
466         classes with std::unique_ptr and move semantics.
467
468         * dom/ContainerNode.h:
469         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
470         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
471         * dom/Element.cpp:
472         (WebCore::ensureAttrNodeListForElement):
473         (WebCore::Element::attributes):
474         * dom/ElementIteratorAssertions.h:
475         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
476         * dom/ElementRareData.h:
477         (WebCore::ElementRareData::setAttributeMap):
478         * dom/MutationObserverRegistration.cpp:
479         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
480         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
481         (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
482         * dom/MutationObserverRegistration.h:
483         * dom/NamedNodeMap.h:
484         (WebCore::NamedNodeMap::NamedNodeMap):
485         * dom/Node.cpp:
486         (WebCore::Node::ensureRareData):
487         (WebCore::Node::didMoveToNewDocument):
488         (WebCore::Node::ensureEventTargetData):
489         (WebCore::Node::mutationObserverRegistry):
490         (WebCore::Node::registerMutationObserver):
491         (WebCore::Node::unregisterMutationObserver):
492         (WebCore::Node::notifyMutationObserversNodeWillDetach):
493         * dom/Node.h:
494         * dom/NodeRareData.h:
495         (WebCore::NodeListsNodeData::NodeListsNodeData):
496         (WebCore::NodeRareData::NodeRareData):
497         (WebCore::NodeRareData::clearNodeLists):
498         (WebCore::NodeRareData::ensureNodeLists):
499         (WebCore::NodeRareData::ensureMutationObserverData):
500         * dom/StyledElement.cpp:
501         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
502
503 2014-02-25  Andreas Kling  <akling@apple.com>
504
505         Prune dead code for Web Inspector memory instrumentation.
506         <https://webkit.org/b/129286>
507
508         This was leftover code from Chromium's inspector. It's not used by
509         today's WebKit inspector.
510
511         Reviewed by Sam Weinig.
512
513         * CMakeLists.txt:
514         * DerivedSources.make:
515         * GNUmakefile.am:
516         * GNUmakefile.list.am:
517         * WebCore.vcxproj/WebCore.vcxproj:
518         * WebCore.vcxproj/WebCore.vcxproj.filters:
519         * WebCore.xcodeproj/project.pbxproj:
520         * inspector/InspectorAllInOne.cpp:
521         * inspector/InspectorController.cpp:
522         (WebCore::InspectorController::InspectorController):
523         * inspector/InspectorController.h:
524         * inspector/InspectorMemoryAgent.cpp: Removed.
525         * inspector/InspectorMemoryAgent.h: Removed.
526         * inspector/InspectorTimelineAgent.cpp:
527         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
528         * inspector/InspectorTimelineAgent.h:
529         * inspector/WorkerInspectorController.cpp:
530         (WebCore::WorkerInspectorController::WorkerInspectorController):
531         * inspector/protocol/Memory.json: Removed.
532
533 2014-02-24  Chris Fleizach  <cfleizach@apple.com>
534
535         AX: Support abbr, acronym
536         https://bugs.webkit.org/show_bug.cgi?id=128860
537
538         Reviewed by Mario Sanchez Prada.
539
540         Expose the data in <abbr>, <acronym> and <th abbr=""> as an 
541         alternateTextValue() parameter.
542
543         Test: platform/mac/accessibility/abbr-acronym-tags.html
544
545         * accessibility/AccessibilityObject.cpp:
546         (WebCore::AccessibilityObject::hasTagName):
547         * accessibility/AccessibilityObject.h:
548         (WebCore::AccessibilityObject::alternateTextValue):
549         (WebCore::AccessibilityObject::supportsAlternateTextValue):
550         * accessibility/AccessibilityRenderObject.cpp:
551         (WebCore::AccessibilityRenderObject::alternateTextValue):
552         (WebCore::AccessibilityRenderObject::supportsAlternateTextValue):
553         * accessibility/AccessibilityRenderObject.h:
554         * accessibility/AccessibilityTableCell.cpp:
555         (WebCore::AccessibilityTableCell::alternateTextValue):
556         (WebCore::AccessibilityTableCell::supportsAlternateTextValue):
557         * accessibility/AccessibilityTableCell.h:
558         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
559         (AXAttributeStringSetAlternateTextValue):
560         (AXAttributedStringAppendText):
561         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
562         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
563
564 2014-02-24  Martin Robinson  <mrobinson@igalia.com>
565
566         [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
567         https://bugs.webkit.org/show_bug.cgi?id=128417
568
569         Reviewed by Carlos Garcia Campos.
570
571         * bindings/gobject/GNUmakefile.am: Generate a config file for webkitdom documentation generation.
572
573 2014-02-24  Mark Lam  <mark.lam@apple.com>
574
575         Need to initialize VM stack data even when the VM is on an exclusive thread.
576         <https://webkit.org/b/129265>
577
578         Reviewed by Geoffrey Garen.
579
580         No new tests.
581
582         * bindings/js/JSDOMBinding.cpp:
583         (WebCore::reportException):
584         - Added an assertion to ensure that we are holding the JSLock.
585         * bindings/js/JSDOMWindowBase.cpp:
586         (WebCore::JSDOMWindowBase::commonVM):
587         - Updated to use the new VM::setExclusiveThread().
588
589 2014-02-24  Anders Carlsson  <andersca@apple.com>
590
591         Add a DefaultVisitedLinkProvider and route visited link actions through it
592         https://bugs.webkit.org/show_bug.cgi?id=129285
593
594         Reviewed by Dan Bernstein.
595
596         DefaultVisitedLinkProvider currently just forwards everything to the visited link strategy,
597         but will soon take over the responsibilities of visited link handling from PageGroup.
598         
599         * CMakeLists.txt:
600         * GNUmakefile.list.am:
601         * WebCore.vcxproj/WebCore.vcxproj:
602         * WebCore.vcxproj/WebCore.vcxproj.filters:
603         * WebCore.xcodeproj/project.pbxproj:
604         * dom/VisitedLinkState.cpp:
605         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
606         * loader/HistoryController.cpp:
607         (WebCore::addVisitedLink):
608         (WebCore::HistoryController::updateForStandardLoad):
609         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
610         (WebCore::HistoryController::updateForClientRedirect):
611         (WebCore::HistoryController::updateForSameDocumentNavigation):
612         (WebCore::HistoryController::pushState):
613         (WebCore::HistoryController::replaceState):
614         * page/DefaultVisitedLinkProvider.cpp: Copied from Source/WebCore/page/VisitedLinkProvider.h.
615         (WebCore::DefaultVisitedLinkProvider::create):
616         (WebCore::DefaultVisitedLinkProvider::DefaultVisitedLinkProvider):
617         (WebCore::DefaultVisitedLinkProvider::~DefaultVisitedLinkProvider):
618         (WebCore::DefaultVisitedLinkProvider::isLinkVisited):
619         (WebCore::DefaultVisitedLinkProvider::addVisitedLink):
620         * page/DefaultVisitedLinkProvider.h: Copied from Source/WebCore/page/VisitedLinkProvider.h.
621         * page/Page.cpp:
622         (WebCore::Page::visitedLinkProvider):
623         * page/Page.h:
624         * page/PageGroup.cpp:
625         (WebCore::PageGroup::PageGroup):
626         (WebCore::PageGroup::visitedLinkProvider):
627         * page/PageGroup.h:
628         * page/VisitedLinkProvider.h:
629
630 2014-02-24  Jeremy Jones  <jeremyj@apple.com>
631
632         WK2 AVKit fullscreen doesn't display video.
633         https://bugs.webkit.org/show_bug.cgi?id=128564
634
635         Reviewed by Simon Fraser.
636
637         * WebCore.exp.in:
638         Export WebCore::PlatformCALayer::platformCALayer()
639
640         * platform/ios/WebVideoFullscreenInterface.h:
641         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
642         Remove SetVideoLayerID(). 
643
644         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
645         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
646         Wrap make video layer look like an AVAVPlayerLayer with WebAVPlayerLayer
647
648         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
649         (WebVideoFullscreenModelMediaElement::setMediaElement):
650         Pass along the videoLayer before borrowing it so the interface will be ready to
651         catch the transaction that removes it.
652
653 2014-02-24  Samuel White  <samuel_white@apple.com>
654
655         AX: AccessibilityObject::findMatchingObjects should never include 'this' in results.
656         https://bugs.webkit.org/show_bug.cgi?id=129243
657
658         Reviewed by Chris Fleizach.
659
660         Fix removes the container object from the search results when searching backwards. This
661         makes backwards & forwards search results consistent with each other.
662
663         Test: platform/mac/accessibility/search-predicate-container-not-included.html
664
665         * accessibility/AccessibilityObject.cpp:
666         (WebCore::AccessibilityObject::findMatchingObjects):
667
668 2014-02-24  Samuel White  <samuel_white@apple.com>
669
670         AX: findMatchingObjects backwards start position inconsistent with forwards start position when startObject == nullptr.
671         https://bugs.webkit.org/show_bug.cgi?id=129266
672
673         Reviewed by Chris Fleizach.
674
675         When searching forward with no start object, the first thing considered is the first child of
676         the container. However, when searching backwards with no start object nothing in the container
677         is considered; this basically negates the search. This patch makes backwards searching without
678         a start object start from the last child of the container to match forward search expectations.
679
680         Test: platform/mac/accessibility/search-predicate-start-not-specified.html
681
682         * accessibility/AccessibilityObject.cpp:
683         (WebCore::AccessibilityObject::findMatchingObjects):
684
685 2014-02-24  Andreas Kling  <akling@apple.com>
686
687         Prune dead code for Web Inspector canvas instrumentation.
688         <https://webkit.org/b/129269>
689
690         This was leftover code from Chromium's inspector. It's not used by
691         today's WebKit inspector.
692
693         Reviewed by Timothy Hatcher.
694
695         * CMakeLists.txt:
696         * DerivedSources.make:
697         * GNUmakefile.am:
698         * GNUmakefile.list.am:
699         * WebCore.vcxproj/WebCore.vcxproj:
700         * WebCore.vcxproj/WebCore.vcxproj.filters:
701         * WebCore.xcodeproj/project.pbxproj:
702         * bindings/js/JSHTMLCanvasElementCustom.cpp:
703         (WebCore::JSHTMLCanvasElement::getContext):
704         * inspector/InjectedScriptCanvasModule.cpp: Removed.
705         * inspector/InjectedScriptCanvasModule.h: Removed.
706         * inspector/InspectorAllInOne.cpp:
707         * inspector/InspectorCanvasAgent.cpp: Removed.
708         * inspector/InspectorCanvasAgent.h: Removed.
709         * inspector/InspectorCanvasInstrumentation.h: Removed.
710         * inspector/InspectorController.cpp:
711         (WebCore::InspectorController::InspectorController):
712         (WebCore::InspectorController::didBeginFrame):
713         * inspector/InspectorInstrumentation.cpp:
714         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
715         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
716         * inspector/InspectorInstrumentation.h:
717         * inspector/InstrumentingAgents.cpp:
718         (WebCore::InstrumentingAgents::InstrumentingAgents):
719         (WebCore::InstrumentingAgents::reset):
720         * inspector/InstrumentingAgents.h:
721
722 2014-02-24  Zoltan Horvath  <zoltan@webkit.org>
723
724         [CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides
725         https://bugs.webkit.org/show_bug.cgi?id=128693
726
727         Reviewed by David Hyatt.
728
729         When we don't have space next to the floating container, but we have space inside the floating-container next
730         to the defined shape-outside, we should wrap around the shape-outside. This patch fixes the behavior both for
731         cases when there is no space to fit at the first line, and for the additional lines cases.
732
733         Test: fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html
734
735         * rendering/line/BreakingContextInlineHeaders.h:
736         (WebCore::BreakingContext::handleText):
737         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
738         * rendering/line/LineWidth.cpp:
739         (WebCore::availableWidthAtOffset):
740         (WebCore::LineWidth::updateLineDimension): Added new helper.
741         (WebCore::isWholeLineFit): Added new helper.
742         (WebCore::LineWidth::wrapNextToShapeOutside): Added new helper.
743         (WebCore::LineWidth::fitBelowFloats): Add optional parameter for the function.
744         * rendering/line/LineWidth.h:
745
746 2014-02-24  Martin Hock  <mhock@apple.com>
747
748         Create SessionID value-style class for session IDs.
749         https://bugs.webkit.org/show_bug.cgi?id=129141
750
751         Reviewed by Brady Eidson.
752
753         * GNUmakefile.list.am:
754         * WebCore.exp.in:
755         * WebCore.xcodeproj/project.pbxproj:
756         * page/Page.cpp: Add SessionID member.
757         (WebCore::Page::Page):
758         (WebCore::Page::sessionID): Retrieve sessionID or use settings if not set.
759         * page/Page.h:
760         (WebCore::Page::setSessionID):
761         * page/SessionID.h: Session ID class consisting solely of its uint64_t session ID.
762         (WebCore::SessionID::SessionID):
763         (WebCore::SessionID::isValid): Not empty.
764         (WebCore::SessionID::isEphemeral):
765         (WebCore::SessionID::sessionID):
766         (WebCore::SessionID::operator==): Value-based equality.
767         (WebCore::SessionID::operator!=):
768         (WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue.
769         (WebCore::SessionID::defaultSessionID):
770         (WebCore::SessionID::legacyPrivateSessionID):
771         * page/SessionIDHash.h:
772         (WTF::SessionIDHash::hash): Just the casted session ID (low order bytes)
773         (WTF::SessionIDHash::equal):
774         (WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID.
775         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value.
776         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
777
778 2014-02-24  Javier Fernandez  <jfernandez@igalia.com>
779
780         [CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm
781         https://bugs.webkit.org/show_bug.cgi?id=128372
782
783         Reviewed by David Hyatt.
784
785         From Blink r165692 by <svillar@igalia.com>
786
787         The spec defines a different code path for the computeUsedBreadthOfGridTracks algorithm
788         http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks.
789
790         Basically the track breadth is different when the available size is undefined and thus,
791         cannot be taken into account during the computations.
792         The available size is undefined whenever the height is auto or the grid element has a
793         shrink-to-fit behavior.
794
795         It was also renamed the function to match the specs so the function name starts with
796         'compute' instead of 'computed'.
797
798         No new tests, but added new cases to some of them.
799
800         * rendering/RenderGrid.cpp:
801         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
802         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
803         (WebCore::gridElementIsShrinkToFit):
804         (WebCore::RenderGrid::computeNormalizedFractionBreadth):
805         (WebCore::RenderGrid::layoutGridItems):
806         * rendering/RenderGrid.h:
807
808 2014-02-24  Roger Fong  <roger_fong@apple.com>
809
810         [Windows] Unreviewed pre-emptive build fix.
811
812         * WebCore.vcxproj/WebCoreCommon.props: Add replay directory to include path.
813
814 2014-02-24  Brady Eidson  <beidson@apple.com>
815
816         Break out ImageControls style into an external stylesheet
817         https://bugs.webkit.org/show_bug.cgi?id=129273
818
819         Reviewed by Jer Noble.
820
821         * DerivedSources.make:
822         * WebCore.xcodeproj/project.pbxproj:
823
824         * css/CSSDefaultStyleSheets.cpp:
825         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
826         * css/CSSDefaultStyleSheets.h:
827
828         * html/shadow/mac/ImageControlsRootElementMac.cpp:
829         (WebCore::ImageControlsRootElementMac::maybeCreate):
830
831         * html/shadow/mac/imageControlsMac.css:
832         (.x-webkit-imagemenu):
833         (.x-webkit-imagemenu:hover):
834
835         * rendering/RenderTheme.h:
836         (WebCore::RenderTheme::mediaControlsScript):
837         (WebCore::RenderTheme::imageControlsStyleSheet):
838         * rendering/RenderThemeMac.h:
839         * rendering/RenderThemeMac.mm:
840         (WebCore::RenderThemeMac::imageControlsStyleSheet):
841
842 2014-02-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
843
844         [WebRTC] Validating RTCConfiguration according to the spec
845         https://bugs.webkit.org/show_bug.cgi?id=129182
846
847         Reviewed by Eric Carlson.
848
849         Spec states that:
850             - iceServers should not be an empty list
851             - the entry in the configuration dictionary is "urls", instead of "url"
852             - urls can be either a list or a string
853         Fixing all that in RTCConfiguration validation when creating a RTCPeerConnection
854
855         Existing tests were updated.
856
857         * Modules/mediastream/RTCPeerConnection.cpp:
858         (WebCore::appendIceServer): Added.
859         (WebCore::processIceServer): Added.
860         (WebCore::RTCPeerConnection::parseConfiguration):
861
862 2014-02-24  Radu Stavila  <stavila@adobe.com>
863
864         [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
865         https://bugs.webkit.org/show_bug.cgi?id=129254
866
867         Reviewed by Antti Koivisto.
868
869         The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted
870         because that would prevent all the layer's children from being painted.
871
872         Another problem this patch addresses is that clipping should also be performed when the clip rect is empty,
873         which is what happens when painting in a tile in which the flowed element would normally be painted
874         if it wasn't clipped by the region.
875
876         Test: fast/regions/content-relative-next-tile.html
877
878         * rendering/RenderLayer.cpp:
879         (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
880
881 2014-02-24  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
882         
883         Get rid of the unused 'immediate' parameters from repaint related functions
884         https://bugs.webkit.org/show_bug.cgi?id=129111
885
886         Reviewed by Simon Fraser.
887
888         Removing the 'immediate' parameters from repaint related functions - accoring
889         to the FIXME in RenderView::repaintViewRectangle() - since they have no effect.
890
891         No new tests are necessary because there is no behavior change
892
893         * dom/Element.cpp:
894         (WebCore::Element::setActive):
895         * loader/EmptyClients.h:
896         * page/Chrome.cpp:
897         (WebCore::Chrome::invalidateRootView):
898         (WebCore::Chrome::invalidateContentsAndRootView):
899         (WebCore::Chrome::invalidateContentsForSlowScroll):
900         * page/Chrome.h:
901         * page/ChromeClient.h:
902         * page/Frame.cpp:
903         (WebCore::Frame::tiledBackingStorePaintEnd):
904         * page/FrameView.cpp:
905         (WebCore::FrameView::invalidateRect):
906         (WebCore::FrameView::scrollContentsFastPath):
907         (WebCore::FrameView::repaintContentRectangle):
908         (WebCore::FrameView::shouldUpdate):
909         * page/FrameView.h:
910         * platform/HostWindow.h:
911         * platform/ScrollView.cpp:
912         (WebCore::ScrollView::scrollContents):
913         (WebCore::ScrollView::scrollContentsSlowPath):
914         (WebCore::ScrollView::repaintContentRectangle):
915         (WebCore::ScrollView::updateOverhangAreas):
916         (WebCore::ScrollView::addPanScrollIcon):
917         (WebCore::ScrollView::removePanScrollIcon):
918         (WebCore::ScrollView::platformRepaintContentRectangle):
919         * platform/ScrollView.h:
920         * rendering/RenderBox.cpp:
921         (WebCore::RenderBox::repaintLayerRectsForImage):
922         * rendering/RenderFlowThread.cpp:
923         (WebCore::RenderFlowThread::repaintRectangleInRegions):
924         * rendering/RenderFlowThread.h:
925         * rendering/RenderLayer.cpp:
926         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
927         * rendering/RenderLayer.h:
928         * rendering/RenderMultiColumnSet.cpp:
929         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
930         * rendering/RenderMultiColumnSet.h:
931         * rendering/RenderObject.cpp:
932         (WebCore::RenderObject::repaintUsingContainer):
933         (WebCore::RenderObject::repaint):
934         (WebCore::RenderObject::repaintRectangle):
935         (WebCore::RenderObject::repaintSlowRepaintObject):
936         * rendering/RenderObject.h:
937         * rendering/RenderRegion.cpp:
938         (WebCore::RenderRegion::repaintFlowThreadContent):
939         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
940         * rendering/RenderRegion.h:
941         * rendering/RenderView.cpp:
942         (WebCore::RenderView::repaintViewRectangle):
943         (WebCore::RenderView::flushAccumulatedRepaintRegion):
944         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
945         * rendering/RenderView.h:
946         * svg/graphics/SVGImageChromeClient.h:
947
948 2014-02-24  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
949
950         Code cleanup: remove leftover ENABLE(WORKERS) macros and support.
951         https://bugs.webkit.org/show_bug.cgi?id=129255
952
953         Reviewed by Csaba Osztrogonác.
954
955         ENABLE_WORKERS macro was removed in r159679, but r161589 added back some occurrences.
956         Support is now also removed from xcconfig files.
957
958         No new tests needed.
959
960         * Configurations/FeatureDefines.xcconfig:
961         * platform/ThreadGlobalData.cpp:
962         * platform/ThreadGlobalData.h:
963         * platform/Timer.h:
964         (WebCore::TimerBase::isActive):
965         * platform/ios/wak/WebCoreThread.mm:
966         (RunWebThread):
967         (StartWebThread):
968
969 2014-02-24  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
970
971         [CMake] Get rid of "FIXME: The Blackberry port ..." from WebCore/CmakeLists.txt
972         https://bugs.webkit.org/show_bug.cgi?id=129152
973
974         Reviewed by Gyuyoung Kim.
975
976         * CMakeLists.txt:
977
978 2014-02-24  David Kilzer  <ddkilzer@apple.com>
979
980         Remove redundant setting in FeatureDefines.xcconfig
981
982         * Configurations/FeatureDefines.xcconfig:
983
984 2014-02-24  Mihai Tica  <mitica@adobe.com>
985
986         [CSS Blending] An element having -webkit-mix-blend-mode should only blend with the contents of the parent stacking context
987         https://bugs.webkit.org/show_bug.cgi?id=129154
988
989         Reviewed by Dean Jackson.
990
991         The blending operation of an element having -webkit-mix-blend-mode should be restricted to the parent stacking context.
992         This change isolates blending, preventing it from blending with other underlying elements besides the parent stacking context.
993
994         Tests: css3/compositing/blend-mode-isolated-group-1.html
995                css3/compositing/blend-mode-isolated-group-2.html
996                css3/compositing/blend-mode-isolated-group-3.html
997
998         * rendering/RenderLayer.cpp:
999         (WebCore::RenderLayer::RenderLayer): Initialize added members to false.
1000         (WebCore::RenderLayer::updateBlendMode): Check if a blend mode was set or unset. If so, set the m_updateParentStackingContextShouldIsolateBlendingDirty to true.
1001         (WebCore::RenderLayer::updateParentStackingContextShouldIsolateBlending): Traverse to the parent stacking context and update the
1002         m_isolatesBlending member accordingly.
1003         * rendering/RenderLayer.h:
1004         - Add isolatesBlending() as a condition for creating a transparency layer in the paintsWithTransparency method.
1005         - Add m_updateParentStackingContextShouldIsolateBlendingDirty member.
1006         - Add m_isolatesBlending member and getter.
1007         * rendering/RenderLayerCompositor.cpp:
1008         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call updateParentStackingContextShouldIsolateBlending. 
1009
1010 2014-02-24  Krzysztof Czech  <k.czech@samsung.com>
1011
1012         [ATK] Wrong selected element at a given index in a list box.
1013         https://bugs.webkit.org/show_bug.cgi?id=129039
1014
1015         Reviewed by Chris Fleizach.
1016
1017         Test: accessibility/select-element-at-index.html
1018
1019         The selected element at a given index was wrong. One should be considered among the
1020         all children of a list box, not only selected ones.
1021
1022         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
1023         (core):
1024         (listObjectForSelection):
1025         (optionFromList):
1026         (optionFromSelection):
1027         (webkitAccessibleSelectionRefSelection):
1028
1029 2014-02-23  Dean Jackson  <dino@apple.com>
1030
1031         [WebGL] Allow ANGLE to initialize unused varyings
1032         https://bugs.webkit.org/show_bug.cgi?id=129240
1033         <rdar://problem/15203342>
1034
1035         Reviewed by Sam Weinig.
1036
1037         Covered by: conformance/glsl/misc/shaders-with-varyings.html
1038
1039         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1040         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1041         Add SH_INIT_VARYINGS_WITHOUT_STATIC_USE to compiler flags.
1042
1043 2014-02-23  Sam Weinig  <sam@webkit.org>
1044
1045         Update FeatureDefines.xcconfig
1046
1047         Rubber-stamped by Anders Carlsson.
1048
1049         * Configurations/FeatureDefines.xcconfig:
1050
1051 2014-02-23  Dean Jackson  <dino@apple.com>
1052
1053         Sort the project file with sort-Xcode-project-file.
1054
1055         Rubber-stamped by Sam Weinig.
1056
1057         * WebCore.xcodeproj/project.pbxproj:
1058
1059 2014-02-23  Sam Weinig  <sam@webkit.org>
1060
1061         Fix incorrectly commented out code.
1062
1063         * platform/TelephoneNumberDetector.h:
1064
1065 2014-02-23  Sam Weinig  <sam@webkit.org>
1066
1067         Extract platform specific parts of telephone number detection 
1068         https://bugs.webkit.org/show_bug.cgi?id=129238
1069
1070         Reviewed by Dean Jackson.
1071
1072         * WebCore.xcodeproj/project.pbxproj:
1073         Add new files.
1074
1075         * html/parser/HTMLTreeBuilder.cpp:
1076         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
1077         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
1078         * platform/TelephoneNumberDetector.h: Added.
1079         * platform/cocoa/TelephoneNumberDetectorCocoa.cpp: Added.
1080         (WebCore::TelephoneNumberDetector::phoneNumbersScanner):
1081         (WebCore::TelephoneNumberDetector::isSupported):
1082         (WebCore::TelephoneNumberDetector::find):
1083         Move code to TelephoneNumberDetector.
1084
1085 2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1086
1087         Change a url parameter type with URL in NavigatorContentUtils
1088         https://bugs.webkit.org/show_bug.cgi?id=129202
1089
1090         Reviewed by Sam Weinig.
1091
1092         It would be good if we use *URL* for url parameters instead of using String.
1093
1094         Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
1095
1096         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1097         (WebCore::verifyCustomHandlerURL):
1098         (WebCore::NavigatorContentUtils::registerProtocolHandler):
1099         (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
1100         (WebCore::NavigatorContentUtils::unregisterProtocolHandler):
1101         * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:
1102
1103 2014-02-23  Dean Jackson  <dino@apple.com>
1104
1105         Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
1106         https://bugs.webkit.org/show_bug.cgi?id=129232
1107
1108         Reviewed by Brent Fulgham.
1109
1110         New files added, derived sources compiled directly, and generated
1111         steps removed for both EFL and GTK, with much-needed help from
1112         Sergio Correia.
1113
1114         * CMakeLists.txt:
1115         * GNUMakefile.am:
1116
1117 2014-02-23  Sam Weinig  <sam@webkit.org>
1118
1119         Move RenderMathMLMenclose.h/cpp to the right place in the Xcode project and sort.
1120
1121         Rubber-stamped by Anders Carlsson.
1122
1123         * WebCore.xcodeproj/project.pbxproj:
1124
1125 2014-02-23  Sam Weinig  <sam@webkit.org>
1126
1127         Move telephone number detection behind its own ENABLE macro
1128         https://bugs.webkit.org/show_bug.cgi?id=129236
1129
1130         Reviewed by Dean Jackson.
1131
1132         * Configurations/FeatureDefines.xcconfig:
1133         Add ENABLE_TELEPHONE_NUMBER_DETECTION.
1134
1135         * dom/Document.cpp:
1136         (WebCore::Document::Document):
1137         * dom/Document.h:
1138         * html/parser/HTMLConstructionSite.h:
1139         * html/parser/HTMLTreeBuilder.cpp:
1140         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
1141         * html/parser/HTMLTreeBuilder.h:
1142         Use ENABLE(TELEPHONE_NUMBER_DETECTION).
1143
1144         * platform/mac/SoftLinking.h:
1145         Remove PLATOFORM(IOS) from SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL, it is not iOS specific.
1146
1147 2014-02-23  Zalan Bujtas  <zalan@apple.com>
1148
1149         Subpixel rendering: Fix bleed avoidance subpixel calculation.
1150         https://bugs.webkit.org/show_bug.cgi?id=129225
1151
1152         Reviewed by Simon Fraser.
1153         
1154         static_cast<LayoutUnit>(int value) only produces the desired result when subpixel is off.
1155
1156         Currently not testable.
1157
1158         * rendering/RenderBoxModelObject.cpp:
1159         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
1160         (WebCore::shrinkRectByOneDevicePixel):
1161         (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
1162         (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
1163         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1164         * rendering/RenderBoxModelObject.h:
1165
1166 2014-02-23  Zalan Bujtas  <zalan@apple.com>
1167
1168         Subpixel rendering: Add devicepixel based computation to BorderEdge class.
1169         https://bugs.webkit.org/show_bug.cgi?id=129224
1170
1171         Reviewed by Simon Fraser.
1172
1173         To produce correct width (and type) results, BorderEdge class needs to take device pixel ratio into account.
1174
1175         Currently not testable.
1176
1177         * rendering/RenderBoxModelObject.cpp:
1178         (WebCore::BorderEdge::BorderEdge):
1179         (WebCore::BorderEdge::obscuresBackgroundEdge):
1180         (WebCore::BorderEdge::getDoubleBorderStripeWidths): this does not always produce the same
1181         result as before, but the sum of inner and outer is not different.
1182         (WebCore::BorderEdge::borderWidthInDevicePixel):
1183         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
1184
1185 2014-02-22  Dan Bernstein  <mitz@apple.com>
1186
1187         REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
1188         https://bugs.webkit.org/show_bug.cgi?id=129227
1189
1190         Reviewed by Eric Carlson.
1191
1192         Reverted r164507.
1193
1194         * bindings/js/JSDOMBinding.cpp:
1195         (WebCore::reportException):
1196         * inspector/InspectorResourceAgent.cpp:
1197         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1198         * inspector/PageDebuggerAgent.cpp:
1199         (WebCore::PageDebuggerAgent::breakpointActionLog):
1200         * inspector/TimelineRecordFactory.cpp:
1201         (WebCore::TimelineRecordFactory::createGenericRecord):
1202         * page/Console.cpp:
1203         (WebCore::internalAddMessage):
1204         (WebCore::Console::profile):
1205         (WebCore::Console::profileEnd):
1206         (WebCore::Console::timeEnd):
1207         * page/ContentSecurityPolicy.cpp:
1208         (WebCore::gatherSecurityPolicyViolationEventData):
1209         (WebCore::ContentSecurityPolicy::reportViolation):
1210         * page/DOMWindow.cpp:
1211         (WebCore::DOMWindow::postMessage):
1212
1213 2014-02-22  Joseph Pecoraro  <pecoraro@apple.com>
1214
1215         Remove some unreachable code (-Wunreachable-code)
1216         https://bugs.webkit.org/show_bug.cgi?id=129220
1217
1218         Reviewed by Eric Carlson.
1219
1220         * html/parser/HTMLTreeBuilder.cpp:
1221         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
1222         (WebCore::HTMLTreeBuilder::processEndTag):
1223         The only tricky case. Here there was a break inside the
1224         #if, but not the #else, and a break after the #endif.
1225         Remove the break inside the #if, and always use the
1226         break after the #endif.
1227
1228         * Modules/indexeddb/IDBTransaction.cpp:
1229         (WebCore::IDBTransaction::modeToString):
1230         * bindings/js/JSTrackCustom.cpp:
1231         (WebCore::toJS):
1232         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1233         (WebCore::functionForUniform):
1234         * css/SelectorChecker.cpp:
1235         (WebCore::SelectorChecker::checkOne):
1236         * html/HTMLMediaElement.cpp:
1237         (WebCore::HTMLMediaElement::parseAttribute):
1238         * page/CaptionUserPreferencesMediaAF.cpp:
1239         (WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode):
1240
1241 2014-02-22  Dean Jackson  <dino@apple.com>
1242
1243         Letterpress effect disabled for synthetic italic
1244         https://bugs.webkit.org/show_bug.cgi?id=129218
1245         <rdar://problem/15997846>
1246
1247         Reviewed by Dan Bernstein.
1248
1249         There was no need to guard against synthetic italics and letterpress.
1250
1251         * platform/graphics/mac/FontMac.mm:
1252         (WebCore::Font::drawGlyphs): Remove !useLetterpressEffect from conditional.
1253
1254 2014-02-21  Sam Weinig  <sam@webkit.org>
1255
1256         Expose phase and momentum phase as SPI on DOMWheelEvent
1257         <rdar://problem/16110871>
1258         https://bugs.webkit.org/show_bug.cgi?id=129184
1259
1260         Reviewed by Anders Carlsson.
1261
1262         * WebCore.exp.in:
1263         Export core(DOMWheelEvent).
1264
1265         * WebCore.xcodeproj/project.pbxproj:
1266         Make DOMWheelEventInternal.h available in WebKit.
1267
1268         * dom/Element.cpp:
1269         (WebCore::Element::dispatchWheelEvent):
1270         * dom/WheelEvent.cpp:
1271         (WebCore::determineDeltaMode):
1272         (WebCore::WheelEvent::WheelEvent):
1273         (WebCore::WheelEvent::initWheelEvent):
1274         (WebCore::WheelEvent::initWebKitWheelEvent):
1275         Move PlatformWheelEvent -> DOMWheelEvent conversion to DOMWheelEvent.
1276
1277         * dom/WheelEvent.h:
1278         (WebCore::WheelEvent::create):
1279         (WebCore::WheelEvent::phase):
1280         (WebCore::WheelEvent::momentumPhase):
1281         Store phase and momentumPhase on the WheelEvent.
1282
1283 2014-02-22  Alexey Proskuryakov  <ap@apple.com>
1284
1285         Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
1286         https://bugs.webkit.org/show_bug.cgi?id=129121
1287
1288         Reviewed by Sam Weinig.
1289
1290         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1291         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated to newer names.
1292         (WebCore::addUsagesToJSON): Ditto.
1293         (WebCore::JSCryptoKeySerializationJWK::serialize): rsa-oaep-key-manipulation test
1294         started ot fail, because RSA-OAEP with 2048 bit key and sha-1 can only encrypt
1295         214 bytes, and the new longer names made JSON serialization slightly longer.
1296         Compensate by not doing any indentation in JSON.
1297
1298 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
1299
1300         Only skip stretchy operators when determining the stretch height.
1301         https://bugs.webkit.org/show_bug.cgi?id=126842
1302
1303         Reviewed by Chris Fleizach.
1304
1305         The MathML code only takes into account non-mo children for the computation of the stretch size. This change includes non-stretchy mo in that computation. A new test is added into mathml/presentation/stretchy-depth-height.html.
1306
1307         * rendering/mathml/RenderMathMLRow.cpp:
1308         (WebCore::RenderMathMLRow::layout):
1309
1310 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
1311
1312         Implement asymmetric/symmetric stretching of vertical operators.
1313         https://bugs.webkit.org/show_bug.cgi?id=124827.
1314
1315         Reviewed by Chris Fleizach.
1316
1317         The MathML code stretches vertical operators asymmetrically by default. This patch takes into account the symmetric attribute or the symmetric property of the operator dictionary to stretch operators symmetrically.
1318
1319         Test: mathml/presentation/stretchy-depth-height-symmetric.html
1320
1321         * rendering/mathml/RenderMathMLOperator.cpp:
1322         (WebCore::RenderMathMLOperator::stretchTo):
1323         (WebCore::RenderMathMLOperator::updateFromElement):
1324         (WebCore::RenderMathMLOperator::updateStyle):
1325
1326 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
1327
1328         Bug 119043 - Large stretch size error for MathML operators.
1329         https://bugs.webkit.org/show_bug.cgi?id=119043
1330
1331         Reviewed by Chris Fleizach.
1332
1333         The MathML code used some arbitrary gOperatorExpansion factor for the
1334         stretch size and 2/3 1/2 constants for the baseline. This change tries
1335         to consider height/depth of siblings of the stretchy operator so that
1336         the stretchy operator now matches its target.
1337
1338         Test: mathml/presentation/stretchy-depth-height.html
1339
1340         * rendering/RenderObject.h:
1341         (WebCore::RenderObject::isRenderMathMLTable):
1342         * rendering/mathml/RenderMathMLBlock.h:
1343         * rendering/mathml/RenderMathMLOperator.cpp:
1344         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
1345         (WebCore::RenderMathMLOperator::stretchTo):
1346         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
1347         (WebCore::RenderMathMLOperator::updateStyle):
1348         (WebCore::RenderMathMLOperator::firstLineBaseline):
1349         (WebCore::RenderMathMLOperator::computeLogicalHeight):
1350         * rendering/mathml/RenderMathMLOperator.h:
1351         * rendering/mathml/RenderMathMLRow.cpp:
1352         (WebCore::RenderMathMLRow::layout):
1353
1354 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
1355
1356         Unreviewed, rolling out r164534.
1357         http://trac.webkit.org/changeset/164534
1358         https://bugs.webkit.org/show_bug.cgi?id=119043
1359
1360         missing tests
1361
1362         * rendering/RenderObject.h:
1363         * rendering/mathml/RenderMathMLBlock.h:
1364         * rendering/mathml/RenderMathMLOperator.cpp:
1365         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
1366         (WebCore::RenderMathMLOperator::expandedStretchHeight):
1367         (WebCore::RenderMathMLOperator::stretchToHeight):
1368         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
1369         (WebCore::RenderMathMLOperator::updateStyle):
1370         (WebCore::RenderMathMLOperator::firstLineBaseline):
1371         (WebCore::RenderMathMLOperator::computeLogicalHeight):
1372         * rendering/mathml/RenderMathMLOperator.h:
1373         * rendering/mathml/RenderMathMLRow.cpp:
1374         (WebCore::RenderMathMLRow::layout):
1375
1376 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
1377
1378         Bug 119043 - Large stretch size error for MathML operators.
1379         https://bugs.webkit.org/show_bug.cgi?id=119043
1380
1381         Reviewed by Chris Fleizach.
1382
1383         The MathML code used some arbitrary gOperatorExpansion factor for the
1384         stretch size and 2/3 1/2 constants for the baseline. This change tries
1385         to consider height/depth of siblings of the stretchy operator so that
1386         the stretchy operator now matches its target.
1387
1388         Test: mathml/presentation/stretchy-depth-height.html
1389
1390         * rendering/RenderObject.h:
1391         (WebCore::RenderObject::isRenderMathMLTable):
1392         * rendering/mathml/RenderMathMLBlock.h:
1393         * rendering/mathml/RenderMathMLOperator.cpp:
1394         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
1395         (WebCore::RenderMathMLOperator::stretchTo):
1396         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
1397         (WebCore::RenderMathMLOperator::updateStyle):
1398         (WebCore::RenderMathMLOperator::firstLineBaseline):
1399         (WebCore::RenderMathMLOperator::computeLogicalHeight):
1400         * rendering/mathml/RenderMathMLOperator.h:
1401         * rendering/mathml/RenderMathMLRow.cpp:
1402         (WebCore::RenderMathMLRow::layout):
1403
1404 2014-02-21  Zalan Bujtas  <zalan@apple.com>
1405
1406         REGRESSION(r164412): Pixel cracks when zooming in to any web content.
1407         https://bugs.webkit.org/show_bug.cgi?id=129195
1408
1409         Reviewed by Simon Fraser.
1410
1411         Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents().
1412         Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer,
1413         RenderView and TileController.
1414
1415         * rendering/RenderLayerBacking.cpp:
1416         (WebCore::RenderLayerBacking::paintContents):
1417         (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
1418
1419 2014-02-21  Jer Noble  <jer.noble@apple.com>
1420
1421         Unreviewed Mac build fix after r164529.
1422
1423         Replace the string-to-array algorithm with a archictecture-independant
1424         one.
1425
1426         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1427         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
1428
1429 2014-02-21  Jer Noble  <jer.noble@apple.com>
1430
1431         [EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
1432         https://bugs.webkit.org/show_bug.cgi?id=129166
1433
1434         Reviewed by Eric Carlson.
1435
1436         Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing
1437         media-source-backed media elements to play protected content.
1438
1439         Add a new CDMSessionMediaSourceAVFObjC class:
1440         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Added.
1441         (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
1442         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Added.
1443         (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
1444         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a
1445             key request until the certificate data has been added via update();
1446         (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op.
1447         (WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been
1448             added, assume the incoming message contains it.
1449
1450         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1451         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1452         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem.
1453         (WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme.
1454         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type.
1455         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added.
1456         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate.
1457         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
1458         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
1459         (WebCore::MediaSourcePrivateAVFObjC::createSession): Added.
1460         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer.
1461         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
1462         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1463         (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
1464             Added, pass through to SourceBufferPrivate.
1465         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
1466         (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember
1467             which track is requesting the key, and pass the request to MediaSourcePrivate.
1468
1469         Add new files to the project.
1470         * WebCore.xcodeproj/project.pbxproj:
1471
1472 2014-02-21  Alexey Proskuryakov  <ap@apple.com>
1473
1474         CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code
1475         https://bugs.webkit.org/show_bug.cgi?id=129193
1476
1477         Reviewed by Joseph Pecoraro.
1478
1479         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
1480         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code.
1481
1482 2014-02-21  Brent Fulgham  <bfulgham@apple.com>
1483
1484         Extend media support for WebVTT sources
1485         https://bugs.webkit.org/show_bug.cgi?id=129156
1486
1487         Reviewed by Eric Carlson.
1488
1489         * Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
1490         * html/HTMLMediaElement.cpp:
1491         (WebCore::HTMLMediaElement::outOfBandTrackSources): Added.
1492         * html/HTMLMediaElement.h:
1493         * platform/graphics/MediaPlayer.cpp:
1494         (WebCore::MediaPlayer::outOfBandTrackSources): Added.
1495         * platform/graphics/MediaPlayer.h:
1496         (WebCore::MediaPlayerClient::outOfBandTrackSources): Added.
1497         * platform/graphics/PlatformTextTrack.h:
1498         (WebCore::PlatformTextTrack::create): Update for new constructor signature.
1499         (WebCore::PlatformTextTrack::createOutOfBand): Added.
1500         (WebCore::PlatformTextTrack::url): Added.
1501         (WebCore::PlatformTextTrack::isDefault): Added.
1502         (WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and
1503         'isDefault' arguments.
1504         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1505         (WebCore::mediaDescriptionForKind): Added.
1506         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any
1507         WebVTT tracks supplied by the web page.
1508         (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band
1509         WebVTT tracks returned by the media engine to avoid double-counting tracks.
1510
1511 2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
1512
1513         Inner text element should not use -webkit-user-modify
1514         https://bugs.webkit.org/show_bug.cgi?id=129035
1515
1516         Reviewed by Andreas Kling.
1517
1518         To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
1519         instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.
1520
1521         Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
1522         RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.    
1523
1524         * html/HTMLFieldSetElement.cpp:
1525         (WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
1526         isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
1527         updateFromControlElementsAncestorDisabledStateUnder.
1528
1529         * html/HTMLFormControlElement.cpp:
1530         (WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
1531         that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
1532         (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
1533         * html/HTMLFormControlElement.h:
1534
1535         * html/HTMLInputElement.cpp:
1536         (WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
1537         shadow DOM for the current input type.
1538         (WebCore::HTMLInputElement::updateType): Ditto.
1539         (WebCore::HTMLInputElement::parseAttribute): Ditto.
1540
1541         * html/HTMLTextAreaElement.cpp:
1542         (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.
1543
1544         * html/HTMLTextFormControlElement.cpp:
1545         (WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
1546         the editability of the inner text element depends on disabled-ness of the element.
1547         (WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
1548         (WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.
1549         * html/HTMLTextFormControlElement.h:
1550
1551         * rendering/RenderTextControl.cpp:
1552         (WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
1553         compute the appropriate EUserModify value instead of hard-coding it here.
1554         * rendering/RenderTextControl.h:
1555
1556 2014-02-21  ChangSeok Oh  <changseok.oh@collabora.com>
1557
1558         [GTK] Support WEBGL_draw_buffers extension.
1559         https://bugs.webkit.org/show_bug.cgi?id=129143
1560
1561         Reviewed by Dean Jackson.
1562
1563         Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs
1564         are exposed for WebGLRenderingContext to access them properly.
1565
1566         Covered by fast/canvas/webgl/webgl-draw-buffers.html
1567
1568         * platform/graphics/OpenGLShims.cpp:
1569         (WebCore::initializeOpenGLShims):
1570         * platform/graphics/OpenGLShims.h:
1571         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1572         (WebCore::Extensions3DOpenGL::supportsExtension):
1573         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
1574
1575 2014-02-21  ChangSeok Oh  <changseok.oh@collabora.com>
1576
1577         Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp
1578         https://bugs.webkit.org/show_bug.cgi?id=128803
1579
1580         Reviewed by Dean Jackson.
1581
1582         Merge mac port implementation of ANGLE_instanced_arrays into common code.
1583
1584         No new tests, no functionality changed.
1585
1586         * platform/graphics/mac/GraphicsContext3DMac.mm:
1587         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1588         (WebCore::Extensions3DOpenGL::drawArraysInstanced):
1589         (WebCore::Extensions3DOpenGL::drawElementsInstanced):
1590         (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
1591         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1592         (WebCore::GraphicsContext3D::vertexAttribDivisor):
1593
1594 2014-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
1595
1596         After copy and paste, cursor may appear to be above the bottom of content
1597         https://bugs.webkit.org/show_bug.cgi?id=129167
1598
1599         Reviewed by Ryosuke Niwa.
1600
1601         Adding a clear:both to the end of content.
1602
1603         I can't handle the case of the cursor appearing above the bottom of
1604         absolutely positioned divs (of the case of floats inside absolutely
1605         positioned divs) because you can't know where the bottom of a div
1606         will end up being rendered (it is affected by things like browser
1607         window width and text size settings). Therefore, the only case I
1608         can handle is the case where there is a floating div in the same
1609         level as the document itself.
1610
1611         Test: editing/pasteboard/copy-paste-inserts-clearing-div.html
1612
1613         * editing/EditingStyle.cpp:
1614         (WebCore::EditingStyle::isFloating):
1615         * editing/EditingStyle.h:
1616         * editing/markup.cpp:
1617         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
1618         (WebCore::StyledMarkupAccumulator::appendElement):
1619         (WebCore::createMarkupInternal):
1620
1621 2014-02-21  Dean Jackson  <dino@apple.com>
1622
1623         [iOS Media] Wireless target UI
1624         https://bugs.webkit.org/show_bug.cgi?id=129189
1625         <rdar://problem/15349928>
1626         <rdar://problem/16100060>
1627
1628         Reviewed by Eric Carlson.
1629
1630         Implement a prototype UI for wireless playback targets. The UI
1631         doesn't currently work, but can be simulated via a class variable
1632         in ControllerIOS.
1633
1634         * Modules/mediacontrols/mediaControlsiOS.css:
1635         (audio::-webkit-media-controls-panel button): Reset the default style of
1636         button elements, to avoid getting a border.
1637         (audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing
1638         the user that the media is playing on another target.
1639         (audio::-webkit-media-controls-wireless-playback-status.hidden):
1640         (audio::-webkit-media-controls-wireless-playback-picker-button): The button to
1641         trigger selection of targets.
1642         (audio::-webkit-media-controls-wireless-playback-picker-button.active):
1643         (audio::-webkit-media-controls-panel): This needs to be position absolute for
1644         the wireless playback status to fill the viewport.
1645         * Modules/mediacontrols/mediaControlsiOS.js:
1646         (ControllerIOS): Check for targets.
1647         (ControllerIOS.prototype.addVideoListeners):
1648         (ControllerIOS.prototype.removeVideoListeners):
1649         (ControllerIOS.prototype.UIString): New method to return localized strings (with
1650         a FIXME).
1651         (ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless
1652         target.
1653         (ControllerIOS.prototype.currentPlaybackTargetIsWireless):
1654         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content,
1655         replacing the device name if it is available.
1656         (ControllerIOS.prototype.updateWirelessTargetAvailable):
1657         (ControllerIOS.prototype.createControls):
1658         (ControllerIOS.prototype.configureInlineControls):
1659         (ControllerIOS.prototype.handleWirelessPlaybackChange):
1660         (ControllerIOS.prototype.handleWirelessTargetAvailableChange):
1661         (ControllerIOS.prototype.handleWirelessPickerButtonClicked):
1662
1663 2014-02-21  Jer Noble  <jer.noble@apple.com>
1664
1665         Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
1666         https://bugs.webkit.org/show_bug.cgi?id=129164
1667
1668         Reviewed by Eric Carlson.
1669
1670         Move the session created by CDMPrivateAVFoundation into platform, and rename
1671         CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want
1672         to support a keysystem from within the media engine can create their own
1673         CDMSession as part of the MediaPlayerPrivate interface.
1674
1675         * Modules/encryptedmedia/CDM.cpp:
1676         (WebCore::installedCDMFactories):
1677         (WebCore::CDM::createSession):
1678         * Modules/encryptedmedia/CDM.h:
1679         * Modules/encryptedmedia/CDMPrivate.h:
1680         * Modules/encryptedmedia/MediaKeySession.cpp:
1681         * Modules/encryptedmedia/MediaKeySession.h:
1682         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed.
1683         * Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp.
1684         (WebCore::CDMPrivateMediaPlayer::supportsKeySystem):
1685         (WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType):
1686         (WebCore::CDMPrivateMediaPlayer::supportsMIMEType):
1687         (WebCore::CDMPrivateMediaPlayer::createSession):
1688         * Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
1689         (WebCore::CDMPrivateMediaPlayer::create):
1690         (WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer):
1691         (WebCore::CDMPrivateMediaPlayer::cdm):
1692         (WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):
1693         * WebCore.xcodeproj/project.pbxproj:
1694         * platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h.
1695         (WebCore::CDMSessionClient::~CDMSessionClient):
1696         (WebCore::CDMSession::CDMSession):
1697         (WebCore::CDMSession::~CDMSession):
1698         * platform/graphics/MediaPlayer.cpp:
1699         (WebCore::MediaPlayer::createSession):
1700         * platform/graphics/MediaPlayer.h:
1701         * platform/graphics/MediaPlayerPrivate.h:
1702         (WebCore::MediaPlayerPrivateInterface::createSession):
1703         * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
1704         (WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):
1705         * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm.
1706         (WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
1707         (WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
1708         (WebCore::CDMSessionAVFoundationObjC::releaseKeys):
1709         (WebCore::CDMSessionAVFoundationObjC::update):
1710         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1711         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1712         (WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
1713         * testing/MockCDM.cpp:
1714         (WebCore::MockCDMSession::setClient):
1715         (WebCore::MockCDM::createSession):
1716         * testing/MockCDM.h:
1717
1718 2014-02-21  Jer Noble  <jer.noble@apple.com>
1719
1720         Add a supportsKeySystem media engine factory parameter.
1721         https://bugs.webkit.org/show_bug.cgi?id=129161
1722
1723         Reviewed by Eric Carlson.
1724
1725         Add a new parameter to the MediaPlayerFactory to allow registered media
1726         engines to be queried for keySystem support:
1727         * platform/graphics/MediaPlayer.cpp:
1728         (WebCore::MediaPlayerFactory::MediaPlayerFactory):
1729         (WebCore::MediaPlayer::supportsKeySystem):
1730         * platform/graphics/MediaPlayer.h:
1731
1732         Support this new field in MediaPlayerPrivateAVFoundationObjC:
1733         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1734         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1735         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
1736         (WebCore::keySystemIsSupported):
1737         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
1738         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
1739
1740         Add an empty field for SupportsKeySystem to the remaining media engines:
1741         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1742         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
1743         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1744         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
1745         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1746         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
1747         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
1748         (WebCore::MediaPlayerPrivateIOS::registerMediaEngine):
1749         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1750         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
1751         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1752         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine):
1753         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1754         (WebCore::MockMediaPlayerMediaSource::registerMediaEngine):
1755
1756 2014-02-21  Benjamin Poulain  <bpoulain@apple.com>
1757
1758         Fix WebCore's internals after r164505
1759
1760         * testing/Internals.cpp:
1761         (WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505.
1762
1763 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
1764
1765         Web Inspector: JSContext inspection should report exceptions in the console
1766         https://bugs.webkit.org/show_bug.cgi?id=128776
1767
1768         Reviewed by Timothy Hatcher.
1769
1770         Include some clean up of ConsoleMessage and ScriptCallStack construction.
1771
1772         Covered by existing tests.
1773
1774         * bindings/js/JSDOMBinding.cpp:
1775         (WebCore::reportException):
1776         Simplify code now that createStackTraceFromException handles it.
1777
1778         * page/ContentSecurityPolicy.cpp:
1779         (WebCore::gatherSecurityPolicyViolationEventData):
1780         (WebCore::ContentSecurityPolicy::reportViolation):
1781         ScriptCallStack can give us the first non-native callframe.
1782
1783         * inspector/InspectorResourceAgent.cpp:
1784         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1785         * inspector/PageDebuggerAgent.cpp:
1786         (WebCore::PageDebuggerAgent::breakpointActionLog):
1787         * inspector/TimelineRecordFactory.cpp:
1788         (WebCore::TimelineRecordFactory::createGenericRecord):
1789         * page/Console.cpp:
1790         (WebCore::internalAddMessage):
1791         (WebCore::Console::profile):
1792         (WebCore::Console::profileEnd):
1793         (WebCore::Console::timeEnd):
1794         * page/ContentSecurityPolicy.cpp:
1795         (WebCore::gatherSecurityPolicyViolationEventData):
1796         (WebCore::ContentSecurityPolicy::reportViolation):
1797         * page/DOMWindow.cpp:
1798         (WebCore::DOMWindow::postMessage):
1799
1800 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
1801
1802         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
1803         https://bugs.webkit.org/show_bug.cgi?id=128893
1804
1805         Reviewed by Darin Adler.
1806
1807         The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter.
1808         Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString
1809         to make the call.
1810
1811         This had two negative consequences:
1812         -The call sites were ref-ing the ID's atomic string for no reason.
1813         -When there is no ID associated with the input string, an atomic string was created for the sole
1814          purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing
1815          AtomicString for the input, there is no reason to query anything.
1816
1817         * WebCore.exp.in:
1818         * bindings/js/JSDOMBinding.cpp:
1819         (WebCore::findAtomicString): Update this after the rename.
1820
1821         * bindings/scripts/CodeGeneratorObjC.pm:
1822         (GenerateImplementation):
1823         * bindings/scripts/IDLAttributes.txt:
1824         Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString*
1825         is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString.
1826
1827         * dom/Document.idl:
1828         * dom/TreeScope.cpp:
1829         (WebCore::TreeScope::getElementById):
1830         When getting an AtomicString, the case of a empty string is not important, use isNull() instead.
1831         When getting a String, get the corresponding AtomicString if any and use that for getting the element.
1832
1833         * dom/TreeScope.h:
1834         * html/FTPDirectoryDocument.cpp:
1835         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
1836         Solve the ambiguous call.
1837
1838         * svg/SVGAElement.cpp:
1839         (WebCore::SVGAElement::defaultEventHandler):
1840         This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since
1841         the new getElementById never create any AtomicString.
1842
1843         * svg/SVGSVGElement.cpp:
1844         (WebCore::SVGSVGElement::getElementById):
1845         It looks like there are opportunities to get faster here, Ryosuke should have a look.
1846
1847         * svg/SVGSVGElement.h:
1848         * xml/XMLTreeViewer.cpp:
1849         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1850         Unrelated cleanup: noStyleMessage was useless.
1851
1852 2014-02-21  Daniel Bates  <dabates@apple.com>
1853
1854         COL element in table has 0 for offsetWidth
1855         https://bugs.webkit.org/show_bug.cgi?id=15277
1856
1857         Reviewed by David Hyatt.
1858
1859         Implements offset{Left, Top, Width, Height} for table columns and column groups
1860         per section Extensions to the HTMLElement Interface of the CSSOM View spec,
1861         <http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013).
1862
1863         For now, we fail almost all of the offset{Height, Top} sub-tests in the included test
1864         for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.
1865
1866         Test: fast/table/col-and-colgroup-offsets.html
1867
1868         * rendering/RenderTable.cpp:
1869         (WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height.
1870         We cache these offsets since they are the same for all columns in the table.
1871         (WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map.
1872         (WebCore::RenderTable::invalidateCachedColumnOffsets): Added.
1873         (WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height
1874         of one or more sections may have changed.
1875         (WebCore::RenderTable::updateColumnCache): Modified to build effective column index map.
1876         (WebCore::RenderTable::effectiveIndexOfColumn): Added.
1877         (WebCore::RenderTable::offsetTopForColumn): Added.
1878         (WebCore::RenderTable::offsetLeftForColumn): Added.
1879         (WebCore::RenderTable::offsetWidthForColumn): Added.
1880         (WebCore::RenderTable::offsetHeightForColumn): Added.
1881         * rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const.
1882         * rendering/RenderTableCol.cpp:
1883         (WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn().
1884         (WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn().
1885         (WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn().
1886         (WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn().
1887         * rendering/RenderTableCol.h:
1888
1889 2014-02-21  Enrica Casucci  <enrica@apple.com>
1890
1891         Build fix for iOS after r164498.
1892
1893         Unreviewed.
1894
1895         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
1896         (WebCore::MediaPlayerPrivateIOS::buffered):
1897
1898 2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
1899
1900         Disallow the use of -webkit-user-modify on shadow pseudo elements
1901         https://bugs.webkit.org/show_bug.cgi?id=129144
1902
1903         Reviewed by Geoffrey Garen.
1904
1905         Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.
1906
1907         We've already had rules to do this in html.css but just hard code it into the engine
1908         in order to eliminate the all uses of -webkit-user-modify in html.css.
1909
1910         * css/StyleResolver.cpp:
1911         (WebCore::StyleResolver::adjustRenderStyle):
1912         * css/html.css:
1913         (input::-webkit-textfield-decoration-container):
1914         (input::-webkit-clear-button):
1915         (input[type="search"]::-webkit-search-cancel-button):
1916         (input[type="search"]::-webkit-search-decoration):
1917         (input[type="search"]::-webkit-search-results-decoration):
1918         (input[type="search"]::-webkit-search-results-button):
1919         (input::-webkit-inner-spin-button):
1920         (input::-webkit-input-speech-button):
1921         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
1922         (input[type="file"]::-webkit-file-upload-button):
1923         (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
1924         (input[type="range"]::-webkit-slider-runnable-track):
1925         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
1926         (input[type="color"]::-webkit-color-swatch-wrapper):
1927         (input[type="color"]::-webkit-color-swatch):
1928         (::-webkit-validation-bubble):
1929         (::-webkit-validation-bubble-message):
1930         (::-webkit-validation-bubble-text-block):
1931         (::-webkit-validation-bubble-heading):
1932         (::-webkit-validation-bubble-arrow):
1933         (::-webkit-validation-bubble-arrow-clipper):
1934         (meter::-webkit-meter-inner-element):
1935         (meter::-webkit-meter-bar):
1936         (meter::-webkit-meter-optimum-value):
1937         (meter::-webkit-meter-suboptimum-value):
1938         (meter::-webkit-meter-even-less-good-value):
1939         (progress::-webkit-progress-inner-element):
1940         (progress::-webkit-progress-bar):
1941         (progress::-webkit-progress-value):
1942
1943 2014-02-21  Eric Carlson  <eric.carlson@apple.com>
1944
1945         Fix TimeRanges layering violations
1946         https://bugs.webkit.org/show_bug.cgi?id=128717
1947
1948         Reviewed by Jer Noble.
1949
1950         No new tests, no functionality changed.
1951
1952         * CMakeLists.txt:
1953         * GNUmakefile.list.am: Add PlatformTimeRanges.
1954
1955         * Modules/mediasource/MediaSource.cpp:
1956         (WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges.
1957         * Modules/mediasource/MediaSource.h:
1958
1959         * Modules/mediasource/SourceBuffer.cpp:
1960         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&.
1961
1962         * WebCore.exp.in: Update for signature changes.
1963
1964         * WebCore.vcxproj/WebCore.vcxproj:
1965         * WebCore.vcxproj/WebCore.vcxproj.filters:
1966         * WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges.
1967
1968         * html/HTMLMediaElement.cpp:
1969         (WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges.
1970         (WebCore::HTMLMediaElement::buffered): Ditto.
1971         (WebCore::HTMLMediaElement::seekable): Ditto.
1972
1973         * html/MediaController.cpp:
1974         (MediaController::buffered): TimeRanges* -> TimeRanges&.
1975         (MediaController::seekable): Ditto.
1976         (MediaController::played): Ditto.
1977
1978         Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*.
1979         * html/TimeRanges.cpp:
1980         (WebCore::TimeRanges::create): Move to .cpp from .h.
1981         (WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable.
1982         (WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges.
1983         (WebCore::TimeRanges::end): Ditto.
1984         (WebCore::TimeRanges::invert): Ditto.
1985         (WebCore::TimeRanges::copy): Ditto.
1986         (WebCore::TimeRanges::intersectWith): Ditto.
1987         (WebCore::TimeRanges::unionWith): Ditto.
1988         (WebCore::TimeRanges::length): Ditto.
1989         (WebCore::TimeRanges::add): Ditto.
1990         (WebCore::TimeRanges::contain): Ditto.
1991         (WebCore::TimeRanges::find): Ditto.
1992         (WebCore::TimeRanges::nearest): Ditto.
1993         (WebCore::TimeRanges::totalDuration): Ditto.
1994         * html/TimeRanges.h:
1995
1996         * platform/graphics/MediaPlayer.cpp:
1997         (WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges.
1998         (WebCore::MediaPlayer::buffered): Ditto.
1999         (WebCore::MediaPlayer::seekable): Ditto.
2000         * platform/graphics/MediaPlayer.h:
2001         * platform/graphics/MediaPlayerPrivate.h:
2002
2003         * platform/graphics/MediaSourcePrivateClient.h:
2004
2005         * platform/graphics/PlatformTimeRanges.cpp: Added.
2006         * platform/graphics/PlatformTimeRanges.h: Added.
2007
2008         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2009         (WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges.
2010         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log
2011             FunctionType notifications. ASSERT when passed an unknown notification.
2012
2013         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2014         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2015         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):  TimeRanges -> PlatformTimeRanges.
2016         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2017         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2018         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2019         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto.
2020         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto.
2021
2022         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2023         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2024         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto.
2025         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.
2026
2027         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2028         (WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
2029         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2030
2031         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
2032         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
2033         (WebCore::MediaPlayerPrivateIOS::buffered): Ditto.
2034
2035         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2036         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2037         (WebCore::MediaPlayerPrivateQTKit::buffered): Ditto.
2038
2039         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2040         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto.
2041         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2042
2043         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
2044
2045         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2046         (WebCore::MockMediaPlayerMediaSource::buffered): Ditto.
2047         (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
2048         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2049
2050 2014-02-21  Enrica Casucci  <enrica@apple.com>
2051
2052         Support WebSelections in WK2 on iOS.
2053         https://bugs.webkit.org/show_bug.cgi?id=127015
2054         <rdar://problem/15211964>
2055
2056         Reviewed by Benjamin Poulain.
2057
2058         Adding some exports.
2059
2060         * WebCore.exp.in:
2061
2062 2014-02-21  Benjamin Poulain  <bpoulain@apple.com>
2063
2064         'mouseenter' mouse compat event not fired when listeners for touch events
2065         https://bugs.webkit.org/show_bug.cgi?id=128534
2066
2067         Reviewed by Andreas Kling.
2068
2069         The code dispatching mouseenter and mouseleave events was making the assumption that
2070         only mouse move would cause Document::updateHoverActiveState.
2071
2072         This is not true in some cases. In the case of this bug, the first touch handler sets
2073         the hover state. From there, the code handling enter/leave is in an inconsistent state.
2074
2075         This patch changes the delivery of mouse enter/leave events to be done through the regular
2076         processing of mouse events. The update is done with the mouseover and mouseout events.
2077
2078         * dom/Document.cpp:
2079         (WebCore::Document::prepareMouseEvent):
2080         (WebCore::Document::updateHoverActiveState):
2081         * dom/Document.h:
2082         * page/EventHandler.cpp:
2083         (WebCore::nearestCommonHoverAncestor):
2084         (WebCore::hierarchyHasCapturingEventListeners):
2085         (WebCore::EventHandler::updateMouseEventTargetNode):
2086
2087 2014-02-21  Jon Honeycutt  <jhoneycutt@apple.com>
2088
2089         Crash reloading page with position: fixed content
2090         https://bugs.webkit.org/show_bug.cgi?id=129119
2091         <rdar://problem/16127090>
2092
2093         Reviewed by Brent Fulgham.
2094
2095         Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html
2096
2097         * page/scrolling/ScrollingTree.cpp:
2098         (WebCore::ScrollingTree::removeDestroyedNodes):
2099         Check the node's ID against the latched node's ID before the node is
2100         removed from the tree.
2101
2102 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
2103
2104         Revert r164486, causing a number of test failures.
2105
2106         Unreviewed rollout.
2107
2108 2014-02-21  David Kilzer  <ddkilzer@apple.com>
2109
2110         StyleResolver::loadPendingImage() should take a reference to StylePendingImage
2111         <http://webkit.org/b/129021>
2112
2113         Reviewed by Brent Fulgham.
2114
2115         * css/StyleResolver.cpp:
2116         (WebCore::StyleResolver::loadPendingImage): Change pendingImage
2117         parameter to a reference.
2118         (WebCore::StyleResolver::loadPendingShapeImage): Update to use
2119         references.
2120         (WebCore::StyleResolver::loadPendingImages): Ditto.
2121         * css/StyleResolver.h:
2122         (WebCore::StyleResolver::loadPendingImage): Change pendingImage
2123         parameter to a reference.
2124
2125 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
2126
2127         Web Inspector: JSContext inspection should report exceptions in the console
2128         https://bugs.webkit.org/show_bug.cgi?id=128776
2129
2130         Reviewed by Timothy Hatcher.
2131
2132         Include some clean up of ConsoleMessage and ScriptCallStack construction.
2133
2134         Covered by existing tests.
2135
2136         * bindings/js/JSDOMBinding.cpp:
2137         (WebCore::reportException):
2138         Simplify code now that createStackTraceFromException handles it.
2139
2140         * page/ContentSecurityPolicy.cpp:
2141         (WebCore::gatherSecurityPolicyViolationEventData):
2142         (WebCore::ContentSecurityPolicy::reportViolation):
2143         ScriptCallStack can give us the first non-native callframe.
2144
2145         * inspector/InspectorResourceAgent.cpp:
2146         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2147         * inspector/PageDebuggerAgent.cpp:
2148         (WebCore::PageDebuggerAgent::breakpointActionLog):
2149         * inspector/TimelineRecordFactory.cpp:
2150         (WebCore::TimelineRecordFactory::createGenericRecord):
2151         * page/Console.cpp:
2152         (WebCore::internalAddMessage):
2153         (WebCore::Console::profile):
2154         (WebCore::Console::profileEnd):
2155         (WebCore::Console::timeEnd):
2156         * page/ContentSecurityPolicy.cpp:
2157         (WebCore::gatherSecurityPolicyViolationEventData):
2158         (WebCore::ContentSecurityPolicy::reportViolation):
2159         * page/DOMWindow.cpp:
2160         (WebCore::DOMWindow::postMessage):
2161
2162 2014-02-21  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
2163
2164         Fixing the !ENABLE(SVG_FONTS) build
2165         https://bugs.webkit.org/show_bug.cgi?id=129150
2166
2167         Reviewed by Anders Carlsson.
2168
2169         No new tests required.
2170
2171         * svg/SVGAltGlyphElement.cpp:
2172         * svg/SVGAltGlyphElement.h:
2173         * svg/svgtags.in:
2174
2175 2014-02-21  Radu Stavila  <stavila@adobe.com>
2176
2177         [CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible
2178         https://bugs.webkit.org/show_bug.cgi?id=128599
2179
2180         Reviewed by Andrei Bucur.
2181
2182         Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible.
2183         Move named flow specific methods from RenderRegion to RenderNamedFlowFragment.
2184
2185         No new tests required.
2186
2187         * dom/Element.cpp:
2188         (WebCore::Element::renderNamedFlowFragment):
2189         (WebCore::Element::webkitRegionOverset):
2190         (WebCore::Element::webkitGetRegionFlowRanges):
2191         * dom/Element.h:
2192         * inspector/InspectorCSSAgent.cpp:
2193         (WebCore::InspectorCSSAgent::buildArrayForRegions):
2194         * rendering/PaintInfo.h:
2195         (WebCore::PaintInfo::PaintInfo):
2196         * rendering/RenderBlock.cpp:
2197         (WebCore::RenderBlock::paint):
2198         (WebCore::RenderBlock::paintObject):
2199         * rendering/RenderBox.cpp:
2200         (WebCore::RenderBox::paintBoxDecorations):
2201         (WebCore::RenderBox::pushContentsClip):
2202         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2203         * rendering/RenderBox.h:
2204         * rendering/RenderBoxModelObject.cpp:
2205         (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
2206         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2207         * rendering/RenderBoxModelObject.h:
2208         * rendering/RenderInline.h:
2209         * rendering/RenderLayer.cpp:
2210         (WebCore::RenderLayer::paint):
2211         (WebCore::RenderLayer::paintLayer):
2212         (WebCore::RenderLayer::paintLayerContents):
2213         (WebCore::RenderLayer::paintLayerByApplyingTransform):
2214         (WebCore::RenderLayer::updatePaintingInfoForFragments):
2215         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
2216         (WebCore::RenderLayer::paintBackgroundForFragments):
2217         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
2218         (WebCore::RenderLayer::paintOutlineForFragments):
2219         (WebCore::RenderLayer::paintMaskForFragments):
2220         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
2221         (WebCore::RenderLayer::calculateClipRects):
2222         * rendering/RenderLayer.h:
2223         * rendering/RenderNamedFlowFragment.cpp:
2224         (WebCore::RenderNamedFlowFragment::getRanges):
2225         * rendering/RenderNamedFlowFragment.h:
2226         * rendering/RenderNamedFlowThread.cpp:
2227         (WebCore::RenderNamedFlowThread::updateWritingMode):
2228         (WebCore::compareRenderNamedFlowFragments):
2229         (WebCore::addFragmentToList):
2230         (WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):
2231         (WebCore::RenderNamedFlowThread::addRegionToThread):
2232         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
2233         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
2234         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
2235         (WebCore::RenderNamedFlowThread::getRanges):
2236         (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
2237         (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
2238         * rendering/RenderNamedFlowThread.h:
2239         * rendering/RenderRegion.cpp:
2240         * rendering/RenderRegion.h:
2241         * rendering/RenderReplaced.cpp:
2242         (WebCore::RenderReplaced::shouldPaint):
2243         * rendering/RenderReplica.cpp:
2244         (WebCore::RenderReplica::paint):
2245         * rendering/RootInlineBox.cpp:
2246         (WebCore::RootInlineBox::paint):
2247         * rendering/svg/RenderSVGRoot.cpp:
2248         (WebCore::RenderSVGRoot::paintReplaced):
2249
2250 2014-02-21  Andrei Bucur  <abucur@adobe.com>
2251
2252         [CSS Regions] Regions don't paint correctly in new-multicol elements
2253         https://bugs.webkit.org/show_bug.cgi?id=120711
2254
2255         Reviewed by David Hyatt.
2256
2257         This patch implements basic support for regions inside multi-column elements.
2258         Currently, the painting and hit-testing logic of CSS Regions is not aware of
2259         enclosing multi-column elements. The change is integrated at a layer level by
2260         making use of the pre-computed layer fragments during the painting and hit-testing
2261         phases for regions.
2262
2263         There are limitations such that self painting layers found inside the named flow
2264         thread layer will not be correctly processed because they don't go through the
2265         layer fragment collection step. This is not trivial to implement because the enclosing
2266         pagination layer provided by the multi-column element is not visibile from inside
2267         the named flow thread layer and they reside in different coordinate systems.
2268
2269         A side effect of this patch is the fix of regions incorrect clipping in certain
2270         cases (when both a region and its container clip their overflow, the region's
2271         content is visible outside the container).
2272
2273         Tests: fast/regions/region-clipping.html
2274                fast/regions/regions-in-multicol-bt.html
2275                fast/regions/regions-in-multicol-hover-overflow.html
2276                fast/regions/regions-in-multicol-hover.html
2277                fast/regions/regions-in-multicol-lr.html
2278                fast/regions/regions-in-multicol-rl.html
2279                fast/regions/regions-in-multicol.html
2280
2281         * rendering/RenderLayer.cpp:
2282         (WebCore::RenderLayer::paintLayerContents):
2283         (WebCore::RenderLayer::hitTestLayer):
2284         (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
2285         (WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments):
2286         * rendering/RenderLayer.h:
2287
2288 2014-02-21  Mihai Tica  <mitica@adobe.com>
2289
2290         [CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
2291         https://bugs.webkit.org/show_bug.cgi?id=128805
2292
2293         Reviewed by Dean Jackson.
2294
2295         The spec defines the mix-blend-mode property. This means that the
2296         prefixed version should be -webkit-mix-blend-mode, instead of
2297         -webkit-blend-mode.
2298
2299         * css/CSSComputedStyleDeclaration.cpp:
2300         (WebCore::ComputedStyleExtractor::propertyValue):
2301         * css/CSSParser.cpp:
2302         (WebCore::isValidKeywordPropertyAndValue):
2303         (WebCore::isKeywordPropertyID):
2304         (WebCore::CSSParser::parseValue):
2305         * css/CSSPropertyNames.in:
2306         * css/DeprecatedStyleBuilder.cpp:
2307         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2308
2309 2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2310
2311         Bindings tests rebaseline after r164473.
2312
2313         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2314         (-[DOMTestObj mutablePoint]):
2315         (-[DOMTestObj immutablePoint]):
2316         (-[DOMTestObj mutablePointFunction]):
2317         (-[DOMTestObj immutablePointFunction]):
2318         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
2319         (-[DOMTestTypedefs immutablePointFunction]):
2320
2321 2014-02-21  Tim Horton  <timothy_horton@apple.com>
2322
2323         Remove removed symbol from exports list.
2324
2325         * WebCore.exp.in:
2326
2327 2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
2328
2329         Rename EXT_draw_buffers to WEBGL_draw_buffers
2330         https://bugs.webkit.org/show_bug.cgi?id=128894
2331
2332         Reviewed by Dean Jackson.
2333
2334         I noticed the related spec has changed. Accordingly chromium also changed its implementation
2335         to meet the spec. So here I'd like to apply it to webkit as well.
2336
2337         Merged from Blink (patch by bajones):
2338         https://src.chromium.org/viewvc/blink?revision=152065&view=revision
2339
2340         Test: fast/canvas/webgl/webgl-draw-buffers.html
2341
2342         * CMakeLists.txt:
2343         * DerivedSources.cpp:
2344         * DerivedSources.make:
2345         * GNUmakefile.list.am:
2346         * WebCore.vcxproj/WebCore.vcxproj:
2347         * WebCore.vcxproj/WebCore.vcxproj.filters:
2348         * WebCore.xcodeproj/project.pbxproj:
2349         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2350         (WebCore::toJS):
2351         * html/canvas/EXTDrawBuffers.idl: Removed.
2352         * html/canvas/WebGLDrawBuffers.cpp: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.cpp.
2353         (WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
2354         (WebCore::WebGLDrawBuffers::~WebGLDrawBuffers):
2355         (WebCore::WebGLDrawBuffers::getName):
2356         (WebCore::WebGLDrawBuffers::create):
2357         (WebCore::WebGLDrawBuffers::supported):
2358         (WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
2359         (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
2360         * html/canvas/WebGLDrawBuffers.h: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.h.
2361         * html/canvas/WebGLDrawBuffers.idl: Added.
2362         * html/canvas/WebGLExtension.h:
2363         * html/canvas/WebGLFramebuffer.cpp:
2364         (WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
2365         * html/canvas/WebGLRenderingContext.cpp:
2366         (WebCore::WebGLRenderingContext::getExtension):
2367         (WebCore::WebGLRenderingContext::getParameter):
2368         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2369         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2370         (WebCore::WebGLRenderingContext::supportsDrawBuffers):
2371         * html/canvas/WebGLRenderingContext.h:
2372
2373 2014-02-20  Ryosuke Niwa  <rniwa@webkit.org>
2374
2375         m_ancestorDisabledState should never be unknown
2376         https://bugs.webkit.org/show_bug.cgi?id=129084
2377
2378         Reviewed by Benjamin Poulain.
2379
2380         In order to resolve the bug 129035, a text form control elements needs to synchronously change
2381         its inner text element's editability by setting or unsetting contenteditable content attribute.
2382         Before this patch, we could not do this because editability of a text form control dependent on
2383         its disabled-ness which was only computed lazily via updateAncestorDisabledState().
2384
2385         This patch makes HTMLFieldSetElement and HTMLFormControlElement update this state synchronously.
2386         To avoid O(k) DOM traversal, where k is the depth of the tree, in insertedInto and removedFrom of
2387         HTMLFormControlElement on most pages, a new document-level flag, m_disabledFieldsetElementsCount,
2388         has been added to indicate whether the document contains any disabled fieldset or not.
2389
2390         Also renamed the misleadingly named disabledAttributeChanged to disabledStateChanged, and added
2391         new function of the same name (disabledAttributeChanged) to be used by HTMLFieldSetElement
2392         for keeping the document-level flag up-to-date upon disabled attribute changes.
2393
2394         Tests: fast/forms/fieldset/fieldset-disabled-2.html
2395
2396         * dom/Document.cpp:
2397         (WebCore::Document::Document): Initializes newly added m_disabledFieldsetElementsCount.
2398         (WebCore::Document::~Document): Assert that we've done house keeping right.
2399         * dom/Document.h:
2400         (WebCore::Document::hasDisabledFieldsetElement): Added.
2401         (WebCore::Document::addDisabledFieldsetElement): Added.
2402         (WebCore::Document::removeDisabledFieldsetElement): Added.
2403
2404         * html/HTMLFieldSetElement.cpp:
2405         (WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): Removes itself from the owner document.
2406
2407         (WebCore::updateFromControlElementsAncestorDisabledStateUnder): Added. Updates startNode and
2408         its descendants' ancestor disabled flag. We don't update controls under another disabled
2409         fieldset element since disabled-ness of those controls aren't affected by startNode.
2410
2411         (WebCore::HTMLFieldSetElement::disabledAttributeChanged): Call addDisabledFieldsetElement and
2412         removeDisabledFieldsetElement to update the owner document's flag.
2413
2414         (WebCore::HTMLFieldSetElement::disabledStateChanged): Renamed from disabledAttributeChanged. 
2415         Enable form control elements under the first legend element and disable or enable other
2416         descendent form controls in accordance with the presence of disabled content attribute.
2417
2418         (WebCore::HTMLFieldSetElement::childrenChanged): Update disabled-ness of form controls under
2419         child legend elements because controls aren't disabled in the first legend element, and adding
2420         or removing child elements may have changed the first legend element.
2421
2422         (WebCore::HTMLFieldSetElement::didMoveToNewDocument): Update the flag on the owner document.
2423         * html/HTMLFieldSetElement.h:
2424
2425         * html/HTMLFormControlElement.cpp:
2426         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2427         (WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor): Returns boolean instead of
2428         updating m_ancestorDisabledState internally. Also renamed from updateAncestorDisabledState.
2429
2430         (WebCore::HTMLFormControlElement::setAncestorDisabled): Replaced ancestorDisabledStateWasChanged.
2431         This function updates m_disabledByAncestorFieldset and calls disabledAttributeChanged as needed.
2432
2433         (WebCore::HTMLFormControlElement::disabledAttributeChanged): Added. Calls disabledStateChanged.
2434         (WebCore::HTMLFormControlElement::disabledStateChanged): Renamed from disabledAttributeChanged.
2435
2436         (WebCore::HTMLFormControlElement::insertedInto): Update m_disabledByAncestorFieldset if there is
2437         a possibility (i.e. the document contains any disabled fieldset element) that this form control
2438         is inserted under a disabled fieldset element.
2439
2440         (WebCore::HTMLFormControlElement::removedFrom): If this form control element is not disabled by
2441         a fieldset ancestor, then there is nothing to do. If it is, then check to see if the element is
2442         still disabled now that we've lost some ancestors.
2443
2444         (WebCore::HTMLFormControlElement::isDisabledFormControl): No longer updates m_ancestorDisabledState
2445         lazily since m_disabledByAncestorFieldset is never ambiguous now.
2446
2447         * html/HTMLFormControlElement.h:
2448         (WebCore::HTMLFormControlElement::disabledByAncestorFieldset): Added.
2449
2450 2014-02-20  Zalan Bujtas  <zalan@apple.com>
2451
2452         Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.
2453         https://bugs.webkit.org/show_bug.cgi?id=129137
2454
2455         Reviewed by Simon Fraser.
2456
2457         No change in behavior.
2458
2459         * editing/DeleteButtonController.cpp:
2460         (WebCore::DeleteButtonController::createDeletionUI):
2461         * page/Page.cpp:
2462         * page/Page.h:
2463         * platform/graphics/GraphicsContext.cpp:
2464         (WebCore::GraphicsContext::GraphicsContext):
2465         * platform/graphics/GraphicsContext.h:
2466         * platform/graphics/cg/GraphicsContextCG.cpp:
2467         (WebCore::GraphicsContext::platformInit):
2468         * rendering/RenderBoxModelObject.cpp:
2469         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2470         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2471         * rendering/RenderImage.cpp:
2472         (WebCore::RenderImage::imageSizeForError):
2473         (WebCore::RenderImage::paintReplaced):
2474         * rendering/RenderLayer.cpp:
2475         (WebCore::RenderLayer::drawPlatformResizerImage):
2476         * rendering/RenderObject.cpp:
2477         (WebCore::RenderObject::drawLineForBoxSide):
2478         * rendering/RenderThemeMac.mm:
2479         (WebCore::RenderThemeMac::paintProgressBar):
2480         * rendering/svg/SVGRenderingContext.cpp:
2481         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
2482
2483 2014-02-20  David Kilzer  <ddkilzer@apple.com>
2484
2485         Stop generating Objective-C bindings for the SVG DOM
2486         <http://webkit.org/b/129107>
2487
2488         Reviewed by Timothy Hatcher.
2489
2490         Bug 114076 stopped compiling the Objective-C bindings for the
2491         SVG DOM, but we continued to generate the header and source
2492         files after that landed in r147822.  This patch also stops
2493         generating the unused header and source files.
2494
2495         * DerivedSources.make:
2496         - Split BINDING_IDLS into NON_SVG_BINDING_IDLS and
2497           SVG_BINDING_IDLS so that they may operated on separately.
2498         - Define BINDING_IDLS again as the full list of IDL files.
2499         - Rename DOM_CLASSES to JS_DOM_CLASSES so that JavaScript
2500           bindings are still generated for all IDL files.
2501         - Add OBJC_DOM_CLASSES so that Objective-C bindings are only
2502           generated for non-SVG IDL files.
2503
2504         * bindings/scripts/CodeGeneratorObjC.pm:
2505         (GetBaseClass):
2506         (GetPropertyAttributes):
2507         (AddIncludesForType):
2508         (GenerateHeader):
2509         (GenerateImplementation):
2510         - Remove support for SVG classes.
2511
2512 2014-02-20  Simon Fraser  <simon.fraser@apple.com>
2513
2514         RenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles
2515         https://bugs.webkit.org/show_bug.cgi?id=129075
2516
2517         Reviewed by Dean Jackson.
2518
2519         updateShapeOutsideInfoAfterStyleChange() showed up on profiles in content
2520         with no shapes. Avoid calling this if no style has shapeOutside().
2521
2522         * rendering/RenderBox.cpp:
2523         (WebCore::RenderBox::styleDidChange):
2524
2525 2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
2526
2527         Remove unused chromium stuff in Extensions3D
2528         https://bugs.webkit.org/show_bug.cgi?id=129086
2529
2530         Reviewed by Anders Carlsson.
2531
2532         Remove GL_CHROMIUM_copy_texture and GL_CHROMIUM_flipy interfaces since they are used nowhere.
2533
2534         No new tests since no functionality changed.
2535
2536         * platform/graphics/Extensions3D.h:
2537         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2538         * platform/graphics/opengl/Extensions3DOpenGL.h:
2539         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
2540         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2541
2542 2014-02-20  Joseph Pecoraro  <pecoraro@apple.com>
2543
2544         [iOS] Assert / crash trying to draw empty checked input
2545         https://bugs.webkit.org/show_bug.cgi?id=129138
2546
2547         Reviewed by Simon Fraser.
2548
2549         Test: fast/forms/checkbox-empty-size.html
2550
2551         * rendering/RenderThemeIOS.mm:
2552         (WebCore::shortened):
2553         Avoid a divide by 0, but checking for the condition upfront.
2554
2555 2014-02-20  Benjamin Poulain  <bpoulain@apple.com>
2556
2557         Start fixing the view states driven by the WKScrollView
2558         https://bugs.webkit.org/show_bug.cgi?id=129140
2559
2560         Reviewed by Tim Horton and Simon Fraser.
2561
2562         * platform/graphics/ca/mac/TileController.mm:
2563         (WebCore::TileController::scaledExposedRect):
2564         That comment was more confusing than helping. FrameView-relative coordinates should not need
2565         scaling.
2566
2567 2014-02-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2568
2569         Start to use std::unique_ptr for DragImageLoader
2570         https://bugs.webkit.org/show_bug.cgi?id=129078
2571
2572         Reviewed by Ryosuke Niwa.
2573
2574         As a step to use std::unique_ptr, this patch replace uses of OwnPtr and PassOwnPtr
2575         in the DragImageLoader class with std::unique_ptr. Besides DragImageLoader is set to
2576         non-copyable class.
2577
2578         * dom/Clipboard.cpp:
2579         (WebCore::Clipboard::setDragImage):
2580         * dom/Clipboard.h:
2581
2582 2014-02-20  Brady Eidson  <beidson@apple.com>
2583
2584         Move the image controls setting to Settings.in
2585         https://bugs.webkit.org/show_bug.cgi?id=129126
2586
2587         Reviewed by Tim Horton.
2588
2589         * page/Settings.cpp:
2590         (WebCore::Settings::Settings):
2591         * page/Settings.h:
2592         * page/Settings.in:
2593
2594 2014-02-20  Brady Eidson  <beidson@apple.com>
2595
2596         Add very basic image control rendering
2597         https://bugs.webkit.org/show_bug.cgi?id=129080
2598
2599         Reviewed by Tim Horton.
2600
2601         Test: fast/images/image-controls-basic.html
2602
2603         This patch is groundwork that adds a very basic image control that can render on top of images.
2604
2605         * dom/Node.h:
2606         (WebCore::Node:: isImageControlsRootElement): Returns false, unless you are an ImageControls object.
2607         * html/HTMLAttributeNames.in:
2608
2609         Teach HTMLImageElement how to understand an experimental attribute to install controls,
2610         how to actually build the DOM to attach to the shadow root, how to tear that DOM down,
2611         and how to make sure that Renderers are created for that DOM:
2612         * html/HTMLImageElement.cpp:
2613         (WebCore::HTMLImageElement::HTMLImageElement):
2614         (WebCore::HTMLImageElement::parseAttribute):
2615         (WebCore::HTMLImageElement::didAttachRenderers):
2616         (WebCore::HTMLImageElement::updateImageControls):
2617         (WebCore::HTMLImageElement::createImageControls):
2618         (WebCore::HTMLImageElement::destroyImageControls):
2619         (WebCore::HTMLImageElement::hasImageControls):
2620         (WebCore::HTMLImageElement::childShouldCreateRenderer):
2621         * html/HTMLImageElement.h:
2622         (WebCore::HTMLImageElement::hasShadowControls): For RenderImage to query when it is constructed. 
2623
2624         Add a generic, platform independent ImageControls root element that does nothing:
2625         * html/shadow/ImageControlsRootElement.cpp: Added.
2626         (WebCore::ImageControlsRootElement::maybeCreate):
2627         (WebCore::ImageControlsRootElement::ImageControlsRootElement):
2628         (WebCore::ImageControlsRootElement::~ImageControlsRootElement):
2629         * html/shadow/ImageControlsRootElement.h: Added.
2630
2631         Add a Mac-specific ImageControls root element that renders a 20x20 red box (for now):
2632         * html/shadow/mac/ImageControlsRootElementMac.cpp: Added.
2633         (WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
2634         (WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac):
2635         (WebCore::ImageControlsRootElement::maybeCreate):
2636         (WebCore::ImageControlsRootElementMac::maybeCreate):
2637         * html/shadow/mac/ImageControlsRootElementMac.h: Added.
2638
2639         Since much of the RenderMedia::layout() method is now required for RenderImage as well,
2640         move the logic to RenderImage. The extra work is controlled by a bool flag that will always
2641         be set for RenderMedias but will only be set for certain RenderImages:
2642         * rendering/RenderImage.cpp:
2643         (WebCore::RenderImage::RenderImage):
2644         (WebCore::RenderImage::canHaveChildren):
2645         (WebCore::RenderImage::layout):
2646         (WebCore::RenderImage::layoutShadowControls):
2647         * rendering/RenderImage.h:
2648         (WebCore::RenderImage::setHasShadowControls):
2649         (WebCore::RenderImage::shadowControlsNeedCustomLayoutMetrics):
2650
2651         * rendering/RenderMedia.cpp:
2652         (WebCore::RenderMedia::RenderMedia):
2653         * rendering/RenderMedia.h:
2654         (WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics):
2655
2656         * WebCore.xcodeproj/project.pbxproj:
2657
2658 == Rolled over to ChangeLog-2014-02-20 ==