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