392117b91fee1c2b2c4134f74a79f9f1e0e16543
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-30  Brady Eidson  <beidson@apple.com>
2
3         IDB: ObjectStore cursor advance() support
4         <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
5
6         Reviewed by Sam Weinig.
7
8         Add IDBKeyData sorting for database collation:
9         * Modules/indexeddb/IDBKeyData.cpp:
10         (WebCore::IDBKeyData::compare):
11         * Modules/indexeddb/IDBKeyData.h:
12
13         * WebCore.exp.in:
14
15         * platform/sql/SQLiteTransaction.h:
16         (WebCore::SQLiteTransaction::database):
17
18 2014-01-30  David Kilzer  <ddkilzer@apple.com>
19
20         De-virtual-ize CachedResource::isImage()
21         <http://webkit.org/b/127936>
22
23         Reviewed by Andreas Kling.
24
25         Also replace explicit type() checks with isImage().
26
27         * loader/SubresourceLoader.cpp:
28         (WebCore::SubresourceLoader::willSendRequest): Use isImage().
29         * loader/cache/CachedImage.h:
30         (WebCore::CachedResource::isImage): Remove virtual override.
31         * loader/cache/CachedResource.h:
32         (WebCore::CachedResource::isImage): Check type() instead of
33         defining a virtual method that returns false by default.
34         * loader/cache/CachedResourceLoader.cpp:
35         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
36
37 2014-01-30  Eric Carlson  <eric.carlson@apple.com>
38
39         [iOS] don't update media layers on main thread when using AVFoundation
40         https://bugs.webkit.org/show_bug.cgi?id=127931
41
42         Reviewed by Simon Fraser.
43
44         * platform/graphics/GraphicsLayerClient.h:
45         (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
46
47         * platform/graphics/ca/GraphicsLayerCA.cpp:
48         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
49             should be updated on the main thread.
50
51         * rendering/RenderLayerBacking.cpp:
52         (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
53             if video plug-in proxy is enabled.
54         * rendering/RenderLayerBacking.h:
55
56 2014-01-30  Jer Noble  <jer.noble@apple.com>
57
58         [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
59         https://bugs.webkit.org/show_bug.cgi?id=127929
60
61         Reviewed by Eric Carlson.
62
63         Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
64         system font rather than the webkit small control font, and the buttons in the controls
65         are clipped due to an "off by one" error when calculating the SVG image dimensions.
66
67         * Modules/mediacontrols/mediaControlsiOS.css:
68         (::-webkit-media-controls):
69         (audio::-webkit-media-controls-play-button):
70         (audio::-webkit-media-controls-fullscreen-button):
71         (audio::-webkit-media-controls-time-remaining-display):
72
73 2014-01-30  Jeremy Jones  <jeremyj@apple.com>
74
75         Refactor WebVideoFullscreenController separating AVKit from MediaElement.
76         https://bugs.webkit.org/show_bug.cgi?id=127762
77
78         Reviewed by Jer Noble.
79
80         Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
81         WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
82
83         * WebCore.xcodeproj/project.pbxproj:
84         * platform/ios/WebVideoFullscreenControllerAVKit.h:
85         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
86         (-[WebVideoFullscreenController init]):
87         (-[WebVideoFullscreenController dealloc]):
88         (-[WebVideoFullscreenController enterFullscreen:]):
89         (-[WebVideoFullscreenController exitFullscreen]):
90         * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
91         (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
92         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
93         (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
94         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
95         (NS_ENUM):
96         (-[WebAVPlayerController init]):
97         (-[WebAVPlayerController dealloc]):
98         (-[WebAVPlayerController forwardingTargetForSelector:]):
99         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
100         (-[WebAVPlayerController play:]):
101         (-[WebAVPlayerController pause:]):
102         (-[WebAVPlayerController togglePlayback:]):
103         (-[WebAVPlayerController isPlaying]):
104         (-[WebAVPlayerController setPlaying:]):
105         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
106         (-[WebAVPlayerController seekToTime:]):
107         (:m_videoFullscreenModel):
108         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
109         (WebVideoFullscreenInterfaceAVKit::setDuration):
110         (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
111         (WebVideoFullscreenInterfaceAVKit::setRate):
112         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
113         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
114         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
115         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
116         * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
117         (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
118         * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
119         (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
120         (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
121         * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
122         (WebVideoFullscreenModelMediaElement::setMediaElement):
123         (WebVideoFullscreenModelMediaElement::handleEvent):
124         (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
125         (WebVideoFullscreenModelMediaElement::play):
126         (WebVideoFullscreenModelMediaElement::pause):
127         (WebVideoFullscreenModelMediaElement::togglePlayState):
128         (WebVideoFullscreenModelMediaElement::seekToTime):
129         (WebVideoFullscreenModelMediaElement::didExitFullscreen):
130
131 2014-01-30  Jer Noble  <jer.noble@apple.com>
132
133         [MediaControls][iOS] Add a "start load" button.
134         https://bugs.webkit.org/show_bug.cgi?id=127861
135
136         Reviewed by Eric Carlson.
137
138         Add a "start load" button which replaces the controls on platforms
139         where inline playback is not allowed, or when playback without a
140         user gesture is not allowed.
141
142         Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
143         * Modules/mediacontrols/MediaControlsHost.cpp:
144         (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
145         * Modules/mediacontrols/MediaControlsHost.h:
146         * Modules/mediacontrols/MediaControlsHost.idl:
147         * html/HTMLMediaElement.h:
148         (WebCore::HTMLMediaElement::mediaSession):
149
150         Update the base controller to allow more functions to be overridden:
151         * Modules/mediacontrols/mediaControlsApple.js:
152         (Controller):
153         (Controller.prototype.shouldHaveAnyUI):
154         (Controller.prototype.updateBase):
155         (Controller.prototype.setControlsType):
156         (Controller.prototype.updateControls):
157         (Controller.prototype.handleFullscreenChange):
158
159         Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
160         * Modules/mediacontrols/mediaControlsiOS.js:
161         (ControllerIOS.prototype.addVideoListeners):
162         (ControllerIOS.prototype.removeVideoListeners):
163         (ControllerIOS.prototype.createBase):
164         (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
165         (ControllerIOS.prototype.shouldHaveControls):
166         (ControllerIOS.prototype.shouldHaveAnyUI):
167         (ControllerIOS.prototype.createControls):
168         (ControllerIOS.prototype.setControlsType):
169         (ControllerIOS.prototype.addStartPlaybackControls):
170         (ControllerIOS.prototype.removeStartPlaybackControls):
171         (ControllerIOS.prototype.updateControls):
172         (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
173         (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
174         (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
175         (ControllerIOS.prototype.handleReadyStateChange):
176
177         Add the new art:
178         * Modules/mediacontrols/mediaControlsiOS.css:
179         (audio::-webkit-media-controls-start-playback-button):
180         (audio::-webkit-media-controls-start-playback-button.failed):
181
182 2014-01-30  Tim Horton  <timothy_horton@apple.com>
183
184         WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
185         https://bugs.webkit.org/show_bug.cgi?id=127891
186         <rdar://problem/15931413>
187
188         Reviewed by Anders Carlsson.
189
190         * WebCore.exp.in:
191         A surprising export.
192
193 2014-01-30  Beth Dakin  <bdakin@apple.com>
194
195         https://bugs.webkit.org/show_bug.cgi?id=127371
196         Explore new API that could be used to help build infinitely scrolling websites
197         -and corresponding-
198         <rdar://problem/15244768>
199
200         Reviewed by Sam Weinig.
201
202         This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
203         webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
204         user has scrolled close to corresponding edge of the document. Right now that is 
205         defined to be one viewport away from the corresponding edge. 
206
207         FrameView::scrollPositionChanged() and 
208         FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
209         representing the old scroll position and the new position.
210         * WebCore.exp.in:
211
212         New events.
213         * dom/Document.h:
214         * dom/Document.idl:
215         * dom/Element.h:
216         * dom/Element.idl:
217         * dom/EventNames.h:
218         * html/HTMLAttributeNames.in:
219         * html/HTMLElement.cpp:
220         (WebCore::populateEventNameForAttributeLocalNameMap):
221         * page/DOMWindow.h:
222         * page/DOMWindow.idl:
223
224         Send oldPosition and newPosition to scrollPositionChanged().
225         * page/FrameView.cpp:
226         (WebCore::FrameView::setFixedVisibleContentRect):
227         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
228
229         After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
230         the see if we should send the new will-reveal events.
231         (WebCore::FrameView::scrollPositionChanged):
232
233         Use the old position and the new position to determine if the events should be 
234         sent.
235         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
236
237         Send new parameters to scrollPositionChanged().
238         (WebCore::FrameView::scrollTo):
239         (WebCore::FrameView::wheelEvent):
240         * page/FrameView.h:
241
242 2014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>
243
244         [curl] Improve realm string parsing in WWW-Authenticate headers
245         https://bugs.webkit.org/show_bug.cgi?id=127421
246
247         Reviewed by Brent Fulgham.
248
249         The realm string contains quotes at the beginning and end - this is the
250         opposite of the libsoup implementation. Furthermore, if the header is
251         concatenated from two or more another headers, it contains more incorrect part.
252
253         * platform/network/curl/ResourceHandleManager.cpp:
254         (WebCore::removeLeadingAndTrailingQuotes):
255         (WebCore::getProtectionSpace):
256
257 2014-01-30  Anders Carlsson  <andersca@apple.com>
258
259         Modernize HTTPHeaderMap iteration
260         https://bugs.webkit.org/show_bug.cgi?id=127915
261
262         Reviewed by Andreas Kling.
263
264         * inspector/InspectorResourceAgent.cpp:
265         (WebCore::buildObjectForHeaders):
266         (WebCore::InspectorResourceAgent::willLoadXHR):
267         (WebCore::InspectorResourceAgent::replayXHR):
268         * loader/CrossOriginAccessControl.cpp:
269         (WebCore::isSimpleCrossOriginAccessRequest):
270         (WebCore::createAccessControlPreflightRequest):
271         * loader/CrossOriginPreflightResultCache.cpp:
272         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
273         * loader/DocumentLoader.cpp:
274         (WebCore::DocumentLoader::responseReceived):
275         * loader/appcache/ApplicationCacheStorage.cpp:
276         (WebCore::ApplicationCacheStorage::store):
277         * loader/cache/CachedRawResource.cpp:
278         (WebCore::CachedRawResource::canReuse):
279         * loader/cache/CachedResource.cpp:
280         (WebCore::CachedResource::updateResponseAfterRevalidation):
281         * platform/network/HTTPHeaderMap.cpp:
282         (WebCore::HTTPHeaderMap::copyData):
283         * platform/network/ResourceRequestBase.cpp:
284         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
285         * platform/network/cf/ResourceRequestCFNet.cpp:
286         (WebCore::setHeaderFields):
287         * platform/network/mac/ResourceRequestMac.mm:
288         (WebCore::ResourceRequest::doUpdatePlatformRequest):
289         * xml/XMLHttpRequest.cpp:
290         (WebCore::XMLHttpRequest::getAllResponseHeaders):
291
292 2014-01-30  Antti Koivisto  <antti@apple.com>
293
294         WebPage::determinePrimarySnapshottedPlugIn is slow
295         https://bugs.webkit.org/show_bug.cgi?id=127905
296
297         Reviewed by Anders Carlsson.
298
299         * WebCore.exp.in: New exports
300         * WebCore.xcodeproj/project.pbxproj:
301         * html/HTMLPlugInImageElement.h:
302         (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
303
304 2014-01-30  Csaba Osztrogonác  <ossy@webkit.org>
305
306         [SOUP] Fix the build if !ENABLE(WEB_TIMING)
307         https://bugs.webkit.org/show_bug.cgi?id=127906
308
309         Reviewed by Gustavo Noronha Silva.
310
311         * platform/network/soup/SoupNetworkSession.cpp:
312
313 2014-01-30  Andrei Bucur  <abucur@adobe.com>
314
315         Remove the ACCELERATED_COMPOSITING flag
316         https://bugs.webkit.org/show_bug.cgi?id=127833
317
318         Reviewed by Antti Koivisto.
319
320         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
321         mandatory.
322
323         Tests: No new tests, no functional change.
324
325         * css/MediaQueryEvaluator.cpp:
326         (WebCore::transform_3dMediaFeatureEval):
327         * css/StyleResolver.cpp:
328         (WebCore::StyleResolver::canShareStyleWithElement):
329         * dom/Document.cpp:
330         (WebCore::Document::setVisualUpdatesAllowed):
331         (WebCore::Document::recalcStyle):
332         (WebCore::Document::createRenderTree):
333         (WebCore::Document::documentWillBecomeInactive):
334         (WebCore::Document::documentDidResumeFromPageCache):
335         (WebCore::Document::windowScreenDidChange):
336         * dom/PseudoElement.cpp:
337         (WebCore::PseudoElement::~PseudoElement):
338         * history/CachedFrame.cpp:
339         (WebCore::CachedFrameBase::CachedFrameBase):
340         (WebCore::CachedFrameBase::restore):
341         (WebCore::CachedFrame::CachedFrame):
342         * history/CachedFrame.h:
343         * history/CachedPage.cpp:
344         (WebCore::CachedPage::restore):
345         * history/CachedPage.h:
346         * history/PageCache.cpp:
347         (WebCore::PageCache::PageCache):
348         (WebCore::PageCache::markPagesForDeviceScaleChanged):
349         * history/PageCache.h:
350         * html/HTMLCanvasElement.cpp:
351         (WebCore::HTMLCanvasElement::getContext):
352         (WebCore::HTMLCanvasElement::reset):
353         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
354         (WebCore::HTMLCanvasElement::createImageBuffer):
355         * html/HTMLMediaElement.cpp:
356         (WebCore::HTMLMediaElement::parseAttribute):
357         * html/HTMLMediaElement.h:
358         * html/canvas/CanvasRenderingContext.h:
359         * html/canvas/CanvasRenderingContext2D.cpp:
360         (WebCore::CanvasRenderingContext2D::didDraw):
361         * html/canvas/CanvasRenderingContext2D.h:
362         * html/canvas/WebGLRenderingContext.cpp:
363         (WebCore::WebGLRenderingContext::markContextChanged):
364         (WebCore::WebGLRenderingContext::reshape):
365         (WebCore::WebGLRenderingContext::platformLayer):
366         * html/canvas/WebGLRenderingContext.h:
367         * inspector/InspectorController.cpp:
368         (WebCore::InspectorController::InspectorController):
369         * inspector/InspectorInstrumentation.cpp:
370         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
371         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
372         * inspector/InspectorInstrumentation.h:
373         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
374         * inspector/InspectorLayerTreeAgent.cpp:
375         * inspector/InstrumentingAgents.cpp:
376         (WebCore::InstrumentingAgents::InstrumentingAgents):
377         (WebCore::InstrumentingAgents::reset):
378         * inspector/InstrumentingAgents.h:
379         * loader/EmptyClients.h:
380         * page/ChromeClient.h:
381         * page/Frame.cpp:
382         (WebCore::Frame::layerTreeAsText):
383         (WebCore::Frame::deviceOrPageScaleFactorChanged):
384         * page/Frame.h:
385         * page/FrameView.cpp:
386         (WebCore::FrameView::setFrameRect):
387         (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
388         (WebCore::FrameView::hasCompositedContent):
389         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
390         (WebCore::FrameView::hasCompositingAncestor):
391         (WebCore::FrameView::enterCompositingMode):
392         (WebCore::FrameView::isEnclosedInCompositingLayer):
393         (WebCore::FrameView::flushCompositingStateIncludingSubframes):
394         (WebCore::FrameView::isSoftwareRenderable):
395         (WebCore::FrameView::layout):
396         (WebCore::FrameView::contentsInCompositedLayer):
397         (WebCore::FrameView::scrollContentsFastPath):
398         (WebCore::FrameView::scrollContentsSlowPath):
399         (WebCore::FrameView::setIsOverlapped):
400         (WebCore::FrameView::delegatesScrollingDidChange):
401         (WebCore::FrameView::scrollPositionChanged):
402         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
403         (WebCore::FrameView::visibleContentsResized):
404         (WebCore::FrameView::addedOrRemovedScrollbar):
405         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
406         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
407         (WebCore::FrameView::adjustTiledBackingCoverage):
408         (WebCore::FrameView::hasExtendedBackground):
409         (WebCore::FrameView::extendedBackgroundRect):
410         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
411         (WebCore::FrameView::performPostLayoutTasks):
412         (WebCore::FrameView::paintContents):
413         (WebCore::FrameView::setTracksRepaints):
414         (WebCore::FrameView::resetTrackedRepaints):
415         (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
416         (WebCore::FrameView::setExposedRect):
417         * page/FrameView.h:
418         * page/Page.cpp:
419         (WebCore::Page::setPageScaleFactor):
420         (WebCore::Page::setDeviceScaleFactor):
421         * page/Settings.cpp:
422         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
423         * page/animation/AnimationBase.cpp:
424         (WebCore::AnimationBase::freezeAtTime):
425         * page/animation/AnimationController.cpp:
426         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
427         * page/animation/CSSPropertyAnimation.cpp:
428         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
429         (WebCore::CSSPropertyAnimation::blendProperties):
430         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
431         * page/animation/CSSPropertyAnimation.h:
432         * page/animation/CompositeAnimation.cpp:
433         (WebCore::CompositeAnimation::updateTransitions):
434         * page/animation/ImplicitAnimation.cpp:
435         (WebCore::ImplicitAnimation::animate):
436         (WebCore::ImplicitAnimation::startAnimation):
437         (WebCore::ImplicitAnimation::pauseAnimation):
438         (WebCore::ImplicitAnimation::endAnimation):
439         (WebCore::ImplicitAnimation::timeToNextService):
440         * page/animation/KeyframeAnimation.cpp:
441         (WebCore::KeyframeAnimation::animate):
442         (WebCore::KeyframeAnimation::startAnimation):
443         (WebCore::KeyframeAnimation::pauseAnimation):
444         (WebCore::KeyframeAnimation::endAnimation):
445         (WebCore::KeyframeAnimation::timeToNextService):
446         * page/ios/FrameIOS.mm:
447         (WebCore::Frame::viewportOffsetChanged):
448         (WebCore::Frame::containsTiledBackingLayers):
449         * page/scrolling/AsyncScrollingCoordinator.cpp:
450         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
451         * page/scrolling/ScrollingCoordinator.cpp:
452         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
453         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
454         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
455         (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
456         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
457         (WebCore::ScrollingCoordinator::footerLayerForFrameView):
458         (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
459         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
460         * page/scrolling/ScrollingCoordinator.h:
461         * platform/ScrollView.cpp:
462         (WebCore::positionScrollCornerLayer):
463         (WebCore::ScrollView::positionScrollbarLayers):
464         (WebCore::ScrollView::paintScrollbars):
465         (WebCore::ScrollView::paint):
466         * platform/ScrollableArea.cpp:
467         (WebCore::ScrollableArea::invalidateScrollbar):
468         (WebCore::ScrollableArea::invalidateScrollCorner):
469         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
470         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
471         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
472         (WebCore::ScrollableArea::hasLayerForScrollCorner):
473         * platform/ScrollableArea.h:
474         * platform/ScrollbarTheme.h:
475         * platform/efl/EflScreenUtilities.cpp:
476         (WebCore::applyFallbackCursor):
477         * platform/graphics/GraphicsContext3D.h:
478         * platform/graphics/GraphicsContext3DPrivate.cpp:
479         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
480         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
481         * platform/graphics/GraphicsContext3DPrivate.h:
482         * platform/graphics/GraphicsLayer.cpp:
483         * platform/graphics/GraphicsLayer.h:
484         * platform/graphics/GraphicsLayerAnimation.cpp:
485         * platform/graphics/GraphicsLayerAnimation.h:
486         * platform/graphics/GraphicsLayerClient.h:
487         * platform/graphics/GraphicsLayerFactory.h:
488         * platform/graphics/GraphicsLayerUpdater.cpp:
489         * platform/graphics/GraphicsLayerUpdater.h:
490         * platform/graphics/ImageBuffer.cpp:
491         * platform/graphics/ImageBuffer.h:
492         * platform/graphics/MediaPlayer.cpp:
493         (WebCore::MediaPlayer::platformLayer):
494         (WebCore::MediaPlayer::supportsAcceleratedRendering):
495         * platform/graphics/MediaPlayer.h:
496         * platform/graphics/MediaPlayerPrivate.h:
497         * platform/graphics/PlatformLayer.h:
498         * platform/graphics/TextTrackRepresentation.cpp:
499         * platform/graphics/TextTrackRepresentation.h:
500         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
501         (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
502         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
503         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
504         (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
505         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
506         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
507         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
508         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
509         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
510         * platform/graphics/ca/GraphicsLayerCA.cpp:
511         * platform/graphics/ca/GraphicsLayerCA.h:
512         * platform/graphics/ca/LayerFlushScheduler.cpp:
513         * platform/graphics/ca/LayerFlushScheduler.h:
514         * platform/graphics/ca/LayerFlushSchedulerClient.h:
515         * platform/graphics/ca/PlatformCAAnimation.h:
516         * platform/graphics/ca/PlatformCAFilters.h:
517         * platform/graphics/ca/PlatformCALayer.h:
518         * platform/graphics/ca/PlatformCALayerClient.h:
519         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
520         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
521         (PlatformCAAnimation::copyTimingFunctionsFrom):
522         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
523         * platform/graphics/ca/mac/PlatformCALayerMac.h:
524         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
525         (PlatformCALayerMac::enumerateRectsBeingDrawn):
526         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
527         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
528         * platform/graphics/ca/win/CACFLayerTreeHost.h:
529         * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
530         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
531         * platform/graphics/ca/win/LayerChangesFlusher.h:
532         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
533         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
534         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
535         (PlatformCAAnimation::copyTimingFunctionsFrom):
536         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
537         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
538         (PlatformCALayerWin::createCompatibleLayer):
539         * platform/graphics/ca/win/PlatformCALayerWin.h:
540         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
541         (PlatformCALayerWinInternal::drawTile):
542         * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
543         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
544         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
545         * platform/graphics/cairo/DrawingBufferCairo.cpp:
546         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
547         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
548         (WebCore::GraphicsContext3D::platformLayer):
549         * platform/graphics/cairo/ImageBufferCairo.cpp:
550         (WebCore::ImageBuffer::platformLayer):
551         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
552         (WebCore::GraphicsContext3D::platformLayer):
553         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
554         * platform/graphics/efl/GraphicsContext3DPrivate.h:
555         * platform/graphics/gpu/DrawingBuffer.h:
556         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
557         * platform/graphics/gpu/TilingData.cpp:
558         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
559         (WebCore::DrawingBuffer::frontColorBuffer):
560         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
561         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
562         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
563         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
564         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
565         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
566         (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
567         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
568         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
569         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
570         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
571         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
572         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
573         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
574         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
575         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
576         (-[WebCoreMovieObserver layerHostChanged:]):
577         * platform/graphics/mac/WebGLLayer.h:
578         * platform/graphics/mac/WebGLLayer.mm:
579         * platform/graphics/mac/WebLayer.h:
580         * platform/graphics/mac/WebLayer.mm:
581         * platform/graphics/mac/WebTiledLayer.h:
582         * platform/graphics/mac/WebTiledLayer.mm:
583         * platform/graphics/opengl/GLDefs.h:
584         * platform/graphics/opengl/GLPlatformContext.cpp:
585         * platform/graphics/opengl/GLPlatformContext.h:
586         * platform/graphics/opengl/GLPlatformSurface.cpp:
587         * platform/graphics/opengl/GLPlatformSurface.h:
588         * platform/graphics/surfaces/GLTransportSurface.cpp:
589         * platform/graphics/surfaces/GLTransportSurface.h:
590         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
591         * platform/graphics/surfaces/glx/GLXContext.cpp:
592         * platform/graphics/surfaces/glx/GLXContext.h:
593         * platform/graphics/surfaces/glx/GLXSurface.cpp:
594         * platform/graphics/surfaces/glx/GLXSurface.h:
595         * platform/graphics/texmap/TextureMapper.cpp:
596         * platform/graphics/texmap/TextureMapper.h:
597         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
598         * platform/graphics/texmap/TextureMapperBackingStore.h:
599         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
600         * platform/graphics/texmap/TextureMapperFPSCounter.h:
601         * platform/graphics/texmap/TextureMapperGL.cpp:
602         * platform/graphics/texmap/TextureMapperGL.h:
603         * platform/graphics/texmap/TextureMapperLayer.cpp:
604         * platform/graphics/texmap/TextureMapperLayer.h:
605         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
606         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
607         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
608         * platform/graphics/texmap/TextureMapperTile.cpp:
609         * platform/graphics/texmap/TextureMapperTile.h:
610         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
611         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
612         * platform/graphics/win/GraphicsContext3DWin.cpp:
613         (WebCore::GraphicsContext3D::platformLayer):
614         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
615         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
616         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
617         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
618         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
619         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
620         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
621         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
622         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
623         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
624         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
625         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
626         (WebCore::CreateCGImageFromPixelBuffer):
627         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
628         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
629         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
630         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
631         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
632         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
633         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
634         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
635         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
636         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
637         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
638         * platform/graphics/win/WKCAImageQueue.cpp:
639         * platform/graphics/win/WKCAImageQueue.h:
640         * platform/mac/ScrollbarThemeMac.h:
641         * platform/mac/ScrollbarThemeMac.mm:
642         * plugins/PluginViewBase.h:
643         * rendering/FlowThreadController.cpp:
644         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
645         * rendering/FlowThreadController.h:
646         * rendering/RenderBox.cpp:
647         (WebCore::RenderBox::styleWillChange):
648         (WebCore::isCandidateForOpaquenessTest):
649         (WebCore::layersUseImage):
650         (WebCore::RenderBox::imageChanged):
651         * rendering/RenderBoxModelObject.cpp:
652         (WebCore::RenderBoxModelObject::suspendAnimations):
653         (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
654         * rendering/RenderBoxModelObject.h:
655         * rendering/RenderElement.cpp:
656         (WebCore::RenderElement::adjustStyleDifference):
657         (WebCore::RenderElement::setStyle):
658         (WebCore::RenderElement::styleWillChange):
659         * rendering/RenderEmbeddedObject.cpp:
660         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
661         * rendering/RenderEmbeddedObject.h:
662         * rendering/RenderFlowThread.cpp:
663         (WebCore::RenderFlowThread::RenderFlowThread):
664         (WebCore::RenderFlowThread::layout):
665         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
666         * rendering/RenderFlowThread.h:
667         * rendering/RenderFullScreen.cpp:
668         * rendering/RenderImage.cpp:
669         (WebCore::RenderImage::imageDimensionsChanged):
670         (WebCore::RenderImage::notifyFinished):
671         * rendering/RenderLayer.cpp:
672         (WebCore::RenderLayer::RenderLayer):
673         (WebCore::RenderLayer::~RenderLayer):
674         (WebCore::RenderLayer::canRender3DTransforms):
675         (WebCore::RenderLayer::paintsWithFilters):
676         (WebCore::RenderLayer::updateLayerPositions):
677         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
678         (WebCore::RenderLayer::currentTransform):
679         (WebCore::RenderLayer::updateDescendantDependentFlags):
680         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
681         (WebCore::RenderLayer::shouldRepaintAfterLayout):
682         (WebCore::RenderLayer::enclosingFilterRepaintLayer):
683         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
684         (WebCore::RenderLayer::clippingRootForPainting):
685         (WebCore::RenderLayer::addChild):
686         (WebCore::RenderLayer::removeChild):
687         (WebCore::RenderLayer::removeOnlyThisLayer):
688         (WebCore::RenderLayer::scrollTo):
689         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
690         (WebCore::RenderLayer::invalidateScrollbarRect):
691         (WebCore::RenderLayer::invalidateScrollCornerRect):
692         (WebCore::RenderLayer::positionOverflowControls):
693         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
694         (WebCore::RenderLayer::paintOverflowControls):
695         (WebCore::shouldDoSoftwarePaint):
696         (WebCore::RenderLayer::paintLayer):
697         (WebCore::RenderLayer::calculateClipRects):
698         * rendering/RenderLayer.h:
699         * rendering/RenderLayerBacking.cpp:
700         * rendering/RenderLayerBacking.h:
701         * rendering/RenderLayerCompositor.cpp:
702         * rendering/RenderLayerCompositor.h:
703         * rendering/RenderNamedFlowThread.cpp:
704         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
705         * rendering/RenderNamedFlowThread.h:
706         * rendering/RenderObject.cpp:
707         (WebCore::RenderObject::containerForRepaint):
708         (WebCore::RenderObject::repaintUsingContainer):
709         * rendering/RenderTreeAsText.cpp:
710         (WebCore::write):
711         * rendering/RenderVideo.cpp:
712         (WebCore::RenderVideo::updatePlayer):
713         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
714         * rendering/RenderVideo.h:
715         * rendering/RenderView.cpp:
716         (WebCore::RenderView::paintBoxDecorations):
717         (WebCore::RenderView::repaintRootContents):
718         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
719         (WebCore::RenderView::repaintViewAndCompositedLayers):
720         (WebCore::RenderView::setMaximalOutlineSize):
721         (WebCore::RenderView::compositor):
722         (WebCore::RenderView::setIsInWindow):
723         * rendering/RenderView.h:
724         * rendering/RenderWidget.cpp:
725         (WebCore::RenderWidget::setWidgetGeometry):
726         (WebCore::RenderWidget::requiresAcceleratedCompositing):
727         * rendering/RenderWidget.h:
728         * rendering/style/RenderStyle.cpp:
729         (WebCore::RenderStyle::changeRequiresLayout):
730         (WebCore::RenderStyle::changeRequiresLayerRepaint):
731         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
732         (WebCore::RenderStyle::diff):
733         * rendering/style/RenderStyle.h:
734         * rendering/style/RenderStyleConstants.h:
735         * rendering/style/StyleRareNonInheritedData.cpp:
736         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
737         (WebCore::StyleRareNonInheritedData::operator==):
738         * rendering/style/StyleRareNonInheritedData.h:
739         * testing/Internals.cpp:
740         (WebCore::Internals::resetToConsistentState):
741         (WebCore::Internals::setHeaderHeight):
742         (WebCore::Internals::setFooterHeight):
743
744 2014-01-30  Krzysztof Czech  <k.czech@samsung.com>
745
746         AX: Clean up AccessibilityRenderObject
747         https://bugs.webkit.org/show_bug.cgi?id=127838
748
749         Reviewed by Chris Fleizach.
750
751         Reducing some code by implementing ariaElementsFromAttribute.
752         It is used as a helper for other methods.
753
754         No new tests. Covered by existing ones.
755
756         * accessibility/AccessibilityRenderObject.cpp:
757         (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
758         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
759         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
760         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
761         * accessibility/AccessibilityRenderObject.h:
762
763 2014-01-29  Commit Queue  <commit-queue@webkit.org>
764
765         Unreviewed, rolling out r163048.
766         http://trac.webkit.org/changeset/163048
767         https://bugs.webkit.org/show_bug.cgi?id=127890
768
769         Caused many crashes, detected by EWS prior to landing
770         (Requested by ap on #webkit).
771
772         * Modules/mediacontrols/MediaControlsHost.cpp:
773         (WebCore::MediaControlsHost::sortedTrackListForMenu):
774         (WebCore::MediaControlsHost::displayNameForTrack):
775         (WebCore::MediaControlsHost::captionDisplayMode):
776         * WebCore.exp.in:
777         * WebCore.vcxproj/WebCore.vcxproj:
778         * WebCore.vcxproj/WebCore.vcxproj.filters:
779         * WebCore.xcodeproj/project.pbxproj:
780         * css/DocumentRuleSets.cpp:
781         (WebCore::DocumentRuleSets::initUserStyle):
782         * css/InspectorCSSOMWrappers.cpp:
783         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
784         * dom/Document.cpp:
785         (WebCore::Document::setCompatibilityMode):
786         (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
787         (WebCore::Document::captionPreferencesChanged):
788         * dom/DocumentStyleSheetCollection.cpp:
789         * dom/DocumentStyleSheetCollection.h:
790         * html/HTMLMediaElement.cpp:
791         (WebCore::HTMLMediaElement::HTMLMediaElement):
792         (WebCore::HTMLMediaElement::parseAttribute):
793         * html/shadow/MediaControlElements.cpp:
794         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
795         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
796         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
797         * page/CaptionStyleSheetMediaAF.cpp: Removed.
798         * page/CaptionStyleSheetMediaAF.h: Removed.
799         * page/CaptionUserPreferences.cpp:
800         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
801         (WebCore::CaptionUserPreferences::notify):
802         (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
803         (WebCore::CaptionUserPreferences::userPrefersCaptions):
804         (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
805         (WebCore::CaptionUserPreferences::userPrefersSubtitles):
806         (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
807         (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
808         (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
809         (WebCore::CaptionUserPreferences::captionPreferencesChanged):
810         (WebCore::CaptionUserPreferences::textTrackSelectionScore):
811         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
812         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
813         * page/CaptionUserPreferences.h:
814         (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
815         (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
816         (WebCore::CaptionUserPreferences::testingMode):
817         (WebCore::CaptionUserPreferences::setTestingMode):
818         (WebCore::CaptionUserPreferences::pageGroup):
819         * page/CaptionUserPreferencesMediaAF.cpp:
820         (WebCore::userCaptionPreferencesChangedNotificationCallback):
821         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
822         (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
823         (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
824         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
825         (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
826         (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
827         (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
828         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
829         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
830         (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
831         (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
832         (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
833         (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
834         (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
835         (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
836         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
837         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
838         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
839         * page/CaptionUserPreferencesMediaAF.h:
840         * page/Page.cpp:
841         * page/Page.h:
842         * page/PageGroup.cpp:
843         (WebCore::PageGroup::captionPreferencesChanged):
844         (WebCore::PageGroup::captionPreferences):
845         * page/PageGroup.h:
846         * testing/InternalSettings.cpp:
847         (WebCore::InternalSettings::setShouldDisplayTrackKind):
848         (WebCore::InternalSettings::shouldDisplayTrackKind):
849         * testing/Internals.cpp:
850         (WebCore::Internals::resetToConsistentState):
851         (WebCore::Internals::Internals):
852         (WebCore::Internals::captionsStyleSheetOverride):
853         (WebCore::Internals::setCaptionsStyleSheetOverride):
854         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
855         (WebCore::Internals::setCaptionDisplayMode):
856
857 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
858
859         Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
860         https://bugs.webkit.org/show_bug.cgi?id=127845
861
862         Reviewed by Joseph Pecoraro.
863
864         * Configurations/FeatureDefines.xcconfig:
865         * bindings/js/JSDOMWindowBase.cpp:
866         (WebCore::JSDOMWindowBase::supportsProfiling):
867
868 2014-01-29  Gavin Barraclough  <barraclough@apple.com>
869
870         Add IsVisibleOrOccluded to ViewState
871         https://bugs.webkit.org/show_bug.cgi?id=127875
872
873         Reviewed by Anders Carlsson.
874
875         * page/ViewState.h:
876             - added IsVisibleOrOccluded
877
878 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
879
880         EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
881         and selectFrameElementInParentIfFullySelected
882         https://bugs.webkit.org/show_bug.cgi?id=127834
883
884         Reviewed by Alexey Proskuryakov.
885
886         Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
887
888         In addition, removed the rather error-prone function override of setSelection since TextGranularity,
889         which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
890
891         * editing/FrameSelection.cpp:
892         (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
893         Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
894         There are two layout tests that fail without this.
895         (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
896         (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
897
898         * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
899         selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
900
901         * page/EventHandler.cpp:
902         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
903         (WebCore::EventHandler::updateSelectionForMouseDrag):
904         (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
905
906 2014-01-29  Jer Noble  <jer.noble@apple.com>
907
908         Unreviewed iOS build fix after 163050.
909
910         Import CALayer.h explicitly as (on iOS) it is not included by other headers.
911
912         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
913
914 2014-01-29  Jer Noble  <jer.noble@apple.com>
915
916         Unreviewed Mac Build fix after r163046.
917
918         Forward define AVSampleLayerDisplayLayer and its methods.
919
920         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
921
922 2014-01-26  Sam Weinig  <sam@webkit.org>
923
924         CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
925         https://bugs.webkit.org/show_bug.cgi?id=127666
926
927         Reviewed by Eric Carlson.
928
929         This patch:
930         - Makes CaptionUserPreferences a singleton (temporary) that is accessed
931           via Page.
932         - Simplifies overriding system preferences by requiring that a Document be
933           be passed so the correct Settings object can be obtained (and not just a 
934           random one).
935         - Stops using UserStyleSheets for captions style injection, and instead
936           adds a new style sheet to the DocumentStyleSheetCollection.
937         - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
938
939         * WebCore.vcxproj/WebCore.vcxproj:
940         * WebCore.vcxproj/WebCore.vcxproj.filters:
941         * WebCore.xcodeproj/project.pbxproj:
942         Add new files.
943
944         * WebCore.exp.in:
945         Update exports.
946
947         * css/DocumentRuleSets.cpp:
948         * css/InspectorCSSOMWrappers.cpp:
949         * dom/Document.cpp:
950         * dom/DocumentStyleSheetCollection.cpp:
951         * dom/DocumentStyleSheetCollection.h:
952         Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
953         to an explicit caption style sheet.
954
955         * Modules/mediacontrols/MediaControlsHost.cpp:
956         * html/HTMLMediaElement.cpp:
957         * html/shadow/MediaControlElements.cpp:
958         Get the CaptionUserPreferences via the Page.
959
960         * page/CaptionStyleSheetMediaAF.cpp: Added.
961         * page/CaptionStyleSheetMediaAF.h: Added.
962         Move caption style sheet creation here. If the global style changes, the sheet is invalidated
963         and this is called again.
964
965         * page/CaptionUserPreferences.cpp:
966         * page/CaptionUserPreferences.h:
967         - Removes unused m_havePreferences member.
968         - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
969         - Remove setUserPrefersFoo() functions and just set the Settings directly.
970         - Move all the testing only pieces together.
971         
972         * page/CaptionUserPreferencesMediaAF.cpp:
973         * page/CaptionUserPreferencesMediaAF.h:
974         - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
975         - Stop waiting for an interested party, and just register for appearance change
976           notifications right away. Media elements are common enough that this should not
977           make a difference.
978
979         * page/Page.cpp:
980         (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
981         Add helper to call captionPreferencesChanged() on all the Pages.
982
983         (WebCore::Page::captionPreferences):
984         Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
985         to extract the singleton aspects of it into another class, and leave the per-Page parts here.
986
987         * page/Page.h:
988         * page/PageGroup.cpp:
989         * page/PageGroup.h:
990         Remove CaptionUserPreferences from here.
991
992         * testing/InternalSettings.cpp:
993         (WebCore::InternalSettings::setShouldDisplayTrackKind):
994         (WebCore::InternalSettings::shouldDisplayTrackKind):
995         Override the settings for the page directly.
996
997         * testing/Internals.cpp:
998         (WebCore::Internals::resetToConsistentState):
999         (WebCore::Internals::Internals):
1000         (WebCore::Internals::captionsStyleSheetOverride):
1001         (WebCore::Internals::setCaptionsStyleSheetOverride):
1002         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
1003         (WebCore::Internals::setCaptionDisplayMode):
1004         Get the CaptionUserPreferences via the Page.
1005
1006 2014-01-29  Jer Noble  <jer.noble@apple.com>
1007
1008         [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
1009         https://bugs.webkit.org/show_bug.cgi?id=127846
1010
1011         Reviewed by Darin Adler.
1012
1013         To work around a compile issue, only include those paths containing classes and typedefs
1014         which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.
1015
1016         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1017
1018 2014-01-29  Brady Eidson  <beidson@apple.com>
1019
1020         IDB: Fully implement IDBKeyData encoding/decoding
1021         https://bugs.webkit.org/show_bug.cgi?id=127863
1022
1023         Rubberstamped by Alexey Proskuryakov.
1024
1025         * platform/KeyedCoding.h:
1026
1027         * Modules/indexeddb/IDBKeyData.cpp:
1028         (WebCore::IDBKeyData::encode):
1029         (WebCore::IDBKeyData::decode):
1030
1031         * WebCore.exp.in:
1032
1033 2014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>
1034
1035         clip-path swaps bottom radii for the inset shape
1036         https://bugs.webkit.org/show_bug.cgi?id=127859
1037
1038         Reviewed by Dirk Schulze.
1039
1040         The bottom right and bottom left radii were passed in the wrong order,
1041         causing the wrong corner to be clipped in the resultant rendering.
1042
1043         Test: css3/masking/clip-path-inset-corners.html
1044
1045         * rendering/style/BasicShapes.cpp:
1046         (WebCore::BasicShapeInset::path): Change the parameter order to be
1047         correct.
1048
1049 2014-01-29  Jer Noble  <jer.noble@apple.com>
1050
1051         [MediaControls][iOS] Hook up the fullscreen button
1052         https://bugs.webkit.org/show_bug.cgi?id=127850
1053
1054         Reviewed by Eric Carlson.
1055
1056         For the fullscreen button, do the same thing we do for the play button: handle touchstart,
1057         touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.
1058
1059         * Modules/mediacontrols/mediaControlsiOS.js:
1060         (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
1061         (ControllerIOS.prototype.isFullScreen): Override.
1062         (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
1063         (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
1064         (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
1065         (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.
1066
1067 2014-01-29  Brady Eidson  <beidson@apple.com>
1068
1069         IDB: Opening an existing database is broken
1070         https://bugs.webkit.org/show_bug.cgi?id=127851
1071
1072         Reviewed by Tim Hatcher.
1073
1074         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1075         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
1076         (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
1077         (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
1078           been called yet, then it is incorrect to process any pending calls right now.
1079         * Modules/indexeddb/IDBDatabaseBackend.h:
1080
1081 2014-01-29  Oliver Hunt  <oliver@apple.com>
1082
1083         This dereference should not actually be necessary, and
1084         is producing deprecation warnings with newer perls
1085
1086         * bindings/scripts/CodeGeneratorJS.pm:
1087         (GenerateAttributesHashTable):
1088
1089 2014-01-28  Oliver Hunt  <oliver@apple.com>
1090
1091         Make DOM attributes appear to be faux accessor properties
1092         https://bugs.webkit.org/show_bug.cgi?id=127797
1093
1094         Reviewed by Michael Saboff.
1095
1096         Refactor the bindings generator, and make sure we emit
1097         the CustomAccessor flag on properties that should 
1098         appear to be accessors.
1099
1100         * bindings/scripts/CodeGeneratorJS.pm:
1101         (GenerateGetOwnPropertySlotBody):
1102         (GenerateAttributesHashTable):
1103         (GenerateImplementation):
1104
1105 2014-01-29  Alex Christensen  <achristensen@webkit.org>
1106
1107         Prepare for accelerated compositing on WinCairo.
1108         https://bugs.webkit.org/show_bug.cgi?id=127843
1109
1110         Reviewed by Anders Carlsson.
1111
1112         * platform/network/curl/ResourceHandleManager.cpp:
1113         (WebCore::setupFormData):
1114         Remove VS2005 warning workaround.
1115         * WebCore.vcxproj/WebCore.vcxproj:
1116         Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
1117         to avoid warnings because they are also included in StyleAllInOne.cpp and
1118         CSSAllInOne.cpp, respectively.
1119
1120 2014-01-28  Michael Saboff  <msaboff@apple.com>
1121
1122         Merge the jsCStack branch
1123         https://bugs.webkit.org/show_bug.cgi?id=127763
1124
1125         Reviewed by Mark Hahnenberg.
1126
1127         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
1128         up to changeset 162958.
1129
1130 2014-01-29  Dan Bernstein  <mitz@apple.com>
1131
1132         Fixed the iOS build.
1133
1134         * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
1135
1136 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
1137
1138         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
1139         https://bugs.webkit.org/show_bug.cgi?id=127840
1140
1141         Reviewed by Mark Lam.
1142
1143         * bindings/js/JSDOMWindowBase.cpp:
1144         (WebCore::JSDOMWindowBase::supportsProfiling):
1145         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1146         * bindings/js/PageScriptDebugServer.cpp:
1147         * bindings/js/PageScriptDebugServer.h:
1148         * bindings/js/ScriptProfile.cpp:
1149         * bindings/js/ScriptProfile.h:
1150         * bindings/js/ScriptProfileNode.h:
1151         * bindings/js/ScriptProfiler.cpp:
1152         * bindings/js/ScriptProfiler.h:
1153         * bindings/js/WorkerScriptDebugServer.cpp:
1154         * bindings/js/WorkerScriptDebugServer.h:
1155         * inspector/InspectorConsoleAgent.h:
1156         * inspector/InspectorConsoleInstrumentation.h:
1157         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
1158         * inspector/InspectorController.cpp:
1159         (WebCore::InspectorController::InspectorController):
1160         (WebCore::InspectorController::resume):
1161         * inspector/InspectorController.h:
1162         * inspector/InspectorDOMDebuggerAgent.cpp:
1163         * inspector/InspectorDOMDebuggerAgent.h:
1164         * inspector/InspectorHeapProfilerAgent.cpp:
1165         * inspector/InspectorHeapProfilerAgent.h:
1166         * inspector/InspectorInstrumentation.cpp:
1167         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
1168         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
1169         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1170         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1171         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1172         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1173         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1174         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
1175         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1176         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
1177         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1178         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1179         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
1180         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
1181         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1182         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
1183         * inspector/InspectorInstrumentation.h:
1184         * inspector/InspectorProfilerAgent.cpp:
1185         * inspector/InspectorProfilerAgent.h:
1186         * inspector/InstrumentingAgents.cpp:
1187         (WebCore::InstrumentingAgents::InstrumentingAgents):
1188         (WebCore::InstrumentingAgents::reset):
1189         * inspector/InstrumentingAgents.h:
1190         * inspector/PageDebuggerAgent.cpp:
1191         * inspector/PageDebuggerAgent.h:
1192         * inspector/ScriptProfile.idl:
1193         * inspector/ScriptProfileNode.idl:
1194         * inspector/WebDebuggerAgent.cpp:
1195         * inspector/WebDebuggerAgent.h:
1196         * inspector/WorkerDebuggerAgent.cpp:
1197         * inspector/WorkerDebuggerAgent.h:
1198         * inspector/WorkerInspectorController.cpp:
1199         (WebCore::WorkerInspectorController::WorkerInspectorController):
1200         (WebCore::WorkerInspectorController::resume):
1201         * inspector/WorkerInspectorController.h:
1202         * inspector/WorkerRuntimeAgent.cpp:
1203         (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
1204         * inspector/WorkerRuntimeAgent.h:
1205         * loader/FrameLoader.cpp:
1206         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1207         * page/Console.cpp:
1208         * page/Console.h:
1209         * page/Console.idl:
1210         * testing/Internals.cpp:
1211         (WebCore::Internals::resetToConsistentState):
1212         * workers/WorkerMessagingProxy.cpp:
1213         (WebCore::connectToWorkerGlobalScopeInspectorTask):
1214         (WebCore::WorkerMessagingProxy::connectToInspector):
1215         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
1216         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
1217         (WebCore::dispatchOnInspectorBackendTask):
1218         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
1219
1220 2014-01-29  Eric Carlson  <eric.carlson@apple.com>
1221
1222         [iOS] cleanup MediaPlayer.cpp
1223         https://bugs.webkit.org/show_bug.cgi?id=127821
1224
1225         Reviewed by Jer Noble.
1226
1227         Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.
1228
1229         * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
1230         (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
1231             already happened.
1232         (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
1233             isVideoPluginProxyEnabled returns true.
1234
1235 2014-01-29  Youenn Fablet  <youennf@gmail.com>
1236
1237         Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
1238         https://bugs.webkit.org/show_bug.cgi?id=125840
1239
1240         Reviewed by Alexey Proskuryakov.
1241
1242         Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
1243         This patch makes it clear that null/empty string is returned whenever the error flag is set.
1244         This new code path is covered by the added test.
1245         
1246         Test: http/tests/xmlhttprequest/response-access-on-error.html
1247
1248         * xml/XMLHttpRequest.cpp:
1249         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1250         (WebCore::XMLHttpRequest::getResponseHeader):
1251         * xml/XMLHttpRequest.h:
1252         * xml/XMLHttpRequest.idl:
1253
1254 2014-01-29  Antti Koivisto  <antti@apple.com>
1255
1256         REGRESSION (r162947): Repaint test results are different between WK1 and WK2
1257         https://bugs.webkit.org/show_bug.cgi?id=127814
1258
1259         Reviewed by Anders Carlsson.
1260
1261         * page/FrameView.cpp:
1262         (WebCore::FrameView::repaintContentRectangle):
1263         
1264             Move repaint rect logging to RenderView.
1265
1266         * rendering/RenderView.cpp:
1267         (WebCore::RenderView::repaintViewRectangle):
1268         
1269             Record raw repaint rects instead of optimized ones.
1270
1271 2014-01-29  Brady Eidson  <beidson@apple.com>
1272
1273         IDB: Serialize IDBKeyDatas to disk, not IDBKeys
1274         https://bugs.webkit.org/show_bug.cgi?id=127829
1275
1276         Reviewed by Tim Horton.
1277
1278         Move encode/decode from IDBKey to IDBKeyData.
1279
1280         * Modules/indexeddb/IDBKey.cpp:
1281         * Modules/indexeddb/IDBKey.h:
1282
1283         * Modules/indexeddb/IDBKeyData.cpp:
1284         (WebCore::IDBKeyData::IDBKeyData):
1285         (WebCore::IDBKeyData::encode):
1286         (WebCore::IDBKeyData::decode):
1287         * Modules/indexeddb/IDBKeyData.h:
1288
1289         * WebCore.exp.in:
1290
1291 2014-01-29  Antti Koivisto  <antti@apple.com>
1292
1293         REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
1294         https://bugs.webkit.org/show_bug.cgi?id=127809
1295
1296         Reviewed by Anders Carlsson.
1297
1298         These tests generate very large number of small repaint rectangles that overwhelm the region code.
1299
1300         * page/FrameView.cpp:
1301         (WebCore::FrameView::repaintContentRectangle):
1302         * platform/graphics/Region.h:
1303         (WebCore::Region::gridSize):
1304         (WebCore::Region::Shape::gridSize):
1305         
1306             Add accessor for getting the current region grid complexity.
1307
1308         * rendering/RenderView.cpp:
1309         (WebCore::RenderView::repaintViewRectangle):
1310         
1311             If the region gets very complex merge the repaint rects into a single big rectangle.
1312
1313 2014-01-29  Radu Stavila  <stavila@adobe.com>
1314
1315         [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
1316         https://bugs.webkit.org/show_bug.cgi?id=123886
1317
1318         When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
1319         needs to be propagated to the region containing that element, on top of which the cursor
1320         is located.
1321
1322         Reviewed by Antti Koivisto.
1323
1324         Tests: fast/regions/wheel-scroll-abspos.html
1325                fast/regions/wheel-scroll.html
1326
1327         * page/EventHandler.cpp:
1328         (WebCore::scrollNode):
1329         (WebCore::EventHandler::defaultWheelEventHandler):
1330         * rendering/RenderBox.cpp:
1331         (WebCore::RenderBox::scroll):
1332         (WebCore::RenderBox::scrollWithWheelEventLocation):
1333         * rendering/RenderBox.h:
1334         * rendering/RenderFlowThread.cpp:
1335         (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
1336         * rendering/RenderFlowThread.h:
1337
1338 2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1339
1340         REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
1341         https://bugs.webkit.org/show_bug.cgi?id=127836
1342
1343         Reviewed by Gustavo Noronha Silva.
1344
1345         The problem is that I assumed that several things done in
1346         ResourceRequest::soupURI() were always desired, so I moved them to
1347         URL. This patch restores the previous behaviour, so that those
1348         tings are only done right before making a request.
1349
1350         * platform/network/soup/ResourceRequestSoup.cpp:
1351         (WebCore::ResourceRequest::createSoupURI):
1352         * platform/soup/URLSoup.cpp:
1353         (WebCore::URL::createSoupURI):
1354
1355 2014-01-29  Krzysztof Czech  <k.czech@samsung.com>
1356
1357         [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
1358         https://bugs.webkit.org/show_bug.cgi?id=121684
1359
1360         Reviewed by Mario Sanchez Prada.
1361
1362         Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
1363         Moved elementsFromAttribut to AccessibilityObject to have common interface
1364         for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
1365         supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.
1366
1367         No new tests. Covered by existed one.
1368
1369         * accessibility/AccessibilityNodeObject.cpp:
1370         * accessibility/AccessibilityNodeObject.h:
1371         * accessibility/AccessibilityObject.cpp:
1372         (WebCore::AccessibilityObject::elementsFromAttribute):
1373         * accessibility/AccessibilityObject.h:
1374         (WebCore::AccessibilityObject::supportsARIADescribedBy):
1375         (WebCore::AccessibilityObject::ariaDescribedByElements):
1376         * accessibility/AccessibilityRenderObject.cpp:
1377         (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
1378         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
1379         * accessibility/AccessibilityRenderObject.h:
1380         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1381         (setAtkRelationSetFromCoreObject):
1382
1383 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
1384
1385         [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
1386         https://bugs.webkit.org/show_bug.cgi?id=127057
1387
1388         Reviewed by Antti Koivisto.
1389
1390         We were incorrectly dumping minmax(x,y) as "x y" instead of
1391         "minmax(x,y)". That's because we were treating minmax() internally
1392         as a CSSValueList instead of a CSSFunction. Replaced that and also
1393         added some extra information to our tests in order to check that
1394         we don't regress. From now on the CSS grid layout testing helper
1395         functions print not only the computed style but also the contents
1396         of element.style.webkitGridDefinition{Columns|Rows}.
1397
1398         * css/CSSFunctionValue.h:
1399         (WebCore::CSSFunctionValue::arguments):
1400         * css/CSSParser.cpp:
1401         (WebCore::CSSParser::parseGridTrackList):
1402         (WebCore::CSSParser::parseGridTrackRepeatFunction):
1403         (WebCore::CSSParser::parseGridTrackSize):
1404         * css/CSSParser.h:
1405         * css/StyleResolver.cpp:
1406         (WebCore::createGridTrackSize):
1407
1408 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
1409
1410         Rename notifyRendererOfSelectionChange
1411         https://bugs.webkit.org/show_bug.cgi?id=127831
1412
1413         Reviewed by Antti Koivisto.
1414
1415         Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.
1416
1417         * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
1418         * editing/FrameSelection.cpp:
1419         (WebCore::FrameSelection::setSelection):
1420         (WebCore::FrameSelection::selectAll):
1421         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
1422         of text form control's shadow DOM no longer depends on renderer.
1423         * editing/FrameSelection.h:
1424         * html/HTMLTextFormControlElement.cpp:
1425         (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
1426         * page/EventHandler.cpp:
1427         (WebCore::EventHandler::handleMouseReleaseEvent):
1428
1429 2014-01-28  Jer Noble  <jer.noble@apple.com>
1430
1431         [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
1432         https://bugs.webkit.org/show_bug.cgi?id=127806
1433
1434         Reviewed by Eric Carlson.
1435
1436         In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
1437         -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
1438         ask us to confirm server certificate chains. Rather than pop up an authentication
1439         dialog (which won't work anyway) we will now just drop such requests and continue
1440         on normally.
1441
1442         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1443         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
1444
1445 2014-01-28  Commit Queue  <commit-queue@webkit.org>
1446
1447         Unreviewed, rolling out r162987.
1448         http://trac.webkit.org/changeset/162987
1449         https://bugs.webkit.org/show_bug.cgi?id=127825
1450
1451         Broke Mountain Lion build (Requested by andersca on #webkit).
1452
1453         * bindings/scripts/CodeGeneratorJS.pm:
1454         (GenerateGetOwnPropertySlotBody):
1455         (GenerateAttributesHashTable):
1456         (GenerateImplementation):
1457         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1458         (WebCore::jsTestActiveDOMObjectConstructor):
1459         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1460         (WebCore::jsTestCustomNamedGetterConstructor):
1461         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1462         (WebCore::jsTestEventConstructorConstructor):
1463         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1464         (WebCore::jsTestEventTargetConstructor):
1465         * bindings/scripts/test/JS/JSTestException.cpp:
1466         (WebCore::jsTestExceptionConstructor):
1467         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1468         (WebCore::jsTestGenerateIsReachableConstructor):
1469         * bindings/scripts/test/JS/JSTestInterface.cpp:
1470         (WebCore::jsTestInterfaceConstructor):
1471         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1472         (WebCore::jsTestMediaQueryListListenerConstructor):
1473         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1474         (WebCore::jsTestNamedConstructorConstructor):
1475         * bindings/scripts/test/JS/JSTestNode.cpp:
1476         (WebCore::jsTestNodeConstructor):
1477         * bindings/scripts/test/JS/JSTestObj.cpp:
1478         (WebCore::jsTestObjConstructor):
1479         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1480         (WebCore::jsTestOverloadedConstructorsConstructor):
1481         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1482         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
1483         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1484         (WebCore::jsTestTypedefsConstructor):
1485         * bindings/scripts/test/JS/JSattribute.cpp:
1486         (WebCore::jsattributeConstructor):
1487         * bindings/scripts/test/JS/JSreadonly.cpp:
1488         (WebCore::jsreadonlyConstructor):
1489
1490 2014-01-28  Enrica Casucci  <enrica@apple.com>
1491
1492         Add support for ActionSheets in WK2 for iOS.
1493         https://bugs.webkit.org/show_bug.cgi?id=127586
1494         <rdar://problem/15283667>
1495
1496         Reviewed by Benjamin Poulain.
1497
1498         This patch contains some WebCore changes required to
1499         implement support for ActionSheets.
1500         It adds copyURL implementation for iOS in the Editor
1501         class and fixes some bugs in the iOS specific pasteboard
1502         writing code.
1503         The changes to Localizable.strings are the result of
1504         running update-webkit-localizedstrings script.
1505
1506         * English.lproj/Localizable.strings:
1507         * WebCore.exp.in:
1508         * editing/Editor.cpp:
1509         * editing/Editor.h:
1510         * editing/ios/EditorIOS.mm:
1511         (WebCore::Editor::writeImageToPasteboard):
1512         * platform/ios/PasteboardIOS.mm:
1513         (WebCore::Pasteboard::write):
1514         * platform/ios/PlatformPasteboardIOS.mm:
1515         (WebCore::PlatformPasteboard::write):
1516
1517 2014-01-28  Andy Estes  <aestes@apple.com>
1518
1519         [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
1520         https://bugs.webkit.org/show_bug.cgi?id=127823
1521
1522         Reviewed by Daniel Bates.
1523
1524         Original patch by Simon Fraser.
1525
1526         * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().
1527
1528 2014-01-28  Zoltan Horvath  <zoltan@webkit.org>
1529
1530         [CSS Shapes] Adjust inset sizing syntax to the latest specification
1531         https://bugs.webkit.org/show_bug.cgi?id=127785
1532
1533         Reviewed by Bem Jones-Bey.
1534
1535         According to the latest CSS Shapes specification [1], the width arguments of inset should
1536         follow the syntax of the margin shorthand, which let us set all four insets with one, two
1537         or four values. This patch updates the behavior and updates the affected tests.
1538
1539         [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset
1540
1541         Existing tests have been updated.
1542
1543         * css/CSSParser.cpp:
1544         (WebCore::CSSParser::parseInsetRoundedCorners):
1545         (WebCore::CSSParser::parseBasicShapeInset):
1546
1547 2014-01-28  Oliver Hunt  <oliver@apple.com>
1548
1549         Make DOM attributes appear to be faux accessor properties
1550         https://bugs.webkit.org/show_bug.cgi?id=127797
1551
1552         Reviewed by Michael Saboff.
1553
1554         Refactor the bindings generator, and make sure we emit
1555         the CustomAccessor flag on properties that should 
1556         appear to be accessors.
1557
1558         * bindings/scripts/CodeGeneratorJS.pm:
1559         (GenerateGetOwnPropertySlotBody):
1560         (GenerateAttributesHashTable):
1561         (GenerateImplementation):
1562
1563 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
1564
1565         AX: Support @scope in HTML tables
1566         https://bugs.webkit.org/show_bug.cgi?id=127688
1567
1568         Reviewed by Mario Sanchez Prada.
1569
1570         Add support for scope attribute so that row headers and column headers
1571         are now exposed at the table cell level where appropriate.
1572
1573         Test: platform/mac/accessibility/table-scope.html
1574
1575         * accessibility/AccessibilityARIAGridCell.cpp:
1576         (WebCore::AccessibilityARIAGridCell::parentTable):
1577         * accessibility/AccessibilityARIAGridCell.h:
1578         * accessibility/AccessibilityARIAGridRow.cpp:
1579         (WebCore::AccessibilityARIAGridRow::parentTable):
1580         * accessibility/AccessibilityARIAGridRow.h:
1581         * accessibility/AccessibilityTable.cpp:
1582         (WebCore::AccessibilityTable::columns):
1583         (WebCore::AccessibilityTable::rows):
1584         * accessibility/AccessibilityTable.h:
1585         * accessibility/AccessibilityTableCell.cpp:
1586         (WebCore::AccessibilityTableCell::parentTable):
1587         (WebCore::AccessibilityTableCell::isTableHeaderCell):
1588         (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
1589         (WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
1590         (WebCore::AccessibilityTableCell::columnHeaders):
1591         (WebCore::AccessibilityTableCell::rowHeaders):
1592         * accessibility/AccessibilityTableCell.h:
1593         * accessibility/AccessibilityTableRow.cpp:
1594         (WebCore::AccessibilityTableRow::parentTable):
1595         * accessibility/AccessibilityTableRow.h:
1596         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1597         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1598         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1599
1600 2014-01-28  Brent Fulgham  <bfulgham@apple.com>
1601
1602         Improve latching behavior for wheel events
1603         https://bugs.webkit.org/show_bug.cgi?id=127386
1604         <rdar://problem/12176858>
1605
1606         Reviewed by Simon Fraser.
1607
1608         * page/scrolling/ScrollingTree.cpp:
1609         (WebCore::ScrollingTree::clearLatchedNode): Added
1610         (WebCore::ScrollingTree::latchedNode): Added
1611         (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
1612         (WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
1613         scroll latching state.
1614         (WebCore::ScrollingTree::setLatchedNode): Added
1615         (WebCore::ScrollingTree::setOrClearLatchedNode): Added
1616         Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
1617         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
1618         latched node and stay in fast scrolling mode if possible. If the current event should
1619         start a swipe event, clear the current latched node so we can correctly find and assign
1620         the new latch node.
1621         * page/scrolling/ScrollingTree.h:
1622         (WebCore::ScrollingTree::hasLatchedNode): Added
1623         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1624         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
1625         based on wheel event state and position of mouse pointer in the document.
1626         * platform/ScrollAnimator.cpp:
1627         (ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
1628         as successfully handled so that it does not "bubble back up" to the root of
1629         the scrolling tree.   
1630
1631 2014-01-23  Myles C. Maxfield  <mmaxfield@apple.com>
1632
1633         ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
1634         https://bugs.webkit.org/show_bug.cgi?id=114586
1635
1636         Reviewed by Dave Hyatt.
1637
1638         Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8
1639
1640         If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
1641         Instead, we should make it a subclass of RenderElement, so that it can be split properly.
1642
1643         Test: fast/css-generated-content/quote-first-letter.html
1644
1645         * dom/PseudoElement.cpp:
1646         (WebCore::PseudoElement::didRecalcStyle):
1647         * rendering/RenderQuote.cpp:
1648         (WebCore::RenderQuote::RenderQuote):
1649         (WebCore::RenderQuote::willBeDestroyed):
1650         (WebCore::RenderQuote::willBeRemovedFromTree):
1651         (WebCore::RenderQuote::styleDidChange):
1652         (WebCore::RenderQuote::updateText):
1653         (WebCore::RenderQuote::computeText):
1654         (WebCore::RenderQuote::updateDepth):
1655         * rendering/RenderQuote.h:
1656         * rendering/style/ContentData.cpp:
1657         (WebCore::QuoteContentData::createContentRenderer):
1658
1659 2014-01-28  Antti Koivisto  <antti@apple.com>
1660
1661         Document::topDocument() should return a reference
1662         https://bugs.webkit.org/show_bug.cgi?id=127786
1663
1664         Reviewed by Darin Adler.
1665
1666         * accessibility/AccessibilityObject.cpp:
1667         (WebCore::AccessibilityObject::mainFrame):
1668         (WebCore::AccessibilityObject::topDocument):
1669         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1670         (-[WebAccessibilityObjectWrapper accessibilityContainer]):
1671         * dom/Document.cpp:
1672         (WebCore::Document::~Document):
1673         (WebCore::Document::createRenderTree):
1674         (WebCore::Document::destroyRenderTree):
1675         (WebCore::Document::clearAXObjectCache):
1676         (WebCore::Document::existingAXObjectCache):
1677         (WebCore::Document::axObjectCache):
1678         (WebCore::Document::implicitClose):
1679         (WebCore::Document::topDocument):
1680         (WebCore::Document::topOrigin):
1681         (WebCore::Document::webkitCancelFullScreen):
1682         (WebCore::Document::webkitDidExitFullScreenForElement):
1683         * dom/Document.h:
1684         * page/DOMWindow.cpp:
1685         (WebCore::DOMWindow::incrementScrollEventListenersCount):
1686         (WebCore::DOMWindow::decrementScrollEventListenersCount):
1687         * rendering/RenderEmbeddedObject.cpp:
1688         (WebCore::RenderEmbeddedObject::isReplacementObscured):
1689         * rendering/RenderView.cpp:
1690         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
1691         
1692 2014-01-28  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
1693
1694         Sticky positioning is broken for table rows
1695         https://bugs.webkit.org/show_bug.cgi?id=112024
1696
1697         Reviewed by Simon Fraser.
1698
1699         Enable sticky positioning for table elements. 
1700         Also includes fix for bug ​wkb.ug/105654
1701         I don't have access to this bug, but from related commit message I 
1702         assume it says about "Heap use after free problem".
1703         Debugging showed that it wasn't heap use after free. 
1704         The real problem that RenderObject::container() returns object which is
1705         not RenderBlock and it is used as RenderBlock in 
1706         RenderBox::containingBlockLogicalHeightForPositioned() method.
1707         Added extra isRenderBlock check and search for containingBlock if 
1708         current block is not RenderBlock.
1709         
1710         Tests: fast/css/sticky/sticky-table-row-top.html
1711                fast/css/sticky/sticky-table-thead-top.html
1712
1713         * css/StyleResolver.cpp:
1714         (WebCore::StyleResolver::adjustRenderStyle):
1715         * rendering/RenderBox.cpp:
1716         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1717         * rendering/RenderTableRow.h:
1718
1719 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
1720
1721         Fixing several incorrect assumptions with handling isolated inlines.
1722         https://bugs.webkit.org/show_bug.cgi?id=127608
1723
1724         Reviewed by Simon Fraser.
1725
1726         Fixing capitalization.
1727
1728         * rendering/RenderBlockLineLayout.cpp:
1729         (WebCore::setUpResolverToResumeInIsolate):
1730         (WebCore::constructBidiRunsForSegment):
1731
1732 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
1733
1734         Fixing several incorrect assumptions with handling isolated inlines.
1735         https://bugs.webkit.org/show_bug.cgi?id=127608
1736
1737         Reviewed by Dave Hyatt.
1738
1739         First, when an isolated inline spans multiple lines, we aren't guaranteed
1740         to exit BidiResolver with a nested inline count of zero. Removing the
1741         assert that says otherwise.
1742         
1743         Previously in constructBidiRunsForSegment, we called bidiFirst in
1744         an attempt to properly setup the isolatedResolver for any dom/style
1745         that applied, but this only worked on the first line the isolated
1746         inline appeared in. Adding a function that approaches this properly
1747         by recursing through the parents of the starting object for the line
1748         and post-fixing direction attributes to the resolver.
1749         
1750         Finally, addressing an issue where the line following a removed isolated
1751         inline (with a continuation) failed to be marked dirty.
1752
1753         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
1754
1755         Tests: fast/text/nested-bidi-assert.html
1756                fast/text/nested-bidi-with-continuation-crash.html
1757
1758         * platform/text/BidiResolver.h:
1759         (WebCore::Run>::~BidiResolver):
1760         * rendering/RenderBlockLineLayout.cpp:
1761         (WebCore::setupResolverToResumeInIsolate):
1762         (WebCore::constructBidiRunsForSegment):
1763         * rendering/RenderLineBoxList.cpp:
1764         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1765
1766 2014-01-28  Antti Koivisto  <antti@apple.com>
1767
1768         REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
1769         https://bugs.webkit.org/show_bug.cgi?id=127722
1770
1771         Reviewed by Darin Adler.
1772
1773         Accumulate repaint region in RendeView instead of flushing rects directly to the system.
1774
1775         * dom/Document.cpp:
1776         (WebCore::Document::recalcStyle):
1777         (WebCore::Document::updateLayout):
1778         (WebCore::Document::topDocument):
1779         
1780             Make less silly.
1781
1782         * page/FrameView.cpp:
1783         (WebCore::FrameView::layout):
1784         * rendering/RenderView.cpp:
1785         (WebCore::RenderView::repaintViewRectangle):
1786         (WebCore::RenderView::flushAccumulatedRepaintRegion):
1787         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
1788         (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
1789         * rendering/RenderView.h:
1790
1791 2014-01-28  Jeremy Jones  <jeremyj@apple.com>
1792
1793         HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
1794         https://bugs.webkit.org/show_bug.cgi?id=127759
1795
1796         Reviewed by Eric Carlson.
1797
1798         Initalize m_platformLayerBorrowed to false.
1799
1800         * html/HTMLMediaElement.cpp:
1801         (WebCore::HTMLMediaElement::HTMLMediaElement):
1802
1803 2014-01-28  Jer Noble  <jer.noble@apple.com>
1804
1805         [Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
1806         https://bugs.webkit.org/show_bug.cgi?id=127781
1807
1808         Reviewed by Eric Carlson.
1809
1810         Since every mac platform uses Float32 audio samples, use these types explicitly
1811         rather than the implicit, canonical AudioSampleType type. Once we're using Float32
1812         explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
1813         rather than the canonical version.
1814
1815         * platform/audio/mac/AudioDestinationMac.cpp:
1816         (WebCore::AudioDestinationMac::configure):
1817         * platform/audio/mac/AudioFileReaderMac.cpp:
1818         (WebCore::AudioFileReader::createBus):
1819
1820 2014-01-27  Alexey Proskuryakov  <ap@apple.com>
1821
1822         Expose SQL database creation and modification times
1823         https://bugs.webkit.org/show_bug.cgi?id=127728
1824
1825         Reviewed by Brady Eidson.
1826
1827         * platform/FileSystem.h:
1828         * platform/posix/FileSystemPOSIX.cpp:
1829         (WebCore::getFileCreationTime):
1830         * platform/win/FileSystemWin.cpp:
1831         (WebCore::getFileCreationTimeFromFindData):
1832         (WebCore::getFileCreationTime):
1833         Added functions to get file creation times. Not all OSes support that, but Darwin
1834         and Windows do, as (I think) various BSD flavors.
1835
1836         * platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().
1837
1838         * platform/sql/SQLiteFileSystem.h:
1839         * platform/sql/SQLiteFileSystem.cpp:
1840         (WebCore::SQLiteFileSystem::databaseCreationTime):
1841         (WebCore::SQLiteFileSystem::databaseModificationTime):
1842         Expose it in the same strange manner other database file operations are.
1843
1844         * Modules/webdatabase/DatabaseDetails.h:
1845         (WebCore::DatabaseDetails::DatabaseDetails):
1846         (WebCore::DatabaseDetails::creationTime):
1847         (WebCore::DatabaseDetails::modificationTime):
1848         Added creation and modification times to DatabaseDetails.
1849
1850         * Modules/webdatabase/DatabaseManager.cpp:
1851         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
1852         (WebCore::DatabaseManager::openDatabaseBackend):
1853         ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
1854         client, we should really straighten it up. But for now, just leave the times uninitialized.
1855
1856         * Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
1857         This code path is for handling quota errors, so there is no need to initialize most
1858         of DatabaseDetails here as well.
1859
1860         * Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1861         * Modules/webdatabase/DatabaseTracker.h:
1862         Fill in database file times. Inlined and removed usageForDatabase function to
1863         avoid rebuilding the path multiple times.
1864
1865 2014-01-28  Jer Noble  <jer.noble@apple.com>
1866
1867         Setting muted attribute on <video> element is not reflected in controls
1868         https://bugs.webkit.org/show_bug.cgi?id=127726
1869
1870         Reviewed by Eric Carlson.
1871
1872         If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
1873         set but before loading begins, it will return 'false' until loading begins, but with no
1874         way to query whether that value is valid, nor firing a volumechange event when its value
1875         changes.
1876
1877         The HTML spec says that the 'muted' content attribute controls whether audio output is
1878         muted "when the media element is created", not when loading begins, but we don't
1879         necessarily have a signal that the element is fully parsed.  Additionally, this means its
1880         impossible to make an element via script and get this behavior.
1881
1882         So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
1883         content attribute up until one of the following three conditions:
1884
1885         - The 'muted' IDL attribute is set via script.
1886         - The element is inserted in the document.
1887         - The element begins loading.
1888
1889         After the first one of the above conditions, the 'muted' IDL attribute will no longer
1890         change when the 'muted' content attribute changes.
1891
1892         * html/HTMLMediaElement.cpp:
1893         (WebCore::HTMLMediaElement::HTMLMediaElement):
1894         (WebCore::HTMLMediaElement::parseAttribute):
1895         * html/HTMLMediaElement.h:
1896
1897 2014-01-28  Anders Carlsson  <andersca@apple.com>
1898
1899         Add stubbed out VisitedLinkProvider class
1900         https://bugs.webkit.org/show_bug.cgi?id=127744
1901
1902         Reviewed by Andreas Kling.
1903
1904         This is a first step towards moving responsibility of visited links from 
1905         the page group to a separate object.
1906
1907         * CMakeLists.txt:
1908         * GNUmakefile.list.am:
1909         * WebCore.vcxproj/WebCore.vcxproj:
1910         * WebCore.vcxproj/WebCore.vcxproj.filters:
1911         * WebCore.xcodeproj/project.pbxproj:
1912         * page/PageGroup.cpp:
1913         (WebCore::PageGroup::PageGroup):
1914         * page/PageGroup.h:
1915         (WebCore::PageGroup::visitedLinkProvider):
1916         * page/VisitedLinkProvider.cpp: Added.
1917         (WebCore::VisitedLinkProvider::VisitedLinkProvider):
1918         (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
1919         * page/VisitedLinkProvider.h: Added.
1920         (WebCore::VisitedLinkProvider::create):
1921
1922 2014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
1923
1924         Add support for menclose element
1925         https://bugs.webkit.org/show_bug.cgi?id=85729
1926
1927         Reviewed by Chris Fleizach.
1928
1929         Added support for menclose element. MathML <menclose> element renders
1930         its content inside an enclosing notation specified by the notation
1931         attribute. The notation attribute can have values longdiv, box, left,
1932         right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
1933         updiagonalstrike, downdiagonalstrike, verticalstrike and
1934         horizontalstrike.
1935
1936         Tests: mathml/presentation/menclose-add-children.html
1937                mathml/presentation/menclose-notation-attribute-add.html
1938                mathml/presentation/menclose-notation-attribute-change-value.html
1939                mathml/presentation/menclose-notation-attribute-remove.html
1940                mathml/presentation/menclose-notation-attribute-set1.html
1941                mathml/presentation/menclose-notation-attribute-set2.html
1942                mathml/presentation/menclose-notation-no-overlap.html
1943                mathml/presentation/menclose-notation-radical.html
1944                mathml/presentation/menclose-remove-children.html
1945
1946         * CMakeLists.txt:
1947         * GNUmakefile.list.am:
1948         * WebCore.vcxproj/WebCore.vcxproj:
1949         * WebCore.vcxproj/WebCore.vcxproj.filters:
1950         * WebCore.xcodeproj/project.pbxproj:
1951         * css/mathml.css:
1952         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
1953         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
1954         * mathml/MathMLAllInOne.cpp:
1955         * mathml/MathMLElement.h:
1956         * mathml/MathMLInlineContainerElement.cpp:
1957         * mathml/MathMLMencloseElement.cpp: Added.
1958         (WebCore::MathMLMencloseElement::MathMLMencloseElement):
1959         (WebCore::MathMLMencloseElement::create):
1960         (WebCore::MathMLMencloseElement::createElementRenderer):
1961         (WebCore::MathMLMencloseElement::isPresentationAttribute):
1962         (WebCore::MathMLMencloseElement::finishParsingChildren):
1963         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
1964         (WebCore::MathMLMencloseElement::longDivLeftPadding):
1965         * mathml/MathMLMencloseElement.h: Added.
1966         (WebCore::toMathMLMencloseElement):
1967         * mathml/mathattrs.in:
1968         * mathml/mathtags.in:
1969         * rendering/mathml/RenderMathMLMenclose.cpp: Added.
1970         (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
1971         (WebCore::RenderMathMLMenclose::addChild):
1972         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
1973         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
1974         (WebCore::RenderMathMLMenclose::paint):
1975         (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
1976         * rendering/mathml/RenderMathMLMenclose.h: Added.
1977         * rendering/mathml/RenderMathMLRoot.cpp:
1978         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
1979         * rendering/mathml/RenderMathMLRoot.h:
1980         * rendering/mathml/RenderMathMLSquareRoot.cpp:
1981         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
1982         (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
1983         * rendering/mathml/RenderMathMLSquareRoot.h:
1984         Added new file related to menclose element implementation. Menclose
1985         element is created and while parsing its notation attribute based on
1986         its values like top, left CSSBorder properties are applied and for
1987         values like circle, verticalstrike, longidv its taken care in paint.
1988         For radical value an anonymous RenderMathMLSquareRoot is created as
1989         a child of menclose.
1990
1991 2014-01-28  Krzysztof Czech  <k.czech@samsung.com>
1992
1993         [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
1994         https://bugs.webkit.org/show_bug.cgi?id=127774
1995
1996         Reviewed by Mario Sanchez Prada.
1997
1998         Implicit value of step in range type elements should be one or larger.
1999
2000         No new tests. Covered by exiting one.
2001
2002         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2003         (webkitAccessibleValueGetMinimumIncrement):
2004
2005 2014-01-28  Mark Rowe  <mrowe@apple.com>
2006
2007         <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
2008
2009         Reviewed by Ryosuke Niwa.
2010
2011         * accessibility/mac/AXObjectCacheMac.mm:
2012         (WebCore::AXObjectCache::postPlatformNotification):
2013         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2014         (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
2015         * platform/audio/mac/AudioDestinationMac.cpp:
2016         (WebCore::AudioDestinationMac::configure):
2017         * platform/audio/mac/AudioFileReaderMac.cpp:
2018         (WebCore::AudioFileReader::createBus):
2019
2020 2014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2021
2022         [SOUP] Remove soupURIToKURL
2023         https://bugs.webkit.org/show_bug.cgi?id=127104
2024
2025         Reviewed by Martin Robinson.
2026
2027         In favor of a URL constructor receiving a SoupURI. Also add a
2028         method to URL to create a soupURI.
2029
2030         * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
2031         * PlatformEfl.cmake: Ditto.
2032         * PlatformGTK.cmake: Ditto.
2033         * platform/URL.h: Add URL constructor receiving a SoupURI and
2034         createSoupURI() to create a new soupURI for the URL.
2035         * platform/network/soup/CookieJarSoup.cpp:
2036         (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
2037         (WebCore::cookiesForSession): Ditto.
2038         (WebCore::getRawCookies): Ditto.
2039         (WebCore::deleteCookie): Ditto.
2040         * platform/network/soup/ResourceHandleSoup.cpp:
2041         (WebCore::doRedirect): Use the new URL constructor instead of
2042         soupURIToKURL.
2043         (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
2044         * platform/network/soup/ResourceRequest.h: Rename soupURI as
2045         createSoupURI to make it clear that the method returns a newly
2046         created SoupURI.
2047         * platform/network/soup/ResourceRequestSoup.cpp:
2048         (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
2049         (WebCore::ResourceRequest::updateSoupMessage): Ditto.
2050         (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
2051         constructor instead of soupURIToKURL.
2052         (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
2053         * platform/network/soup/ResourceResponseSoup.cpp:
2054         (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
2055         URL constructor instead of soupURIToKURL.
2056         * platform/network/soup/SoupURIUtils.cpp: Removed.
2057         * platform/network/soup/SoupURIUtils.h: Removed.
2058         * platform/soup/URLSoup.cpp: Added.
2059         (WebCore::URL::URL):
2060         (WebCore::URL::createSoupURI):
2061
2062 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2063
2064         [GTK] Avoid unnecessary string duplications in FileSystemGtk
2065         https://bugs.webkit.org/show_bug.cgi?id=127469
2066
2067         Reviewed by Martin Robinson.
2068
2069         We are using fileSystemRepresentation() everywhere internally
2070         which returns a CString that always duplicates the string.
2071         Add unescapedFilename() internal helper function that returns a
2072         GUniquePtr and used it everywhere instead of fileSystemRepresentation().
2073
2074         * platform/gtk/FileSystemGtk.cpp:
2075         (WebCore::unescapedFilename):
2076         (WebCore::fileSystemRepresentation):
2077         (WebCore::filenameForDisplay):
2078         (WebCore::fileExists):
2079         (WebCore::deleteFile):
2080         (WebCore::deleteEmptyDirectory):
2081         (WebCore::getFileStat):
2082         (WebCore::getFileSize):
2083         (WebCore::getFileModificationTime):
2084         (WebCore::getFileMetadata):
2085         (WebCore::pathByAppendingComponent):
2086         (WebCore::makeAllDirectories):
2087         (WebCore::pathGetFileName):
2088         (WebCore::directoryName):
2089         (WebCore::listDirectory):
2090         (WebCore::openFile):
2091
2092 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2093
2094         [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
2095         https://bugs.webkit.org/show_bug.cgi?id=127614
2096
2097         Reviewed by Gustavo Noronha Silva.
2098
2099         Add API to set the page identifier that initiated the request to
2100         ResourceRequest, and remove the initiatingPageID() method from the
2101         NetworkingContext class.
2102
2103         * platform/network/NetworkingContext.h:
2104         * platform/network/ResourceHandle.h:
2105         * platform/network/soup/ResourceHandleSoup.cpp:
2106         (WebCore::createSoupRequestAndMessageForHandle):
2107         * platform/network/soup/ResourceRequest.h:
2108         (WebCore::ResourceRequest::ResourceRequest):
2109         (WebCore::ResourceRequest::initiatingPageID):
2110         (WebCore::ResourceRequest::setInitiatingPageID):
2111         * platform/network/soup/ResourceRequestSoup.cpp:
2112         (WebCore::ResourceRequest::updateSoupRequest):
2113         (WebCore::ResourceRequest::updateFromSoupRequest):
2114
2115 2014-01-27  Tim Horton  <timothy_horton@apple.com>
2116
2117         Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
2118         https://bugs.webkit.org/show_bug.cgi?id=127734
2119         <rdar://problem/15906263>
2120
2121         Reviewed by Simon Fraser.
2122
2123         * page/scrolling/ScrollingStateScrollingNode.h:
2124         Retain the ScrollbarPainters in the scrolling state tree.
2125
2126 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
2127
2128         Unreviewed iOS build fix. FALLTHROUGHs for iOS.
2129
2130         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2131         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
2132         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
2133
2134 2014-01-27  Roger Fong  <roger_fong@apple.com>
2135
2136         WebGLLoadPolicy::WebGLAsk is an unnecessary value.
2137         https://bugs.webkit.org/show_bug.cgi?id=127755
2138
2139         Reviewed by Anders Carlsson.
2140
2141         * html/HTMLCanvasElement.cpp:
2142         (WebCore::HTMLCanvasElement::getContext):
2143         * loader/FrameLoaderTypes.h:
2144
2145 2014-01-27  Brady Eidson  <beidson@apple.com>
2146
2147         IDB: Cursor support - Messaging, IPC, Threading plumbing
2148         https://bugs.webkit.org/show_bug.cgi?id=127736
2149
2150         Reviewed by Sam Weinig.
2151
2152         * Modules/indexeddb/IDBCursorBackendOperations.h:
2153         (WebCore::CursorIterationOperation::cursorID):
2154         (WebCore::CursorAdvanceOperation::cursorID):
2155
2156         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2157         (WebCore::OpenCursorOperation::transactionID):
2158
2159         * WebCore.exp.in:
2160
2161 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
2162
2163         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
2164         https://bugs.webkit.org/show_bug.cgi?id=127671
2165
2166         Reviewed by Ryosuke Niwa.
2167
2168         * Configurations/Base.xcconfig:
2169         Enable the warning.
2170
2171         * css/StyleResolver.cpp:
2172         (WebCore::StyleResolver::applyProperty):
2173         Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
2174
2175         * css/SVGCSSParser.cpp:
2176         (WebCore::CSSParser::parseSVGValue):
2177         Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
2178
2179         * platform/Decimal.cpp:
2180         (WebCore::Decimal::fromString):
2181         Possible bug. Implementation doesn't seem to match its documentation.
2182         Filed an issue to follow-up on this unclear function.
2183
2184         * css/makeprop.pl:
2185         * css/makevalues.pl:
2186         * platform/ColorData.gperf:
2187         Ignore implicit fallthrough warnings in generated code. gperf outputs
2188         a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
2189         this output. Easiest to just ignore the warning for now.
2190
2191         * rendering/AutoTableLayout.cpp:
2192         (WebCore::AutoTableLayout::recalcColumn):
2193         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2194         (WebCore::AutoTableLayout::layout):
2195         There has been a "fall through" comment immediately followed by a break
2196         since its introduction in 2003. Removing the inaccurate comment.
2197
2198         * accessibility/AccessibilityNodeObject.cpp:
2199         (WebCore::AccessibilityNodeObject::canHaveChildren):
2200         (WebCore::AccessibilityNodeObject::visibleText):
2201         (WebCore::AccessibilityNodeObject::title):
2202         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2203         (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
2204         (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
2205         * bindings/js/SerializedScriptValue.cpp:
2206         (WebCore::CloneSerializer::serialize):
2207         (WebCore::CloneDeserializer::deserialize):
2208         * css/CSSComputedStyleDeclaration.cpp:
2209         (WebCore::ComputedStyleExtractor::propertyValue):
2210         * css/CSSParser.cpp:
2211         (WebCore::CSSParser::parseValue):
2212         (WebCore::CSSParser::parseContent):
2213         (WebCore::CSSParser::realLex):
2214         * css/CSSSelector.cpp:
2215         (WebCore::CSSSelector::extractPseudoType):
2216         (WebCore::CSSSelector::selectorText):
2217         * css/StyleProperties.cpp:
2218         (WebCore::StyleProperties::asText):
2219         * css/StyleSheetContents.cpp:
2220         (WebCore::childRulesHaveFailedOrCanceledSubresources):
2221         * dom/Node.cpp:
2222         (WebCore::appendTextContent):
2223         * html/parser/HTMLTreeBuilder.cpp:
2224         (WebCore::HTMLTreeBuilder::processStartTag):
2225         (WebCore::HTMLTreeBuilder::processEndTag):
2226         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2227         (WebCore::HTMLTreeBuilder::processEndOfFile):
2228         * loader/cache/CachedResourceLoader.cpp:
2229         (WebCore::CachedResourceLoader::requestResource):
2230         * page/EventSource.cpp:
2231         (WebCore::EventSource::parseEventStream):
2232         * platform/DateComponents.cpp:
2233         (WebCore::DateComponents::toStringForTime):
2234         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2235         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2236         * platform/graphics/cg/GraphicsContextCG.cpp:
2237         (WebCore::GraphicsContext::platformInit):
2238         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2239         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
2240         * platform/graphics/win/FullScreenController.cpp:
2241         (FullScreenController::Private::fullscreenClientWndProc):
2242         * platform/text/BidiResolver.h:
2243         (WebCore::Run>::updateStatusLastFromCurrentDirection):
2244         (WebCore::Run>::createBidiRunsForLine):
2245         * platform/text/win/LocaleWin.cpp:
2246         (WebCore::LocaleWin::initializeLocaleData):
2247         * rendering/PointerEventsHitRules.cpp:
2248         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
2249         * rendering/RenderBlockFlow.cpp:
2250         (WebCore::RenderBlockFlow::newLine):
2251         * rendering/RenderBlockLineLayout.cpp:
2252         (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
2253         * rendering/RenderBox.cpp:
2254         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2255         * rendering/RenderBoxModelObject.cpp:
2256         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2257         * rendering/RenderObject.cpp:
2258         (WebCore::RenderObject::drawLineForBoxSide):
2259         * rendering/RenderQuote.cpp:
2260         (WebCore::RenderQuote::originalText):
2261         * rendering/RenderReplaced.cpp:
2262         (WebCore::RenderReplaced::replacedContentRect):
2263         * rendering/RenderTable.cpp:
2264         (WebCore::RenderTable::addChild):
2265         * rendering/RenderTheme.cpp:
2266         (WebCore::RenderTheme::adjustStyle):
2267         * rendering/style/RenderStyle.cpp:
2268         (WebCore::RenderStyle::setWordSpacing):
2269         * rendering/svg/RenderSVGResource.cpp:
2270         (WebCore::requestPaintingResource):
2271         * rendering/svg/SVGMarkerData.h:
2272         (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
2273         * svg/SVGPathParser.cpp:
2274         (WebCore::SVGPathParser::parsePathDataFromSource):
2275         * svg/SVGTransformDistance.cpp:
2276         (WebCore::SVGTransformDistance::SVGTransformDistance):
2277         (WebCore::SVGTransformDistance::scaledDistance):
2278         (WebCore::SVGTransformDistance::addSVGTransforms):
2279         (WebCore::SVGTransformDistance::addToSVGTransform):
2280         (WebCore::SVGTransformDistance::distance):
2281         Add annotation or break before falling into a default:break;
2282
2283 2014-01-27  Andreas Kling  <akling@apple.com>
2284
2285         Allow mmap encoded data replacement for WOFF fonts.
2286         <https://webkit.org/b/127737>
2287
2288         We always have to convert WOFF fonts to SFNT format. This happens
2289         in a separate buffer from the CachedFont's internal resource buffer.
2290         Because of this, there's no need to protect the original buffer from
2291         mmap replacement.
2292
2293         With this change, WOFF web fonts are no longer duplicated between
2294         the network and web processes.
2295
2296         Reviewed by Brady Eidson.
2297
2298         * loader/cache/CachedFont.cpp:
2299         (WebCore::CachedFont::CachedFont):
2300         (WebCore::CachedFont::ensureCustomFontData):
2301         (WebCore::CachedFont::mayTryReplaceEncodedData):
2302         * loader/cache/CachedFont.h:
2303
2304 2014-01-27  David Hyatt  <hyatt@apple.com>
2305
2306         [New Multicolumn] Add support for block progression axis and reverse direction
2307         https://bugs.webkit.org/show_bug.cgi?id=127715
2308
2309         Reviewed by thorton.
2310
2311         This patch adds support for -webkit-progression-direction and -webkit-progression-axis
2312         to the new column code. This allows columns to stack along the block axis instead of
2313         the inline axis or to reverse directions along that progression axis.
2314
2315         Added fast/multicol/newmulticol/progression-reverse.html and
2316               fast/multicol/newmulticol/progression-reverse-overflow.html
2317
2318         * rendering/RenderBlock.cpp:
2319         (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
2320         (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
2321         New functions have been added for top and left layout overflow in order to get
2322         a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
2323         the functions for the old multicolumn layout code to keep it working.
2324
2325         * rendering/RenderBlock.h:
2326         Added the new top/left overflow functions.
2327
2328         * rendering/RenderBlockFlow.cpp:
2329         (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
2330         Moved from RenderBlock, since it didn't belong there.
2331
2332         (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
2333         (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
2334         * rendering/RenderBlockFlow.h:
2335         Overridden for the new multi-column code to specify when top/left overflow are
2336         allowed (e.g., when the columns go backwards).
2337
2338         * rendering/RenderBox.cpp:
2339         (WebCore::RenderBox::addLayoutOverflow):
2340         Overridden to use the new top/left overflow functions.
2341
2342         * rendering/RenderBox.h:
2343         (WebCore::RenderBox::isTopLayoutOverflowAllowed):
2344         (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
2345         Added base definitions that look at direction and writing-mode.
2346
2347         * rendering/RenderFlexibleBox.cpp:
2348         (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
2349         (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
2350         * rendering/RenderFlexibleBox.h:
2351         Overrides for flexible box of the top/left overflow functions.
2352
2353         * rendering/RenderMultiColumnFlowThread.h:
2354         Make sure requiresBalancing() is set to false if the axis of the columns
2355         is block, since at least right now, we don't support balancing columns
2356         along the block axis. (In theory we could support this in the future, but
2357         nobody has requested it.)
2358
2359         * rendering/RenderMultiColumnSet.cpp:
2360         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2361         Remove the code that expands the width of multi column sets. We now always
2362         let their logical width match the containing block's content width and instead
2363         add the overflow to the set itself.
2364
2365         (WebCore::RenderMultiColumnSet::columnRectAt):
2366         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2367         (WebCore::RenderMultiColumnSet::paintColumnRules):
2368         (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
2369         (WebCore::RenderMultiColumnSet::collectLayerFragments):
2370         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2371         Patch all of these functions to know how to handle a block axis or reversed
2372         direction.
2373
2374         (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
2375         * rendering/RenderMultiColumnSet.h:
2376         Make multi-column set add in its overflow in the same way that the old
2377         multi-column code did, by looking at the last column rect. (This is really
2378         not a very good way to do it, but it's the same as the old code for now.)
2379
2380 2014-01-27  Daniel Bates  <dabates@apple.com>
2381
2382         Fix the Mac build following <http://trac.webkit.org/changeset/162887>
2383         (https://bugs.webkit.org/show_bug.cgi?id=127703)
2384
2385         Export symbol for WebCore::AXObjectCache::enableAccessibility().
2386
2387         * WebCore.exp.in:
2388
2389 2014-01-27  Roger Fong  <roger_fong@apple.com>
2390
2391         [Mac] Unreviewed build fix. Add missing export symbol.
2392
2393         * WebCore.exp.in:
2394
2395 2014-01-27  Roger Fong  <roger_fong@apple.com>
2396
2397         [Windows] Tests crashing on Windows after r162816.
2398         https://bugs.webkit.org/show_bug.cgi?id=127703.
2399
2400         Reviewed by Alexey Proskuryakov.
2401
2402         * accessibility/AXObjectCache.cpp:
2403         (WebCore::AXObjectCache::enableAccessibility):
2404         (WebCore::AXObjectCache::disableAccessibility):
2405         * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
2406
2407 2014-01-27  Andy Estes  <aestes@apple.com>
2408
2409         Update bindings test expectations after r162872
2410
2411         * bindings/scripts/test/ObjC/DOMTestInterface.h:
2412         * bindings/scripts/test/ObjC/DOMTestObj.h:
2413
2414 2014-01-27  Andy Estes  <aestes@apple.com>
2415
2416         Scrub WebKit API headers of WTF macros
2417         https://bugs.webkit.org/show_bug.cgi?id=127706
2418
2419         Reviewed by David Kilzer.
2420
2421         * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
2422         * bindings/objc/DOMEvents.h: Guarded include of
2423         DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
2424         are always enabled on iOS.
2425         * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
2426         TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
2427         * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
2428         TARGET_OS_IPHONE.
2429         * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
2430         TARGET_IPHONE_SIMULATOR.
2431
2432 2014-01-27  Jer Noble  <jer.noble@apple.com>
2433
2434         [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
2435         https://bugs.webkit.org/show_bug.cgi?id=127701
2436
2437         Reviewed by Eric Carlson.
2438
2439         dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
2440         thread was also the web thread. But since that's not the case on iOS, we should be
2441         using callOnMainThread() instead (because it dispatches to the web thread, not as
2442         its name implies, the main thread).
2443
2444         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2445         (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
2446         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2447         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2448         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2449         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
2450         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
2451         (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
2452         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
2453         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
2454         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
2455
2456 2014-01-27  Maciej Stachowiak  <mjs@apple.com>
2457
2458         Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
2459         https://bugs.webkit.org/show_bug.cgi?id=127719
2460
2461         Reviewed by Sam Weinig.
2462
2463         * html/DOMURL.idl:
2464
2465 2014-01-27  Andreas Kling  <akling@apple.com>
2466
2467         Remove unused USE(OPENTYPE_SANITIZER) code.
2468         <https://webkit.org/b/127710>
2469
2470         This code was only used by the Chromium port.
2471
2472         Reviewed by Darin Adler.
2473
2474         * GNUmakefile.list.am:
2475         * WebCore.xcodeproj/project.pbxproj:
2476         * loader/cache/CachedFont.cpp:
2477         (WebCore::CachedFont::ensureCustomFontData):
2478         * platform/graphics/WOFFFileFormat.cpp:
2479         * platform/graphics/WOFFFileFormat.h:
2480         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
2481         * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
2482
2483
2484 2014-01-27  Andy Estes  <aestes@apple.com>
2485
2486         Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
2487         https://bugs.webkit.org/show_bug.cgi?id=127706
2488
2489         Reviewed by David Kilzer.
2490
2491         Instead of adding ENABLE() macros to generated Objective-C DOM
2492         headers, which might become Public or Private headers, elide generated
2493         code for disabled features.
2494
2495         * bindings/scripts/CodeGeneratorObjC.pm:
2496         (GenerateInterface): Passed $defines to GenerateHeader.
2497         (ConditionalIsEnabled): Checked if the given conditional is found in
2498         $defines. Handled conditionals with '&' and '|'.
2499         (GenerateHeader): Rather than calling GenerateConditionalString to
2500         generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
2501         whether we should generate code for the given constant, attribute, or
2502         function.
2503
2504 2014-01-27  Zoltan Horvath  <zoltan@webkit.org>
2505
2506         [CSS Shapes] Remove restriction of negative values for inset parameters
2507         https://bugs.webkit.org/show_bug.cgi?id=127704
2508
2509         Reviewed by Darin Adler.
2510
2511         The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
2512         doesn't contain any restriction of using negative values for the inset sizing.
2513         I removed the restriction from the code and added testing for them.
2514
2515         Existing tests have been extended with the new cases.
2516
2517         * css/CSSParser.cpp:
2518         (WebCore::CSSParser::parseBasicShapeInset):
2519
2520 2014-01-27  Eric Carlson  <eric.carlson@apple.com>
2521
2522         [iOS] preload=none prevents play()
2523         https://bugs.webkit.org/show_bug.cgi?id=127702
2524
2525         Reviewed by Jer Noble.
2526
2527         No new tests, covered by existing tests.
2528
2529         * html/HTMLMediaElement.cpp:
2530         (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
2531             fix logic error introduced in r161973
2532         (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
2533             we are using the plug-in proxy.
2534
2535 2014-01-27  Brady Eidson  <beidson@apple.com>
2536
2537         IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
2538         https://bugs.webkit.org/show_bug.cgi?id=127708
2539
2540         Reviewed by Tim Horton.
2541
2542         Move that knowledge to the IDBCursorBackendOperations inside the callback.
2543
2544         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
2545         (WebCore::CursorAdvanceOperation::perform):
2546         (WebCore::CursorIterationOperation::perform):
2547         * Modules/indexeddb/IDBCursorBackendOperations.h:
2548
2549         * Modules/indexeddb/IDBServerConnection.h:
2550         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2551         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
2552         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
2553         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2554
2555 2014-01-27  Brady Eidson  <beidson@apple.com>
2556
2557         IDB: Remove unused concept of "cursor prefetch"
2558         https://bugs.webkit.org/show_bug.cgi?id=127700
2559
2560         Reviewed by Tim Horton.
2561
2562         * Modules/indexeddb/IDBCursorBackend.cpp:
2563         * Modules/indexeddb/IDBCursorBackend.h:
2564         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
2565         * Modules/indexeddb/IDBCursorBackendOperations.h:
2566         * Modules/indexeddb/IDBServerConnection.h:
2567         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2568         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2569
2570 2014-01-27  Brady Eidson  <beidson@apple.com>
2571
2572         IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
2573         https://bugs.webkit.org/show_bug.cgi?id=127592
2574
2575         Reviewed by Tim Horton.
2576
2577         For each of the 3 remaining operations where the backing store calls callbacks directly,
2578         factor out the callbacks to the operation itself.
2579
2580
2581         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2582         (WebCore::OpenCursorOperation::perform):
2583         (WebCore::CountOperation::perform):
2584         (WebCore::DeleteRangeOperation::perform):
2585         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2586
2587         * Modules/indexeddb/IDBServerConnection.h:
2588         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2589         (WebCore::IDBServerConnectionLevelDB::openCursor):
2590         (WebCore::IDBServerConnectionLevelDB::count):
2591         (WebCore::IDBServerConnectionLevelDB::deleteRange):
2592         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2593
2594 2014-01-27  Commit Queue  <commit-queue@webkit.org>
2595
2596         Unreviewed, rolling out r162755.
2597         http://trac.webkit.org/changeset/162755
2598         https://bugs.webkit.org/show_bug.cgi?id=127696
2599
2600         not quite right, breaks subframe scrolling in some cases
2601         (Requested by thorton on #webkit).
2602
2603         * page/scrolling/ScrollingTree.cpp:
2604         (WebCore::ScrollingTree::ScrollingTree):
2605         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
2606         (WebCore::ScrollingTree::removeDestroyedNodes):
2607         * page/scrolling/ScrollingTree.h:
2608         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2609         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
2610
2611 2014-01-27  Zoltan Horvath  <zoltan@webkit.org>
2612
2613         [CSS Shapes] inset() function with multiple spaces on element style
2614         https://bugs.webkit.org/show_bug.cgi?id=127617
2615
2616         Reviewed by Dirk Schulze.
2617
2618         When only a subset of parameters were defined for an inset shape, the built
2619         inset string contained some extra spaces. This patch fixes the behavior and
2620         adds tests for the case. I also removed the string allocation optimization from
2621         buildInsetString, since it's not worthwhile to always allocate as many memory
2622         as needed for a fully defined inset.
2623
2624         I added the new test cases to the shapes parser code test.
2625
2626         * css/CSSBasicShapes.cpp:
2627         (WebCore::buildInsetString):
2628
2629 2014-01-27  Antti Koivisto  <antti@apple.com>
2630
2631         * WebCore.exp.in: Add export needed for iOS.
2632
2633 2014-01-27  Antti Koivisto  <antti@apple.com>
2634
2635         REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
2636         https://bugs.webkit.org/show_bug.cgi?id=126177
2637
2638         Reviewed by Anders Carlsson.
2639         
2640         Spotted by Elliott Sprehn in Chromium.
2641
2642         * dom/Element.cpp:
2643         (WebCore::checkSelectorForClassChange):
2644         
2645             Remove unnecessary templating.
2646
2647         (WebCore::Element::classAttributeChanged):
2648         
2649             Fix logic error with 'continue'.
2650
2651 2014-01-27  Brendan Long  <b.long@cablelabs.com>
2652
2653         [GStreamer] Lockup when playing Icecast radio
2654         https://bugs.webkit.org/show_bug.cgi?id=127452
2655
2656         Reviewed by Philippe Normand.
2657
2658         No new tests. This bug can only be demonstrated with an Icecast stream, and it's
2659         not clear how to do that in our testing framework.
2660
2661         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2662         (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
2663
2664 2014-01-27  Jessie Berlin  <jberlin@apple.com>
2665
2666         Build fix after r162838.
2667
2668         * page/FrameView.cpp:
2669         Remove an unused constant.
2670
2671 2014-01-27  Antti Koivisto  <antti@apple.com>
2672
2673         Remove repaint throttling
2674         https://bugs.webkit.org/show_bug.cgi?id=127681
2675
2676         Reviewed by Sam Weinig.
2677
2678         Nowadays we throttle layer flushes. This code is unnecessary.
2679
2680         * WebCore.exp.in:
2681         * dom/Document.cpp:
2682         (WebCore::Document::recalcStyle):
2683         * dom/Element.cpp:
2684         (WebCore::Element::classAttributeChanged):
2685         * editing/AlternativeTextController.cpp:
2686         (WebCore::AlternativeTextController::insertDictatedText):
2687         * loader/FrameLoader.cpp:
2688         (WebCore::FrameLoader::checkCompleted):
2689         * page/EventHandler.cpp:
2690         (WebCore::EventHandler::dispatchDragEvent):
2691         (WebCore::EventHandler::dispatchMouseEvent):
2692         (WebCore::EventHandler::keyEvent):
2693         (WebCore::EventHandler::handleTextInputEvent):
2694         * page/FrameView.cpp:
2695         (WebCore::FrameView::FrameView):
2696         (WebCore::FrameView::reset):
2697         (WebCore::FrameView::flushCompositingStateForThisFrame):
2698         (WebCore::FrameView::layout):
2699         (WebCore::FrameView::repaintContentRectangle):
2700         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
2701         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2702         * page/FrameView.h:
2703         * rendering/RenderView.cpp:
2704         (WebCore::RenderView::setSelection):
2705
2706 2014-01-24  Eric Carlson  <eric.carlson@apple.com>
2707
2708         Merge Chromium TextTrack cleanups
2709         https://bugs.webkit.org/show_bug.cgi?id=127483
2710
2711         Reviewed by Darin Adler.
2712
2713         Merge some TextTrack cleanups:
2714         https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
2715         https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
2716         https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
2717         https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
2718         https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
2719         https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
2720         https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0
2721
2722         * html/HTMLTrackElement.cpp:
2723         (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
2724         (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
2725         * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
2726
2727         * html/track/LoadableTextTrack.cpp:
2728         (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
2729         (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
2730         (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
2731         * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
2732
2733         * loader/TextTrackLoader.cpp:
2734         (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
2735         (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
2736         (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
2737         (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
2738         (WebCore::TextTrackLoader::processNewCueData): Ditto.
2739         (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
2740         (WebCore::TextTrackLoader::notifyFinished): Ditto.
2741         (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
2742             the only implementation always returned true.
2743         (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
2744         * loader/TextTrackLoader.h:
2745
2746         * loader/cache/CachedResourceLoader.cpp:
2747         (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
2748
2749 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
2750
2751         AX: Disable accessibility after every test run
2752         https://bugs.webkit.org/show_bug.cgi?id=127439
2753
2754         Reviewed by Csaba Osztrogonác.
2755
2756         Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
2757
2758         * loader/FrameLoader.cpp:
2759         (WebCore::FrameLoader::prepareForLoadStart):
2760
2761 2014-01-27  Csaba Osztrogonác  <ossy@webkit.org>
2762
2763         Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
2764         https://bugs.webkit.org/show_bug.cgi?id=127678
2765
2766         Reviewed by Zoltan Herczeg.
2767
2768         * platform/text/TextBreakIterator.cpp:
2769         (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
2770         Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
2771
2772 2014-01-26  Tim Horton  <timothy_horton@apple.com>
2773
2774         Fix the iOS build (failed to correctly revert some broken changes in the last patch).
2775
2776         * platform/graphics/cg/BitmapImageCG.cpp:
2777
2778 2014-01-26  Tim Horton  <timothy_horton@apple.com>
2779
2780         Start cleaning up iOS upstreaming #ifs in platform/graphics
2781         https://bugs.webkit.org/show_bug.cgi?id=127641
2782
2783         Reviewed by Sam Weinig.
2784
2785         * platform/graphics/BitmapImage.h:
2786         * platform/graphics/mac/ColorMac.h:
2787         Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().
2788
2789         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
2790         (WebCore::AVTrackPrivateAVFObjCImpl::label):
2791         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
2792         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
2793         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2794         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2795         Remove some code that was only used on OS X on Lion or below.
2796
2797         * platform/graphics/cg/GraphicsContextCG.cpp:
2798         (WebCore::GraphicsContext::platformInit):
2799         ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.
2800
2801         * platform/graphics/cg/FloatPointCG.cpp:
2802         * platform/graphics/cg/FloatRectCG.cpp:
2803         * platform/graphics/cg/FloatSizeCG.cpp:
2804         * platform/graphics/cg/GradientCG.cpp:
2805         * platform/graphics/cg/ImageBufferCG.cpp:
2806         * platform/graphics/cg/ImageCG.cpp:
2807         * platform/graphics/cg/IntPointCG.cpp:
2808         * platform/graphics/cg/IntRectCG.cpp:
2809         * platform/graphics/cg/PathCG.cpp:
2810         * platform/graphics/cg/PatternCG.cpp:
2811         * platform/graphics/mac/FontCustomPlatformData.cpp:
2812         Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
2813         even on Mac, so we can share the include.
2814
2815         * platform/graphics/cg/IntSizeCG.cpp:
2816         Remove a random comment of a style we don't tend to use in WebKit,
2817         and from a file not large enough to need it.
2818
2819         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2820         (WebCore::FontPlatformData::FontPlatformData):
2821         (WebCore::FontPlatformData::setFont):
2822         Remove some more always-true #ifs.
2823
2824         * platform/graphics/mac/WebLayer.mm:
2825         Move a #if'd include out to its own block as per the style guide.
2826
2827 2014-01-26  David Hyatt  <hyatt@apple.com>
2828
2829         [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
2830         https://bugs.webkit.org/show_bug.cgi?id=127670
2831
2832         This patch makes sure that the progression axis and direction style properties
2833         are properly propagated from the style to the multi-column flow thread. Virtualizing
2834         and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
2835         share code between the old multi-column code and the new.
2836
2837         Reviewed by Sam Weinig.
2838
2839         * rendering/RenderBlock.cpp:
2840         (WebCore::RenderBlock::updateColumnProgressionFromStyle):
2841         * rendering/RenderBlock.h:
2842         * rendering/RenderBlockFlow.cpp:
2843         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2844         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
2845         * rendering/RenderBlockFlow.h:
2846         * rendering/RenderBox.cpp:
2847         (WebCore::RenderBox::styleDidChange):
2848         * rendering/RenderMultiColumnFlowThread.cpp:
2849         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2850         * rendering/RenderMultiColumnFlowThread.h:
2851         * style/StyleResolveForDocument.cpp:
2852         (WebCore::Style::resolveForDocument):
2853
2854 2014-01-26  David Hyatt  <hyatt@apple.com>
2855
2856         [New Multicolumn] Change the axis property to be a boolean like other isInline checks
2857         https://bugs.webkit.org/show_bug.cgi?id=127661
2858
2859         Reviewed by Simon Fraser.
2860
2861         * rendering/ColumnInfo.h:
2862         (WebCore::ColumnInfo::ColumnInfo):
2863         (WebCore::ColumnInfo::progressionIsInline):
2864         (WebCore::ColumnInfo::setProgressionIsInline):
2865         * rendering/RenderBlock.cpp:
2866         (WebCore::RenderBlock::paintColumnRules):
2867         (WebCore::RenderBlock::initialBlockOffsetForPainting):
2868         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
2869         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2870         (WebCore::RenderBlock::updateColumnInfoFromStyle):
2871         (WebCore::RenderBlock::columnRectAt):
2872         (WebCore::RenderBlock::adjustPointToColumnContents):
2873         (WebCore::RenderBlock::adjustRectForColumns):
2874         (WebCore::RenderBlock::adjustForColumns):
2875         * rendering/RenderMultiColumnFlowThread.h:
2876         * rendering/RenderObject.cpp:
2877         (WebCore::RenderObject::columnNumberForOffset):
2878
2879 2014-01-26  Benjamin Poulain  <benjamin@webkit.org>
2880
2881         Make DOMStringMap a typedef of DatasetDOMStringMap
2882         https://bugs.webkit.org/show_bug.cgi?id=127658
2883
2884         Reviewed by Sam Weinig.
2885
2886         The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
2887         The abstract interface for a single definition is adding complexity for no gain.
2888
2889         This patch removes DOMStringMap and simply keeps the name through a typedef.
2890         I used a typedef instead of just renaming DatasetDOMStringMap because I think
2891         having both name has value. DatasetDOMStringMap is a better description of what
2892         the implementation does. DOMStringMap is the public name and the classname is
2893         the same as the JavaScript type by convention.
2894
2895         * CMakeLists.txt:
2896         * GNUmakefile.list.am:
2897         * WebCore.vcxproj/WebCore.vcxproj:
2898         * WebCore.vcxproj/WebCore.vcxproj.filters:
2899         * WebCore.xcodeproj/project.pbxproj:
2900         * dom/DOMAllInOne.cpp:
2901         * dom/DOMStringMap.cpp: Removed.
2902         * dom/DOMStringMap.h:
2903         * dom/DatasetDOMStringMap.h:
2904         * dom/Element.cpp:
2905         (WebCore::Element::dataset):
2906         * dom/Element.h:
2907
2908 2014-01-26  David Kilzer  <ddkilzer@apple.com>
2909
2910         Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
2911         <https://bugs.webkit.org/show_bug.cgi?id=126761>
2912         <rdar://problem/15793540>
2913
2914         Reviewed by Simon Fraser.
2915
2916         * bindings/objc/DOM.mm:
2917         (-[DOMElement image]):
2918         (-[DOMElement _imageTIFFRepresentation]):
2919         * platform/gtk/PasteboardGtk.cpp:
2920         (WebCore::Pasteboard::writeImage):
2921         * platform/win/PasteboardWin.cpp:
2922         (WebCore::Pasteboard::writeImage):
2923         (WebCore::getCachedImage):
2924         * rendering/HitTestResult.cpp:
2925         (WebCore::HitTestResult::image):
2926         - More places where toRenderImage() should be used instead of
2927           toImage().
2928         - Fixed last two places where static_cast<WebCore::RenderImage*>
2929           was being used instead of toRenderImage().
2930
2931 2014-01-26  Chris Fleizach  <cfleizach@apple.com>
2932
2933         AX: Disable accessibility after every test run
2934         https://bugs.webkit.org/show_bug.cgi?id=127439
2935
2936         Reviewed by Alexey Proskuryakov.
2937
2938         If accessibility is disabled, we may still need to return the existing 
2939         AXObjectCache, so that objects can be cleaned up appropriately.
2940
2941         A such we have to be prepared to handle a nullptr return value in more cases.
2942
2943         * accessibility/AXObjectCache.h:
2944         (WebCore::AXObjectCache::disableAccessibility):
2945         * accessibility/AccessibilityNodeObject.cpp:
2946         (WebCore::AccessibilityNodeObject::childrenChanged):
2947         * accessibility/AccessibilityRenderObject.cpp:
2948         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
2949         * dom/Document.cpp:
2950         (WebCore::Document::existingAXObjectCache):
2951
2952 2014-01-26  Anders Carlsson  <andersca@apple.com>
2953
2954         Move history item visit count handling to WebKit
2955         https://bugs.webkit.org/show_bug.cgi?id=127659
2956
2957         Reviewed by Dan Bernstein.
2958
2959         Remove all members dealing with visit handling - they're going back to WebKit.
2960
2961         * WebCore.exp.in:
2962         * history/HistoryItem.cpp:
2963         (WebCore::HistoryItem::HistoryItem):
2964         (WebCore::HistoryItem::reset):
2965         (WebCore::HistoryItem::decodeBackForwardTree):
2966         * history/HistoryItem.h:
2967         (WebCore::HistoryItem::create):
2968
2969 2014-01-26  Anders Carlsson  <andersca@apple.com>
2970
2971         Move lastVisitWasHTTPNonGet out to WebHistoryItem
2972         https://bugs.webkit.org/show_bug.cgi?id=127657
2973
2974         Reviewed by Dan Bernstein.
2975
2976         Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.
2977
2978         * history/HistoryItem.cpp:
2979         (WebCore::HistoryItem::HistoryItem):
2980         (WebCore::HistoryItem::reset):
2981         * history/HistoryItem.h:
2982
2983 2014-01-26  Zalan Bujtas  <zalan@apple.com>
2984
2985         Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
2986         https://bugs.webkit.org/show_bug.cgi?id=127640
2987
2988         Reviewed by Simon Fraser.
2989
2990         <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
2991         while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
2992         This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
2993         rendering back to the pre-subpixel layout state.
2994
2995         * platform/mac/ThemeMac.mm:
2996         (WebCore::ThemeMac::controlPadding):
2997
2998 2014-01-26  Benjamin Poulain  <bpoulain@apple.com>
2999
3000         Improve the bindings of NodeList's name accessor
3001         https://bugs.webkit.org/show_bug.cgi?id=127358
3002
3003         Reviewed by Geoffrey Garen.
3004
3005         When accessing an item of NodeList by name, the default bindings was
3006         going through the list of node twice:
3007         -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
3008          the given name. This in turn used NodeList::namedItem() which is a slow operation.
3009         -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
3010          a second time to find the same value.
3011
3012         This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
3013         the value directly on the PropertySlot.
3014
3015         Ad Hoc testing show about 15% speed up for simple cases.
3016
3017         * bindings/js/JSNodeListCustom.cpp:
3018         (WebCore::JSNodeList::getOwnPropertySlotDelegate):
3019         * dom/NodeList.idl:
3020
3021 2014-01-26  Joseph Pecoraro  <pecoraro@apple.com>
3022
3023         Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
3024         https://bugs.webkit.org/show_bug.cgi?id=127629
3025
3026         Rubber-stamped by Sam Weinig.
3027
3028         Test: inspector-protocol/debugger/pause-on-assert.html
3029
3030         * CMakeLists.txt:
3031         * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
3032         * GNUmakefile.list.am:
3033         * WebCore.vcxproj/WebCore.vcxproj:
3034         * WebCore.vcxproj/WebCore.vcxproj.filters:
3035         * WebCore.xcodeproj/project.pbxproj:
3036         * inspector/InspectorAllInOne.cpp:
3037         - Remove InspectorDebuggerAgent.
3038         - Add WebDebuggerAgent (shared between Page and Worker).
3039
3040         * inspector/WebDebuggerAgent.h: Added.
3041         (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
3042         * inspector/WebDebuggerAgent.cpp: Added.
3043         (WebCore::WebDebuggerAgent::WebDebuggerAgent):
3044         (WebCore::WebDebuggerAgent::enable):
3045         (WebCore::WebDebuggerAgent::disable):
3046         Shared code for Page and Worker debugger agents.
3047         Instrumenting agents is a concept in WebCore only,
3048         and the Debugger agent is only in the instrumenting
3049         agents list when it is enabled and removed when disabled.
3050
3051         * inspector/InstrumentingAgents.h:
3052         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
3053         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
3054         * inspector/InspectorDOMDebuggerAgent.cpp:
3055         * inspector/InspectorDOMDebuggerAgent.h:
3056         Update namespace for debugger agent.
3057
3058         * inspector/InspectorInstrumentation.cpp:
3059         (WebCore::isConsoleAssertMessage):
3060         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3061         DebuggerAgent in JavaScriptCore does not yet know about console
3062         types. So temporarily handle it here. We need to give JavaScriptCore
3063         some concept of Console messages and types.
3064
3065         * inspector/PageDebuggerAgent.cpp:
3066         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
3067         (WebCore::PageDebuggerAgent::enable):
3068         (WebCore::PageDebuggerAgent::disable):
3069         (WebCore::PageDebuggerAgent::sourceMapURLForScript):
3070         (WebCore::PageDebuggerAgent::injectedScriptForEval):
3071         * inspector/PageDebuggerAgent.h:
3072         * inspector/WorkerDebuggerAgent.cpp:
3073         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
3074         (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
3075         * inspector/WorkerDebuggerAgent.h:
3076         Modernize the Page and Worker debugger agents.
3077
3078         * inspector/InspectorController.cpp:
3079         (WebCore::InspectorController::InspectorController):
3080         * inspector/InspectorController.h:
3081         * inspector/WorkerInspectorController.cpp:
3082         (WebCore::WorkerInspectorController::WorkerInspectorController):
3083         New constructors for the debugger agents.
3084
3085 2014-01-25  Timothy Hatcher  <timothy@apple.com>
3086
3087         Remove dead code from the JSC profiler.
3088
3089         https://bugs.webkit.org/show_bug.cgi?id=127643
3090
3091         Reviewed by Mark Lam.
3092
3093         Passes existing tests in fast/profiler.
3094
3095         * bindings/js/ScriptProfile.cpp:
3096         (WebCore::buildInspectorObjectFor): Remove visible.
3097         * inspector/ScriptProfileNode.idl: Ditto.
3098         * inspector/protocol/Profiler.json: Ditto.
3099
3100 2014-01-25  Sam Weinig  <sam@webkit.org>
3101
3102         Remove unused support for DRAGGABLE_REGION
3103         https://bugs.webkit.org/show_bug.cgi?id=127642
3104
3105         Reviewed by Simon Fraser.
3106
3107         * Configurations/FeatureDefines.xcconfig:
3108         * DerivedSources.make:
3109         * WebCore.exp.in:
3110         * css/CSSComputedStyleDeclaration.cpp:
3111         (WebCore::ComputedStyleExtractor::propertyValue):
3112         * css/CSSParser.cpp:
3113         (WebCore::CSSParser::parseValue):
3114         * css/CSSPropertyNames.in:
3115         * css/CSSValueKeywords.in:
3116         * css/StyleResolver.cpp:
3117         (WebCore::StyleResolver::applyProperty):
3118         * dom/Document.cpp:
3119         (WebCore::Document::Document):
3120         * dom/Document.h:
3121         * page/Chrome.cpp:
3122         * page/ChromeClient.h:
3123         * page/FrameView.cpp:
3124         (WebCore::FrameView::layout):
3125         (WebCore::FrameView::paintContents):
3126         * page/FrameView.h:
3127         * rendering/RenderElement.cpp:
3128         (WebCore::RenderElement::styleWillChange):
3129         * rendering/RenderInline.cpp:
3130         (WebCore::RenderInline::addAnnotatedRegions):
3131         * rendering/RenderInline.h:
3132         * rendering/RenderLayer.cpp:
3133         (WebCore::RenderLayer::scrollTo):
3134         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3135         (WebCore::RenderLayer::setHasVerticalScrollbar):
3136         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
3137         * rendering/RenderListBox.cpp:
3138         (WebCore::RenderListBox::setHasVerticalScrollbar):
3139         * rendering/RenderObject.cpp:
3140         (WebCore::RenderObject::addAnnotatedRegions):
3141         * rendering/RenderObject.h:
3142         (WebCore::AnnotatedRegionValue::operator==):
3143         * rendering/style/RenderStyle.h:
3144         * rendering/style/RenderStyleConstants.h:
3145         * rendering/style/StyleRareNonInheritedData.cpp:
3146         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3147         (WebCore::StyleRareNonInheritedData::operator==):
3148         * rendering/style/StyleRareNonInheritedData.h:
3149
3150 2014-01-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3151
3152         Clean up SVGPatternElement::collectPatternAttributes 
3153         https://bugs.webkit.org/show_bug.cgi?id=127612
3154
3155         Reviewed by Andreas Kling.
3156
3157         This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
3158         the setPatternAttributes logic into a new function. This patch also changes the
3159         while loop to be easier to understand and similar to collectGradientAttributes.
3160
3161         * svg/SVGPatternElement.cpp:
3162         (WebCore::setPatternAttributes):
3163         (WebCore::SVGPatternElement::collectPatternAttributes):
3164
3165 2014-01-25  Zalan Bujtas  <zalan@apple.com>
3166
3167         Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
3168         https://bugs.webkit.org/show_bug.cgi?id=125659
3169
3170         Reviewed by Andreas Kling
3171
3172         layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
3173         the denominator value to 2, which returns incorrect modulo result.
3174         (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)
3175
3176         Covered by existing tests.
3177
3178         * platform/LayoutUnit.h:
3179         * rendering/RenderSearchField.cpp:
3180         (WebCore::RenderSearchField::centerContainerIfNeeded):
3181         * rendering/RenderTextControlSingleLine.cpp:
3182         (WebCore::RenderTextControlSingleLine::centerRenderer):
3183         (WebCore::RenderTextControlSingleLine::layout):
3184         * rendering/RenderTextControlSingleLine.h:
3185
3186 2014-01-25  Sam Weinig  <sam@webkit.org>
3187
3188         Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
3189         https://bugs.webkit.org/show_bug.cgi?id=127635
3190
3191         Reviewed by Antti Koivisto.
3192
3193         * loader/appcache/ApplicationCacheStorage.cpp:
3194         (WebCore::ApplicationCacheStorage::executeSQLCommand):
3195         (WebCore::ApplicationCacheStorage::verifySchemaVersion):
3196         (WebCore::ApplicationCacheStorage::executeStatement):
3197         (WebCore::ApplicationCacheStorage::store):
3198         (WebCore::ApplicationCacheStorage::ensureOriginRecord):
3199         (WebCore::ApplicationCacheStorage::loadCache):
3200
3201 2014-01-25  Sam Weinig  <sam@webkit.org>
3202
3203         Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
3204         https://bugs.webkit.org/show_bug.cgi?id=127632
3205
3206         Reviewed by Darin Adler.
3207
3208         Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
3209         as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
3210         ports that don't setup a client, this has no change in behavior.
3211
3212         * CMakeLists.txt:
3213         * GNUmakefile.list.am:
3214         * Modules/webdatabase/DatabaseBackendBase.cpp:
3215         * WebCore.vcxproj/WebCore.vcxproj:
3216         * WebCore.vcxproj/WebCore.vcxproj.filters:
3217         * WebCore.xcodeproj/project.pbxproj:
3218         * loader/appcache/ApplicationCacheStorage.cpp:
3219         * platform/ScrollableArea.h:
3220         (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
3221         * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
3222         * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
3223         * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
3224         * platform/sql/ios: Removed.
3225         * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
3226         * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
3227         * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
3228         * storage/StorageAreaSync.cpp:
3229         (WebCore::StorageAreaSync::openDatabase):
3230         (WebCore::StorageAreaSync::sync):
3231         * storage/StorageTracker.cpp:
3232
3233 2014-01-25  Anders Carlsson  <andersca@apple.com>
3234
3235         Remove an unused FrameLoaderClient function
3236         https://bugs.webkit.org/show_bug.cgi?id=127628
3237
3238         Reviewed by Andreas Kling.
3239
3240         All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
3241         was only used by Chromium so we can get rid of it.
3242
3243         * loader/EmptyClients.h:
3244         * loader/FrameLoaderClient.h:
3245         * loader/HistoryController.cpp:
3246         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
3247
3248 2014-01-25  Darin Adler  <darin@apple.com>
3249
3250         Call deprecatedCharacters instead of characters at more call sites
3251         https://bugs.webkit.org/show_bug.cgi?id=127631
3252
3253         Reviewed by Sam Weinig.
3254
3255         * bindings/objc/WebScriptObject.mm:
3256         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
3257         * editing/CompositeEditCommand.cpp:
3258         (WebCore::containsOnlyWhitespace):
3259         * editing/TypingCommand.cpp:
3260         (WebCore::TypingCommand::insertText):
3261         * editing/VisibleUnits.cpp:
3262         (WebCore::startOfParagraph):
3263         (WebCore::endOfParagraph):
3264         * html/parser/HTMLParserIdioms.cpp:
3265         (WebCore::stripLeadingAndTrailingHTMLSpaces):
3266         (WebCore::parseHTMLNonNegativeInteger):
3267         * inspector/InspectorStyleSheet.cpp:
3268         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
3269         * inspector/InspectorStyleTextEditor.cpp:
3270         (WebCore::InspectorStyleTextEditor::insertProperty):
3271         (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
3272         * platform/Length.cpp:
3273         (WebCore::newCoordsArray):
3274         * platform/LinkHash.cpp:
3275         (WebCore::visitedLinkHash):
3276         * platform/graphics/Color.cpp:
3277         (WebCore::Color::parseHexColor):
3278         (WebCore::Color::Color):
3279         * platform/graphics/TextRun.h:
3280         (WebCore::TextRun::TextRun):
3281         * platform/text/TextEncodingRegistry.cpp:
3282         (WebCore::atomicCanonicalTextEncodingName):
3283         * rendering/RenderBlock.cpp:
3284         (WebCore::RenderBlock::constructTextRun):
3285         * rendering/RenderCombineText.cpp:
3286         (WebCore::RenderCombineText::width):
3287         * svg/SVGFontElement.cpp:
3288         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
3289         * xml/XPathFunctions.cpp:
3290         (WebCore::XPath::FunId::evaluate):
3291         Use the new name.
3292
3293 2014-01-25  Darin Adler  <darin@apple.com>
3294
3295         Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
3296         https://bugs.webkit.org/show_bug.cgi?id=127623
3297
3298         Reviewed by Anders Carlsson.
3299
3300         * CMakeLists.txt: Removed SmartReplaceICU.cpp.
3301         * GNUmakefile.list.am: Ditto.
3302         * PlatformEfl.cmake: Ditto.
3303         * PlatformGTK.cmake: Ditto.
3304
3305         * editing/FrameSelection.cpp:
3306         (WebCore::FrameSelection::modifyMovingRight): Ditto.
3307         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
3308
3309         * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
3310         since we always support ICU now. Added some FIXME comments about
3311         bugs and mistakes I spotted in the code as I was moving it.
3312         * editing/SmartReplaceICU.cpp: Removed.
3313
3314         * editing/TextIterator.cpp: Removed unneeded checks.
3315         * platform/ThreadGlobalData.cpp:
3316         (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
3317         (WebCore::ThreadGlobalData::destroy): Ditto.
3318         * platform/ThreadGlobalData.h: Ditto.
3319         * platform/URL.cpp:
3320         (WebCore::appendEncodedHostname): Ditto.
3321         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
3322         Also removed unneeded "using namespace".
3323         * platform/text/TextCodecICU.cpp: Ditto.
3324         * platform/text/TextEncoding.cpp:
3325         (WebCore::TextEncoding::encode): Ditto.
3326         * platform/text/TextEncodingRegistry.cpp:
3327         (WebCore::extendTextCodecMaps): Ditto.
3328
3329 2014-01-25  Darin Adler  <darin@apple.com>
3330
3331         Get rid of UnicodeRange.h/cpp, using ICU instead
3332         https://bugs.webkit.org/show_bug.cgi?id=127622
3333
3334         Reviewed by Anders Carlsson.
3335
3336         * CMakeLists.txt: Remove UnicodeRange.h/cpp.
3337         * GNUmakefile.list.am: Ditto.
3338         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
3339         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3340         * WebCore.xcodeproj/project.pbxproj: Ditto.
3341
3342         * platform/graphics/win/FontCacheWin.cpp:
3343         (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
3344         multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
3345         * platform/graphics/wince/FontCacheWinCE.cpp:
3346         (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
3347         character is in the Thai block, use UBLOCK_THAI.
3348
3349         * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
3350
3351         * platform/text/UnicodeRange.cpp: Removed.
3352         * platform/text/UnicodeRange.h: Removed.
3353
3354         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
3355         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
3356         out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
3357         "not Latin or Arabic" as the rule.
3358
3359 2014-01-25  Tim Horton  <timothy_horton@apple.com>
3360
3361         Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
3362         https://bugs.webkit.org/show_bug.cgi?id=127610
3363
3364         Reviewed by Simon Fraser.
3365
3366         * platform/graphics/cg/BitmapImageCG.cpp:
3367         (WebCore::BitmapImage::checkForSolidColor):
3368         Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
3369         and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
3370
3371 2014-01-25  Tim Horton  <timothy_horton@apple.com>
3372
3373         [cg] Look in the PNG dictionary for image duration information
3374         https://bugs.webkit.org/show_bug.cgi?id=127611
3375         <rdar://problem/15408643>
3376
3377         Reviewed by Simon Fraser.
3378
3379         We should look in the PNG properties dictionary for frame duration and loop count data.
3380
3381         * platform/graphics/cg/ImageSourceCG.cpp:
3382         (WebCore::ImageSource::repetitionCount):
3383         Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
3384         Also, look in the PNG properties dictionary for a loop count.
3385
3386         (WebCore::ImageSource::frameDurationAtIndex):
3387         Look in the PNG properties dictionary for delay time.
3388         Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
3389         been needed since Snow Leopard.
3390
3391 2014-01-25  Anders Carlsson  <andersca@apple.com>
3392
3393         Remove atomicIncrement/atomicDecrement
3394         https://bugs.webkit.org/show_bug.cgi?id=127625
3395
3396         Reviewed by Andreas Kling.
3397
3398         Replace atomicIncrement/atomicDecrement with std::atomic.
3399
3400         * Modules/webaudio/AudioContext.cpp:
3401         (WebCore::AudioContext::incrementActiveSourceCount):
3402         (WebCore::AudioContext::decrementActiveSourceCount):
3403         * Modules/webaudio/AudioContext.h:
3404         * Modules/webaudio/AudioNode.cpp:
3405         (WebCore::AudioNode::~AudioNode):
3406         (WebCore::AudioNode::ref):
3407         (WebCore::AudioNode::finishDeref):
3408         * Modules/webaudio/AudioNode.h:
3409         * Modules/webdatabase/OriginLock.h:
3410
3411 2014-01-25  Alex Christensen  <achristensen@webkit.org>
3412
3413         Unreviewed build fix for WinCairo.
3414
3415         * platform/network/curl/CurlDownload.h:
3416         Included wtf/Threading.h for ThreadIdentifier definition.
3417
3418 2014-01-25  Anders Carlsson  <andersca@apple.com>
3419
3420         Modernize HashTable threading code
3421         https://bugs.webkit.org/show_bug.cgi?id=127621
3422
3423         Reviewed by Darin Adler.
3424
3425         Explicitly include headers that used to be brought in by HashTable.h
3426
3427         * platform/DragData.h:
3428         Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
3429
3430         * platform/audio/AudioSession.h:
3431         * platform/network/cf/SocketStreamHandle.h:
3432
3433 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
3434
3435         Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
3436         https://bugs.webkit.org/show_bug.cgi?id=127575
3437
3438         Reviewed by Andreas Kling.
3439
3440         Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
3441         in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
3442
3443         * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
3444         * css/CSSGroupingRule.cpp:
3445         (WebCore::CSSGroupingRule::cssRules):
3446         * css/CSSGroupingRule.h:
3447         * css/CSSStyleSheet.cpp:
3448         (WebCore::CSSStyleSheet::cssRules):
3449         * css/CSSStyleSheet.h:
3450         * css/ElementRuleCollector.cpp:
3451         (WebCore::ElementRuleCollector::addMatchedRule):
3452         * css/ElementRuleCollector.h:
3453
3454 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
3455
3456         Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
3457         https://bugs.webkit.org/show_bug.cgi?id=127574
3458
3459         Reviewed by Andreas Kling.
3460
3461         Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
3462         in the MediaQueryMatcher and SelectorFilter classes.
3463
3464         * css/MediaQueryMatcher.cpp:
3465         (WebCore::MediaQueryMatcher::prepareEvaluator):
3466         (WebCore::MediaQueryMatcher::evaluate):
3467         (WebCore::MediaQueryMatcher::addListener):
3468         (WebCore::MediaQueryMatcher::styleResolverChanged):
3469         * css/MediaQueryMatcher.h:
3470         * css/SelectorFilter.cpp:
3471         (WebCore::SelectorFilter::popParentStackFrame):
3472         (WebCore::SelectorFilter::setupParentStack):
3473         * css/SelectorFilter.h:
3474
3475 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
3476
3477         Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
3478         https://bugs.webkit.org/show_bug.cgi?id=127572
3479
3480         Reviewed by Andreas Kling.
3481
3482         Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
3483         OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
3484
3485         * css/PropertySetCSSStyleDeclaration.cpp:
3486         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
3487         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
3488         (WebCore::InlineCSSStyleDeclaration::didMutate):
3489         * css/PropertySetCSSStyleDeclaration.h:
3490         * css/WebKitCSSKeyframesRule.cpp:
3491         (WebCore::WebKitCSSKeyframesRule::cssRules):
3492         * css/WebKitCSSKeyframesRule.h:
3493
3494 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
3495
3496         Move StyleProperties, StyleResolver to std::unique_ptr
3497         https://bugs.webkit.org/show_bug.cgi?id=127570
3498
3499         Reviewed by Andreas Kling.
3500
3501         Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
3502         to using std::unique_ptr and std::make_unique.
3503
3504         * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
3505         * css/StyleProperties.cpp:
3506         (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
3507         (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
3508         * css/StyleProperties.h:
3509         * css/StyleResolver.cpp:
3510         (WebCore::StyleResolver::StyleResolver):
3511         (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
3512         * css/StyleResolver.h:
3513         * css/StyleScopeResolver.h:
3514
3515 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
3516
3517         Move CSSFontFace, CSSFontSelector to std::unique_ptr
3518         https://bugs.webkit.org/show_bug.cgi?id=127569
3519
3520         Reviewed by Andreas Kling.
3521
3522         Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
3523         to using std::unique_ptr, move semantics and std::make_unique.
3524
3525         * css/CSSFontFace.cpp:
3526         (WebCore::CSSFontFace::addSource):
3527         * css/CSSFontFace.h:
3528         * css/CSSFontSelector.cpp:
3529         (WebCore::CSSFontSelector::addFontFaceRule):
3530         (WebCore::CSSFontSelector::getFontFace):
3531         * css/CSSFontSelector.h:
3532
3533 2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
3534
3535         Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
3536         https://bugs.webkit.org/show_bug.cgi?id=127605
3537
3538         Reviewed by Timothy Hatcher.
3539
3540         Covered by existing tests. No change in functionality.
3541
3542         * CMakeLists.txt:
3543         * GNUmakefile.list.am:
3544         * WebCore.vcxproj/WebCore.vcxproj:
3545         * WebCore.vcxproj/WebCore.vcxproj.filters:
3546         * WebCore.xcodeproj/project.pbxproj:
3547         * inspector/InspectorAllInOne.cpp:
3548         Remove WebCore InspectorRuntimeAgent.
3549
3550         * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
3551         Add JavaScriptCore InspectorRuntimeAgent.
3552
3553         * inspector/InspectorController.cpp:
3554         (WebCore::InspectorController::InspectorController):
3555         * inspector/WorkerInspectorController.h:
3556         * inspector/WorkerInspectorController.cpp:
3557         (WebCore::WorkerInspectorController::WorkerInspectorController):
3558         New constructors for the runtime agent.
3559
3560         * inspector/PageRuntimeAgent.h:
3561         * inspector/PageRuntimeAgent.cpp:
3562         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
3563         (WebCore::PageRuntimeAgent::enable):
3564         (WebCore::PageRuntimeAgent::disable):
3565         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
3566         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
3567         (WebCore::PageRuntimeAgent::globalVM):
3568         Modernize and implement globalVM.
3569
3570         * inspector/WorkerRuntimeAgent.h:
3571         * inspector/WorkerRuntimeAgent.cpp:
3572         (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
3573         (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
3574         (WebCore::WorkerRuntimeAgent::globalVM):
3575         Modernize and implement globalVM.
3576
3577 2014-01-25  Diego Pino Garcia  <dpino@igalia.com>
3578
3579         [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
3580
3581         https://bugs.webkit.org/show_bug.cgi?id=117536
3582
3583         Reviewed by Xan Lopez.
3584
3585         * bindings/scripts/CodeGeneratorGObject.pm:
3586         (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
3587
3588 2014-01-25  Anders Carlsson  <andersca@apple.com>
3589
3590         Get rid of BackForwardController::isActive()
3591         https://bugs.webkit.org/show_bug.cgi?id=127604
3592
3593         Reviewed by Sam Weinig.
3594
3595         BackForwardController::isActive() used to mean "my page maintains a back forward
3596         list that has zero capacity". Move that logic into WebKit instead, namely the
3597         WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
3598
3599         * history/BackForwardClient.h:
3600         * history/BackForwardController.cpp:
3601         * history/BackForwardController.h:
3602         * history/BackForwardList.h:
3603         * history/PageCache.cpp:
3604         (WebCore::logCanCachePageDecision):
3605         (WebCore::PageCache::canCache):
3606
3607 2014-01-25  Antti Koivisto  <antti@apple.com>
3608
3609         REGRESSION(r162744): wsj.com paints white
3610         https://bugs.webkit.org/show_bug.cgi?id=127619
3611
3612         Reviewed by Sam Weinig.
3613
3614         Test: fast/css/stylesheet-layout-with-pending-paint.html
3615
3616         * dom/Document.cpp:
3617         (WebCore::Document::styleResolverChanged):
3618         
3619             Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
3620
3621 2014-01-24  Dan Bernstein  <mitz@apple.com>
3622
3623         Reverted r162760. It broke more things.
3624
3625         * WebCore.exp.in:
3626
3627 2014-01-24  Dan Bernstein  <mitz@apple.com>
3628
3629         Try to fix some 32-bit builds.
3630
3631         * WebCore.exp.in:
3632
3633 2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
3634
3635         [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
3636         https://bugs.webkit.org/show_bug.cgi?id=127607
3637
3638         Reviewed by Anders Carlsson.
3639
3640         * platform/efl/EflKeyboardUtilities.cpp:
3641         (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
3642         (WebCore::windowsKeyMap): Ditto.
3643         (WebCore::keyDownCommandsMap): Ditto.
3644         (WebCore::keyPressCommandsMap): Ditto.
3645         * platform/efl/GamepadsEfl.cpp:
3646         (WebCore::sampleGamepads): Ditto.
3647         * platform/efl/RenderThemeEfl.cpp:
3648         (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
3649
3650 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
3651
3652         Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
3653         https://bugs.webkit.org/show_bug.cgi?id=127543
3654
3655         Reviewed by Geoffrey Garen.
3656
3657         Covered by existing tests.
3658
3659         * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
3660         * GNUmakefile.list.am:
3661         * UseJSC.cmake:
3662         * WebCore.vcxproj/WebCore.vcxproj:
3663         * WebCore.vcxproj/WebCore.vcxproj.filters:
3664         * WebCore.xcodeproj/project.pbxproj:
3665         * bindings/js/JSBindingsAllInOne.cpp:
3666         * inspector/JavaScriptCallFrame.idl: Removed.
3667         Update builds now that ScriptDebugServer moved to JavaScriptCore.
3668
3669         * bindings/js/PageScriptDebugServer.h:
3670         * bindings/js/PageScriptDebugServer.cpp:
3671         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
3672         (WebCore::PageScriptDebugServer::isContentScript):
3673         (WebCore::PageScriptDebugServer::reportException):
3674         * bindings/js/WorkerScriptDebugServer.h:
3675         * bindings/js/WorkerScriptDebugServer.cpp:
3676         (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
3677         (WebCore::WorkerScriptDebugServer::reportException):
3678         Handle ScriptDebugServer functionality depending on WebCore knowledge.
3679
3680         * inspector/InspectorDebuggerAgent.h:
3681         * inspector/InspectorDebuggerAgent.cpp:
3682         (WebCore::InspectorDebuggerAgent::breakpointActionSound):
3683         Handle ScriptDebugServer functionality that depended on WebCore knowledge.
3684         This will eventually be written in a non-WebCore specific way.
3685
3686         * inspector/InspectorRuntimeAgent.cpp:
3687         * inspector/InspectorRuntimeAgent.h:
3688         Update ScriptDebugServer type now that it is in namespace Inspector.
3689
3690         * workers/WorkerGlobalScope.h:
3691         Make addConsoleMessage public again so the inspector can call it.
3692
3693         * inspector/PageDebuggerAgent.cpp:
3694         (WebCore::PageDebuggerAgent::breakpointActionLog):
3695         * inspector/PageDebuggerAgent.h:
3696         * inspector/WorkerDebuggerAgent.cpp:
3697         (WebCore::WorkerDebuggerAgent::breakpointActionLog):
3698         * inspector/WorkerDebuggerAgent.h:
3699         Let each of these handle console logs in their own way. Both of these
3700         eventually go through the PageConsole and log through the InspectorConsoleAgent
3701         and ChromeClient.
3702
3703 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
3704
3705         Improve latching behavior for wheel events
3706         https://bugs.webkit.org/show_bug.cgi?id=127386
3707         <rdar://problem/12176858>
3708
3709         Reviewed by Simon Fraser.
3710
3711         * page/scrolling/ScrollingTree.cpp:
3712         (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
3713         scroll latching state.
3714         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
3715         latched node and stay in fast scrolling mode if possible.
3716         (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
3717         (WebCore::ScrollingTree::latchedNode): Added
3718         (WebCore::ScrollingTree::setLatchedNode): Added
3719         (WebCore::ScrollingTree::clearLatchedNode): Added
3720         * page/scrolling/ScrollingTree.h:
3721         (WebCore::ScrollingTree::hasLatchedNode): Added
3722         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3723         (WebCore::shouldConsiderLatching): Added
3724         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
3725         based on wheel event state and position of mouse pointer in the document.
3726
3727 2014-01-24  Anders Carlsson  <andersca@apple.com>
3728
3729         Another attempted build fix.
3730
3731         Use wildcards in the the std::duration symbol.
3732
3733         * WebCore.exp.in:
3734
3735 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
3736
3737         Start using the RemoteScrollingCoordinatorProxy on iOS
3738         https://bugs.webkit.org/show_bug.cgi?id=127598
3739
3740         Reviewed by Tim Horton.
3741
3742         Add a scrollPositionChangedViaDelegatedScrolling() function to
3743         ScrollingTree, allowing the ScrollingTree to be informed about
3744         external sources of scrolling.
3745         
3746         Also add a convenience getter for nodes, nodeForID().
3747
3748         * WebCore.exp.in:
3749         * page/scrolling/ScrollingTree.cpp:
3750         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
3751         (WebCore::ScrollingTree::nodeForID):
3752         * page/scrolling/ScrollingTree.h:
3753         * rendering/RenderLayerCompositor.cpp:
3754         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
3755         To avoid assertions on iOS, bail from iOS WK1 fixed position code if
3756         we have a ScrollingCoordinator.
3757         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
3758         Ditto.
3759
3760 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
3761
3762         Add typesafe casts for ScrollingTreeNode classes
3763         https://bugs.webkit.org/show_bug.cgi?id=127597
3764
3765         Reviewed by Tim Horton.
3766
3767         Add a ScrollingNodeType member to ScrollingTreeNodes and
3768         use it for type-safe casting.
3769
3770         * page/scrolling/ScrollingTreeNode.cpp:
3771         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
3772         * page/scrolling/ScrollingTreeNode.h:
3773         (WebCore::ScrollingTreeNode::nodeType):
3774         (WebCore::ScrollingTreeNode::scrollingNodeID):
3775         * page/scrolling/ScrollingTreeScrollingNode.cpp:
3776         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
3777         * page/scrolling/ScrollingTreeScrollingNode.h:
3778         * page/scrolling/mac/ScrollingTreeFixedNode.h:
3779         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
3780         (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
3781         * page/scrolling/mac/ScrollingTreeStickyNode.h:
3782         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
3783         (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
3784
3785 2014-01-24  Anders Carlsson  <andersca@apple.com>
3786
3787         Remove back/forward list related functions from Page
3788         https://bugs.webkit.org/show_bug.cgi?id=127596
3789
3790         Reviewed by Andreas Kling.
3791
3792         * WebCore.exp.in:
3793         * history/BackForwardController.cpp:
3794         (WebCore::BackForwardController::canGoBackOrForward):
3795         (WebCore::BackForwardController::goBackOrForward):
3796         (WebCore::BackForwardController::goBack):
3797         (WebCore::BackForwardController::goForward):
3798         (WebCore::BackForwardController::count):
3799         * page/EventHandler.cpp:
3800         (WebCore::EventHandler::defaultBackspaceEventHandler):
3801         * page/Page.cpp:
3802         * page/Page.h:
3803
3804 2014-01-24  Antti Koivisto  <antti@apple.com>
3805
3806         Update style asynchronously after style sheet load
3807         https://bugs.webkit.org/show_bug.cgi?id=127563
3808
3809         Reviewed by Andreas Kling.
3810         
3811         Since we don't attach synchronously we don't need to recalc style synchronously either.
3812
3813         * dom/Document.cpp:
3814         (WebCore::Document::didRemoveAllPendingStylesheet):
3815
3816 2014-01-24  Zalan Bujtas  <zalan@apple.com>
3817
3818         Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
3819         https://bugs.webkit.org/show_bug.cgi?id=125728
3820
3821         Reviewed by Simon Fraser.
3822
3823         Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
3824         (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
3825         the widget's font size needs to be set, which is rather rare for such input types.
3826         It also results in odd layout, where the checkbox's indentation may seem to change randomly.
3827
3828         '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
3829         nor the text size, but it indents the line by about 15px.
3830
3831         Other browsers (FF, Opera with Presto) disagree and they set static margins values.
3832         2px is the current default computed value.
3833
3834         * css/html.css:
3835         (input[type="radio"], input[type="checkbox"]):
3836
3837 2014-01-24  Oliver Hunt  <oliver@apple.com>
3838
3839         Put functions need to take a base object and a this value, and perform type checks on |this|
3840         https://bugs.webkit.org/show_bug.cgi?id=127594
3841
3842         Reviewed by Geoffrey Garen.
3843
3844         Update bindings generator to emit setters with correct type, and perform
3845         type checks on |this|, instead of the baseObject.
3846
3847         Test: js/dom/dom-as-prototype-assignment-exception.html
3848
3849         * bindings/scripts/CodeGeneratorJS.pm:
3850         (GenerateHeader):
3851         (GenerateImplementation):
3852         (GenerateHashTable):
3853         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3854         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3855         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3856         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3857         * bindings/scripts/test/JS/JSTestException.cpp:
3858         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3859         * bindings/scripts/test/JS/JSTestInterface.cpp:
3860         (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
3861         (WebCore::setJSTestInterfaceImplementsStr2):
3862         (WebCore::setJSTestInterfaceImplementsStr3):
3863         (WebCore::setJSTestInterfaceImplementsNode):
3864         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
3865         (WebCore::setJSTestInterfaceSupplementalStr2):
3866         (WebCore::setJSTestInterfaceSupplementalStr3):
3867         (WebCore::setJSTestInterfaceSupplementalNode):
3868         * bindings/scripts/test/JS/JSTestInterface.h:
3869         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3870         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3871         * bindings/scripts/test/JS/JSTestNode.cpp:
3872         * bindings/scripts/test/JS/JSTestObj.cpp:
3873         (WebCore::setJSTestObjConstructorStaticStringAttr):
3874         (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
3875         (WebCore::setJSTestObjEnumAttr):
3876         (WebCore::setJSTestObjByteAttr):
3877         (WebCore::setJSTestObjOctetAttr):
3878         (WebCore::setJSTestObjShortAttr):
3879         (WebCore::setJSTestObjUnsignedShortAttr):
3880         (WebCore::setJSTestObjLongAttr):
3881         (WebCore::setJSTestObjLongLongAttr):
3882         (WebCore::setJSTestObjUnsignedLongLongAttr):
3883         (WebCore::setJSTestObjStringAttr):
3884         (WebCore::setJSTestObjTestObjAttr):
3885         (WebCore::setJSTestObjXMLObjAttr):
3886         (WebCore::setJSTestObjCreate):
3887         (WebCore::setJSTestObjReflectedStringAttr):
3888         (WebCore::setJSTestObjReflectedIntegralAttr):
3889         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
3890         (WebCore::setJSTestObjReflectedBooleanAttr):
3891         (WebCore::setJSTestObjReflectedURLAttr):
3892         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
3893         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
3894         (WebCore::setJSTestObjReflectedCustomURLAttr):
3895         (WebCore::setJSTestObjTypedArrayAttr):
3896         (WebCore::setJSTestObjAttrWithGetterException):
3897         (WebCore::setJSTestObjAttrWithSetterException):
3898         (WebCore::setJSTestObjStringAttrWithGetterException):
3899         (WebCore::setJSTestObjStringAttrWithSetterException):
3900         (WebCore::setJSTestObjCustomAttr):
3901         (WebCore::setJSTestObjWithScriptStateAttribute):
3902         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
3903         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
3904         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
3905         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
3906         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3907         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
3908         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
3909         (WebCore::setJSTestObjConditionalAttr1):
3910         (WebCore::setJSTestObjConditionalAttr2):
3911         (WebCore::setJSTestObjConditionalAttr3):
3912         (WebCore::setJSTestObjConditionalAttr4Constructor):
3913         (WebCore::setJSTestObjConditionalAttr5Constructor):
3914         (WebCore::setJSTestObjConditionalAttr6Constructor):
3915         (WebCore::setJSTestObjAnyAttribute):
3916         (WebCore::setJSTestObjMutablePoint):
3917         (WebCore::setJSTestObjImmutablePoint):
3918         (WebCore::setJSTestObjStrawberry):
3919         (WebCore::setJSTestObjStrictFloat):
3920         (WebCore::setJSTestObjId):
3921         (WebCore::setJSTestObjReplaceableAttribute):
3922         (WebCore::setJSTestObjNullableLongSettableAttribute):
3923         (WebCore::setJSTestObjNullableStringValue):
3924         (WebCore::setJSTestObjAttributeWithReservedEnumType):
3925         * bindings/scripts/test/JS/JSTestObj.h:
3926         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3927         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3928         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3929         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3930         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3931         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3932         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3933         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
3934         (WebCore::setJSTestTypedefsAttrWithGetterException):
3935         (WebCore::setJSTestTypedefsAttrWithSetterException):
3936         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
3937         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
3938         * bindings/scripts/test/JS/JSTestTypedefs.h:
3939         * bindings/scripts/test/JS/JSattribute.cpp:
3940         * bindings/scripts/test/JS/JSreadonly.cpp:
3941
3942 2014-01-24  Oliver Hunt  <oliver@apple.com>
3943
3944         Generic JSObject::put should handle static properties in the classinfo hierarchy
3945         https://bugs.webkit.org/show_bug.cgi?id=127523
3946
3947         Reviewed by Geoffrey Garen.
3948
3949         Update the bindings generator to emit the flag indicating the presence
3950         of setters, and remove the many (now unnecessary) put overrides.
3951         Tested with run-jsc-benchmarks and shows neutral performance. A few of the
3952         micro benchmarks actually get a significant performance increase which
3953         is nice.
3954
3955         * bindings/js/JSDOMWindowCustom.cpp:
3956         (WebCore::JSDOMWindow::put):
3957             We still need a custom call to lookupPut here in order
3958             to get the magic security semantics of the window object.
3959         * bindings/scripts/CodeGeneratorJS.pm:
3960         (hashTableAccessor):
3961         (prototypeHashTableAccessor):
3962         (constructorHashTableAccessor):
3963         (GenerateImplementation):
3964         (GenerateHashTable):
3965         (GenerateConstructorHelperMethods):
3966
3967         * bindings/js/JSDOMWindowCustom.cpp:
3968         (WebCore::JSDOMWindow::put):
3969         * bindings/scripts/CodeGeneratorJS.pm:
3970         (hashTableAccessor):
3971         (prototypeHashTableAccessor):
3972         (constructorHashTableAccessor):
3973         (InstanceOverridesPutImplementation):
3974         (InstanceOverridesPutDeclaration):
3975         (GenerateHeader):
3976         (GenerateImplementation):
3977         (GenerateHashTable):
3978         (GenerateConstructorHelperMethods):
3979         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3980         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3981         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3982         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3983         * bindings/scripts/test/JS/JSTestException.cpp:
3984         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3985         * bindings/scripts/test/JS/JSTestInterface.cpp:
3986         (WebCore::JSTestInterface::put):
3987         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3988         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3989         * bindings/scripts/test/JS/JSTestNode.cpp:
3990         * bindings/scripts/test/JS/JSTestObj.cpp:
3991         * bindings/scripts/test/JS/JSTestObj.h:
3992         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3993         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3994         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3995         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3996         * bindings/scripts/test/JS/JSTestTypedefs.h:
3997         * bindings/scripts/test/JS/JSattribute.cpp:
3998         * bindings/scripts/test/JS/JSreadonly.cpp:
3999         * html/canvas/WebGLRenderingContext.idl:
4000           Remove bogus attribute, as it has never been in the spec and should not
4001           have been added.
4002
4003 2014-01-24  Commit Queue  <commit-queue@webkit.org>
4004
4005         Unreviewed, rolling out r162713.
4006         http://trac.webkit.org/changeset/162713
4007         https://bugs.webkit.org/show_bug.cgi?id=127593
4008
4009         broke media/network-no-source-const-shadow (Requested by
4010         thorton on #webkit).
4011
4012         * bindings/js/JSDOMWindowCustom.cpp:
4013         (WebCore::JSDOMWindow::put):
4014         * bindings/scripts/CodeGeneratorJS.pm:
4015         (hashTableAccessor):
4016         (prototypeHashTableAccessor):
4017         (constructorHashTableAccessor):
4018         (GenerateHeader):
4019         (GenerateImplementation):
4020         (GenerateHashTable):
4021         (GenerateConstructorHelperMethods):
4022         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
4023         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
4024         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
4025         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
4026         * bindings/scripts/test/JS/JSTestException.cpp:
4027         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
4028         * bindings/scripts/test/JS/JSTestInterface.cpp:
4029         (WebCore::JSTestInterface::put):
4030         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
4031         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
4032         * bindings/scripts/test/JS/JSTestNode.cpp:
4033         * bindings/scripts/test/JS/JSTestObj.cpp:
4034         (WebCore::JSTestObj::put):
4035         * bindings/scripts/test/JS/JSTestObj.h:
4036         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
4037         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
4038         (WebCore::JSTestSerializedScriptValueInterface::put):
4039         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
4040         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
4041         (WebCore::JSTestTypedefs::put):
4042         * bindings/scripts/test/JS/JSTestTypedefs.h:
4043         * bindings/scripts/test/JS/JSattribute.cpp:
4044         * bindings/scripts/test/JS/JSreadonly.cpp:
4045         * html/canvas/WebGLRenderingContext.idl:
4046
4047 2014-01-24  Zalan Bujtas  <zalan@apple.com>
4048
4049         Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
4050         https://bugs.webkit.org/show_bug.cgi?id=127580
4051
4052         Reviewed by Simon Fraser.
4053
4054         LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
4055         could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
4056
4057         No change in behavior.
4058
4059         * inspector/InspectorOverlay.cpp:
4060         (WebCore::buildObjectForRegionHighlight):
4061         * rendering/FloatingObjects.cpp:
4062         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
4063         * rendering/RenderBlock.cpp:
4064         (WebCore::RenderBlock::layoutShapeInsideInfo):
4065         * rendering/RenderBlockFlow.cpp:
4066         (WebCore::RenderBlockFlow::collapseMargins):
4067         * rendering/RenderFlexibleBox.cpp:
4068         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
4069         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
4070         (WebCore::RenderFlexib