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