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