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