Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-11-02  Jiewen Tan  <jiewen_tan@apple.com>
2
3         Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
4         https://bugs.webkit.org/show_bug.cgi?id=150211
5         <rdar://problem/23137321>
6
7         Reviewed by Alex Christensen.
8
9         This is a merge of Blink r188842:
10         https://codereview.chromium.org/846933002
11
12         By setting the backgroundRepeatY property to null it can
13         happen that accessing that CSS value returns a null pointer.
14         In that case simply bail out early.
15
16         Test: fast/css/background-repeat-null-y-crash.html
17
18         * css/StyleProperties.cpp:
19         (WebCore::StyleProperties::getLayeredShorthandValue):
20
21 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
22
23         [Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
24         https://bugs.webkit.org/show_bug.cgi?id=150766
25
26         Reviewed by Darin Adler.
27
28         The spec has changed the initial value of text-orientation from "vertical-right"
29         to "mixed." This patch follows this movement, but also keeps the existing
30         property working (the parser will treat both values the same).
31
32         Test: fast/text/vertical-mixed.html
33
34         * css/CSSParser.cpp:
35         (WebCore::CSSParser::parseValue):
36         * css/CSSPrimitiveValueMappings.h:
37         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
38         (WebCore::CSSPrimitiveValue::operator TextOrientation):
39         * css/CSSValueKeywords.in:
40         * css/StyleResolver.cpp:
41         (WebCore::checkForOrientationChange):
42         * platform/graphics/FontCascadeFonts.cpp:
43         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
44         * platform/graphics/FontDescription.cpp:
45         (WebCore::FontDescription::FontDescription):
46         * platform/graphics/cocoa/FontCascadeCocoa.mm:
47         (WebCore::FontCascade::fontForCombiningCharacterSequence):
48         * platform/text/TextFlags.h:
49         * rendering/style/RenderStyle.cpp:
50         (WebCore::RenderStyle::getFontAndGlyphOrientation):
51         * rendering/style/RenderStyle.h:
52         * rendering/style/RenderStyleConstants.h:
53         * rendering/style/StyleRareInheritedData.cpp:
54         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
55         * style/StyleResolveForDocument.cpp:
56         (WebCore::Style::resolveForDocument):
57
58 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
59
60         [Cocoa] Support WOFF2
61         https://bugs.webkit.org/show_bug.cgi?id=150830
62
63         Reviewed by Zalan Bujtas.
64
65         On platforms which support it, WebKit only needs to recognize WOFF2.
66
67         Test: fast/text/woff2.html
68
69         * platform/graphics/mac/FontCustomPlatformData.cpp:
70         (WebCore::FontCustomPlatformData::supportsFormat):
71
72 2015-11-02  Nan Wang  <n_wang@apple.com>
73
74         AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
75         https://bugs.webkit.org/show_bug.cgi?id=138566
76
77         Reviewed by Chris Fleizach.
78
79         Added support for aria-modal attribute on dialog/alertdialog roles.
80         When modal dialog is displayed, all other contents will be unaccessible.
81
82         Tests: accessibility/aria-modal-multiple-dialogs.html
83                accessibility/aria-modal.html
84
85         * accessibility/AXObjectCache.cpp:
86         (WebCore::AXObjectCache::AXObjectCache):
87         (WebCore::AXObjectCache::~AXObjectCache):
88         (WebCore::AXObjectCache::findAriaModalNodes):
89         (WebCore::AXObjectCache::updateCurrentAriaModalNode):
90         (WebCore::AXObjectCache::isNodeVisible):
91         (WebCore::AXObjectCache::ariaModalNode):
92         (WebCore::AXObjectCache::focusedImageMapUIElement):
93         (WebCore::AXObjectCache::remove):
94         (WebCore::AXObjectCache::handleAttributeChanged):
95         (WebCore::AXObjectCache::handleAriaModalChange):
96         (WebCore::AXObjectCache::labelChanged):
97         * accessibility/AXObjectCache.h:
98         (WebCore::AXObjectCache::handleActiveDescendantChanged):
99         (WebCore::AXObjectCache::handleAriaExpandedChange):
100         (WebCore::AXObjectCache::handleAriaRoleChanged):
101         (WebCore::AXObjectCache::handleAriaModalChange):
102         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
103         (WebCore::AXObjectCache::handleScrollbarUpdate):
104         (WebCore::AXObjectCache::handleAttributeChanged):
105         * accessibility/AccessibilityObject.cpp:
106         (WebCore::AccessibilityObject::ariaCurrentState):
107         (WebCore::AccessibilityObject::isAriaModalDescendant):
108         (WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
109         (WebCore::AccessibilityObject::hasTagName):
110         (WebCore::AccessibilityObject::defaultObjectInclusion):
111         * accessibility/AccessibilityObject.h:
112         * html/HTMLAttributeNames.in:
113
114 2015-11-02  Brady Eidson  <beidson@apple.com>
115
116         Modern IDB: IBDObjectStore.delete() support.
117         https://bugs.webkit.org/show_bug.cgi?id=150784
118
119         Reviewed by Alex Christensen.
120
121         Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html
122                storage/indexeddb/modern/idbobjectstore-delete-2.html
123                storage/indexeddb/modern/idbobjectstore-delete-failures.html
124
125         * Modules/indexeddb/IDBKeyRangeData.cpp:
126         (WebCore::IDBKeyRangeData::isValid):
127         * Modules/indexeddb/IDBKeyRangeData.h:
128         
129         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
130         (WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
131         (WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
132         * Modules/indexeddb/client/IDBConnectionToServer.h:
133         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
134         
135         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
136         (WebCore::IDBClient::IDBObjectStore::get):
137         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
138         
139         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
140         (WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
141         (WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
142         (WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):
143         * Modules/indexeddb/client/IDBTransactionImpl.h:
144         
145         * Modules/indexeddb/server/IDBBackingStore.h:
146         
147         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
148         (WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):
149         * Modules/indexeddb/server/IDBConnectionToClient.h:
150         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
151         
152         * Modules/indexeddb/server/IDBServer.cpp:
153         (WebCore::IDBServer::IDBServer::deleteRecord):
154         * Modules/indexeddb/server/IDBServer.h:
155         
156         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
157         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
158         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.
159         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
160         
161         * Modules/indexeddb/server/MemoryObjectStore.cpp:
162         (WebCore::IDBServer::MemoryObjectStore::deleteRange):
163         * Modules/indexeddb/server/MemoryObjectStore.h:
164         
165         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
166         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
167         (WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
168         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
169         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):
170         * Modules/indexeddb/server/UniqueIDBDatabase.h:
171         
172         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
173         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
174         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
175         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
176         
177         * Modules/indexeddb/shared/IDBResultData.cpp:
178         (WebCore::IDBResultData::deleteRecordSuccess):
179         * Modules/indexeddb/shared/IDBResultData.h:
180         
181         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
182         (WebCore::InProcessIDBServer::didDeleteRecord):
183         (WebCore::InProcessIDBServer::deleteRecord):
184         * Modules/indexeddb/shared/InProcessIDBServer.h:
185
186 2015-11-02  Andy Estes  <aestes@apple.com>
187
188         Fix the iOS build again.
189
190         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when
191         AVKit is disabled.
192
193 2015-11-02  Tim Horton  <timothy_horton@apple.com>
194
195         PDFPlugin should take advantage of threaded scrolling
196         https://bugs.webkit.org/show_bug.cgi?id=150037
197
198         Reviewed by Anders Carlsson.
199
200         * page/PageOverlay.cpp:
201         (WebCore::PageOverlay::PageOverlay):
202         (WebCore::PageOverlay::setNeedsDisplay):
203         Don't reset the overlay layer's opacity if we're not animating,
204         because it's possible the client wants to manage it.
205
206         * page/PageOverlayController.cpp:
207         (WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
208         Let the overlay itself determine whether it needes synchronous scrolling,
209         and let PageOverlay clients override the default.
210
211         * platform/Widget.h:
212         (WebCore::Widget::boundsRect):
213         Export a few useful things.
214
215 2015-11-02  Chris Dumez  <cdumez@apple.com>
216
217         Regression(r191673): Crash in RunLoopTimer::schedule()
218         https://bugs.webkit.org/show_bug.cgi?id=150816
219         <rdar://problem/23335285>
220
221         Reviewed by Anders Carlsson.
222
223         The crash was happening when the RunLoopTimer would fire during the
224         call to RunLoopTimer::schedule(), which can happen because we are
225         calling schedule() from a background thread. In such case, the
226         timerFired() callback execution would cause |this| to get destroyed.
227
228         To avoid this issue, DecodingResultDispatcher is now ref-counted. The
229         object is ref'd while calling startTimer() so that the object cannot go
230         away during the execution of this method. Also, we explicitly ref the
231         object when starting the timer to keep the object alive until the
232         RunLoopTimer has fired, at which point we explicitely de-ref.
233
234         This should handle correctly the cases where the RunLoopTimer fires
235         during AND after the execution of startTimer().
236
237         * platform/network/DataURLDecoder.cpp:
238         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
239         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
240         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
241
242 2015-11-02  Andy Estes  <aestes@apple.com>
243
244         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
245         https://bugs.webkit.org/show_bug.cgi?id=150819
246
247         Reviewed by Dan Bernstein.
248
249         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
250
251         * Configurations/Base.xcconfig:
252
253 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
254
255         [Win] MiniBrowser unable to use WebInspector
256         https://bugs.webkit.org/show_bug.cgi?id=150810
257         <rdar://problem/23358514>
258
259         Reviewed by Timothy Hatcher.
260
261         The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
262         the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
263         parsing error in the JS file.
264         
265         The solution was to switch from using "COMMAND echo" to use the more cross-platform
266         compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
267         escaping properly on all platforms.
268
269         * CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
270
271 2015-11-02  Zalan Bujtas  <zalan@apple.com>
272
273         hasOverflowClip() does not necessarily mean valid layer().
274         https://bugs.webkit.org/show_bug.cgi?id=150814
275
276         Reviewed by Simon Fraser.
277
278         Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
279         that we end up not creating a layer for the overflow clipped content.   
280
281         No change in functionality.
282
283         * rendering/RenderBlock.cpp:
284         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
285         (WebCore::RenderBlock::paint):
286         * rendering/RenderBox.cpp:
287         (WebCore::RenderBox::styleDidChange):
288         (WebCore::RenderBox::scrollWidth):
289         (WebCore::RenderBox::scrollHeight):
290         (WebCore::RenderBox::scrollLeft):
291         (WebCore::RenderBox::scrollTop):
292         (WebCore::RenderBox::setScrollLeft):
293         (WebCore::RenderBox::setScrollTop):
294         (WebCore::RenderBox::includeVerticalScrollbarSize):
295         (WebCore::RenderBox::includeHorizontalScrollbarSize):
296         (WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
297         (WebCore::RenderBox::usesCompositedScrolling):
298
299 2015-11-02  Alex Christensen  <achristensen@webkit.org>
300
301         Fix Mac CMake build after r191904.
302
303         * PlatformMac.cmake:
304         Move SettingsMac.mm to SettingsCocoa.mm.
305
306 2015-11-02  Eric Carlson  <eric.carlson@apple.com>
307
308         Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
309         https://bugs.webkit.org/show_bug.cgi?id=146853
310
311         Reviewed by Jer Noble.
312
313         * Modules/mediastream/MediaStream.cpp:
314         (WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
315         (WebCore::MediaStream::activityEventTimerFired): Remove FIXME.
316
317         * Modules/mediastream/MediaStreamTrack.cpp:
318         (WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
319         (WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
320         (WebCore::MediaStreamTrack::trackMutedChanged): Ditto.
321
322         * html/HTMLMediaElement.cpp:
323         (WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
324         (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
325         (WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
326         (WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
327         (WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
328         (WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
329         (WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
330         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration
331           is not definite. Send ended event when MediaStream says stream has ended.
332
333         * platform/graphics/MediaPlayer.cpp:
334         (WebCore::MediaPlayer::ended): New, passthrough to engine.
335         * platform/graphics/MediaPlayer.h:
336         * platform/graphics/MediaPlayerPrivate.h:
337
338         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
339         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
340         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
341         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
342         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
343         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
344         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused
345           image if the stream isn't active.
346         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
347         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
348         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.
349
350         * platform/mediastream/MediaStreamPrivate.cpp:
351         (WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will
352           be updated if necessary.
353
354         * platform/mediastream/RealtimeMediaSource.cpp:
355         (WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.
356
357 2015-10-31  Andy Estes  <aestes@apple.com>
358
359         Replace iOS-only WebKitSystemInterface calls with SPI
360         https://bugs.webkit.org/show_bug.cgi?id=150763
361
362         Reviewed by Darin Adler.
363
364         * WebCore.xcodeproj/project.pbxproj:
365         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
366         * css/MediaQueryEvaluator.cpp:
367         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
368         * html/HTMLMediaElement.cpp:
369         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
370         * html/HTMLObjectElement.cpp:
371         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
372         * html/HTMLVideoElement.cpp:
373         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
374         * page/NavigatorBase.cpp:
375         * page/Settings.h:
376         * page/ViewportConfiguration.cpp:
377         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
378         * page/ios/UserAgentIOS.mm:
379         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
380         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
381         (WebCore::deviceName): Ditto for wkGetDeviceName().
382         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
383         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
384         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
385         * platform/PlatformScreen.h:
386         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
387         (WebCore::deviceClass):
388         (WebCore::deviceName):
389         (WebCore::deviceHasIPadCapability):
390         * platform/ios/Device.h:
391         * platform/ios/PlatformScreenIOS.mm:
392         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
393         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
394         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
395         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
396         (WebCore::mobileGestaltFloatValue): Deleted.
397         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
398         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
399         (iosDeviceClass): Deleted.
400         * platform/ios/WebCoreSystemInterfaceIOS.mm:
401         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
402         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
403         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
404         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
405         * platform/ios/wak/WAKWindow.mm:
406         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
407         (-[WAKWindow initWithFrame:]): Ditto.
408         * platform/ios/wak/WKGraphics.mm:
409         (WKGraphicsCreateImageFromBundleWithName): Ditto.
410         (WKDrawPatternBitmap): Ditto.
411         * platform/mac/WebCoreSystemInterface.h:
412         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
413         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
414         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
415         * rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.
416
417 2015-11-02  Commit Queue  <commit-queue@webkit.org>
418
419         Unreviewed, rolling out r191902.
420         https://bugs.webkit.org/show_bug.cgi?id=150811
421
422         This change broke iOS builders (Requested by ryanhaddad on
423         #webkit).
424
425         Reverted changeset:
426
427         "Replace iOS-only WebKitSystemInterface calls with SPI"
428         https://bugs.webkit.org/show_bug.cgi?id=150763
429         http://trac.webkit.org/changeset/191902
430
431 2015-10-31  Andy Estes  <aestes@apple.com>
432
433         Replace iOS-only WebKitSystemInterface calls with SPI
434         https://bugs.webkit.org/show_bug.cgi?id=150763
435
436         Reviewed by Darin Adler.
437
438         * WebCore.xcodeproj/project.pbxproj:
439         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
440         * css/MediaQueryEvaluator.cpp:
441         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
442         * html/HTMLMediaElement.cpp:
443         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
444         * html/HTMLObjectElement.cpp:
445         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
446         * html/HTMLVideoElement.cpp:
447         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
448         * page/NavigatorBase.cpp:
449         * page/Settings.h:
450         * page/ViewportConfiguration.cpp:
451         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
452         * page/ios/UserAgentIOS.mm:
453         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
454         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
455         (WebCore::deviceName): Ditto for wkGetDeviceName().
456         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
457         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
458         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
459         * platform/PlatformScreen.h:
460         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
461         (WebCore::deviceClass):
462         (WebCore::deviceName):
463         (WebCore::deviceHasIPadCapability):
464         * platform/ios/Device.h:
465         * platform/ios/PlatformScreenIOS.mm:
466         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
467         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
468         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
469         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
470         (WebCore::mobileGestaltFloatValue): Deleted.
471         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
472         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
473         (iosDeviceClass): Deleted.
474         * platform/ios/WebCoreSystemInterfaceIOS.mm:
475         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
476         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
477         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
478         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
479         * platform/ios/wak/WAKWindow.mm:
480         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
481         (-[WAKWindow initWithFrame:]): Ditto.
482         * platform/ios/wak/WKGraphics.mm:
483         (WKGraphicsCreateImageFromBundleWithName): Ditto.
484         (WKDrawPatternBitmap): Ditto.
485         * platform/mac/WebCoreSystemInterface.h:
486         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
487         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
488         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
489         * rendering/RenderThemeIOS.mm:
490
491 2015-11-02  Frederic Wang  <fred.wang@free.fr>
492
493         [Win] Add support for the USE_TYPO_METRICS flag
494         https://bugs.webkit.org/show_bug.cgi?id=150451
495
496         Reviewed by Darin Adler.
497
498         Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
499
500         No new tests because this is already tested by fonts/use-typo-metrics-1.html
501
502         * platform/graphics/win/SimpleFontDataCGWin.cpp:
503         (WebCore::Font::platformInit):
504         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
505         (WebCore::Font::platformInit):
506         * platform/graphics/win/SimpleFontDataWin.cpp:
507         (WebCore::Font::initGDIFont):
508
509 2015-11-02  Hyunduk Kim  <hyunduk.kim@samsung.com>
510
511         Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
512         https://bugs.webkit.org/show_bug.cgi?id=150436
513
514         Reviewed by Darin Adler.
515
516         Got the new test case from
517         https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html 
518         Tests: http\tests\media\media-source\mediasource-is-type-supported.html
519
520         * Modules/mediasource/MediaSource.cpp:
521         (WebCore::MediaSource::isTypeSupported):
522
523 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
524
525         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
526         https://bugs.webkit.org/show_bug.cgi?id=150613
527
528         Reviewed by Darin Adler.
529
530         Renaming impl to wrapped in classes and binding generated classes.
531         No change in behavior.
532
533         * Modules/plugins/QuickTimePluginReplacement.mm:
534         (WebCore::JSQuickTimePluginReplacement::timedMetaData):
535         (WebCore::JSQuickTimePluginReplacement::accessLog):
536         (WebCore::JSQuickTimePluginReplacement::errorLog):
537         * bindings/js/JSAttrCustom.cpp:
538         (WebCore::JSAttr::visitAdditionalChildren):
539         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
540         (WebCore::JSAudioBufferSourceNode::setBuffer):
541         * bindings/js/JSAudioTrackCustom.cpp:
542         (WebCore::JSAudioTrack::visitAdditionalChildren):
543         (WebCore::JSAudioTrack::setKind):
544         (WebCore::JSAudioTrack::setLanguage):
545         * bindings/js/JSAudioTrackListCustom.cpp:
546         (WebCore::JSAudioTrackList::visitAdditionalChildren):
547         * bindings/js/JSBiquadFilterNodeCustom.cpp:
548         (WebCore::JSBiquadFilterNode::setType):
549         * bindings/js/JSCSSRuleCustom.cpp:
550         (WebCore::JSCSSRule::visitAdditionalChildren):
551         * bindings/js/JSCSSRuleListCustom.cpp:
552         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
553         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
554         (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
555         (WebCore::getPropertyValueFallback):
556         (WebCore::cssPropertyGetterPixelOrPosPrefix):
557         (WebCore::cssPropertyGetter):
558         (WebCore::JSCSSStyleDeclaration::putDelegate):
559         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
560         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
561         * bindings/js/JSCSSValueCustom.cpp:
562         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
563         (WebCore::JSCSSValueOwner::finalize):
564         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
565         (WebCore::toHTMLCanvasStyle):
566         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
567         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
568         (WebCore::JSCanvasRenderingContext2D::fillStyle):
569         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
570         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
571         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
572         * bindings/js/JSCanvasRenderingContextCustom.cpp:
573         (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
574         * bindings/js/JSCharacterDataCustom.cpp:
575         (WebCore::JSCharacterData::before):
576         (WebCore::JSCharacterData::after):
577         (WebCore::JSCharacterData::replaceWith):
578         * bindings/js/JSCommandLineAPIHostCustom.cpp:
579         (WebCore::JSCommandLineAPIHost::inspectedObject):
580         (WebCore::JSCommandLineAPIHost::getEventListeners):
581         (WebCore::JSCommandLineAPIHost::inspect):
582         (WebCore::JSCommandLineAPIHost::databaseId):
583         (WebCore::JSCommandLineAPIHost::storageId):
584         * bindings/js/JSCryptoCustom.cpp:
585         (WebCore::JSCrypto::getRandomValues):
586         * bindings/js/JSCryptoKeyCustom.cpp:
587         (WebCore::JSCryptoKey::algorithm):
588         * bindings/js/JSCryptoKeyPairCustom.cpp:
589         (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
590         * bindings/js/JSCustomEventCustom.cpp:
591         (WebCore::JSCustomEvent::detail):
592         * bindings/js/JSCustomXPathNSResolver.cpp:
593         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
594         * bindings/js/JSDOMBinding.cpp:
595         (WebCore::reportException):
596         (WebCore::activeDOMWindow):
597         (WebCore::firstDOMWindow):
598         * bindings/js/JSDOMFormDataCustom.cpp:
599         (WebCore::toHTMLFormElementOrNull):
600         (WebCore::JSDOMFormData::append):
601         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
602         (WebCore::JSDOMMimeTypeArray::nameGetter):
603         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
604         (WebCore::JSDOMNamedFlowCollection::nameGetter):
605         * bindings/js/JSDOMPluginArrayCustom.cpp:
606         (WebCore::JSDOMPluginArray::nameGetter):
607         * bindings/js/JSDOMPluginCustom.cpp:
608         (WebCore::JSDOMPlugin::nameGetter):
609         * bindings/js/JSDOMStringListCustom.cpp:
610         (WebCore::JSDOMStringList::toWrapped):
611         * bindings/js/JSDOMStringMapCustom.cpp:
612         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
613         (WebCore::JSDOMStringMap::getOwnPropertyNames):
614         (WebCore::JSDOMStringMap::deleteProperty):
615         (WebCore::JSDOMStringMap::putDelegate):
616         * bindings/js/JSDOMTokenListCustom.cpp:
617         (WebCore::JSDOMTokenList::toggle):
618         * bindings/js/JSDOMWindowBase.cpp:
619         (WebCore::shouldAllowAccessFrom):
620         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
621         (WebCore::JSDOMWindowBase::updateDocument):
622         (WebCore::JSDOMWindowBase::scriptExecutionContext):
623         (WebCore::JSDOMWindowBase::printErrorMessage):
624         (WebCore::JSDOMWindowBase::supportsProfiling):
625         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
626         (WebCore::JSDOMWindowBase::shouldInterruptScript):
627         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
628         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
629         (WebCore::JSDOMWindowBase::moduleLoaderResolve):
630         (WebCore::JSDOMWindowBase::moduleLoaderFetch):
631         (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
632         * bindings/js/JSDOMWindowBase.h:
633         * bindings/js/JSDOMWindowCustom.cpp:
634         (WebCore::JSDOMWindow::visitAdditionalChildren):
635         (WebCore::childFrameGetter):
636         (WebCore::namedItemGetter):
637         (WebCore::jsDOMWindowWebKit):
638         (WebCore::jsDOMWindowIndexedDB):
639         (WebCore::JSDOMWindow::getOwnPropertySlot):
640         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
641         (WebCore::JSDOMWindow::put):
642         (WebCore::JSDOMWindow::putByIndex):
643         (WebCore::JSDOMWindow::deleteProperty):
644         (WebCore::JSDOMWindow::deletePropertyByIndex):
645         (WebCore::JSDOMWindow::getEnumerableLength):
646         (WebCore::JSDOMWindow::getStructurePropertyNames):
647         (WebCore::JSDOMWindow::getGenericPropertyNames):
648         (WebCore::JSDOMWindow::getPropertyNames):
649         (WebCore::JSDOMWindow::getOwnPropertyNames):
650         (WebCore::JSDOMWindow::defineOwnProperty):
651         (WebCore::JSDOMWindow::setLocation):
652         (WebCore::JSDOMWindow::open):
653         (WebCore::JSDOMWindow::showModalDialog):
654         (WebCore::JSDOMWindow::postMessage):
655         (WebCore::JSDOMWindow::setTimeout):
656         (WebCore::JSDOMWindow::setInterval):
657         (WebCore::JSDOMWindow::addEventListener):
658         (WebCore::JSDOMWindow::removeEventListener):
659         (WebCore::JSDOMWindow::toWrapped):
660         * bindings/js/JSDOMWindowShell.cpp:
661         (WebCore::JSDOMWindowShell::setWindow):
662         (WebCore::JSDOMWindowShell::wrapped):
663         * bindings/js/JSDOMWindowShell.h:
664         * bindings/js/JSDOMWrapper.h:
665         (WebCore::JSDOMWrapper::wrapped):
666         (WebCore::JSDOMWrapper::JSDOMWrapper):
667         * bindings/js/JSDataCueCustom.cpp:
668         (WebCore::JSDataCue::value):
669         (WebCore::JSDataCue::setValue):
670         * bindings/js/JSDataTransferCustom.cpp:
671         (WebCore::JSDataTransfer::types):
672         * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
673         (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
674         * bindings/js/JSDeviceMotionEventCustom.cpp:
675         (WebCore::JSDeviceMotionEvent::acceleration):
676         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
677         (WebCore::JSDeviceMotionEvent::rotationRate):
678         (WebCore::JSDeviceMotionEvent::interval):
679         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
680         * bindings/js/JSDeviceOrientationEventCustom.cpp:
681         (WebCore::JSDeviceOrientationEvent::alpha):
682         (WebCore::JSDeviceOrientationEvent::beta):
683         (WebCore::JSDeviceOrientationEvent::gamma):
684         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
685         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
686         (WebCore::JSDeviceOrientationEvent::absolute):
687         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
688         * bindings/js/JSDocumentCustom.cpp:
689         (WebCore::JSDocument::prepend):
690         (WebCore::JSDocument::append):
691         * bindings/js/JSDocumentFragmentCustom.cpp:
692         (WebCore::JSDocumentFragment::prepend):
693         (WebCore::JSDocumentFragment::append):
694         * bindings/js/JSDocumentTypeCustom.cpp:
695         (WebCore::JSDocumentType::before):
696         (WebCore::JSDocumentType::after):
697         (WebCore::JSDocumentType::replaceWith):
698         * bindings/js/JSElementCustom.cpp:
699         (WebCore::JSElement::before):
700         (WebCore::JSElement::after):
701         (WebCore::JSElement::replaceWith):
702         (WebCore::JSElement::prepend):
703         (WebCore::JSElement::append):
704         * bindings/js/JSEventCustom.cpp:
705         (WebCore::JSEvent::clipboardData):
706         * bindings/js/JSEventListener.cpp:
707         (WebCore::JSEventListener::handleEvent):
708         * bindings/js/JSEventTargetCustom.cpp:
709         * bindings/js/JSFileReaderCustom.cpp:
710         (WebCore::JSFileReader::result):
711         * bindings/js/JSGeolocationCustom.cpp:
712         (WebCore::JSGeolocation::getCurrentPosition):
713         (WebCore::JSGeolocation::watchPosition):
714         * bindings/js/JSHTMLAllCollectionCustom.cpp:
715         (WebCore::namedItems):
716         (WebCore::callHTMLAllCollection):
717         (WebCore::JSHTMLAllCollection::item):
718         * bindings/js/JSHTMLCanvasElementCustom.cpp:
719         (WebCore::JSHTMLCanvasElement::getContext):
720         (WebCore::JSHTMLCanvasElement::probablySupportsContext):
721         (WebCore::JSHTMLCanvasElement::toDataURL):
722         * bindings/js/JSHTMLCollectionCustom.cpp:
723         (WebCore::JSHTMLCollection::nameGetter):
724         * bindings/js/JSHTMLDocumentCustom.cpp:
725         (WebCore::JSHTMLDocument::nameGetter):
726         (WebCore::JSHTMLDocument::all):
727         (WebCore::findCallingDocument):
728         (WebCore::JSHTMLDocument::open):
729         (WebCore::documentWrite):
730         * bindings/js/JSHTMLElementCustom.cpp:
731         (WebCore::JSHTMLElement::pushEventHandlerScope):
732         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
733         (WebCore::namedItems):
734         * bindings/js/JSHTMLFormElementCustom.cpp:
735         (WebCore::JSHTMLFormElement::nameGetter):
736         * bindings/js/JSHTMLFrameElementCustom.cpp:
737         (WebCore::JSHTMLFrameElement::setLocation):
738         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
739         (WebCore::JSHTMLFrameSetElement::nameGetter):
740         * bindings/js/JSHTMLInputElementCustom.cpp:
741         (WebCore::JSHTMLInputElement::selectionStart):
742         (WebCore::JSHTMLInputElement::setSelectionStart):
743         (WebCore::JSHTMLInputElement::selectionEnd):
744         (WebCore::JSHTMLInputElement::setSelectionEnd):
745         (WebCore::JSHTMLInputElement::selectionDirection):
746         (WebCore::JSHTMLInputElement::setSelectionDirection):
747         (WebCore::JSHTMLInputElement::setSelectionRange):
748         * bindings/js/JSHTMLMediaElementCustom.cpp:
749         (WebCore::JSHTMLMediaElement::setController):
750         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
751         (WebCore::JSHTMLOptionsCollection::nameGetter):
752         (WebCore::JSHTMLOptionsCollection::setLength):
753         (WebCore::JSHTMLOptionsCollection::indexSetter):
754         (WebCore::JSHTMLOptionsCollection::remove):
755         * bindings/js/JSHTMLSelectElementCustom.cpp:
756         (WebCore::JSHTMLSelectElement::remove):
757         (WebCore::JSHTMLSelectElement::indexSetter):
758         * bindings/js/JSHTMLTemplateElementCustom.cpp:
759         (WebCore::JSHTMLTemplateElement::content):
760         * bindings/js/JSHistoryCustom.cpp:
761         (WebCore::JSHistory::getOwnPropertySlotDelegate):
762         (WebCore::JSHistory::putDelegate):
763         (WebCore::JSHistory::deleteProperty):
764         (WebCore::JSHistory::deletePropertyByIndex):
765         (WebCore::JSHistory::getOwnPropertyNames):
766         (WebCore::JSHistory::state):
767         (WebCore::JSHistory::pushState):
768         (WebCore::JSHistory::replaceState):
769         * bindings/js/JSIDBDatabaseCustom.cpp:
770         (WebCore::JSIDBDatabase::createObjectStore):
771         * bindings/js/JSIDBObjectStoreCustom.cpp:
772         (WebCore::JSIDBObjectStore::createIndex):
773         * bindings/js/JSInspectorFrontendHostCustom.cpp:
774         (WebCore::JSInspectorFrontendHost::showContextMenu):
775         * bindings/js/JSLocationCustom.cpp:
776         (WebCore::JSLocation::getOwnPropertySlotDelegate):
777         (WebCore::JSLocation::putDelegate):
778         (WebCore::JSLocation::deleteProperty):
779         (WebCore::JSLocation::deletePropertyByIndex):
780         (WebCore::JSLocation::getOwnPropertyNames):
781         (WebCore::JSLocation::toStringFunction):
782         * bindings/js/JSMediaSourceStatesCustom.cpp:
783         (WebCore::JSMediaSourceStates::width):
784         (WebCore::JSMediaSourceStates::height):
785         (WebCore::JSMediaSourceStates::frameRate):
786         (WebCore::JSMediaSourceStates::aspectRatio):
787         (WebCore::JSMediaSourceStates::facingMode):
788         (WebCore::JSMediaSourceStates::volume):
789         * bindings/js/JSMessageChannelCustom.cpp:
790         (WebCore::JSMessageChannel::visitAdditionalChildren):
791         * bindings/js/JSMessageEventCustom.cpp:
792         (WebCore::JSMessageEvent::data):
793         (WebCore::handleInitMessageEvent):
794         * bindings/js/JSMessagePortCustom.cpp:
795         (WebCore::JSMessagePort::visitAdditionalChildren):
796         (WebCore::JSMessagePort::postMessage):
797         * bindings/js/JSMockContentFilterSettingsCustom.cpp:
798         (WebCore::JSMockContentFilterSettings::decisionPoint):
799         (WebCore::JSMockContentFilterSettings::setDecisionPoint):
800         (WebCore::JSMockContentFilterSettings::decision):
801         (WebCore::JSMockContentFilterSettings::setDecision):
802         (WebCore::JSMockContentFilterSettings::unblockRequestDecision):
803         (WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
804         * bindings/js/JSMutationObserverCustom.cpp:
805         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
806         * bindings/js/JSNamedNodeMapCustom.cpp:
807         (WebCore::JSNamedNodeMap::nameGetter):
808         * bindings/js/JSNavigatorCustom.cpp:
809         (WebCore::JSNavigator::webkitGetUserMedia):
810         * bindings/js/JSNodeCustom.cpp:
811         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
812         (WebCore::JSNode::insertBefore):
813         (WebCore::JSNode::replaceChild):
814         (WebCore::JSNode::removeChild):
815         (WebCore::JSNode::appendChild):
816         (WebCore::JSNode::visitAdditionalChildren):
817         * bindings/js/JSNodeIteratorCustom.cpp:
818         (WebCore::JSNodeIterator::visitAdditionalChildren):
819         * bindings/js/JSNodeListCustom.cpp:
820         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
821         * bindings/js/JSNodeOrString.cpp:
822         (WebCore::toNodeOrStringVector):
823         * bindings/js/JSOscillatorNodeCustom.cpp:
824         (WebCore::JSOscillatorNode::setType):
825         * bindings/js/JSPannerNodeCustom.cpp:
826         (WebCore::JSPannerNode::setPanningModel):
827         (WebCore::JSPannerNode::setDistanceModel):
828         * bindings/js/JSPluginElementFunctions.cpp:
829         (WebCore::pluginScriptObjectFromPluginViewBase):
830         (WebCore::pluginScriptObject):
831         (WebCore::pluginElementGetCallData):
832         * bindings/js/JSPopStateEventCustom.cpp:
833         (WebCore::JSPopStateEvent::state):
834         * bindings/js/JSRTCStatsResponseCustom.cpp:
835         (WebCore::JSRTCStatsResponse::nameGetter):
836         * bindings/js/JSSQLResultSetRowListCustom.cpp:
837         (WebCore::JSSQLResultSetRowList::item):
838         * bindings/js/JSSQLTransactionCustom.cpp:
839         (WebCore::JSSQLTransaction::executeSql):
840         * bindings/js/JSSVGLengthCustom.cpp:
841         (WebCore::JSSVGLength::value):
842         (WebCore::JSSVGLength::setValue):
843         (WebCore::JSSVGLength::convertToSpecifiedUnits):
844         * bindings/js/JSStorageCustom.cpp:
845         (WebCore::JSStorage::nameGetter):
846         (WebCore::JSStorage::deleteProperty):
847         (WebCore::JSStorage::getOwnPropertyNames):
848         (WebCore::JSStorage::putDelegate):
849         * bindings/js/JSStyleSheetCustom.cpp:
850         (WebCore::JSStyleSheet::visitAdditionalChildren):
851         * bindings/js/JSStyleSheetListCustom.cpp:
852         (WebCore::JSStyleSheetList::nameGetter):
853         * bindings/js/JSSubtleCryptoCustom.cpp:
854         (WebCore::JSSubtleCrypto::encrypt):
855         (WebCore::JSSubtleCrypto::decrypt):
856         (WebCore::JSSubtleCrypto::sign):
857         (WebCore::JSSubtleCrypto::verify):
858         (WebCore::JSSubtleCrypto::wrapKey):
859         (WebCore::JSSubtleCrypto::unwrapKey):
860         * bindings/js/JSTextTrackCueCustom.cpp:
861         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
862         (WebCore::JSTextTrackCue::visitAdditionalChildren):
863         * bindings/js/JSTextTrackCustom.cpp:
864         (WebCore::JSTextTrack::visitAdditionalChildren):
865         (WebCore::JSTextTrack::setKind):
866         (WebCore::JSTextTrack::setLanguage):
867         * bindings/js/JSTextTrackListCustom.cpp:
868         (WebCore::JSTextTrackList::visitAdditionalChildren):
869         * bindings/js/JSTrackCustom.cpp:
870         (WebCore::toTrack):
871         * bindings/js/JSTrackEventCustom.cpp:
872         (WebCore::JSTrackEvent::track):
873         * bindings/js/JSTreeWalkerCustom.cpp:
874         (WebCore::JSTreeWalker::visitAdditionalChildren):
875         * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
876         (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
877         * bindings/js/JSVideoTrackCustom.cpp:
878         (WebCore::JSVideoTrack::visitAdditionalChildren):
879         (WebCore::JSVideoTrack::setKind):
880         (WebCore::JSVideoTrack::setLanguage):
881         * bindings/js/JSVideoTrackListCustom.cpp:
882         (WebCore::JSVideoTrackList::visitAdditionalChildren):
883         * bindings/js/JSWebGL2RenderingContextCustom.cpp:
884         (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
885         (WebCore::JSWebGL2RenderingContext::getIndexedParameter):
886         * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
887         (WebCore::getObjectParameter):
888         (WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
889         (WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
890         (WebCore::JSWebGLRenderingContextBase::getExtension):
891         (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
892         (WebCore::JSWebGLRenderingContextBase::getParameter):
893         (WebCore::JSWebGLRenderingContextBase::getProgramParameter):
894         (WebCore::JSWebGLRenderingContextBase::getShaderParameter):
895         (WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
896         (WebCore::JSWebGLRenderingContextBase::getUniform):
897         (WebCore::JSWebGLRenderingContextBase::uniform1fv):
898         (WebCore::JSWebGLRenderingContextBase::uniform1iv):
899         (WebCore::JSWebGLRenderingContextBase::uniform2fv):
900         (WebCore::JSWebGLRenderingContextBase::uniform2iv):
901         (WebCore::JSWebGLRenderingContextBase::uniform3fv):
902         (WebCore::JSWebGLRenderingContextBase::uniform3iv):
903         (WebCore::JSWebGLRenderingContextBase::uniform4fv):
904         (WebCore::JSWebGLRenderingContextBase::uniform4iv):
905         (WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
906         (WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
907         (WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
908         (WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
909         (WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
910         (WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
911         (WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):
912         * bindings/js/JSWebGLRenderingContextCustom.cpp:
913         (WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
914         * bindings/js/JSWorkerCustom.cpp:
915         (WebCore::JSWorker::postMessage):
916         (WebCore::constructJSWorker):
917         * bindings/js/JSWorkerGlobalScopeBase.cpp:
918         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
919         (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
920         * bindings/js/JSWorkerGlobalScopeBase.h:
921         (WebCore::JSWorkerGlobalScopeBase::wrapped):
922         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
923         (WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
924         (WebCore::JSWorkerGlobalScope::importScripts):
925         (WebCore::JSWorkerGlobalScope::setTimeout):
926         (WebCore::JSWorkerGlobalScope::setInterval):
927         * bindings/js/JSXMLHttpRequestCustom.cpp:
928         (WebCore::JSXMLHttpRequest::visitAdditionalChildren):
929         (WebCore::JSXMLHttpRequest::open):
930         (WebCore::JSXMLHttpRequest::send):
931         (WebCore::JSXMLHttpRequest::responseText):
932         (WebCore::JSXMLHttpRequest::response):
933         * bindings/js/JSXPathResultCustom.cpp:
934         (WebCore::JSXPathResult::visitAdditionalChildren):
935         * bindings/js/JSXSLTProcessorCustom.cpp:
936         (WebCore::JSXSLTProcessor::setParameter):
937         (WebCore::JSXSLTProcessor::getParameter):
938         (WebCore::JSXSLTProcessor::removeParameter):
939         * bindings/js/ScheduledAction.cpp:
940         (WebCore::ScheduledAction::execute):
941         * bindings/js/ScriptCachedFrameData.cpp:
942         (WebCore::ScriptCachedFrameData::restore):
943         * bindings/js/ScriptController.cpp:
944         (WebCore::ScriptController::clearWindowShell):
945         (WebCore::ScriptController::collectIsolatedContexts):
946         * bindings/js/ScriptState.cpp:
947         (WebCore::domWindowFromExecState):
948         * bindings/objc/DOM.mm:
949         (+[DOMNode _nodeFromJSWrapper:]):
950         * bindings/objc/DOMUtility.mm:
951         (JSC::createDOMWrapper):
952         * bindings/objc/WebScriptObject.mm:
953         (-[WebScriptObject _isSafeScript]):
954         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
955         * bindings/scripts/CodeGeneratorJS.pm:
956         (GenerateGetOwnPropertySlotBody):
957         (GenerateHeader):
958         (GetIndexedGetterExpression):
959         (GenerateImplementation):
960         (NativeToJSValue):
961         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
962         (WebCore::jsTestActiveDOMObjectExcitingAttr):
963         (WebCore::jsTestActiveDOMObjectConstructor):
964         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
965         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
966         (WebCore::JSTestActiveDOMObjectOwner::finalize):
967         (WebCore::JSTestActiveDOMObject::toWrapped):
968         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
969         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
970         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
971         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
972         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
973         (WebCore::JSTestCustomNamedGetterOwner::finalize):
974         (WebCore::JSTestCustomNamedGetter::toWrapped):
975         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
976         (WebCore::jsTestEventConstructorAttr1):
977         (WebCore::jsTestEventConstructorAttr2):
978         (WebCore::JSTestEventConstructorOwner::finalize):
979         (WebCore::JSTestEventConstructor::toWrapped):
980         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
981         (WebCore::JSTestEventTarget::getOwnPropertySlot):
982         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
983         (WebCore::JSTestEventTarget::getOwnPropertyNames):
984         (WebCore::jsTestEventTargetPrototypeFunctionItem):
985         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
986         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
987         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
988         (WebCore::JSTestEventTarget::visitChildren):
989         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
990         (WebCore::JSTestEventTargetOwner::finalize):
991         (WebCore::JSTestEventTarget::toWrapped):
992         * bindings/scripts/test/JS/JSTestException.cpp:
993         (WebCore::jsTestExceptionName):
994         (WebCore::JSTestExceptionOwner::finalize):
995         (WebCore::JSTestException::toWrapped):
996         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
997         (WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
998         (WebCore::JSTestGenerateIsReachableOwner::finalize):
999         (WebCore::JSTestGenerateIsReachable::toWrapped):
1000         * bindings/scripts/test/JS/JSTestInterface.cpp:
1001         (WebCore::jsTestInterfaceImplementsStr1):
1002         (WebCore::jsTestInterfaceImplementsStr2):
1003         (WebCore::jsTestInterfaceImplementsNode):
1004         (WebCore::jsTestInterfaceSupplementalStr1):
1005         (WebCore::jsTestInterfaceSupplementalStr2):
1006         (WebCore::jsTestInterfaceSupplementalNode):
1007         (WebCore::setJSTestInterfaceImplementsStr2):
1008         (WebCore::setJSTestInterfaceImplementsNode):
1009         (WebCore::setJSTestInterfaceSupplementalStr2):
1010         (WebCore::setJSTestInterfaceSupplementalNode):
1011         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
1012         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1013         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
1014         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1015         (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
1016         (WebCore::JSTestInterfaceOwner::finalize):
1017         (WebCore::JSTestInterface::toWrapped):
1018         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1019         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1020         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
1021         (WebCore::JSTestMediaQueryListListener::toWrapped):
1022         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1023         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
1024         (WebCore::JSTestNamedConstructorOwner::finalize):
1025         (WebCore::JSTestNamedConstructor::toWrapped):
1026         * bindings/scripts/test/JS/JSTestNode.cpp:
1027         (WebCore::jsTestNodeName):
1028         (WebCore::setJSTestNodeName):
1029         (WebCore::JSTestNode::visitChildren):
1030         * bindings/scripts/test/JS/JSTestNode.h:
1031         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
1032         (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
1033         (WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
1034         (WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
1035         (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
1036         (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
1037         (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
1038         (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
1039         (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
1040         (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
1041         (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
1042         (WebCore::JSTestNondeterministicOwner::finalize):
1043         (WebCore::JSTestNondeterministic::toWrapped):
1044         * bindings/scripts/test/JS/JSTestObj.cpp:
1045         (WebCore::jsTestObjReadOnlyLongAttr):
1046         (WebCore::jsTestObjReadOnlyStringAttr):
1047         (WebCore::jsTestObjReadOnlyTestObjAttr):
1048         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
1049         (WebCore::jsTestObjEnumAttr):
1050         (WebCore::jsTestObjByteAttr):
1051         (WebCore::jsTestObjOctetAttr):
1052         (WebCore::jsTestObjShortAttr):
1053         (WebCore::jsTestObjUnsignedShortAttr):
1054         (WebCore::jsTestObjLongAttr):
1055         (WebCore::jsTestObjLongLongAttr):
1056         (WebCore::jsTestObjUnsignedLongLongAttr):
1057         (WebCore::jsTestObjStringAttr):
1058         (WebCore::jsTestObjTestObjAttr):
1059         (WebCore::jsTestObjXMLObjAttr):
1060         (WebCore::jsTestObjCreate):
1061         (WebCore::jsTestObjReflectedStringAttr):
1062         (WebCore::jsTestObjReflectedIntegralAttr):
1063         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
1064         (WebCore::jsTestObjReflectedBooleanAttr):
1065         (WebCore::jsTestObjReflectedURLAttr):
1066         (WebCore::jsTestObjReflectedCustomIntegralAttr):
1067         (WebCore::jsTestObjReflectedCustomBooleanAttr):
1068         (WebCore::jsTestObjReflectedCustomURLAttr):
1069         (WebCore::jsTestObjTypedArrayAttr):
1070         (WebCore::jsTestObjAttrWithGetterException):
1071         (WebCore::jsTestObjAttrWithSetterException):
1072         (WebCore::jsTestObjStringAttrWithGetterException):
1073         (WebCore::jsTestObjStringAttrWithSetterException):
1074         (WebCore::jsTestObjStrictTypeCheckingAttribute):
1075         (WebCore::jsTestObjOnfoo):
1076         (WebCore::jsTestObjWithScriptStateAttribute):
1077         (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
1078         (WebCore::jsTestObjWithScriptExecutionContextAttribute):
1079         (WebCore::jsTestObjWithScriptStateAttributeRaises):
1080         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
1081         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
1082         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
1083         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
1084         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
1085         (WebCore::jsTestObjConditionalAttr1):
1086         (WebCore::jsTestObjConditionalAttr2):
1087         (WebCore::jsTestObjConditionalAttr3):
1088         (WebCore::jsTestObjCachedAttribute1):
1089         (WebCore::jsTestObjCachedAttribute2):
1090         (WebCore::jsTestObjAnyAttribute):
1091         (WebCore::jsTestObjContentDocument):
1092         (WebCore::jsTestObjMutablePoint):
1093         (WebCore::jsTestObjImmutablePoint):
1094         (WebCore::jsTestObjStrawberry):
1095         (WebCore::jsTestObjStrictFloat):
1096         (WebCore::jsTestObjDescription):
1097         (WebCore::jsTestObjId):
1098         (WebCore::jsTestObjHash):
1099         (WebCore::jsTestObjReplaceableAttribute):
1100         (WebCore::jsTestObjNullableDoubleAttribute):
1101         (WebCore::jsTestObjNullableLongAttribute):
1102         (WebCore::jsTestObjNullableBooleanAttribute):
1103         (WebCore::jsTestObjNullableStringAttribute):
1104         (WebCore::jsTestObjNullableLongSettableAttribute):
1105         (WebCore::jsTestObjNullableStringValue):
1106         (WebCore::jsTestObjAttribute):
1107         (WebCore::jsTestObjAttributeWithReservedEnumType):
1108         (WebCore::jsTestObjPutForwardsAttribute):
1109         (WebCore::jsTestObjPutForwardsNullableAttribute):
1110         (WebCore::setJSTestObjEnumAttr):
1111         (WebCore::setJSTestObjByteAttr):
1112         (WebCore::setJSTestObjOctetAttr):
1113         (WebCore::setJSTestObjShortAttr):
1114         (WebCore::setJSTestObjUnsignedShortAttr):
1115         (WebCore::setJSTestObjLongAttr):
1116         (WebCore::setJSTestObjLongLongAttr):
1117         (WebCore::setJSTestObjUnsignedLongLongAttr):
1118         (WebCore::setJSTestObjStringAttr):
1119         (WebCore::setJSTestObjTestObjAttr):
1120         (WebCore::setJSTestObjXMLObjAttr):
1121         (WebCore::setJSTestObjCreate):
1122         (WebCore::setJSTestObjReflectedStringAttr):
1123         (WebCore::setJSTestObjReflectedIntegralAttr):
1124         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
1125         (WebCore::setJSTestObjReflectedBooleanAttr):
1126         (WebCore::setJSTestObjReflectedURLAttr):
1127         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
1128         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
1129         (WebCore::setJSTestObjReflectedCustomURLAttr):
1130         (WebCore::setJSTestObjTypedArrayAttr):
1131         (WebCore::setJSTestObjAttrWithGetterException):
1132         (WebCore::setJSTestObjAttrWithSetterException):
1133         (WebCore::setJSTestObjStringAttrWithGetterException):
1134         (WebCore::setJSTestObjStringAttrWithSetterException):
1135         (WebCore::setJSTestObjStrictTypeCheckingAttribute):
1136         (WebCore::setJSTestObjOnfoo):
1137         (WebCore::setJSTestObjWithScriptStateAttribute):
1138         (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
1139         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
1140         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
1141         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
1142         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
1143         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
1144         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
1145         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
1146         (WebCore::setJSTestObjConditionalAttr1):
1147         (WebCore::setJSTestObjConditionalAttr2):
1148         (WebCore::setJSTestObjConditionalAttr3):
1149         (WebCore::setJSTestObjAnyAttribute):
1150         (WebCore::setJSTestObjMutablePoint):
1151         (WebCore::setJSTestObjImmutablePoint):
1152         (WebCore::setJSTestObjStrawberry):
1153         (WebCore::setJSTestObjStrictFloat):
1154         (WebCore::setJSTestObjId):
1155         (WebCore::setJSTestObjNullableLongSettableAttribute):
1156         (WebCore::setJSTestObjNullableStringValue):
1157         (WebCore::setJSTestObjAttributeWithReservedEnumType):
1158         (WebCore::setJSTestObjPutForwardsAttribute):
1159         (WebCore::setJSTestObjPutForwardsNullableAttribute):
1160         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1161         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1162         (WebCore::jsTestObjPrototypeFunctionByteMethod):
1163         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
1164         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
1165         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
1166         (WebCore::jsTestObjPrototypeFunctionLongMethod):
1167         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
1168         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1169         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1170         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1171         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1172         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
1173         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
1174         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1175         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1176         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1177         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1178         (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
1179         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1180         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1181         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1182         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1183         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1184         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1185         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1186         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
1187         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
1188         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
1189         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
1190         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1191         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
1192         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1193         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1194         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
1195         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
1196         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
1197         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
1198         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1199         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1200         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1201         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
1202         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
1203         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
1204         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
1205         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
1206         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
1207         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1208         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1209         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1210         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1211         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1212         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1213         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1214         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1215         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1216         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1217         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
1218         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
1219         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
1220         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
1221         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
1222         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1223         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1224         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1225         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
1226         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
1227         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
1228         (WebCore::jsTestObjPrototypeFunctionConvert1):
1229         (WebCore::jsTestObjPrototypeFunctionConvert2):
1230         (WebCore::jsTestObjPrototypeFunctionConvert4):
1231         (WebCore::jsTestObjPrototypeFunctionConvert5):
1232         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
1233         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
1234         (WebCore::jsTestObjPrototypeFunctionOrange):
1235         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1236         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
1237         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
1238         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1239         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1240         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1241         (WebCore::jsTestObjPrototypeFunctionAny):
1242         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
1243         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
1244         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
1245         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
1246         (WebCore::JSTestObjOwner::finalize):
1247         (WebCore::JSTestObj::toWrapped):
1248         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1249         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
1250         (WebCore::JSTestOverloadedConstructors::toWrapped):
1251         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1252         (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
1253         (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
1254         (WebCore::JSTestOverrideBuiltinsOwner::finalize):
1255         (WebCore::JSTestOverrideBuiltins::toWrapped):
1256         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1257         (WebCore::jsTestSerializedScriptValueInterfaceValue):
1258         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
1259         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
1260         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1261         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
1262         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
1263         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
1264         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
1265         (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
1266         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1267         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
1268         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
1269         (WebCore::jsTestTypedefsAttrWithGetterException):
1270         (WebCore::jsTestTypedefsAttrWithSetterException):
1271         (WebCore::jsTestTypedefsStringAttrWithGetterException):
1272         (WebCore::jsTestTypedefsStringAttrWithSetterException):
1273         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
1274         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
1275         (WebCore::setJSTestTypedefsAttrWithGetterException):
1276         (WebCore::setJSTestTypedefsAttrWithSetterException):
1277         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
1278         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
1279         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1280         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
1281         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
1282         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
1283         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1284         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
1285         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
1286         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
1287         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
1288         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
1289         (WebCore::JSTestTypedefsOwner::finalize):
1290         (WebCore::JSTestTypedefs::toWrapped):
1291         * bindings/scripts/test/JS/JSattribute.cpp:
1292         (WebCore::jsattributeReadonly):
1293         (WebCore::JSattributeOwner::finalize):
1294         (WebCore::JSattribute::toWrapped):
1295         * bindings/scripts/test/JS/JSreadonly.cpp:
1296         (WebCore::JSreadonlyOwner::finalize):
1297         (WebCore::JSreadonly::toWrapped):
1298         * bridge/runtime_method.cpp:
1299         (JSC::callRuntimeMethod):
1300         * inspector/InspectorController.cpp:
1301         (WebCore::InspectorController::canAccessInspectedScriptState):
1302
1303 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1304
1305         IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
1306         https://bugs.webkit.org/show_bug.cgi?id=150438
1307
1308         Reviewed by Darin Adler.
1309
1310         Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
1311         One exception is custom setters, getters or functions which remain C++ handled.
1312         Updated streams API IDLs accordingly.
1313
1314         Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
1315         Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
1316         In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.
1317
1318         Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
1319         Removing ReadableStreamReader and ReadableStreamController classes.
1320
1321         Removed unneeded "Default" keyword for cancel function in WebIDL.
1322
1323         Added a binding test case.
1324         No change in behavior.
1325
1326         * Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
1327         * Modules/streams/CountQueuingStrategy.idl: Ditto.
1328         * Modules/streams/ReadableStream.idl: Ditto.
1329         * Modules/streams/ReadableStreamController.h: Removed.
1330         * Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
1331         * Modules/streams/ReadableStreamReader.h: Removed.
1332         * Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
1333         * Modules/streams/WritableStream.idl: Ditto.
1334         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
1335         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
1336         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.
1337         * bindings/scripts/CodeGeneratorJS.pm:
1338         (NeedsImplementationClass):
1339         (GetAttributeGetterName):
1340         (GetAttributeSetterName):
1341         (GetFunctionName):
1342         (InstanceNeedsVisitChildren):
1343         (GenerateHeader):
1344         (GenerateAttributesHashTable):
1345         (GenerateImplementation):
1346         (GetConstructorTemplateClassName):
1347         (GenerateConstructorDefinition):
1348         (GenerateConstructorHelperMethods):
1349         (IsConstructable):
1350         (ComputeFunctionSpecial):
1351         (IsJSBuiltin):
1352         (IsJSBuiltinConstructor):
1353         (AddJSBuiltinIncludesIfNeeded):
1354         (GetJSBuiltinFunctionName): Deleted.
1355         (GetJSBuiltinFunctionNameFromString): Deleted.
1356         (GetJSBuiltinScopeName): Deleted.
1357         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:
1358         (webkit_dom_test_js_builtin_constructor_set_property):
1359         (webkit_dom_test_js_builtin_constructor_get_property):
1360         (webkit_dom_test_js_builtin_constructor_class_init):
1361         (webkit_dom_test_js_builtin_constructor_test_function):
1362         (webkit_dom_test_js_builtin_constructor_get_test_attribute):
1363         (webkit_dom_test_js_builtin_constructor_set_test_attribute):
1364         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
1365         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1366         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
1367         (WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
1368         (WebCore::jsTestJSBuiltinConstructorTestAttribute):
1369         (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
1370         (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
1371         (WebCore::setJSTestJSBuiltinConstructorTestAttribute):
1372         (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
1373         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
1374         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
1375         (WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
1376         (WebCore::JSTestJSBuiltinConstructorOwner::finalize):
1377         (WebCore::toJSNewlyCreated):
1378         (WebCore::toJS):
1379         (WebCore::JSTestJSBuiltinConstructor::toWrapped):
1380         (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
1381         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
1382         (WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
1383         (WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
1384         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
1385         (WebCore::JSTestJSBuiltinConstructor::create):
1386         (WebCore::JSTestJSBuiltinConstructor::finishCreation):
1387         (WebCore::wrapperOwner):
1388         (WebCore::toJS):
1389         (WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.
1390         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
1391         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
1392         (-[DOMTestJSBuiltinConstructor testAttribute]):
1393         (-[DOMTestJSBuiltinConstructor setTestAttribute:]):
1394         (-[DOMTestJSBuiltinConstructor testAttributeCustom]):
1395         (-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
1396         (-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
1397         (-[DOMTestJSBuiltinConstructor testFunction]):
1398         (-[DOMTestJSBuiltinConstructor testCustomFunction]):
1399         * bindings/scripts/test/TestJSBuiltinConstructor.idl:
1400
1401 2015-10-29  Sergio Villar Senin  <svillar@igalia.com>
1402
1403         [CSS Grid Layout] min-content row does not always shrink
1404         https://bugs.webkit.org/show_bug.cgi?id=144581
1405
1406         Reviewed by Zalan Bujtas.
1407
1408         Grid items height must be recomputed whenever the grid tracks
1409         change if the items had been previously stretched. In those
1410         cases we have to clear the override height and layout the item
1411         with the new row size.
1412
1413         Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html
1414                fast/css-grid-layout/relayout-indefinite-heights.html
1415
1416         * rendering/RenderGrid.cpp:
1417         (WebCore::RenderGrid::logicalContentHeightForChild):
1418
1419 2015-11-01  Brady Eidson  <beidson@apple.com>
1420
1421         Modern IDB: IBDObjectStore.count() support.
1422         https://bugs.webkit.org/show_bug.cgi?id=150785
1423
1424         Reviewed by Darin Adler.
1425
1426         Tests: storage/indexeddb/modern/idbobjectstore-count-1.html
1427                storage/indexeddb/modern/idbobjectstore-count-failures.html
1428
1429         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1430         (WebCore::IDBClient::IDBConnectionToServer::getCount):
1431         (WebCore::IDBClient::IDBConnectionToServer::didGetCount):
1432         * Modules/indexeddb/client/IDBConnectionToServer.h:
1433         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1434         
1435         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1436         (WebCore::IDBClient::IDBObjectStore::count):
1437         (WebCore::IDBClient::IDBObjectStore::doCount):
1438         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1439         
1440         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1441         (WebCore::IDBClient::IDBRequest::setResult):
1442         * Modules/indexeddb/client/IDBRequestImpl.h:
1443         
1444         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1445         (WebCore::IDBClient::IDBTransaction::requestCount):
1446         (WebCore::IDBClient::IDBTransaction::getCountOnServer):
1447         (WebCore::IDBClient::IDBTransaction::didGetCountOnServer):
1448         * Modules/indexeddb/client/IDBTransactionImpl.h:
1449         
1450         * Modules/indexeddb/server/IDBBackingStore.h:
1451         
1452         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1453         (WebCore::IDBServer::IDBConnectionToClient::didGetCount):
1454         * Modules/indexeddb/server/IDBConnectionToClient.h:
1455         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1456         
1457         * Modules/indexeddb/server/IDBServer.cpp:
1458         (WebCore::IDBServer::IDBServer::getCount):
1459         * Modules/indexeddb/server/IDBServer.h:
1460         
1461         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1462         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
1463         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1464         
1465         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1466         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
1467         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange):
1468         (WebCore::IDBServer::MemoryObjectStore::lowestKeyWithRecordInRange):
1469         * Modules/indexeddb/server/MemoryObjectStore.h:
1470         
1471         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1472         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
1473         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
1474         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
1475         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount):
1476         (WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
1477         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1478         
1479         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1480         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
1481         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
1482         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1483         
1484         * Modules/indexeddb/shared/IDBResultData.cpp:
1485         (WebCore::IDBResultData::IDBResultData):
1486         (WebCore::IDBResultData::getCountSuccess):
1487         * Modules/indexeddb/shared/IDBResultData.h:
1488         (WebCore::IDBResultData::resultInteger):
1489         
1490         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1491         (WebCore::InProcessIDBServer::didGetCount):
1492         (WebCore::InProcessIDBServer::getCount):
1493         * Modules/indexeddb/shared/InProcessIDBServer.h:
1494
1495 2015-11-01  Darin Adler  <darin@apple.com>
1496
1497         Tidy handling of type=color in HTMLInputElement a bit
1498         https://bugs.webkit.org/show_bug.cgi?id=150786
1499
1500         Reviewed by Andreas Kling.
1501
1502         * html/ColorInputType.cpp: Fix formatting.
1503         (WebCore::ColorInputType::fallbackValue): Use ASCIILiteral for slightly
1504         better performance.
1505         (WebCore::ColorInputType::sanitizeValue): Use convertToASCIILowercase,
1506         since there is no need for the general purpose Unicode lowercasing here;
1507         those non-ASCII characters aren't allowed by isValidColorString.
1508         (WebCore::ColorInputType::suggestions): Rewrote data list code to remove
1509         peculiarities such as using a null check to terminate the loop instead of
1510         the collection length, calling back to HTMLInputElement just to get the
1511         isValidColorString function called. Also used reserveInitialCapacity and
1512         uncheckedAppend for better memory use in the result vector.
1513         (WebCore::ColorInputType::selectColor): Added.
1514
1515         * html/ColorInputType.h: Made derivation from ColorChooserClient private.
1516         Made most functions private. Added overrides for valueAsColor and selectColor,
1517         now both virtual functions in InputType.
1518
1519         * html/HTMLInputElement.cpp: Removed now-unneeded include of ColorInputType.h.
1520         (WebCore::HTMLInputElement::valueAsColor): Added. Calls through to the InputType.
1521         In a later patch, will be used by accessibility code to get the color so it
1522         does not have to replicate the color parsing logic from this element.
1523         (WebCore::HTMLInputElement::selectColor): Renamed from selectColorInColorChooser,
1524         because the longer name is not clearer. Also made this non-conditional.
1525
1526         * html/HTMLInputElement.h: Added valueAsColor, renamed selectColorInColorChooser
1527         to selectColor and made it available unconditionally.
1528
1529         * html/InputType.cpp:
1530         (WebCore::InputType::valueAsColor): Added. Returns transparent color.
1531         (WebCore::InputType::selectColor): Added. Does nothing by default.
1532
1533         * html/InputType.h: Added virtual valueAsColor and selectColor. Also tidied
1534         up the header a bit and removed unneeded Noncopyable (since this class has
1535         a reference for one of the data members and so is intrinsically not copyable).
1536         Made isColorControl available unconditionally.
1537
1538         * testing/Internals.cpp:
1539         (WebCore::Internals::selectColorInColorChooser): Removed conditionals and
1540         made this call selectColor rather than selectColorInColorChooser.
1541
1542         * testing/Internals.h: Made selectColorInColorChooser unconditional.
1543
1544         * testing/Internals.idl: Made selectColorInColorChooser unconditionally
1545         present. Not important to optimize the test internals class by leaving it
1546         out when INPUT_TYPE_COLOR is not enabled.
1547
1548 2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
1549
1550         [ES6] Support Generator Syntax
1551         https://bugs.webkit.org/show_bug.cgi?id=150769
1552
1553         Reviewed by Geoffrey Garen.
1554
1555         Added ENABLE_ES6_GENERATORS flag.
1556
1557         * Configurations/FeatureDefines.xcconfig:
1558
1559 2015-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
1560
1561         Clean up some CSS & Font code
1562         https://bugs.webkit.org/show_bug.cgi?id=150767
1563
1564         Reviewed by Darin Adler.
1565
1566         This patch migrates some CSS code to use references instead of pointers.
1567         It also migrates some Font code to use RefPtr instead of PassRefPtr.
1568
1569         No new tests because there is no behavior change.
1570
1571         * css/CSSDefaultStyleSheets.cpp:
1572         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
1573         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
1574         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1575         * css/CSSFontSelector.cpp:
1576         (WebCore::createFontFace):
1577         (WebCore::CSSFontSelector::addFontFaceRule):
1578         * css/CSSFontSelector.h:
1579         * css/DocumentRuleSets.cpp:
1580         (WebCore::DocumentRuleSets::initUserStyle):
1581         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
1582         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
1583         * css/RuleSet.cpp:
1584         (WebCore::RuleSet::addChildRules):
1585         (WebCore::RuleSet::addRulesFromSheet):
1586         * css/RuleSet.h:
1587         * css/StyleInvalidationAnalysis.cpp:
1588         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
1589         * platform/graphics/Font.cpp:
1590         (WebCore::Font::verticalRightOrientationFont):
1591         (WebCore::Font::uprightOrientationFont):
1592         (WebCore::Font::smallCapsFont):
1593         (WebCore::Font::emphasisMarkFont):
1594         (WebCore::Font::brokenIdeographFont):
1595         (WebCore::Font::nonSyntheticItalicFont):
1596         (WebCore::Font::createScaledFont):
1597         * platform/graphics/Font.h:
1598         (WebCore::Font::variantFont):
1599         * platform/graphics/cocoa/FontCocoa.mm:
1600         (WebCore::Font::platformCreateScaledFont):
1601         * svg/SVGFontFaceElement.h:
1602
1603 2015-11-01  Darin Adler  <darin@apple.com>
1604
1605         Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
1606         https://bugs.webkit.org/show_bug.cgi?id=150783
1607
1608         Reviewed by Tim Horton.
1609
1610         * PlatformWinCairo.cmake: Removed ScrollbarThemeSafari.cpp, no reason to compile it.
1611
1612         * platform/graphics/ca/GraphicsLayerCA.cpp:
1613         (WebCore::GraphicsLayerCA::setContentsToImage): Removed the code that set a color space
1614         on an image if it's set to device color space. This has been dead code for many releases
1615         of OS X and iOS at this point.
1616
1617         * platform/graphics/filters/FEColorMatrix.h: Removed some ENABLE(OPENCL)-only code.
1618         * platform/graphics/filters/FEFlood.h: Ditto.
1619         * platform/graphics/filters/FEMerge.h: Ditto.
1620         * platform/graphics/filters/FETurbulence.h: Ditto.
1621         * platform/graphics/filters/FilterEffect.cpp:
1622         (WebCore::FilterEffect::applyAll): Removed.
1623         (WebCore::FilterEffect::apply): Removed ENABLE(OPENCL)-only code.
1624         (WebCore::FilterEffect::platformApplyOpenCL): Removed.
1625         (WebCore::FilterEffect::clearResult): Removed ENABLE(OPENCL)-only code.
1626         (WebCore::FilterEffect::asImageBuffer): Ditto.
1627         (WebCore::FilterEffect::openCLImageToImageBuffer): Removed.
1628         (WebCore::FilterEffect::createOpenCLImageResult): Removed.
1629         (WebCore::FilterEffect::transformResultColorSpace): Removed ENABLE(OPENCL)-only code.
1630
1631         * platform/graphics/filters/FilterEffect.h: Removed ENABLE(OPENCL)-only code.
1632         * platform/graphics/filters/SourceAlpha.h: Ditto.
1633         * platform/graphics/filters/SourceGraphic.h: Ditto.
1634
1635         * platform/win/ScrollbarThemeSafari.cpp: Removed.
1636         * platform/win/ScrollbarThemeSafari.h: Removed.
1637
1638         * rendering/RenderThemeMac.mm: Removed an obsolete comment.
1639
1640         * rendering/RenderThemeSafari.cpp: Removed.
1641         * rendering/RenderThemeSafari.h: Removed.
1642
1643         * svg/graphics/filters/SVGFEImage.h: Removed ENABLE(OPENCL)-only code.
1644
1645 2015-11-01  Andreas Kling  <akling@apple.com>
1646
1647         Move the ResourceUsageOverlay out of the way by default.
1648         <https://webkit.org/b/150776>
1649
1650         Reviewed by Darin Adler.
1651
1652         Have the ResourceUsageOverlay show up in the bottom center of the viewport
1653         by default, instead of the top left. This way, you won't have to drag it
1654         out of the way all the time.
1655
1656         * page/ResourceUsageOverlay.cpp:
1657         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
1658         (WebCore::ResourceUsageOverlay::initialize):
1659         * page/ResourceUsageOverlay.h:
1660         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1661         (WebCore::ResourceUsageOverlay::platformInitialize):
1662
1663 2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
1664
1665         [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
1666         https://bugs.webkit.org/show_bug.cgi?id=144560
1667
1668         Reviewed by Darin Adler.
1669
1670         * platform/graphics/PlatformDisplay.cpp: Only include the
1671         X11-specific GDK header on PLATFORM(X11). In other cases the
1672         normal gdk.h header is needed, which would otherwise be pulled in
1673         by gdkx.h.
1674         * platform/graphics/opentype/OpenTypeMathData.cpp: Change check
1675         for FourCharCode type from OS(DARWIN) to PLATFORM(COCOA). We
1676         can't remove it altogether because OT_MAKE_TAG doesn't work for
1677         all platforms.
1678
1679 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1680
1681         [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
1682         https://bugs.webkit.org/show_bug.cgi?id=150754
1683
1684         Reviewed by Darin Adler.
1685
1686         It's more efficient because it uses a persistent source and it
1687         simplifies the code even more.
1688
1689         * platform/MainThreadSharedTimer.cpp:
1690         (WebCore::MainThreadSharedTimer::fired): Make it non-const to be
1691         able to use it as function callback of a RunLoop::Timer.
1692         * platform/MainThreadSharedTimer.h:
1693         * platform/gtk/MainThreadSharedTimerGtk.cpp:
1694         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
1695         Initialize the RunLoop::Timer and set the prioriry.
1696         (WebCore::MainThreadSharedTimer::setFireInterval):
1697         (WebCore::MainThreadSharedTimer::stop):
1698
1699 2015-10-31  Andreas Kling  <akling@apple.com>
1700
1701         Add a debug overlay with information about web process resource usage.
1702         <https://webkit.org/b/150599>
1703
1704         Unreviewed follow-up to r191849.
1705
1706         Add missing call to uninstall the PageOverlay if the ResourceUsageOverlay is being
1707         disabled through the setting. This way you don't end up with an unremovable overlay
1708         in the MiniBrowser.
1709
1710         * page/ResourceUsageOverlay.cpp:
1711         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
1712
1713 2015-10-31  Brady Eidson  <beidson@apple.com>
1714
1715         IDB: Date objects don't work as keys or values.
1716         https://bugs.webkit.org/show_bug.cgi?id=150743
1717
1718         Reviewed by Darin Adler.
1719
1720         Test: storage/indexeddb/modern/date-basic.html
1721
1722         The combination of the autogenerated bindings with Deprecated::ScriptValue was
1723         losing the fidelity of "Date" objects being Dates, and not just normal Objects.
1724         
1725         This was breaking their usage as IDBKeys.
1726         
1727         Custom binding + reworking the IDBObjectStore IDLs to use JSValue instead of ScriptValue
1728         fixes this handily.
1729         
1730         * Modules/indexeddb/IDBObjectStore.h:
1731         * Modules/indexeddb/IDBObjectStore.idl:
1732         
1733         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1734         (WebCore::IDBClient::IDBObjectStore::add):
1735         (WebCore::IDBClient::IDBObjectStore::put):
1736         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
1737         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1738         
1739         * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
1740         (WebCore::LegacyObjectStore::add):
1741         (WebCore::LegacyObjectStore::put):
1742         * Modules/indexeddb/legacy/LegacyObjectStore.h:
1743         
1744         * bindings/js/IDBBindingUtilities.cpp:
1745         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
1746         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
1747         (WebCore::canInjectIDBKeyIntoScriptValue):
1748         (WebCore::scriptValueToIDBKey):
1749         * bindings/js/IDBBindingUtilities.h:
1750
1751         * bindings/js/JSIDBObjectStoreCustom.cpp:
1752         (WebCore::putOrAdd):
1753         (WebCore::JSIDBObjectStore::putRecord):
1754         (WebCore::JSIDBObjectStore::add):
1755
1756 2015-10-31  Andreas Kling  <akling@apple.com>
1757
1758         Add a debug overlay with information about web process resource usage.
1759         <https://webkit.org/b/150599>
1760
1761         Reviewed by Darin Adler.
1762
1763         A new kind of PageOverlay is added behind the ENABLE(RESOURCE_USAGE_OVERLAY) flag.
1764         It's owned by Page, but not instantiated unless the Settings::resourceUsageOverlayVisible flag is set.
1765
1766         All ResourceUsageOverlay objects share a single sampler thread. The thread currently runs every 500ms
1767         and samples CPU usage, dirty memory regions, and GC heap size/capacity.
1768
1769         Most things in here are currently quite Mac-specific, but I will be iterating on this towards a more
1770         cross-platform friendly solution.
1771
1772         There are two small changes to PageOverlay in order to support dragging the resource usage overlay:
1773
1774             - A "should ignore mouse events outside bounds" state flag. This is on by default
1775               but turned off during a drag.
1776             - PageOverlay::bounds() will now return the override frame verbatim if one is set,
1777               instead of returning it relocated to 0,0.
1778
1779         Note that this is intended as a tool for WebKit engine developers to better understand memory usage.
1780         It's not a goal to expose this information to end users.
1781
1782         * WebCore.xcodeproj/project.pbxproj:
1783         * page/Page.cpp:
1784         (WebCore::Page::setResourceUsageOverlayVisible):
1785         * page/Page.h:
1786         * page/PageOverlay.cpp:
1787         (WebCore::PageOverlay::bounds):
1788         (WebCore::PageOverlay::mouseEvent):
1789         * page/PageOverlay.h:
1790         * page/ResourceUsageOverlay.cpp: Added.
1791         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
1792         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
1793         (WebCore::ResourceUsageOverlay::mouseEvent):
1794         * page/ResourceUsageOverlay.h: Added.
1795         * page/Settings.cpp:
1796         (WebCore::Settings::setResourceUsageOverlayVisible):
1797         * page/Settings.h:
1798         (WebCore::Settings::resourceUsageOverlayVisible):
1799         * page/cocoa/ResourceUsageOverlayCocoa.mm: Added.
1800         (-[WebOverlayLayer initWithResourceUsageOverlay:]):
1801         (-[WebOverlayLayer drawInContext:]):
1802         (WebCore::RingBuffer::RingBuffer):
1803         (WebCore::RingBuffer::append):
1804         (WebCore::RingBuffer::last):
1805         (WebCore::RingBuffer::forEach):
1806         (WebCore::RingBuffer::incrementIndex):
1807         (WebCore::RingBuffer::decrementIndex):
1808         (WebCore::sharedData):
1809         (WebCore::ResourceUsageOverlay::platformInitialize):
1810         (WebCore::ResourceUsageOverlay::platformDestroy):
1811         (WebCore::drawCpuHistory):
1812         (WebCore::drawGCHistory):
1813         (WebCore::drawSlice):
1814         (WebCore::drawPlate):
1815         (WebCore::drawMemoryPie):
1816         (WebCore::formatByteNumber):
1817         (WebCore::showText):
1818         (WebCore::ResourceUsageOverlay::draw):
1819         (WebCore::dirtyPagesPerVMTag):
1820         (WebCore::cpuUsage):
1821         (WebCore::runSamplerThread):
1822         * platform/spi/cocoa/MachVMSPI.h:
1823
1824 2015-10-31  Brady Eidson  <beidson@apple.com>
1825
1826         storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html is flaky.
1827         https://bugs.webkit.org/show_bug.cgi?id=150735
1828
1829         Reviewed by Darin Adler.
1830
1831         No new tests (Covered by existing tests).
1832
1833         Transactions were liable to commit too early because IDBRequests could be waiting
1834         to dispatch their error/success events but their operations would no longer be
1835         registered with the transaction.
1836         
1837         Having outstanding requests should also keep a transaction from committing, just
1838         like having outstanding operations should.
1839         
1840         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
1841         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
1842         
1843         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1844         (WebCore::IDBClient::IDBRequest::dispatchEvent):
1845         
1846         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1847         (WebCore::IDBClient::IDBTransaction::addRequest):
1848         (WebCore::IDBClient::IDBTransaction::removeRequest):
1849         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
1850         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
1851         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
1852         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
1853         (WebCore::IDBClient::IDBTransaction::operationDidComplete):
1854         * Modules/indexeddb/client/IDBTransactionImpl.h:
1855         
1856         * Modules/indexeddb/client/TransactionOperation.h:
1857         (WebCore::IDBClient::TransactionOperation::completed):
1858
1859 2015-10-31  Philippe Normand  <pnormand@igalia.com>
1860
1861         [GStreamer][Mac] Fix WebAudio build
1862         https://bugs.webkit.org/show_bug.cgi?id=150030
1863
1864         Reviewed by Darin Adler.
1865
1866         Wrap Accelerate.framework API calls around USE(ACCELERATE) ifdefs.
1867
1868         * platform/audio/Biquad.cpp:
1869         (WebCore::Biquad::Biquad):
1870         (WebCore::Biquad::process):
1871         (WebCore::Biquad::reset):
1872         * platform/audio/Biquad.h:
1873         * platform/audio/DirectConvolver.cpp:
1874         (WebCore::DirectConvolver::process):
1875         * platform/audio/FFTFrame.h:
1876         * platform/audio/VectorMath.cpp:
1877
1878 2015-10-31  Brian Burg  <bburg@apple.com>
1879
1880         Builtins generator should put WebCore-only wrappers in the per-builtin header
1881         https://bugs.webkit.org/show_bug.cgi?id=150539
1882
1883         Reviewed by Youenn Fablet.
1884
1885         Fix includes of removed XXXWrapper.h headers.
1886
1887         * CMakeLists.txt:
1888         * DerivedSources.make:
1889         * WebCore.xcodeproj/project.pbxproj:
1890         * bindings/js/WebCoreJSBuiltinInternals.h:
1891         * bindings/js/WebCoreJSBuiltins.h:
1892
1893 2015-10-31  Yusuke Suzuki  <utatane.tea@gmail.com>
1894
1895         Add the support for Symbol attributes on IDL
1896         https://bugs.webkit.org/show_bug.cgi?id=150586
1897
1898         Reviewed by Ryosuke Niwa.
1899
1900         This patch addes readonly attribute support for Symbols.
1901         It involves the IDL generator functionality converting Native type (PrivateName) to Symbol.
1902
1903         * bindings/scripts/CodeGeneratorGObject.pm:
1904         (SkipAttribute):
1905         (SkipFunction):
1906         * bindings/scripts/CodeGeneratorJS.pm:
1907         (NativeToJSValue):
1908         * bindings/scripts/CodeGeneratorObjC.pm:
1909         (SkipFunction):
1910         (SkipAttribute):
1911         * bindings/scripts/test/JS/JSTestObj.cpp:
1912         (WebCore::jsTestObjReadOnlySymbolAttr):
1913         (WebCore::jsTestObjConstructorStaticReadOnlySymbolAttr):
1914         * bindings/scripts/test/TestObj.idl:
1915
1916 2015-10-30  Brady Eidson  <beidson@apple.com>
1917
1918         Modern IDB: Support IDBObjectStore.get() for IDBKeyRanges.
1919         https://bugs.webkit.org/show_bug.cgi?id=150718
1920
1921         Reviewed by Alex Christensen.
1922
1923         Test: storage/indexeddb/modern/get-keyrange.html
1924
1925         * Modules/indexeddb/IDBKeyRangeData.cpp:
1926         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
1927         * Modules/indexeddb/IDBKeyRangeData.h:
1928         
1929         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1930         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
1931         * Modules/indexeddb/client/IDBConnectionToServer.h:
1932         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1933         
1934         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1935         (WebCore::IDBClient::IDBObjectStore::get):
1936         
1937         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1938         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
1939         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
1940         * Modules/indexeddb/client/IDBTransactionImpl.h:
1941         
1942         * Modules/indexeddb/server/IDBBackingStore.h:
1943         
1944         * Modules/indexeddb/server/IDBServer.cpp:
1945         (WebCore::IDBServer::IDBServer::getRecord):
1946         * Modules/indexeddb/server/IDBServer.h:
1947         
1948         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1949         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
1950         
1951         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1952         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
1953         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1954         
1955         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1956         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
1957         (WebCore::IDBServer::MemoryObjectStore::setKeyValue):
1958         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange): Using a std::set, find the appropriate
1959           key in the range, and return the value if one exists.
1960         (WebCore::IDBServer::MemoryObjectStore::valueForKey): Deleted.
1961         * Modules/indexeddb/server/MemoryObjectStore.h:
1962         
1963         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1964         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
1965         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
1966         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1967         
1968         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1969         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
1970         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1971         
1972         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1973         (WebCore::InProcessIDBServer::getRecord):
1974         * Modules/indexeddb/shared/InProcessIDBServer.h:
1975
1976 2015-10-30  Brady Eidson  <beidson@apple.com>
1977
1978         Modern IDB: IDBObjectStore.clear() support.
1979         https://bugs.webkit.org/show_bug.cgi?id=150733
1980
1981         Reviewed by Alex Christensen.
1982
1983         Tests: storage/indexeddb/modern/idbobjectstore-clear-1.html
1984                storage/indexeddb/modern/idbobjectstore-clear-2.html
1985
1986         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1987         (WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
1988         (WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
1989         * Modules/indexeddb/client/IDBConnectionToServer.h:
1990         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1991         
1992         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1993         (WebCore::IDBClient::IDBObjectStore::clear):
1994         
1995         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1996         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
1997         * Modules/indexeddb/client/IDBRequestImpl.h:
1998         
1999         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2000         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
2001         (WebCore::IDBClient::IDBTransaction::clearObjectStoreOnServer):
2002         (WebCore::IDBClient::IDBTransaction::didClearObjectStoreOnServer):
2003         * Modules/indexeddb/client/IDBTransactionImpl.h:
2004
2005         * Modules/indexeddb/server/IDBBackingStore.h:
2006
2007         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2008         (WebCore::IDBServer::IDBConnectionToClient::didClearObjectStore):
2009         * Modules/indexeddb/server/IDBConnectionToClient.h:
2010         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2011
2012         * Modules/indexeddb/server/IDBServer.cpp:
2013         (WebCore::IDBServer::IDBServer::clearObjectStore):
2014         * Modules/indexeddb/server/IDBServer.h:
2015
2016         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2017         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
2018         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
2019         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2020         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2021         (WebCore::IDBServer::MemoryBackingStoreTransaction::isAborting):
2022
2023         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2024         (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
2025         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2026
2027         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2028         (WebCore::IDBServer::MemoryObjectStore::clear):
2029         (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
2030         * Modules/indexeddb/server/MemoryObjectStore.h:
2031
2032         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2033         (WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
2034         (WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
2035         (WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore):
2036         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2037
2038         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2039         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
2040         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2041
2042         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2043         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
2044         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2045
2046         * Modules/indexeddb/shared/IDBResultData.cpp:
2047         (WebCore::IDBResultData::clearObjectStoreSuccess):
2048         * Modules/indexeddb/shared/IDBResultData.h:
2049
2050         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2051         (WebCore::InProcessIDBServer::didClearObjectStore):
2052         (WebCore::InProcessIDBServer::clearObjectStore):
2053         * Modules/indexeddb/shared/InProcessIDBServer.h:
2054
2055 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2056
2057         CSSParserVariable leaks seen on leaks bots
2058         https://bugs.webkit.org/show_bug.cgi?id=150724
2059
2060         Reviewed by Darin Adler.
2061
2062         * css/CSSParserValues.cpp:
2063         (WebCore::destroy):
2064         Cleanup variable CSSParserValues.
2065
2066 2015-10-30  Alex Christensen  <achristensen@webkit.org>
2067
2068         Fix Windows build.
2069
2070         * PlatformWin.cmake:
2071         Add missing files.
2072
2073 2015-10-30  Beth Dakin  <bdakin@apple.com>
2074
2075         Tapping and holding a link should have a share option
2076         https://bugs.webkit.org/show_bug.cgi?id=150693
2077         -and corresponding-
2078         rdar://problem/21319702
2079
2080         Reviewed by Tim Horton.
2081
2082         * English.lproj/Localizable.strings:
2083
2084 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2085
2086         Minor CGColor leaks seen on bots allocated in WebSystemBackdropLayer.mm
2087         https://bugs.webkit.org/show_bug.cgi?id=150722
2088
2089         Reviewed by Andreas Kling.
2090
2091         * platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
2092         (-[WebLightSystemBackdropLayer init]):
2093         (-[WebDarkSystemBackdropLayer init]):
2094
2095 2015-10-30  Csaba Osztrogonác  <ossy@webkit.org>
2096
2097         [EFL] Fix the debug build after r191758
2098         https://bugs.webkit.org/show_bug.cgi?id=150719
2099
2100         Reviewed by Alex Christensen.
2101
2102         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2103         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
2104
2105 2015-10-30  Dan Bernstein  <mitz@apple.com>
2106
2107         Fixed the build.
2108
2109         * platform/graphics/Image.cpp:
2110         (WebCore::Image::draw): Deleted an infinitely-recursive implementation that caused the
2111           compiler to emit an error.
2112         * platform/graphics/Image.h:
2113         (WebCore::Image::draw): Made this pure virtual.
2114
2115 2015-10-30  Brady Eidson  <beidson@apple.com>
2116
2117         Modern IDB: IDBObjectStore.add() support.
2118         https://bugs.webkit.org/show_bug.cgi?id=150711
2119
2120         Reviewed by Alex Christensen.
2121
2122         Test: storage/indexeddb/modern/basic-add.html
2123
2124         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2125         (WebCore::IDBClient::IDBObjectStore::add):
2126
2127         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2128         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
2129
2130 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
2131
2132         Use modern for-loops in WebCore/dom.
2133         https://bugs.webkit.org/show_bug.cgi?id=150664
2134
2135         Reviewed by Darin Adler.
2136
2137         No new tests because there is no behavior change.
2138
2139         * dom/AuthorStyleSheets.cpp:
2140         (WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
2141         (WebCore::filterEnabledNonemptyCSSStyleSheets):
2142         (WebCore::AuthorStyleSheets::activeStyleSheetsContains):
2143         * dom/CheckedRadioButtons.cpp:
2144         (WebCore::RadioButtonGroup::updateValidityForAllButtons):
2145         * dom/ClientRectList.cpp:
2146         (WebCore::ClientRectList::ClientRectList):
2147         (WebCore::ClientRectList::~ClientRectList):
2148         * dom/ContainerNode.cpp:
2149         (WebCore::ContainerNode::insertBefore):
2150         * dom/DOMNamedFlowCollection.cpp:
2151         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
2152         (WebCore::DOMNamedFlowCollection::length):
2153         (WebCore::DOMNamedFlowCollection::item):
2154         (WebCore::DOMNamedFlowCollection::namedItem):
2155         * dom/DOMStringList.cpp:
2156         (WebCore::DOMStringList::contains):
2157         * dom/Document.cpp:
2158         (WebCore::Document::Document):
2159         (WebCore::Document::~Document):
2160         (WebCore::Document::removedLastRef):
2161         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
2162         (WebCore::Document::updateHoverActiveState):
2163         * dom/DocumentMarkerController.cpp:
2164         (WebCore::DocumentMarkerController::copyMarkers):
2165         (WebCore::DocumentMarkerController::removeMarkers):
2166         (WebCore::DocumentMarkerController::repaintMarkers):
2167         (DocumentMarkerController::showMarkers):
2168         * dom/ElementData.cpp:
2169         (WebCore::UniqueElementData::findAttributeByName):
2170         * dom/EventDispatcher.cpp:
2171         (WebCore::EventPath::updateTouchLists):
2172         (WebCore::EventPath::hasEventListeners):
2173         * dom/EventListenerMap.cpp:
2174         (WebCore::EventListenerMap::contains):
2175         (WebCore::EventListenerMap::containsCapturing):
2176         (WebCore::EventListenerMap::eventTypes):
2177         (WebCore::EventListenerMap::add):
2178         (WebCore::EventListenerMap::find):
2179         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
2180         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2181         (WebCore::EventListenerIterator::EventListenerIterator):
2182         * dom/EventTarget.cpp:
2183         (WebCore::EventTarget::removeEventListener):
2184         (WebCore::EventTarget::getAttributeEventListener):
2185         (WebCore::EventTarget::removeAllEventListeners):
2186         * dom/IdTargetObserverRegistry.cpp:
2187         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
2188         * dom/MessagePort.cpp:
2189         (WebCore::MessagePort::postMessage):
2190         (WebCore::MessagePort::disentanglePorts):
2191         * dom/MutationObserver.cpp:
2192         (WebCore::MutationObserver::observe):
2193         (WebCore::MutationObserver::deliver):
2194         (WebCore::MutationObserver::deliverAllMutations):
2195         * dom/NamedFlowCollection.cpp:
2196         (WebCore::NamedFlowCollection::namedFlows):
2197         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
2198         * dom/Node.cpp:
2199         (WebCore::Node::notifyMutationObserversNodeWillDetach):
2200         * dom/Range.cpp:
2201         (WebCore::Range::processNodes):
2202         (WebCore::Range::processAncestorsAndTheirSiblings):
2203         (WebCore::Range::absoluteBoundingBox):
2204         (WebCore::Range::collectSelectionRects):
2205         * dom/ScriptRunner.cpp:
2206         (WebCore::ScriptRunner::timerFired):
2207         * dom/ScriptedAnimationController.cpp:
2208         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
2209         * dom/SelectorQuery.cpp:
2210         (WebCore::SelectorDataList::matches):
2211         (WebCore::SelectorDataList::executeFastPathForIdSelector):
2212         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
2213         (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
2214         (WebCore::SelectorDataList::execute):
2215         * dom/TreeScopeAdopter.cpp:
2216         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2217
2218 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2219
2220         Make every port implement MainThreadSharedTimer instead of using global functions
2221         https://bugs.webkit.org/show_bug.cgi?id=150498
2222
2223         Reviewed by Darin Adler.
2224
2225         Move MainThreadSharedTimer to its own files and add the common
2226         implementation there.
2227
2228         * CMakeLists.txt: Add MainThreadSharedTimer.cpp.
2229         * PlatformEfl.cmake: Update filenames.
2230         * PlatformGTK.cmake: Ditto.
2231         * PlatformMac.cmake: Ditto.
2232         * PlatformWin.cmake: Ditto.
2233         * platform/MainThreadSharedTimer.cpp: Copied from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
2234         (WebCore::MainThreadSharedTimer::singleton):
2235         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
2236         (WebCore::MainThreadSharedTimer::setFiredFunction):
2237         (WebCore::MainThreadSharedTimer::fired):
2238         * platform/MainThreadSharedTimer.h: Copied from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
2239         * platform/SharedTimer.h: Remove MainThreadSharedTimer
2240         implementation and reindent the code.
2241         (WebCore::SharedTimer::SharedTimer):
2242         (WebCore::SharedTimer::~SharedTimer):
2243         (WebCore::SharedTimer::invalidate):
2244         * platform/ThreadTimers.cpp:
2245         (WebCore::ThreadTimers::ThreadTimers): Use MainThreadSharedTimer::singleton().
2246         (WebCore::ThreadTimers::setSharedTimer): Use a lambda function
2247         instead of a pointer to a static method.
2248         (WebCore::ThreadTimers::sharedTimerFired): Deleted.
2249         * platform/ThreadTimers.h: Removed unsused static method sharedTimerFired.
2250         * platform/cf/MainThreadSharedTimerCF.cpp: Renamed from Source/WebCore/platform/cf/SharedTimerCF.cpp.
2251         (WebCore::applicationDidBecomeActive):
2252         (WebCore::setupPowerObserver):
2253         (WebCore::timerFired):
2254         (WebCore::restartSharedTimer):
2255         (WebCore::MainThreadSharedTimer::invalidate):
2256         (WebCore::MainThreadSharedTimer::setFireInterval):
2257         (WebCore::MainThreadSharedTimer::stop):
2258         * platform/efl/MainThreadSharedTimerEfl.cpp: Renamed from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
2259         (WebCore::timerEvent):
2260         (WebCore::MainThreadSharedTimer::stop):
2261         (WebCore::MainThreadSharedTimer::setFireInterval):
2262         (WebCore::MainThreadSharedTimer::invalidate):
2263         * platform/gtk/MainThreadSharedTimerGtk.cpp: Renamed from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
2264         (WebCore::MainThreadSharedTimer::setFireInterval):
2265         (WebCore::MainThreadSharedTimer::stop):
2266         (WebCore::MainThreadSharedTimer::invalidate):
2267         * platform/win/MainThreadSharedTimerWin.cpp: Renamed from Source/WebCore/platform/win/SharedTimerWin.cpp.
2268         (WebCore::TimerWindowWndProc):
2269         (WebCore::initializeOffScreenTimerWindow):
2270         (WebCore::queueTimerProc):
2271         (WebCore::MainThreadSharedTimer::setFireInterval):
2272         (WebCore::MainThreadSharedTimer::stop):
2273         (WebCore::MainThreadSharedTimer::invalidate):
2274         * workers/WorkerRunLoop.cpp: Update WorkerSharedTimer
2275         implementation to use std::function instead of a pointer. Also
2276         mark the class as final and the virtual implementations as override.
2277
2278 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2279
2280         [GTK] Use RunLoop::Timer instead of GMainLoopSource
2281         https://bugs.webkit.org/show_bug.cgi?id=150592
2282
2283         Reviewed by Žan Doberšek.
2284
2285         * platform/network/ResourceHandle.h:
2286         * platform/network/ResourceHandleInternal.h:
2287         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2288         * platform/network/soup/ResourceHandleSoup.cpp:
2289         (WebCore::cleanupSoupRequestOperation):
2290         (WebCore::ResourceHandle::timeoutFired):
2291         (WebCore::ResourceHandle::sendPendingRequest):
2292         (WebCore::ResourceHandle::platformSetDefersLoading):
2293
2294 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
2295
2296         REGRESSION(r191776): EFL build broken.
2297         https://bugs.webkit.org/show_bug.cgi?id=150713
2298
2299         Reviewed by Csaba Osztrogonác.
2300
2301         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2302         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2303
2304 2015-10-29  Brady Eidson  <beidson@apple.com>
2305
2306         Modern IDB: autoIncrement support.
2307         https://bugs.webkit.org/show_bug.cgi?id=150695
2308
2309         Reviewed by Alex Christensen.
2310
2311         Test: storage/indexeddb/modern/autoincrement-abort.html
2312
2313         * Modules/indexeddb/server/IDBBackingStore.h:
2314         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2315         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewObjectStore):
2316         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):
2317         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2318         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2319         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2320         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
2321         (WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):
2322         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2323         * Modules/indexeddb/server/MemoryObjectStore.h:
2324         (WebCore::IDBServer::MemoryObjectStore::currentKeyGeneratorValue):
2325         (WebCore::IDBServer::MemoryObjectStore::setKeyGeneratorValue):
2326         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2327         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2328
2329 2015-10-29  Alex Christensen  <achristensen@webkit.org>
2330
2331         Make WebCore a framework in Mac CMake build
2332         https://bugs.webkit.org/show_bug.cgi?id=150702
2333
2334         Reviewed by Geoffrey Garen.
2335
2336         * CMakeLists.txt:
2337         * PlatformEfl.cmake:
2338         * PlatformGTK.cmake:
2339         * PlatformMac.cmake:
2340
2341 2015-10-29  Alex Christensen  <achristensen@webkit.org>
2342
2343         CMake build fix.
2344
2345         * editing/mac/EditorMac.mm:
2346         (WebCore::Editor::WebContentReader::readFilenames):
2347         Before r191553, text was a local variable and could be changed.
2348         This restores the same behavior and compiles correctly when ATTACHMENT_ELEMENT is disabled.
2349         * platform/mac/CursorMac.mm:
2350         (WebCore::Cursor::Cursor):
2351         (WebCore::Cursor::operator=):
2352         Added preprocessor macros.
2353
2354 2015-10-29  Brady Eidson  <beidson@apple.com>
2355
2356         Modern IDB: deleteObjectStore support.
2357         https://bugs.webkit.org/show_bug.cgi?id=150673
2358
2359         Reviewed by Alex Christensen.
2360
2361         Tests: storage/indexeddb/modern/deleteobjectstore-1.html
2362                storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html
2363                storage/indexeddb/modern/idbobjectstore-get-failures.html
2364
2365         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2366         (WebCore::IDBClient::IDBConnectionToServer::deleteObjectStore):
2367         (WebCore::IDBClient::IDBConnectionToServer::didDeleteObjectStore):
2368         * Modules/indexeddb/client/IDBConnectionToServer.h:
2369         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2370
2371         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2372         (WebCore::IDBClient::IDBDatabase::deleteObjectStore):
2373         (WebCore::IDBClient::IDBDatabase::willCommitTransaction):
2374         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
2375         (WebCore::IDBClient::IDBDatabase::commitTransaction): Deleted.
2376         (WebCore::IDBClient::IDBDatabase::abortTransaction): Deleted.
2377         * Modules/indexeddb/client/IDBDatabaseImpl.h:
2378
2379         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2380         (WebCore::IDBClient::IDBObjectStore::markAsDeleted):
2381         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2382
2383         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2384         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2385         (WebCore::IDBClient::IDBTransaction::abort):
2386         (WebCore::IDBClient::IDBTransaction::abortOnServer):
2387         (WebCore::IDBClient::IDBTransaction::commit):
2388         (WebCore::IDBClient::IDBTransaction::commitOnServer):
2389         (WebCore::IDBClient::IDBTransaction::deleteObjectStore):
2390         (WebCore::IDBClient::IDBTransaction::deleteObjectStoreOnServer):
2391         (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer):
2392         (WebCore::IDBClient::IDBTransaction::activate):
2393         (WebCore::IDBClient::IDBTransaction::activationTimerFired): Deleted.
2394         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer): Deleted.
2395         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer): Deleted.
2396         (WebCore::IDBClient::IDBTransaction::getRecordOnServer): Deleted.
2397         (WebCore::IDBClient::IDBTransaction::putOrAddOnServer): Deleted.
2398         * Modules/indexeddb/client/IDBTransactionImpl.h:
2399         
2400         * Modules/indexeddb/client/TransactionOperation.h:
2401         (WebCore::IDBClient::TransactionOperation::completed):
2402         (WebCore::IDBClient::createTransactionOperation):
2403         
2404         * Modules/indexeddb/server/IDBBackingStore.h:
2405         
2406         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2407         (WebCore::IDBServer::IDBConnectionToClient::didDeleteObjectStore):
2408         * Modules/indexeddb/server/IDBConnectionToClient.h:
2409         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2410         
2411         * Modules/indexeddb/server/IDBServer.cpp:
2412         (WebCore::IDBServer::IDBServer::deleteObjectStore):
2413         * Modules/indexeddb/server/IDBServer.h:
2414         
2415         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2416         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
2417         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2418         (WebCore::IDBServer::MemoryBackingStoreTransaction::finish):
2419         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2420         
2421         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2422         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
2423         (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
2424         (WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
2425         (WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName):
2426         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2427         
2428         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2429         (WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
2430         (WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
2431         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
2432         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteObjectStore):
2433         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore): Deleted.
2434         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2435         
2436         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2437         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteObjectStore):
2438         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2439         
2440         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2441         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
2442         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2443         
2444         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
2445         (WebCore::IDBDatabaseInfo::deleteObjectStore):
2446         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
2447         
2448         * Modules/indexeddb/shared/IDBResultData.cpp:
2449         (WebCore::IDBResultData::deleteObjectStoreSuccess):
2450         * Modules/indexeddb/shared/IDBResultData.h:
2451         
2452         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2453         (WebCore::InProcessIDBServer::didDeleteObjectStore):
2454         (WebCore::InProcessIDBServer::deleteObjectStore):
2455         * Modules/indexeddb/shared/InProcessIDBServer.h:
2456
2457 2015-10-29  Simon Fraser  <simon.fraser@apple.com>
2458
2459         Very slow typing on pages with wheel event handlers on the body, and deep content
2460         https://bugs.webkit.org/show_bug.cgi?id=150692
2461         rdar://problem/23242631
2462
2463         Reviewed by Zalan Bujtas.
2464         
2465         On a large page with a wheel event handler on the body, we would call
2466         Element::absoluteEventHandlerBounds() for every element under the body,
2467         and compute an absolute bounds for each one. This is very slow.
2468         
2469         For now, optimize computing a region for the <body> by just using the document
2470         bounds, which will always be as big or larger. It's OK for this region to
2471         be an overestimate.
2472
2473         * dom/Document.cpp:
2474         (WebCore::Document::absoluteRegionForEventTargets):
2475
2476 2015-10-29  Wenson Hsieh  <wenson_hsieh@apple.com>
2477
2478         Date input values should not overlap with menu list dropdown button on iOS
2479         https://bugs.webkit.org/show_bug.cgi?id=150681
2480         <rdar://problem/19965078>
2481
2482         Reviewed by Zalan Bujtas.
2483
2484         Adds a right margin on iOS date and time inputs so that the inner div does
2485         not render the value of the date on top of the dropdown button on the right
2486         of the menu list.
2487
2488         Tests: fast/forms/date/date-input-rendering-basic.html
2489                fast/forms/time/time-input-rendering-basic.html
2490
2491         * css/html.css:
2492         (input::-webkit-date-and-time-value):
2493
2494 2015-10-29  Alex Christensen  <achristensen@webkit.org>
2495
2496         Fix Mac CMake build
2497         https://bugs.webkit.org/show_bug.cgi?id=150686
2498
2499         Reviewed by Filip Pizlo.
2500
2501         * PlatformMac.cmake:
2502
2503 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
2504
2505         One more URTBF after r191731.
2506
2507         * rendering/svg/RenderSVGResourcePattern.cpp:
2508
2509 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
2510
2511         URTBF after r191731.
2512
2513         * rendering/svg/RenderSVGResourcePattern.cpp:
2514
2515 2015-10-29  Zalan Bujtas  <zalan@apple.com>
2516
2517         Fix ENABLE(TREE_DEBUGGING) release build.
2518
2519         Unreviewed build fix.
2520
2521         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2522         * dom/Position.cpp:
2523
2524 2015-10-29  Beth Dakin  <bdakin@apple.com>
2525
2526         Overlay scrollbars disappear during manual drag-scroll
2527         https://bugs.webkit.org/show_bug.cgi?id=150646
2528         -and corresponding-
2529         rdar://problem/23145734
2530
2531         Reviewed by Tim Horton.
2532
2533         New ScrollAnimator function so that we can tell the ScrollbarPainter whether 
2534         or not the mouse is tracking the scrollbar.
2535         * platform/ScrollAnimator.h:
2536         (WebCore::ScrollAnimator::ScrollAnimator::mouseIsDownInScrollbar):
2537         * platform/ScrollableArea.cpp:
2538         (WebCore::ScrollableArea::mouseIsDownInScrollbar):
2539         * platform/ScrollableArea.h:
2540
2541         Call into the new ScrollAnimator function of mouseDown and mouseUp.
2542         * platform/Scrollbar.cpp:
2543         (WebCore::Scrollbar::mouseUp):
2544         (WebCore::Scrollbar::mouseDown):
2545
2546         Add setTracking to the ScrollbarPainter.
2547         * platform/mac/NSScrollerImpDetails.h:
2548
2549         Implement mouseIsDownInScrollbar to call setTracking appropriately and to set 
2550         begin/endScrollGesture since drag scrolling does not normally trigger that 
2551         state change.
2552         * platform/mac/ScrollAnimatorMac.h:
2553         * platform/mac/ScrollAnimatorMac.mm:
2554         (WebCore::ScrollAnimatorMac::mouseIsDownInScrollbar):
2555
2556 2015-10-29  Eric Carlson  <eric.carlson@apple.com>
2557
2558         MediaPlayer::getSupportedTypes only returns types from the last engine registered
2559         https://bugs.webkit.org/show_bug.cgi?id=150669
2560
2561         Reviewed by Jer Noble.
2562
2563         No new tests, fixes existing tests.
2564
2565         * platform/graphics/MediaPlayer.cpp:
2566         (WebCore::MediaPlayer::getSupportedTypes):
2567         (WebCore::MediaPlayer::isAvailable):
2568
2569 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
2570
2571         Web Inspector: Clean up and audit TimelineRecordFactory records
2572         https://bugs.webkit.org/show_bug.cgi?id=150660
2573
2574         Reviewed by Brian Burg.
2575
2576         Cleanup included removing unused methods and payload data that the
2577         frontend wasn't likely to use. Also added ASCIILiteral and removed
2578         unnecessary includes.
2579
2580         * inspector/InspectorNetworkAgent.cpp:
2581         * inspector/InspectorPageAgent.cpp:
2582         * inspector/InspectorTimelineAgent.cpp:
2583         (WebCore::InspectorTimelineAgent::willLayout):
2584         * inspector/InspectorTimelineAgent.h:
2585         * inspector/TimelineRecordFactory.cpp:
2586         (WebCore::TimelineRecordFactory::createGenericRecord):
2587         (WebCore::TimelineRecordFactory::createFunctionCallData):
2588         (WebCore::TimelineRecordFactory::createConsoleProfileData):
2589         (WebCore::TimelineRecordFactory::createEventDispatchData):
2590         (WebCore::TimelineRecordFactory::createGenericTimerData):
2591         (WebCore::TimelineRecordFactory::createTimerInstallData):
2592         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
2593         (WebCore::TimelineRecordFactory::createTimeStampData):
2594         (WebCore::TimelineRecordFactory::createParseHTMLData):
2595         (WebCore::TimelineRecordFactory::createAnimationFrameData):
2596         (WebCore::TimelineRecordFactory::createPaintData):
2597         (WebCore::TimelineRecordFactory::appendLayoutRoot):
2598         (WebCore::TimelineRecordFactory::createBackgroundRecord): Deleted.
2599         (WebCore::TimelineRecordFactory::createLayoutData): Deleted.
2600         * inspector/TimelineRecordFactory.h:
2601         (WebCore::TimelineRecordFactory::TimelineRecordFactory):
2602
2603 2015-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
2604
2605         Exploitable crash happens when an SVG contains an indirect resource inheritance cycle
2606         https://bugs.webkit.org/show_bug.cgi?id=150203
2607
2608         Reviewed by Brent Fulgham.
2609
2610         Detecting cycles in SVG resource references happens in two places.
2611         1. In SVGResourcesCycleSolver::resolveCycles() which it is called from 
2612            SVGResourcesCache::addResourcesFromRenderer(). When a cycle is deleted,
2613            SVGResourcesCycleSolver::breakCycle() is called to break the link. In
2614            the case of a cyclic resource inheritance, SVGResources::resetLinkedResource()
2615            is called to break this cycle.
2616         2. SVGPatternElement::collectPatternAttributes() which is called from
2617            RenderSVGResourcePattern::buildPattern(). The purpose is to resolve
2618            the pattern attributes and to build a tile image which can be used to
2619            fill the SVG element renderer. Detecting the cyclic resource reference
2620            in this function is not sufficient and can detect simple cycles like
2621             <pattern id="a" xlink:href="#b"/>
2622             <pattern id="b" xlink:href="#a"/>.
2623            But it does not detect cycles like:
2624             <pattern id="a">
2625                 <rect fill="url(#b)"/>
2626             </pattern>
2627             <pattern id="b" xlink:href="#a"/>.
2628    
2629         The fix is to get rid of SVGPatternElement::collectPatternAttributes() which
2630         uses SVGURIReference::targetElementFromIRIString() to navigates through the
2631         referenced resource elements and tries to detect cycles. Instead we can
2632         implement RenderSVGResourcePattern::collectPatternAttributes() which calls
2633         SVGResourcesCache::cachedResourcesForRenderer() to get the SVGResources
2634         of the pattern. Then we use SVGResources::linkedResource() to navigate the
2635         resource inheritance tree. The cached SVGResources is guaranteed to be free
2636         of cycles.
2637
2638         Tests: svg/custom/pattern-content-inheritance-cycle.svg
2639
2640         * rendering/svg/RenderSVGResourcePattern.cpp:
2641         (WebCore::RenderSVGResourcePattern::collectPatternAttributes):
2642         Collect the pattern attributes through the cachedResourcesForRenderer().
2643         
2644         (WebCore::RenderSVGResourcePattern::buildPattern):
2645         Direct the call to the renderer function.
2646         
2647         * rendering/svg/RenderSVGResourcePattern.h:
2648         
2649         * rendering/svg/RenderSVGRoot.cpp:
2650         (WebCore::RenderSVGRoot::layout):
2651         RenderSVGRoot needs to call SVGResourcesCache::clientStyleChanged() for all
2652         the invalidated resources. If an attribute of an SVG resource was updated
2653         dynamically, the cached SVGResources associated with the renderer of this
2654         resource was stale.
2655         
2656         * rendering/svg/SVGRenderTreeAsText.cpp:
2657         (WebCore::writeSVGResourceContainer):
2658         Direct the call to the renderer function.        
2659         
2660         * svg/SVGPatternElement.cpp:
2661         (WebCore::SVGPatternElement::collectPatternAttributes):
2662         (WebCore::setPatternAttributes): Deleted.
2663         collectPatternAttributes() is a replacement of setPatternAttributes().
2664         
2665 2015-10-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2666
2667         [Streams API] Turn WS states into integers and fix state initialization
2668         https://bugs.webkit.org/show_bug.cgi?id=150667
2669
2670         Reviewed by Youenn Fablet.
2671
2672         The goal of this patch is turning the writable stream states into integers instead of strings.
2673
2674         First readable stream states were reworked to be shared with writable stream too, they are now just @stream*.
2675
2676         Next step was having writable stream using integers instead of strings and translating those integers back to
2677         strings to be able to return them correctly with the writable stream state attribute.
2678
2679         The state initialization was fixed and now it is not needed to check for the state to be undefined.
2680
2681         Rework, no new tests needed.
2682
2683         * Modules/streams/ReadableStream.js:
2684         (initializeReadableStream):
2685         * Modules/streams/ReadableStreamController.js:
2686         (enqueue):
2687         (error):
2688         (close):
2689         * Modules/streams/ReadableStreamInternals.js:
2690         (privateInitializeReadableStreamReader):
2691         (errorReadableStream):
2692         (cancelReadableStream):
2693         (finishClosingReadableStream):
2694         (closeReadableStream):
2695         (closeReadableStreamReader):
2696         (enqueueInReadableStream):
2697         (readFromReadableStreamReader):
2698         * Modules/streams/ReadableStreamReader.js:
2699         (cancel):
2700         * Modules/streams/WritableStream.js:
2701         (initializeWritableStream):
2702         (abort):
2703         (close):
2704         (write):
2705         (state):
2706         * Modules/streams/WritableStreamInternals.js:
2707         (syncWritableStreamStateWithQueue):
2708         (errorWritableStream):
2709         * bindings/js/JSDOMWindowBase.cpp:
2710         (WebCore::JSDOMWindowBase::finishCreation):
2711         * bindings/js/WebCoreBuiltinNames.h:
2712
2713 2015-10-28  Brady Eidson  <beidson@apple.com>
2714
2715         Modern IDB: Support IDBDatabase.transaction() (and transaction scheduling in general).
2716         https://bugs.webkit.org/show_bug.cgi?id=150614
2717
2718         Reviewed by Alex Christensen.
2719
2720         Tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html
2721                storage/indexeddb/modern/transaction-scheduler-1.html
2722                storage/indexeddb/modern/transaction-scheduler-2.html
2723                storage/indexeddb/modern/transaction-scheduler-3.html
2724                storage/indexeddb/modern/transaction-scheduler-4.html
2725                storage/indexeddb/modern/transaction-scheduler-5.html
2726                storage/indexeddb/modern/transaction-scheduler-6.html
2727
2728         * Modules/indexeddb/IDBDatabase.idl:
2729
2730         * Modules/indexeddb/IndexedDB.h:
2731
2732         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2733         (WebCore::IDBClient::IDBConnectionToServer::establishTransaction):
2734         (WebCore::IDBClient::IDBConnectionToServer::didStartTransaction):
2735         (WebCore::IDBClient::IDBConnectionToServer::hasRecordOfTransaction):
2736         * Modules/indexeddb/client/IDBConnectionToServer.h:
2737         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2738
2739         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2740         (WebCore::IDBClient::IDBDatabase::transaction):
2741         (WebCore::IDBClient::IDBDatabase::didStartTransaction):
2742         * Modules/indexeddb/client/IDBDatabaseImpl.h:
2743
2744         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2745         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2746         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
2747         (WebCore::IDBClient::IDBTransaction::didStart):
2748         (WebCore::IDBClient::IDBTransaction::establishOnServer):
2749         (WebCore::IDBClient::IDBTransaction::activate):
2750         (WebCore::IDBClient::IDBTransaction::deactivate):
2751         * Modules/indexeddb/client/IDBTransactionImpl.h:
2752
2753         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2754         (WebCore::IDBServer::IDBConnectionToClient::didStartTransaction):
2755         * Modules/indexeddb/server/IDBConnectionToClient.h:
2756         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2757
2758         * Modules/indexeddb/server/IDBServer.cpp:
2759         (WebCore::IDBServer::IDBServer::establishTransaction):
2760         * Modules/indexeddb/server/IDBServer.h:
2761
2762         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2763         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
2764         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
2765         (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
2766         (WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
2767         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
2768         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
2769         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
2770         (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
2771         (WebCore::IDBServer::MemoryIDBBackingStore::unregisterObjectStore):
2772         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2773
2774         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2775         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
2776         (WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
2777         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
2778         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
2779         (WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
2780         (WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired):
2781         (WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
2782         (WebCore::IDBServer::UniqueIDBDatabase::performActivateTransactionInBackingStore):
2783         (WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore):
2784         (WebCore::IDBServer::scopesOverlap):
2785         (WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
2786         (WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
2787         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2788
2789         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2790         (WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
2791         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2792
2793         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2794         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::create):
2795         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
2796         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):
2797         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::didActivateInBackingStore):
2798         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2799         
2800         * Modules/indexeddb/shared/IDBTransactionInfo.cpp:
2801         (WebCore::IDBTransactionInfo::clientTransaction):
2802         (WebCore::IDBTransactionInfo::isolatedCopy):
2803         * Modules/indexeddb/shared/IDBTransactionInfo.h:
2804         
2805         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2806         (WebCore::InProcessIDBServer::establishTransaction):
2807         (WebCore::InProcessIDBServer::didStartTransaction):
2808         * Modules/indexeddb/shared/InProcessIDBServer.h:
2809         
2810         * bindings/js/IDBBindingUtilities.cpp:
2811         (WebCore::deserializeIDBValueData):
2812         
2813         * bindings/js/JSIDBDatabaseCustom.cpp:
2814         (WebCore::JSIDBDatabase::transaction):
2815         
2816         * bindings/js/ScriptState.cpp:
2817         (WebCore::execStateFromPage):
2818
2819 2015-10-28  Eric Carlson  <eric.carlson@apple.com>
2820
2821         [MediaStream] Play MediaStream through media element and rendered to canvas
2822         https://bugs.webkit.org/show_bug.cgi?id=150449
2823
2824         Reviewed by Jer Noble.
2825
2826         * Modules/mediastream/MediaStream.cpp:
2827         (WebCore::MediaStream::create): Don't die a recursive death.
2828         (WebCore::MediaStream::MediaStream): setClient -> addObserver. Set private stream's public stream pointer.
2829         (WebCore::MediaStream::~MediaStream): setClient -> addObserver. Clear private stream's public stream pointer.
2830         (WebCore::MediaStream::didAddTrack): Short circuit calling internalAddTrack when the track is unknown.
2831         (WebCore::MediaStream::didRemoveTrack): ASSERT that the track is known.
2832         * Modules/mediastream/MediaStream.h:
2833
2834         * Modules/mediastream/MediaStreamTrack.cpp:
2835         (WebCore::MediaStreamTrack::trackProducingDataChanged): New.
2836         (WebCore::MediaStreamTrack::trackEnabledChanged): New.
2837         * Modules/mediastream/MediaStreamTrack.h:
2838
2839         * Modules/mediastream/RTCPeerConnection.cpp:
2840         (WebCore::RTCPeerConnection::didRemoveRemoteStream): Use the new MediaStreamPrivate::publicStream() method.
2841
2842         * Modules/webaudio/MediaStreamAudioSource.cpp:
2843 ]        (WebCore::MediaStreamAudioSource::capabilities): capabilities isn't const.
2844         * Modules/webaudio/MediaStreamAudioSource.h:
2845
2846         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2847         (WebCore::MediaStreamAudioSourceNode::setFormat): Reformat to make it use early return.
2848
2849         * WebCore.xcodeproj/project.pbxproj: Remove MediaStreamPrivateAVFObjC.mm/h, they are no longer necessary.
2850
2851         * platform/graphics/MediaPlayer.cpp:
2852         (WebCore::buildMediaEnginesVector): Register MediaPlayerPrivateMediaStreamAVFObjC engine.
2853
2854         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2855         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2856         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): Cleanup, add logging.
2857         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): Add
2858           logging, remove private stream observer.
2859         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::registerMediaEngine): Cleanup.
2860         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::isAvailable): Ditto.
2861         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes): Return an empty vector.
2862         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Use the MediaStreamPrivate passed instead
2863           of creating a new private stream. 
2864         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause output.
2865         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::prepareToPlay): Add logging.
2866         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): m_previewLayer -> m_videoBackgroundLayer.
2867         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setPausedImageVisible): New, show/hide the preview layer and configure
2868           the background layer so we show a still image even though the capture device continues to run. Start/stop clock.
2869         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Don't need to start the source, that happens in in load. Just
2870           set flags and hide the paused image.
2871         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Don't stop the source, it may be shared by more than one 
2872           stream/track. Just set the playing flag and show the paused image.
2873         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paused): Fix.
2874         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::internalSetVolume): New, called by setMuted and setVolume.
2875         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume): New.
2876         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Don't mute the source, it doesn't do what you think.
2877         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Pass-through to stream.
2878         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto.
2879         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime): Return clock time.
2880         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): New.
2881         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Update readyState.
2882         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateIntrinsicSize): Update intrinsic size, create layers if necessary.
2883         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createPreviewLayers): Create preview layers.
2884         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Update for changed characteristics.
2885         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::seekable): 'seekable' must return an empty TimeRanges object.
2886         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext): New.
2887         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
2888         (WebCore::mimeTypeCache): Deleted.
2889         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformMedia): Deleted.
2890         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Deleted.
2891         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Deleted.
2892         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sizeChanged): Deleted.
2893         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::maxMediaTimeSeekable): Deleted.
2894         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::minMediaTimeSeekable): Deleted.
2895         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createImageFromSampleBuffer): Deleted.
2896         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsAcceleratedRendering): Deleted.
2897         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::movieLoadType): Deleted.
2898         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::extraMemoryCost): Deleted.
2899
2900         Delete MediaStreamPrivateAVFObjC.mm/.h as they aren't necessary. 
2901         * platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.h: Removed.
2902         * platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.mm: Removed.
2903
2904         * platform/mediastream/MediaStreamPrivate.cpp:
2905         (WebCore::MediaStreamPrivate::MediaStreamPrivate): Add track observer!
2906         (WebCore::MediaStreamPrivate::addObserver): New.
2907         (WebCore::MediaStreamPrivate::removeObserver): New.
2908         (WebCore::MediaStreamPrivate::updateActiveState): Remember the first active video track.
2909         (WebCore::MediaStreamPrivate::addTrack): Notify observers.
2910         (WebCore::MediaStreamPrivate::removeTrack): Ditto.
2911         (WebCore::MediaStreamPrivate::startProducingData): Pass-through to tracks.
2912         (WebCore::MediaStreamPrivate::stopProducingData): Ditto.
2913         (WebCore::MediaStreamPrivate::isProducingData): Ditto.
2914         (WebCore::MediaStreamPrivate::hasVideo): Ditto.
2915         (WebCore::MediaStreamPrivate::hasAudio): Ditto.
2916         (WebCore::MediaStreamPrivate::platformLayer): Ditto.
2917         (WebCore::MediaStreamPrivate::paintCurrentFrameInContext): Either pass-through to first active video
2918           track, or paint the context black.
2919         (WebCore::MediaStreamPrivate::currentFrameImage): Pass-through to first active video track.
2920         (WebCore::MediaStreamPrivate::characteristicsChanged): Inform observers.
2921         (WebCore::MediaStreamPrivate::trackMutedChanged):
2922         (WebCore::MediaStreamPrivate::trackStatesChanged):
2923         (WebCore::MediaStreamPrivate::trackEnabledChanged):
2924         (WebCore::MediaStreamPrivate::trackProducingDataChanged):
2925         (WebCore::MediaStreamPrivate::scheduleDeferredTask): New, call a function asynchronously on
2926           the main thread.
2927         * platform/mediastream/MediaStreamPrivate.h:
2928
2929         * platform/mediastream/MediaStreamTrackPrivate.cpp:
2930         (WebCore::MediaStreamTrackPrivate::endTrack):
2931         (WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): New, inform observers.
2932         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
2933         * platform/mediastream/MediaStreamTrackPrivate.h:
2934
2935         * platform/mediastream/RealtimeMediaSource.cpp:
2936         (WebCore::RealtimeMediaSource::isProducingDataDidChange): New, inform observers.
2937         (WebCore::RealtimeMediaSource::setEnabled): Ditto.
2938         (WebCore::RealtimeMediaSource::stop): Call reset();
2939         * platform/mediastream/RealtimeMediaSource.h: Don't declare "capabilities" as const so 
2940           capabilities can be created and initialized lazily.
2941
2942         * platform/mediastream/mac/AVAudioCaptureSource.h:
2943         * platform/mediastream/mac/AVAudioCaptureSource.mm:
2944         (WebCore::AVAudioCaptureSource::initializeCapabilities): New.
2945         (WebCore::AVAudioCaptureSource::addObserver): Hold the lock while calling observers so the list
2946           can't be mutated.
2947         (WebCore::AVAudioCaptureSource::setupCaptureSession): Log and fail if the session won't add the
2948           input or output.
2949         (WebCore::AVAudioCaptureSource::shutdownCaptureSession): Cleanup.
2950         (WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't block
2951           if it isn't possible to acquire the lock. Hold the lock while calling observers.
2952         (WebCore::AVAudioCaptureSource::capabilities): Deleted.
2953
2954         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
2955         (WebCore::refreshCaptureDeviceList): Don't include devices that can't be used.
2956         (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):  Use AVCaptureDeviceManager::sourceWithUID
2957           so constraints are considered.
2958         (WebCore::AVCaptureDeviceManager::sourceWithUID): Don't consider disabled devices. Always
2959           create a new capture device so each track starts out with a unique source.
2960         * platform/mediastream/mac/AVMediaCaptureSource.h:
2961
2962         * platform/mediastream/mac/AVMediaCaptureSource.mm:
2963         (WebCore::globaAudioCaptureSerialQueue):
2964         (WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
2965         (WebCore::AVMediaCaptureSource::~AVMediaCaptureSource): Remove KVO observers.
2966         (WebCore::AVMediaCaptureSource::startProducingData): m_isRunning is changed in captureSessionIsRunningDidChange.
2967         (WebCore::AVMediaCaptureSource::stopProducingData): Ditto.
2968         (WebCore::AVMediaCaptureSource::capabilities): New.
2969         (WebCore::AVMediaCaptureSource::setupSession): Add KVObservers for the properties we care about.
2970         (WebCore::AVMediaCaptureSource::reset): New, cleanup.
2971         (WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Dispatch to the main thread 
2972           to set m_isRunning, call isProducingDataDidChange so observers can find out.
2973         (WebCore::sessionKVOProperties):
2974         (-[WebCoreAVMediaCaptureSourceObserver disconnect]):
2975         (-[WebCoreAVMediaCaptureSourceObserver captureOutput:didOutputSampleBuffer:fromConnection:]):
2976         (-[WebCoreAVMediaCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]): Respond
2977           to running changes.
2978         (WebCore::AVMediaCaptureSource::captureSessionStoppedRunning): Deleted.
2979         (-[WebCoreAVMediaCaptureSourceObserver captureSessionStoppedRunning:]): Deleted.
2980
2981         * platform/mediastream/mac/AVVideoCaptureSource.h:
2982         * platform/mediastream/mac/AVVideoCaptureSource.mm:
2983         (WebCore::AVVideoCaptureSource::initializeCapabilities): Partial implementation.
2984         (WebCore::AVVideoCaptureSource::setupCaptureSession):  Log and fail if the session won't add the
2985           input or output.
2986         (WebCore::AVVideoCaptureSource::shutdownCaptureSession): Cleanup.
2987         (WebCore::AVVideoCaptureSource::updateFramerate): Renamed from calculateFramerate.
2988         (WebCore::AVVideoCaptureSource::currentFrameImage): Return an Image.
2989         (WebCore::AVVideoCaptureSource::platformLayer): New.
2990         (WebCore::AVVideoCaptureSource::capabilities): Deleted.
2991         (WebCore::AVVideoCaptureSource::calculateFramerate): Deleted.
2992
2993         * platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
2994         * platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
2995         (WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC): AudioConverterRef is
2996           not a CF/ObjC object so we can't use a RetainPtr<> for it.
2997         (WebCore::WebAudioSourceProviderAVFObjC::provideInput): Ditto.
2998         (WebCore::WebAudioSourceProviderAVFObjC::prepare): Ditto.
2999         (WebCore::WebAudioSourceProviderAVFObjC::unprepare): Ditto.
3000         (WebCore::WebAudioSourceProviderAVFObjC::process): Fix typo in logging.
3001
3002         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
3003         (WebCore::MockSource::capabilities): Update for capabilities change.
3004
3005         * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h: Update for capabilities change.
3006
3007 2015-10-28  Chris Dumez  <cdumez@apple.com>
3008
3009         Regression(r191673): [WIN][EFL][GTK] layout tests using data URLs time out
3010         https://bugs.webkit.org/show_bug.cgi?id=150661
3011
3012         Reviewed by Gyuyoung Kim.
3013
3014         Do a partial revert of r191673. For some reason, using a Timer in
3015         DataURLDecoder does not work (it does not fire). Since non COCOA ports
3016         don't support RunLoopTimer, this patch reintroduces the use of
3017         callOnMainThread() on non-COCOA ports.
3018
3019         * platform/network/DataURLDecoder.cpp:
3020         (WebCore::DataURLDecoder::decode):
3021         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer): Deleted.
3022
3023 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
3024
3025         Web Inspector: Rename InspectorResourceAgent to InspectorNetworkAgent
3026         https://bugs.webkit.org/show_bug.cgi?id=150654
3027
3028         Reviewed by Geoffrey Garen.
3029
3030         * CMakeLists.txt:
3031         * WebCore.vcxproj/WebCore.vcxproj:
3032         * WebCore.vcxproj/WebCore.vcxproj.filters:
3033         * WebCore.xcodeproj/project.pbxproj:
3034         * inspector/InspectorAllInOne.cpp:
3035         * inspector/InspectorController.cpp:
3036         (WebCore::InspectorController::InspectorController):
3037         * inspector/InspectorController.h:
3038         * inspector/InspectorDOMDebuggerAgent.h:
3039         * inspector/InspectorFrontendClient.h:
3040         * inspector/InspectorInstrumentation.cpp:
3041         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
3042         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
3043         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
3044         (WebCore::InspectorInstrumentation::willSendRequestImpl):
3045         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
3046         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
3047         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
3048         (WebCore::InspectorInstrumentation::didReceiveDataImpl):
3049         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3050         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3051         (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
3052         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
3053         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
3054         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
3055         (WebCore::InspectorInstrumentation::scriptImportedImpl):
3056         (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
3057         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3058         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
3059         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
3060         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
3061         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
3062         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
3063         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
3064         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
3065         (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
3066         * inspector/InspectorLayerTreeAgent.h:
3067         * inspector/InspectorNetworkAgent.cpp: Renamed from Source/WebCore/inspector/InspectorResourceAgent.cpp.
3068         (WebCore::InspectorNetworkAgent::InspectorNetworkAgent):
3069         (WebCore::InspectorNetworkAgent::didCreateFrontendAndBackend):
3070         (WebCore::InspectorNetworkAgent::willDestroyFrontendAndBackend):
3071         (WebCore::buildObjectForHeaders):
3072         (WebCore::buildObjectForTiming):
3073         (WebCore::buildObjectForResourceRequest):
3074         (WebCore::buildObjectForResourceResponse):
3075         (WebCore::buildObjectForCachedResource):
3076         (WebCore::InspectorNetworkAgent::~InspectorNetworkAgent):
3077         (WebCore::InspectorNetworkAgent::timestamp):
3078         (WebCore::InspectorNetworkAgent::willSendRequest):
3079         (WebCore::InspectorNetworkAgent::markResourceAsCached):
3080         (WebCore::InspectorNetworkAgent::didReceiveResponse):
3081         (WebCore::isErrorStatusCode):
3082         (WebCore::InspectorNetworkAgent::didReceiveData):
3083         (WebCore::InspectorNetworkAgent::didFinishLoading):
3084         (WebCore::InspectorNetworkAgent::didFailLoading):
3085         (WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
3086         (WebCore::InspectorNetworkAgent::setInitialScriptContent):
3087         (WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
3088         (WebCore::InspectorNetworkAgent::didFinishXHRLoading):
3089         (WebCore::InspectorNetworkAgent::didReceiveXHRResponse):
3090         (WebCore::InspectorNetworkAgent::willLoadXHRSynchronously):
3091         (WebCore::InspectorNetworkAgent::didLoadXHRSynchronously):
3092         (WebCore::InspectorNetworkAgent::willDestroyCachedResource):
3093         (WebCore::InspectorNetworkAgent::willRecalculateStyle):
3094         (WebCore::InspectorNetworkAgent::didRecalculateStyle):
3095         (WebCore::InspectorNetworkAgent::didScheduleStyleRecalculation):
3096         (WebCore::InspectorNetworkAgent::buildInitiatorObject):
3097         (WebCore::InspectorNetworkAgent::didCreateWebSocket):
3098         (WebCore::InspectorNetworkAgent::willSendWebSocketHandshakeRequest):
3099         (WebCore::InspectorNetworkAgent::didReceiveWebSocketHandshakeResponse):
3100         (WebCore::InspectorNetworkAgent::didCloseWebSocket):
3101         (WebCore::InspectorNetworkAgent::didReceiveWebSocketFrame):
3102         (WebCore::InspectorNetworkAgent::didSendWebSocketFrame):
3103         (WebCore::InspectorNetworkAgent::didReceiveWebSocketFrameError):
3104         (WebCore::InspectorNetworkAgent::enable):
3105         (WebCore::InspectorNetworkAgent::disable):
3106         (WebCore::InspectorNetworkAgent::setExtraHTTPHeaders):
3107         (WebCore::InspectorNetworkAgent::getResponseBody):
3108         (WebCore::InspectorNetworkAgent::setCacheDisabled):
3109         (WebCore::InspectorNetworkAgent::loadResource):
3110         (WebCore::InspectorNetworkAgent::mainFrameNavigated):
3111         * inspector/InspectorNetworkAgent.h: Renamed from Source/WebCore/inspector/InspectorResourceAgent.h.
3112         * inspector/InspectorPageAgent.h:
3113         * inspector/InstrumentingAgents.cpp:
3114         (WebCore::InstrumentingAgents::reset):
3115         * inspector/InstrumentingAgents.h:
3116         (WebCore::InstrumentingAgents::inspectorNetworkAgent):
3117         (WebCore::InstrumentingAgents::setInspectorNetworkAgent):
3118         (WebCore::InstrumentingAgents::inspectorResourceAgent): Deleted.
3119         (WebCore::InstrumentingAgents::setInspectorResourceAgent): Deleted.
3120         * inspector/NetworkResourcesData.h:
3121
3122 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
3123
3124         Web Inspector: Remove unused / duplicate WebSocket timeline records
3125         https://bugs.webkit.org/show_bug.cgi?id=150647
3126
3127         Reviewed by Timothy Hatcher.
3128
3129         * Modules/websockets/WebSocketChannel.cpp:
3130         (WebCore::WebSocketChannel::connect):
3131         Only send what is needed by inspector now.
3132
3133         * inspector/InspectorInstrumentation.h:
3134         (WebCore::InspectorInstrumentation::didCreateWebSocket):
3135         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
3136         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
3137         (WebCore::InspectorInstrumentation::didCloseWebSocket):
3138         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
3139         (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
3140         (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
3141         These can all fast return if there is no frontend because the inspector
3142         doesn't record any information about web sockets until a frontend is connected.
3143         The inspector in this case just sends events to the frontend when things happen.
3144
3145         * inspector/InspectorInstrumentation.cpp:
3146         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
3147         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
3148         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
3149         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
3150         Stop messaging the Timeline agent, we already message the Resource agent.
3151
3152         * inspector/InspectorTimelineAgent.cpp:
3153         (WebCore::InspectorTimelineAgent::didCreateWebSocket): Deleted.
3154         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Deleted.
3155         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Deleted.
3156         (WebCore::InspectorTimelineAgent::didDestroyWebSocket): Deleted.
3157         * inspector/InspectorTimelineAgent.h:
3158         * inspector/TimelineRecordFactory.h:
3159         (WebCore::TimelineRecordFactory::createWebSocketCreateData): Deleted.
3160         (WebCore::TimelineRecordFactory::createGenericWebSocketData): Deleted.
3161         This is all duplicate information from the network domain.
3162
3163 2015-10-28  Andy Estes  <aestes@apple.com>
3164
3165         [Content Filtering] Crash when allowing a 0-byte resource to load
3166         https://bugs.webkit.org/show_bug.cgi?id=150644
3167         <rdar://problem/23288538>
3168
3169         Reviewed by Darin Adler.
3170
3171         Test: contentfiltering/allow-empty-document.html
3172
3173         * loader/ContentFilter.cpp:
3174         (WebCore::ContentFilter::deliverResourceData): resourceBuffer will be null if the resource contained no data.
3175
3176 2015-10-28  Chris Dumez  <cdumez@apple.com>
3177
3178         Assertion failure in WebCore::FrameLoader::stopLoading() running fast/events tests
3179         https://bugs.webkit.org/show_bug.cgi?id=150624
3180
3181         Reviewed by Darin Adler.
3182
3183         After r191652, a form's target attribute can no longer refer to a frame's id,
3184         only its name. This is because the frame's id no longer sets the Window name
3185         when the frame's name attribute is missing. This caused a change in behavior
3186         for the fast/events/form-iframe-target-before-load-crash*.html tests, which
3187         exposed a pre-existing bug.
3188
3189         This patch updates the fast/events/form-iframe-target-before-load-crash*.html
3190         tests so they keep testing the same thing as before r191652. It also adds a
3191         variant to keep covering the newly exposed bug.
3192
3193         The issue was that the frame was no longer navigated when submitting the form
3194         (due to the form's target not matching the frame name). Therefore, when
3195         removing the iframe from the document, its navigation has not started yet and
3196         DocumentLoadTiming::navigationStart() is not initialized yet when
3197         FrameLoader::stopLoading() is called and we hit an assertion. This patch
3198         replaces the assertion with an if check as we now know it can happen and we
3199         have test coverage for it.
3200
3201         Test: fast/events/form-iframe-target-before-load-crash.html
3202
3203         * loader/FrameLoader.cpp:
3204         (WebCore::FrameLoader::stopLoading):
3205
3206 2015-10-28  Brian Burg  <bburg@apple.com>
3207
3208         Builtins generator should emit ENABLE(FEATURE) guards based on @conditional annotation
3209         https://bugs.webkit.org/show_bug.cgi?id=150536
3210
3211         Reviewed by Yusuke Suzuki.
3212
3213         Replace @optional=FEATURE with @conditional=ENABLE(FEATURE) in builtins files.
3214
3215         * Modules/streams/ByteLengthQueuingStrategy.js:
3216         * Modules/streams/CountQueuingStrategy.js:
3217         * Modules/streams/ReadableStream.js:
3218         * Modules/streams/ReadableStreamController.js:
3219         * Modules/streams/ReadableStreamInternals.js:
3220         * Modules/streams/ReadableStreamReader.js:
3221         * Modules/streams/StreamInternals.js:
3222         * Modules/streams/WritableStream.js:
3223         * Modules/streams/WritableStreamInternals.js:
3224
3225 2015-10-28  Zalan Bujtas  <zalan@apple.com>
3226
3227         Should never be reached failure in WebCore::backgroundRectForBox
3228         https://bugs.webkit.org/show_bug.cgi?id=150232
3229
3230         Reviewed by Simon Fraser.
3231
3232         We should never end up with simple container for composited layer when background-clip: text is present.
3233         (not even when the box has no decoration to paint)
3234
3235         Test: fast/backgrounds/background-clip-text-with-simple-container.html
3236
3237         * rendering/RenderLayerBacking.cpp:
3238         (WebCore::RenderLayerBacking::paintsBoxDecorations):
3239         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3240         (WebCore::backgroundRectForBox):
3241
3242 2015-10-28  Chris Dumez  <cdumez@apple.com>
3243
3244         Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
3245         https://bugs.webkit.org/show_bug.cgi?id=150609
3246         <rdar://problem/22702894>
3247
3248         Reviewed by Antti Koivisto.
3249
3250         Use RunLoopTimer in DataURLDecoder to avoid issues related to RunLoops.
3251         In particular, the callOnMainThread() call could fail to dispatch the
3252         decoding result to the main thread if the client-side would spin its own
3253         RunLoop.
3254
3255         This is similar to the approach used in DocumentLoader for
3256         DocumentLoaderTimer.
3257
3258         No new tests, verified through manual testing.
3259
3260         * WebCore.xcodeproj/project.pbxproj:
3261         * loader/ResourceLoader.cpp:
3262         (WebCore::ResourceLoader::loadDataURL):
3263         * page/Page.cpp:
3264         (WebCore::Page::Page):
3265         * page/Page.h:
3266         * page/mac/PageMac.mm: Renamed from Source/WebCore/page/mac/PageMac.cpp.
3267         (WebCore::Page::platformInitialize):
3268         (WebCore::Page::addSchedulePair):
3269         (WebCore::Page::removeSchedulePair):
3270         * platform/network/DataURLDecoder.cpp:
3271         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
3272         (WebCore::DataURLDecoder::DecodingResultDispatcher::DecodingResultDispatcher):
3273         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
3274         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
3275         (WebCore::DataURLDecoder::createDecodeTask):
3276         (WebCore::DataURLDecoder::decode):
3277         * platform/network/DataURLDecoder.h:
3278
3279 2015-10-28  Brady Eidson  <beidson@apple.com>
3280
3281         Modern IDB: Implement most readonly attributes of IDBObjectStore.
3282         https://bugs.webkit.org/show_bug.cgi?id=150617
3283
3284         Reviewed by Alex Christensen.
3285
3286         Test: storage/indexeddb/modern/objectstore-attributes.html
3287
3288         * Modules/indexeddb/IDBObjectStore.h:
3289
3290         * Modules/indexeddb/client/IDBAnyImpl.cpp:
3291         (WebCore::IDBClient::IDBAny::IDBAny):
3292         * Modules/indexeddb/client/IDBAnyImpl.h:
3293         (WebCore::IDBClient::IDBAny::create):
3294
3295         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3296         (WebCore::IDBClient::IDBObjectStore::name):
3297         (WebCore::IDBClient::IDBObjectStore::keyPathAny):
3298         (WebCore::IDBClient::IDBObjectStore::keyPath):
3299         (WebCore::IDBClient::IDBObjectStore::transaction):
3300         (WebCore::IDBClient::IDBObjectStore::id): Deleted.
3301         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
3302
3303         * Modules/indexeddb/legacy/LegacyObjectStore.h:
3304         (WebCore::LegacyObjectStore::transaction):
3305
3306 2015-10-28  Hunseop Jeong  <hs85.jeong@samsung.com>
3307
3308         Replace 0 and NULL with nullptr in WebCore/editing.
3309         https://bugs.webkit.org/show_bug.cgi?id=150555
3310
3311         Reviewed by Darin Adler.
3312
3313         No new tests because there is no behavior change.
3314
3315         * editing/ApplyStyleCommand.cpp:
3316         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
3317         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3318         (WebCore::ApplyStyleCommand::applyInlineStyle):
3319         * editing/ApplyStyleCommand.h:
3320         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement):
3321         * editing/CompositeEditCommand.cpp:
3322         (WebCore::CompositeEditCommand::applyCommandToComposite):
3323         (WebCore::CompositeEditCommand::deleteInsignificantText):
3324         * editing/DeleteSelectionCommand.cpp:
3325         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
3326         (WebCore::DeleteSelectionCommand::initializeStartEnd):
3327         * editing/EditCommand.cpp:
3328         (WebCore::EditCommand::EditCommand):
3329         * editing/EditCommand.h:
3330         * editing/EditingStyle.cpp:
3331         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
3332         * editing/EditingStyle.h:
3333         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
3334         * editing/Editor.h:
3335         * editing/EditorCommand.cpp:
3336         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding):
3337         (WebCore::Editor::Command::Command):
3338         * editing/FrameSelection.cpp:
3339         (WebCore::DragCaretController::setCaretPosition):
3340         (WebCore::FrameSelection::directionOfSelection):
3341         * editing/MarkupAccumulator.cpp:
3342         (WebCore::MarkupAccumulator::entityMaskForText):
3343         * editing/MarkupAccumulator.h:
3344         * editing/RenderedPosition.cpp:
3345         (WebCore::rendererFromPosition):
3346         (WebCore::RenderedPosition::RenderedPosition):
3347         * editing/RenderedPosition.h:
3348         (WebCore::RenderedPosition::operator==):
3349         (WebCore::RenderedPosition::uncachedInlineBox):
3350         (WebCore::RenderedPosition::RenderedPosition):
3351         * editing/ReplaceSelectionCommand.cpp:
3352         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3353         * editing/SetNodeAttributeCommand.cpp:
3354         (WebCore::SetNodeAttributeCommand::doUnapply):
3355         * editing/SmartReplaceCF.cpp:
3356         (WebCore::getSmartSet):
3357         * editing/SpellChecker.cpp:
3358         (WebCore::SpellCheckRequest::SpellCheckRequest):
3359         (WebCore::SpellCheckRequest::didSucceed):
3360         (WebCore::SpellCheckRequest::didCancel):
3361         (WebCore::SpellCheckRequest::setCheckerAndSequence):
3362         (WebCore::SpellCheckRequest::requesterDestroyed):
3363         (WebCore::SpellChecker::SpellChecker):
3364         * editing/SpellChecker.h:
3365         * editing/VisiblePosition.cpp:
3366         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3367         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3368         (WebCore::VisiblePosition::localCaretRect):
3369         (WebCore::enclosingBlockFlowElement):
3370         * editing/VisibleUnits.cpp:
3371         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
3372         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
3373         (WebCore::visualWordPosition):
3374         (WebCore::previousLinePosition):
3375         (WebCore::nextLinePosition):
3376         * editing/htmlediting.cpp:
3377         (WebCore::highestEnclosingNodeOfType):
3378         (WebCore::highestNodeToRemoveInPruning):
3379         * editing/htmlediting.h:
3380         (WebCore::firstPositionInOrBeforeNode):
3381         * editing/ios/EditorIOS.mm:
3382         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
3383         (WebCore::Editor::fontForSelection):
3384         * editing/mac/AlternativeTextUIController.mm:
3385         (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
3386         * editing/mac/EditorMac.mm:
3387         (WebCore::Editor::fontForSelection):
3388         * editing/markup.cpp:
3389         * editing/markup.h:
3390
3391 2015-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3392
3393         [Streams API] Add write method to writable stream
3394         https://bugs.webkit.org/show_bug.cgi?id=150589
3395
3396         Reviewed by Darin Adler.
3397
3398         Write method implemented on writable streams according to the spec.
3399
3400         Current test set suffices. Expectations are updated accordingly.