6a4118546f505c4503b0744480e1e7f2f49dcbe3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         [GStreamer] Use MainThreadNotifier to send notifications to main thread in TrackPrivateGStreamer
4         https://bugs.webkit.org/show_bug.cgi?id=150889
5
6         Reviewed by Žan Doberšek.
7
8         Instead of the GThreadSafeMainLoopSources.
9
10         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
11         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
12         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
13         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
14         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
15         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
16         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
17         (WebCore::TrackPrivateBaseGStreamer::disconnect):
18         (WebCore::TrackPrivateBaseGStreamer::activeChangedCallback):
19         (WebCore::TrackPrivateBaseGStreamer::tagsChangedCallback):
20         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
21         (WebCore::TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer): Deleted.
22         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): Deleted.
23         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
24
25 2015-11-06  Csaba Osztrogonác  <ossy@webkit.org>
26
27         Suppress deprecated-declarations warning in WebCore/platform/URL.cpp
28         https://bugs.webkit.org/show_bug.cgi?id=150803
29
30         Reviewed by Alexey Proskuryakov.
31
32         * platform/URL.cpp:
33         (WebCore::appendEncodedHostname):
34
35 2015-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
36
37         [GStreamer] Do not use GThreadSafeMainLoopSource to send notifications to the main thread in MediaPlayerPrivateGStreamer
38         https://bugs.webkit.org/show_bug.cgi?id=150888
39
40         Reviewed by Žan Doberšek.
41
42         Analyzing how the main loop sources were used in GST code I've
43         noticed that in most of the cases they are used to send
44         notifications to the main thread. The way it works in those cases
45         is that some state is updated in whatever thread and we notify the
46         main thread to use the new state. There's no data passed to the
47         main thread, they are just notifications. I've also noticed that
48         we are not doing this exactly as expected in several of those
49         cases. GThreadSafeMainLoopSource cancels the current source when a
50         new one is scheduled, and that was done this way because previous
51         code in GST using GSources directly did it that way. But that's
52         not what we want, if there's a notification pending, since the
53         state is updated, we can just wait for it to happen instead of
54         cancelling and scheduling a new one. I've also noticed that in
55         most of the cases where we schedule notifications to the main
56         thread, we can be already in the main thread, so we could avoid
57         the schedule entirely.
58         We can use RunLoop::dispatch() to send notifications to the main
59         thread, but there's no way to cancel those tasks. This patch adds
60         a new helper class MainThreadNotifier that uses an enum of flags to
61         handle different kind of notifications. It uses
62         RunLoop::dispatch() to send notifications to the main thread, but
63         only if there isn't one pending for the given type.
64         This patch also makes signal callbacks static members to be able
65         to make the private methods actually private.
66
67         * platform/graphics/gstreamer/MainThreadNotifier.h: Added.
68         (WebCore::MainThreadNotifier::MainThreadNotifier):
69         (WebCore::MainThreadNotifier::notify):
70         (WebCore::MainThreadNotifier::cancelPendingNotifications):
71         (WebCore::MainThreadNotifier::addPendingNotification):
72         (WebCore::MainThreadNotifier::removePendingNotification):
73         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
74         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
75         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
76         (WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
77         (WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
78         (WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
79         (WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
80         (WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
81         (WebCore::MediaPlayerPrivateGStreamer::sourceChangedCallback):
82         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
83         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
84         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
85         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Deleted.
86         (WebCore::initializeGStreamerAndRegisterWebKitElements): Deleted.
87         (WebCore::MediaPlayerPrivateGStreamer::load): Deleted.
88         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Deleted.
89         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted.
90         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Deleted.
91         (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): Deleted.
92         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
93         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
94         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
95         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
96         (WebCore::MediaPlayerPrivateGStreamerBase::muteChangedCallback):
97         (WebCore::MediaPlayerPrivateGStreamerBase::repaintCallback):
98         (WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
99         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
100         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
101         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): Deleted.
102         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Deleted.
103         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage): Deleted.
104         (WebCore::MediaPlayerPrivateGStreamerBase::muted): Deleted.
105         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
106         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount): Deleted.
107         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
108         (WebCore::MediaPlayerPrivateGStreamerBase::setVisible): Deleted.
109
110 2015-11-06  Yoav Weiss  <yoav@yoav.ws>
111
112         Expose HTMLImageElement sizes attribute in IDL
113         https://bugs.webkit.org/show_bug.cgi?id=150230
114
115         Reviewed by Darin Adler.
116
117         No new tests, but fixed test expectations for exposed interfaces.
118
119         * html/HTMLImageElement.idl: Make sure that `sizes` is exposed as an IDL attribute, to ensure proper feature detection of sizes support.
120
121 2015-11-05  Carlos Garcia Campos  <cgarcia@igalia.com>
122
123         [GStreamer] Use RunLoop::Timer instead of GMainLoopSource in video sink
124         https://bugs.webkit.org/show_bug.cgi?id=150807
125
126         Reviewed by Žan Doberšek.
127
128         Since we always wait until the sample is actually rendered we
129         don't really need either a thread safe main loop source, nor
130         cancelling if already requested and other things GMainLoopSource does.
131         This adds a helper class VideoRenderRequestScheduler to use the
132         RunLoop::Timer. All the logic to syncronize between threads has
133         been moved to this helper class too.
134
135         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
136         (VideoRenderRequestScheduler::VideoRenderRequestScheduler):
137         (VideoRenderRequestScheduler::start):
138         (VideoRenderRequestScheduler::stop):
139         (VideoRenderRequestScheduler::requestRender):
140         (VideoRenderRequestScheduler::isUnlocked):
141         (VideoRenderRequestScheduler::render):
142         (_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate):
143         (webkitVideoSinkRepaintRequested):
144         (webkitVideoSinkRender):
145         (webkitVideoSinkUnlock):
146         (webkitVideoSinkUnlockStop):
147         (webkitVideoSinkStop):
148         (webkitVideoSinkStart):
149         (_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Deleted.
150         (webkitVideoSinkTimeoutCallback): Deleted.
151         (unlockSampleMutex): Deleted.
152
153 2015-11-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
154
155         Add runtime and compile time flags for enabling Web Animations API and model.
156         https://bugs.webkit.org/show_bug.cgi?id=150914
157
158         Reviewed by Benjamin Poulain.
159
160         Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.
161
162         * Configurations/FeatureDefines.xcconfig:
163         * bindings/generic/RuntimeEnabledFeatures.cpp:
164         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
165         * bindings/generic/RuntimeEnabledFeatures.h:
166         (WebCore::RuntimeEnabledFeatures::setWebAnimationsEnabled):
167         (WebCore::RuntimeEnabledFeatures::webAnimationsEnabled):
168
169 2015-11-05  Commit Queue  <commit-queue@webkit.org>
170
171         Unreviewed, rolling out r192089.
172         https://bugs.webkit.org/show_bug.cgi?id=150966
173
174         This change broke an existing layout test on Yosemite and
175         Mavericks (Requested by ryanhaddad on #webkit).
176
177         Reverted changeset:
178
179         "Preview on apple.com/contact with all text selected shows a
180         map"
181         https://bugs.webkit.org/show_bug.cgi?id=150963
182         http://trac.webkit.org/changeset/192089
183
184 2015-11-05  Tim Horton  <timothy_horton@apple.com>
185
186         Preview on apple.com/contact with all text selected shows a map
187         https://bugs.webkit.org/show_bug.cgi?id=150963
188         <rdar://problem/23421750>
189
190         Reviewed by Beth Dakin.
191
192         * editing/mac/DictionaryLookup.h:
193         * editing/mac/DictionaryLookup.mm:
194         (WebCore::DictionaryLookup::rangeForSelection):
195         If the range that Lookup decides to use doesn't intersect the hit point,
196         just ignore Lookup.
197
198         (WebCore::DictionaryLookup::rangeAtHitTestResult):
199         If the selection-based Lookup fails to find a usable result, fall back
200         to looking around the hit point.
201
202 2015-11-05  Brady Eidson  <beidson@apple.com>
203
204         Modern IDB: Implement IDBIndex get/getKey/count requests.
205         https://bugs.webkit.org/show_bug.cgi?id=150910
206
207         Reviewed by Alex Christensen.
208
209         Tests: storage/indexeddb/modern/index-get-count-basic.html
210                storage/indexeddb/modern/index-get-count-failures.html
211
212         * Modules/indexeddb/IndexedDB.h:
213
214         * Modules/indexeddb/client/IDBAnyImpl.cpp:
215         (WebCore::IDBClient::IDBAny::IDBAny):
216         (WebCore::IDBClient::IDBAny::modernIDBIndex):
217         * Modules/indexeddb/client/IDBAnyImpl.h:
218         (WebCore::IDBClient::IDBAny::create):
219         (WebCore::IDBClient::IDBAny::createUndefined):
220
221         * Modules/indexeddb/client/IDBIndexImpl.cpp:
222         (WebCore::IDBClient::IDBIndex::count):
223         (WebCore::IDBClient::IDBIndex::doCount):
224         (WebCore::IDBClient::IDBIndex::get):
225         (WebCore::IDBClient::IDBIndex::doGet):
226         (WebCore::IDBClient::IDBIndex::getKey):
227         (WebCore::IDBClient::IDBIndex::doGetKey):
228         * Modules/indexeddb/client/IDBIndexImpl.h:
229         (WebCore::IDBClient::IDBIndex::info):
230         
231         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
232         (WebCore::IDBClient::IDBObjectStore::isDeleted):
233         (WebCore::IDBClient::IDBObjectStore::modernTransaction):
234         
235         * Modules/indexeddb/client/IDBRequestImpl.cpp:
236         (WebCore::IDBClient::IDBRequest::createCount):
237         (WebCore::IDBClient::IDBRequest::createGet):
238         (WebCore::IDBClient::IDBRequest::IDBRequest):
239         (WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
240         (WebCore::IDBClient::IDBRequest::sourceIndexIdentifier):
241         (WebCore::IDBClient::IDBRequest::requestedIndexRecordType):
242         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
243         * Modules/indexeddb/client/IDBRequestImpl.h:
244         
245         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
246         (WebCore::IDBClient::IDBTransaction::requestGetValue):
247         (WebCore::IDBClient::IDBTransaction::requestGetKey):
248         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
249         (WebCore::IDBClient::IDBTransaction::requestCount):
250         * Modules/indexeddb/client/IDBTransactionImpl.h:
251         
252         * Modules/indexeddb/client/TransactionOperation.cpp:
253         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
254         * Modules/indexeddb/client/TransactionOperation.h:
255         (WebCore::IDBClient::TransactionOperation::indexIdentifier):
256         (WebCore::IDBClient::TransactionOperation::indexRecordType):
257         
258         * Modules/indexeddb/server/IDBBackingStore.h:
259         
260         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
261         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
262         (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
263         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
264         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
265         
266         * Modules/indexeddb/server/MemoryIndex.cpp:
267         (WebCore::IDBServer::MemoryIndex::valueForKeyRange):
268         (WebCore::IDBServer::MemoryIndex::countForKeyRange):
269         * Modules/indexeddb/server/MemoryIndex.h:
270         
271         * Modules/indexeddb/server/MemoryObjectStore.cpp:
272         (WebCore::IDBServer::MemoryObjectStore::createIndex):
273         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
274         (WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
275         * Modules/indexeddb/server/MemoryObjectStore.h:
276         
277         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
278         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
279         (WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
280         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
281         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
282         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord): Deleted.
283         * Modules/indexeddb/server/UniqueIDBDatabase.h:
284         
285         * Modules/indexeddb/shared/IDBRequestData.cpp:
286         (WebCore::IDBRequestData::IDBRequestData):
287         (WebCore::IDBRequestData::objectStoreIdentifier):
288         (WebCore::IDBRequestData::indexIdentifier):
289         (WebCore::IDBRequestData::indexRecordType):
290         * Modules/indexeddb/shared/IDBRequestData.h:
291
292 2015-11-05  Zhuo Li  <zachli@apple.com>
293
294         Rename the variable to avoid conflict between the variable and the parameter.
295         https://bugs.webkit.org/show_bug.cgi?id=150019.
296
297         Reviewed by Dan Bernstein.
298
299         * platform/cocoa/SearchPopupMenuCocoa.mm:
300         (WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Rename `date`
301         to `dateAdded` so that it does not have the same name as the parameter passed in.
302
303 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
304
305         Web Inspector: Clean up InjectedScript uses
306         https://bugs.webkit.org/show_bug.cgi?id=150921
307
308         Reviewed by Timothy Hatcher.
309
310         * inspector/CommandLineAPIModule.cpp:
311         (WebCore::CommandLineAPIModule::injectIfNeeded):
312         (WebCore::CommandLineAPIModule::CommandLineAPIModule):
313         * inspector/CommandLineAPIModule.h:
314         * inspector/WebInjectedScriptManager.cpp:
315         (WebCore::WebInjectedScriptManager::didCreateInjectedScript):
316         * inspector/WebInjectedScriptManager.h:
317
318 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
319
320         Web Inspector: Put ScriptDebugServer into InspectorEnvironment and cleanup duplicate references
321         https://bugs.webkit.org/show_bug.cgi?id=150869
322
323         Reviewed by Brian Burg.
324
325         Refactoring covered by existing tests.
326
327         * WebCore.xcodeproj/project.pbxproj:
328         Privately export PageScriptDebuggerAgent.h due to InspectorController.h needing it.
329
330         * inspector/InspectorController.h:
331         * inspector/InspectorController.cpp:
332         (WebCore::InspectorController::InspectorController):
333         (WebCore::InspectorController::scriptDebugServer):
334         Own the PageScriptDebugServer.
335
336         * inspector/WorkerInspectorController.h:
337         * inspector/WorkerInspectorController.cpp:
338         (WebCore::WorkerInspectorController::WorkerInspectorController):
339         (WebCore::WorkerInspectorController::scriptDebugServer):
340         Own the WorkerScriptDebugServer.
341
342         (WebCore::WorkerInspectorController::vm):
343         Use the VM accessed through the worker global object.
344
345         * inspector/InspectorWebAgentBase.h:
346         (WebCore::InspectorAgentBase::InspectorAgentBase):
347         Given Web agents a m_environment convenience to access the InspectorEnvironment.
348
349         * inspector/InspectorNetworkAgent.cpp:
350         (WebCore::InspectorNetworkAgent::timestamp):
351         * inspector/InspectorPageAgent.cpp:
352         (WebCore::InspectorPageAgent::timestamp):
353         (WebCore::InspectorPageAgent::enable):
354         (WebCore::InspectorPageAgent::frameStartedLoading):
355         * inspector/InspectorTimelineAgent.cpp:
356         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
357         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
358         (WebCore::InspectorTimelineAgent::internalStart):
359         (WebCore::InspectorTimelineAgent::internalStop):
360         (WebCore::InspectorTimelineAgent::timestamp):
361         (WebCore::InspectorTimelineAgent::startFromConsole):
362         (WebCore::InspectorTimelineAgent::willCallFunction):
363         (WebCore::InspectorTimelineAgent::willEvaluateScript):
364         (WebCore::InspectorTimelineAgent::setPageScriptDebugServer): Deleted.
365         * inspector/InspectorTimelineAgent.h:
366         Use the InspectorEnvironment for VM / ScriptDebugServer.
367
368         * inspector/PageDebuggerAgent.cpp:
369         (WebCore::PageDebuggerAgent::PageDebuggerAgent): Deleted.
370         (WebCore::PageDebuggerAgent::scriptDebugServer): Deleted.
371         * inspector/PageDebuggerAgent.h:
372         * inspector/PageRuntimeAgent.cpp:
373         (WebCore::PageRuntimeAgent::globalVM): Deleted.
374         * inspector/PageRuntimeAgent.h:
375         * inspector/WorkerDebuggerAgent.h:
376         * inspector/WorkerRuntimeAgent.cpp:
377         (WebCore::WorkerRuntimeAgent::globalVM): Deleted.
378         * inspector/WorkerRuntimeAgent.h:
379         * inspector/WorkerDebuggerAgent.cpp:
380         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): Deleted.
381         (WebCore::WorkerDebuggerAgent::scriptDebugServer): Deleted.
382         Remove now unnecessary subclass code.
383
384         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
385         One more special case for accessing Worker properties from the ScriptDebugServer.
386
387 2015-11-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
388
389         [Streams API] Shield implementation from user mangling Promise.reject and resolve methods
390         https://bugs.webkit.org/show_bug.cgi?id=150895
391
392         Reviewed by Youenn Fablet.
393
394         Replace all calls to @Promise.resolve and @Promise.reject with their internal slot counterparts. This way we
395         ensure that if the user replaces those constructor methods, our implementation still works.
396
397         Test: streams/streams-promises.html.
398
399         * Modules/streams/ReadableStream.js:
400         (initializeReadableStream):
401         (cancel):
402         * Modules/streams/ReadableStreamInternals.js:
403         (privateInitializeReadableStreamReader):
404         (cancelReadableStream):
405         (readFromReadableStreamReader):
406         * Modules/streams/ReadableStreamReader.js:
407         (cancel):
408         (read):
409         (closed):
410         * Modules/streams/StreamInternals.js:
411         (promiseInvokeOrNoop):
412         (promiseInvokeOrFallbackOrNoop):
413         * Modules/streams/WritableStream.js:
414         (initializeWritableStream):
415         (abort):
416         (close):
417         (write):
418         (closed):
419         (ready):
420
421 2015-11-05  Andreas Kling  <akling@apple.com>
422
423         Give ResourceUsageOverlay a stacked chart for dirty memory per category.
424         <https://webkit.org/b/150905>
425
426         Reviewed by Antti Koivisto.
427
428         Refactored the data gathering to operate on "memory categories", a memory category is at
429         the top level a VM tag, e.g the VM tag for our bmalloc allocator. It can in turn have
430         sub-categories, e.g one for the GC heap, which allocates all of its blocks through bmalloc
431         and thus end up in the same tag.
432
433         Each category also has a hard-coded color, which is used consistently in labels and charts.
434
435         Also went back to drawing everything with CGContext directly instead of GraphicsContext
436         since the latter is not thread safe.
437
438         * page/ResourceUsageOverlay.h:
439         * page/cocoa/ResourceUsageOverlayCocoa.mm:
440         (-[WebOverlayLayer drawInContext:]):
441         (WebCore::RingBuffer::last):
442         (WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
443         (WebCore::ResourceUsageData::ResourceUsageData):
444         (WebCore::showText):
445         (WebCore::drawGraphLabel):
446         (WebCore::drawCpuHistory):
447         (WebCore::drawGCHistory):
448         (WebCore::drawMemHistory):
449         (WebCore::drawSlice):
450         (WebCore::drawMemoryPie):
451         (WebCore::ResourceUsageOverlay::platformDraw):
452         (WebCore::categoryForVMTag):
453         (WebCore::runSamplerThread):
454         (WebCore::drawPlate): Deleted.
455         (WebCore::fontCascade): Deleted.
456         (WebCore::ResourceUsageOverlay::draw): Deleted.
457
458 2015-11-05  Simon Fraser  <simon.fraser@apple.com>
459
460         Having page overlays causes iframe to get composited
461         https://bugs.webkit.org/show_bug.cgi?id=150920
462
463         Reviewed by Tim Horton.
464         
465         When deciding whether to enable compositing for a subframe, don't consult the
466         main frame's overlay count. Only do that for the main frame.
467
468         (WebCore::RenderLayerCompositor::updateCompositingLayers):
469
470 2015-11-05  Manuel Rego Casasnovas  <rego@igalia.com>
471
472         [css-grid] Support positioned grid children
473         https://bugs.webkit.org/show_bug.cgi?id=150837
474
475         Reviewed by Darin Adler.
476
477         According to the spec positioned grid children have
478         a special behavior described at:
479         https://drafts.csswg.org/css-grid/#abspos
480
481         The idea is that for positioned children the containing block will
482         correspond to the padding edges of the grid container, unless the
483         grid placement properties are defined.
484         This not only affects to positioned grid items (direct children) but
485         also to any descendant where the containing block is the grid container.
486
487         In order to manage this special behavior, the patch is overriding
488         RenderBlock::layoutPositionedObject() to calculate the position and size
489         depending on the grid-placement properties.
490
491         RenderBox class has some changes to calculate the containing block width
492         and height for positioned objects (using the override value). And also
493         to compute their static position.
494
495         Finally, the positioned items are not taken into account in all the
496         different grid methods, in order that they do not interfere the layout
497         of the grid as stated in the spec.
498
499         Tests: fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html
500                fast/css-grid-layout/absolute-positioning-grid-container-parent.html
501                fast/css-grid-layout/grid-positioned-items-background.html
502                fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html
503                fast/css-grid-layout/grid-positioned-items-implicit-grid.html
504                fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html
505                fast/css-grid-layout/grid-sizing-positioned-items.html
506                fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html
507                fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html
508
509         * rendering/OrderIterator.cpp:
510         (WebCore::OrderIterator::next): Fix method to avoid issues if no items
511         are added to the iterator.
512         * rendering/RenderBlock.h: Mark layoutPositionedObject() as virtual.
513         * rendering/RenderBox.cpp: Add new maps for inline/block extra offsets.
514         (WebCore::RenderBox::~RenderBox): Clear the new maps.
515         (WebCore::RenderBox::extraInlineOffset): Extra offset that we need to
516         apply to positioned grid children due to the grid placement properties.
517         (WebCore::RenderBox::extraBlockOffset): Ditto.
518         (WebCore::RenderBox::setExtraInlineOffset):
519         (WebCore::RenderBox::setExtraBlockOffset):
520         (WebCore::RenderBox::clearExtraInlineAndBlockOffests):
521         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Use the
522         override containing block if any.
523         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Ditto.
524         (WebCore::RenderBox::computePositionedLogicalWidth): Add the extra
525         offset if it's a positioned element.
526         (WebCore::RenderBox::computePositionedLogicalHeight): Ditto.
527         * rendering/RenderBox.h:
528         (WebCore::RenderBox::scrollbarLogicalWidth): Add utility method.
529         * rendering/RenderGrid.cpp:
530         (WebCore::RenderGrid::layoutBlock): Clear grid after layout positioned
531         objects instead of at the end of layoutGridItems().
532         (WebCore::RenderGrid::placeItemsOnGrid): Ignore positioned items.
533         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.
534         (WebCore::RenderGrid::layoutGridItems): Ditto.
535         (WebCore::RenderGrid::prepareChildForPositionedLayout): Set static
536         position for positioned items.
537         (WebCore::RenderGrid::layoutPositionedObject): Calculate position and
538         size for positioned children.
539         (WebCore::RenderGrid::offsetAndBreadthForPositionedChild): Calculate
540         extra offset and breadth for positioned children.
541         * rendering/RenderGrid.h:
542         * rendering/style/GridResolvedPosition.cpp:
543         (WebCore::GridResolvedPosition::isNonExistentNamedLineOrArea): Make it a
544         public static method.
545         (WebCore::GridUnresolvedSpan::adjustGridPositionsFromStyle): Fix calls
546         to isNonExistentNamedLineOrArea().
547         (WebCore::resolveGridPositionFromStyle): Ditto.
548         * rendering/style/GridResolvedPosition.h: Make
549         isNonExistentNamedLineOrArea() public.
550
551 2015-11-04  Jiewen Tan  <jiewen_tan@apple.com>
552
553         Null dereference loading Blink layout test editing/execCommand/delete-hidden-crash.html
554         https://bugs.webkit.org/show_bug.cgi?id=149289
555         <rdar://problem/22746352>
556
557         Reviewed by Enrica Casucci.
558
559         This is a merge of Blink r176497:
560         https://codereview.chromium.org/340713003
561
562         It ensures the start & end positions in DeleteSelectionCommand::initializePositionData
563         are editable.
564
565         Test: editing/execCommand/delete-hidden-crash.html
566
567         * editing/DeleteSelectionCommand.cpp:
568         (WebCore::DeleteSelectionCommand::initializePositionData):
569         * editing/Editor.cpp:
570         (WebCore::Editor::advanceToNextMisspelling):
571         * editing/htmlediting.cpp:
572         (WebCore::firstEditablePositionAfterPositionInRoot):
573         (WebCore::lastEditablePositionBeforePositionInRoot):
574         These two functions don't make any sense to return VisiblePosition. Change them
575         to return Position instead. Since there is a viable conversion from Position to
576         VisiblePosition. It should not change the behavior of any other components depending
577         on it.
578         * editing/htmlediting.h:
579
580 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
581
582         Ruby base ending in tatechuyoko forces a line break before the tatechuyoko
583         https://bugs.webkit.org/show_bug.cgi?id=150883
584
585         Reviewed by Darin Adler.
586
587         Asking the width of a 0-length tatechuyoko should return 0.
588
589         Test: fast/text/ruby-tatechuyoko.html
590
591         * rendering/RenderCombineText.cpp:
592         (WebCore::RenderCombineText::width):
593
594 2015-11-04  Tim Horton  <timothy_horton@apple.com>
595
596         Update the name of a Mail class that we hardcode
597         https://bugs.webkit.org/show_bug.cgi?id=150879
598         <rdar://problem/23384627>
599
600         Reviewed by Alexey Proskuryakov.
601
602         * editing/cocoa/HTMLConverter.mm:
603         (_WebMessageDocumentClass):
604
605 2015-11-04  Eric Carlson  <eric.carlson@apple.com>
606
607         [MediaStream] A RealtimeMediaSource should begin producing data automatically
608         https://bugs.webkit.org/show_bug.cgi?id=150851
609         rdar://problem/23380636
610
611         A RealtimeMediaSource should be producing data unless it is muted, which is not under the 
612         control of the application, so a local source should begin producing data as soon as it
613         is added to a stream. Remove "producing data" and "enabled" observer callbacks because 
614         they don't provide anything that the "muted" callback already provides.
615         
616         Reviewed by Jer Noble.
617
618         * Modules/mediastream/MediaStreamTrack.cpp:
619         (WebCore::MediaStreamTrack::trackProducingDataChanged): Deleted.
620         * Modules/mediastream/MediaStreamTrack.h:
621
622         * Modules/mediastream/UserMediaRequest.cpp:
623         (WebCore::UserMediaRequest::didCreateStream): Tell sources to begin producing data.
624
625         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
626         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Don't call stream->startProducingData,
627           it isn't necessary.
628         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setReadyState): Call characteristicsChanged 
629           when the readyState changes.
630
631         * platform/mediastream/MediaStreamPrivate.cpp:
632         (WebCore::MediaStreamPrivate::trackProducingDataChanged): Deleted.
633         * platform/mediastream/MediaStreamPrivate.h:
634
635         * platform/mediastream/MediaStreamTrackPrivate.cpp:
636         (WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): Deleted.
637         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Deleted.
638         * platform/mediastream/MediaStreamTrackPrivate.h:
639
640         * platform/mediastream/RealtimeMediaSource.cpp:
641         (WebCore::RealtimeMediaSource::isProducingDataDidChange): Deleted.
642         (WebCore::RealtimeMediaSource::setEnabled): Deleted.
643         * platform/mediastream/RealtimeMediaSource.h:
644
645         * platform/mediastream/mac/AVAudioCaptureSource.mm:
646         (WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): !enabled() -> muted().
647
648         * platform/mediastream/mac/AVMediaCaptureSource.mm:
649         (WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Don't call isProducingDataDidChange..
650
651         * platform/mediastream/mac/AVVideoCaptureSource.mm:
652         (WebCore::AVVideoCaptureSource::processNewFrame): !enabled() -> muted().
653
654 2015-11-04  Jer Noble  <jer.noble@apple.com>
655
656         [iOS] <video> elements without audio tracks should not interrupt music
657         https://bugs.webkit.org/show_bug.cgi?id=149888
658
659         Reviewed by Eric Carlson.
660
661         Tests: TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm
662
663         Only set the AVAudioSession category to "playback" when the video element in question has an
664         audio track.
665
666         Add a new PlatformMediaSessionClient method called canProduceAudio(), overridden in HTMLMediaElement
667         and AudioContext, which is checked when updating the AudioSession category in 
668         PlatformMediaSessionManager::updateSessionState().
669
670         * Modules/webaudio/AudioContext.h:
671         * html/HTMLMediaElement.cpp:
672         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
673         * html/HTMLMediaElement.h:
674         * platform/audio/PlatformMediaSession.cpp:
675         (WebCore::PlatformMediaSession::activeAudioSessionRequired):
676         (WebCore::PlatformMediaSession::setCanProduceAudio):
677         * platform/audio/PlatformMediaSession.h:
678         (WebCore::PlatformMediaSession::canProduceAudio):
679         * platform/audio/PlatformMediaSessionManager.cpp:
680         (WebCore::PlatformMediaSessionManager::canProduceAudio):
681         (WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged):
682         (WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
683         (WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
684         * platform/audio/PlatformMediaSessionManager.h:
685         * platform/audio/mac/MediaSessionManagerMac.cpp:
686         (PlatformMediaSessionManager::updateSessionState):
687
688 2015-11-03  Dean Jackson  <dino@apple.com>
689
690         Accept 8 and 4 value hex colors (#RRGGBBAA)
691         https://bugs.webkit.org/show_bug.cgi?id=150853
692         <rdar://problem/23380930>
693
694         Reviewed by Simon Fraser.
695
696         CSS Color Level 4 allows #RGBA and #RRGGBBAA values
697         for colors.
698
699         Test: fast/css/hex-colors.html
700
701         * platform/graphics/Color.cpp:
702         (WebCore::parseHexColorInternal): Update the color parsing for
703         the new syntax.
704
705 2015-11-04  Mario Sanchez Prada  <mario@webkit.org>
706
707         [AX] WebProcess from WebKitGtk+ 2.10.0 compiled in Debug mode hits ASSERT on textUnderElement
708         https://bugs.webkit.org/show_bug.cgi?id=150670
709
710         Reviewed by Chris Fleizach.
711
712         Move the ASSERTs stating that the render tree is stable before using the
713         TextIterator to their right place, in AccessibilityRenderObject, so that
714         we don't crash in debug builds in cases when this condition is irrelevant.
715
716         Test: accessibility/gtk/list-item-with-pseudo-element-crash.html
717
718         * accessibility/AccessibilityNodeObject.cpp:
719         (WebCore::AccessibilityNodeObject::textUnderElement): Removed ASSERTs.
720         * accessibility/AccessibilityRenderObject.cpp:
721         (WebCore::AccessibilityRenderObject::textUnderElement): Added ASSERTs, but
722         only before calling plainText and using the right document for the node.
723
724 2015-11-04  Xabier Rodriguez Calvar  <calvaris@igalia.com>
725
726         [Streams API] Shield streams against user replacing the Promise constructor
727         https://bugs.webkit.org/show_bug.cgi?id=150887
728
729         Reviewed by Youenn Fablet.
730
731         With this rework, we shield the Streams implementation against the user doing something like "Promise =
732         function() { /* do garbage */ };".
733
734         Test: streams/streams-promises.html.
735
736         * Modules/streams/ReadableStream.js:
737         (initializeReadableStream):
738         (cancel):
739         * Modules/streams/ReadableStreamInternals.js:
740         (privateInitializeReadableStreamReader):
741         (cancelReadableStream):
742         (readFromReadableStreamReader):
743         * Modules/streams/ReadableStreamReader.js:
744         (cancel):
745         (read):
746         (closed):
747         * Modules/streams/StreamInternals.js:
748         (promiseInvokeOrNoop):
749         (promiseInvokeOrFallbackOrNoop):
750         * Modules/streams/WritableStream.js:
751         (initializeWritableStream):
752         (abort):
753         (close):
754         (write):
755         (closed):
756         (ready):
757         * Modules/streams/WritableStreamInternals.js:
758         (syncWritableStreamStateWithQueue):
759
760 2015-11-04  Antoine Quint  <graouts@apple.com>
761
762         SVG: hit testing region for <text> elements is incorrect
763         https://bugs.webkit.org/show_bug.cgi?id=150838
764
765         Reviewed by Dean Jackson.
766
767         Hit testing for SVG <text> elements was using the same code as hit testing
768         for CSS-rendered elements. However, in SVG, text elements should only hit
769         test based on their character cells, not the rectangular bounds of the
770         element, see section 16.6 of the SVG 1.1 specification:
771         
772         http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty
773         
774         So we now hit test each SVGTextFragment of each SVGInlineTextBox
775         that is a child of an SVGRootInlineBox to correctly find whether the
776         provided HitTestLocation is contained within a character cell. 
777
778         Tests: svg/hittest/text-dominant-baseline-hanging.svg
779                svg/hittest/text-multiple-dx-values.svg
780                svg/hittest/text-with-multiple-tspans.svg
781                svg/hittest/text-with-text-node-and-content-elements.svg
782                svg/hittest/text-with-text-node-only.svg
783                svg/hittest/text-with-text-path.svg
784
785         * rendering/RootInlineBox.h:
786         Remove the final keyword since nodeAtPoint() may now be subclassed as
787         implemented in SVGRootInlineBox.
788  
789         * rendering/svg/SVGInlineTextBox.cpp:
790         (WebCore::SVGInlineTextBox::nodeAtPoint):
791         Iterate over the SVGTextFragments to look for a fragment containing the
792         provided HitTestLocation.
793  
794         * rendering/svg/SVGRootInlineBox.cpp:
795         (WebCore::SVGRootInlineBox::nodeAtPoint):
796         * rendering/svg/SVGRootInlineBox.h:
797         Override RootInlineBox::nodeAtPoint() to delegate hit testing to the
798         children inline boxes.
799
800 2015-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
801
802         [GStreamer] Use RunLoop::Timer for ready state timer in MediaPlayerPrivateGStreamer
803         https://bugs.webkit.org/show_bug.cgi?id=150836
804
805         Reviewed by Philippe Normand.
806
807         We don't really need a GThreadSafeMainLoopSource for this simple timer.
808
809         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
810         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
811         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
812         (WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
813         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
814         (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
815         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
816
817 2015-11-04  Frederic Wang  <fred.wang@free.fr>
818
819         Add support for the USE_TYPO_METRICS flag on iOS
820         https://bugs.webkit.org/show_bug.cgi?id=131839
821
822         Reviewed by Darin Adler.
823
824         Make the iOS Font service use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
825         The code shared by iOS, OS X and AppleWin is moved into a separate OpenTypeCG module.
826
827         No new tests because this is already tested by fonts/use-typo-metrics-1.html
828
829         * PlatformAppleWin.cmake: Add OpenTypeCG files.
830         * PlatformMac.cmake: ditto.
831         * WebCore.vcxproj/WebCore.vcxproj: ditto.
832         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
833         * WebCore.xcodeproj/project.pbxproj: ditto.
834         * platform/graphics/cocoa/FontCocoa.mm:
835         (WebCore::Font::platformInit): Use functions from OpenTypeCG.
836         (WebCore::fontHasMathTable): Deleted.
837         * platform/graphics/ios/FontServicesIOS.mm:
838         (WebCore::FontServicesIOS::FontServicesIOS): Use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
839         * platform/graphics/opentype/OpenTypeCG.h: Added.
840         * platform/graphics/opentype/OpenTypeCG.cpp: Added.
841         (WebCore::OpenType::fontHasMathTable): Move this code from FontCocoa.mm.
842         (WebCore::OpenType::readShortFromTable): Inline function to read a 16-bit big endian integer from the OS/2 table and to cast it into a short integer.
843         (WebCore::OpenType::tryGetTypoMetrics): Move this code from FontCocoa.mm.
844         * platform/graphics/opentype/OpenTypeTypes.h: Add missing Glyph.h header needed by TableWithCoverage::getCoverageIndex.
845         * platform/graphics/win/SimpleFontDataCGWin.cpp:
846         (WebCore::Font::platformInit): Use functions from OpenTypeCG.
847
848 2015-11-04  Chris Dumez  <cdumez@apple.com>
849
850         Regression(r191652): Colloquy doesn’t render any chat content
851         https://bugs.webkit.org/show_bug.cgi?id=150861
852         <rdar://problem/23381007>
853
854         Reviewed by Antti Koivisto.
855
856         Do a partial revert of r191652 as this web-exposed behavior change
857         broke Colloquy app. This only reverts the code change, the tests
858         are left as is so that they don't rely of the frame ID setting the
859         Window name.
860
861         * html/HTMLFrameElementBase.cpp:
862         (WebCore::HTMLFrameElementBase::parseAttribute):
863         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
864
865 2015-11-03  Brady Eidson  <beidson@apple.com>
866
867         Modern IDB: Fill out IDBIndex, create MemoryIndex in backing store.
868         https://bugs.webkit.org/show_bug.cgi?id=150868
869
870         Reviewed by Alex Christensen.
871
872         Tests: storage/indexeddb/modern/create-index-failures.html
873                storage/indexeddb/modern/get-index-failures.html
874                storage/indexeddb/modern/idbindex-properties-basic.html
875
876         Note: The MemoryIndex in the backing store doesn't actually do anything yet.
877         
878         That's coming next.
879     
880         * CMakeLists.txt:
881         * WebCore.xcodeproj/project.pbxproj:
882
883         * Modules/indexeddb/IDBIndex.h:
884
885         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
886         (WebCore::IDBClient::IDBConnectionToServer::createIndex):
887         (WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):
888         * Modules/indexeddb/client/IDBConnectionToServer.h:
889         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
890
891         * Modules/indexeddb/client/IDBCursorWithValueImpl.h:
892
893         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
894         (WebCore::IDBClient::IDBDatabase::didCreateIndexInfo):
895         * Modules/indexeddb/client/IDBDatabaseImpl.h:
896
897         * Modules/indexeddb/client/IDBIndexImpl.cpp:
898         (WebCore::IDBClient::IDBIndex::create):
899         (WebCore::IDBClient::IDBIndex::IDBIndex):
900         (WebCore::IDBClient::IDBIndex::objectStore):
901         (WebCore::IDBClient::IDBIndex::keyPathAny):
902         (WebCore::IDBClient::IDBIndex::openCursor):
903         (WebCore::IDBClient::IDBIndex::count):
904         (WebCore::IDBClient::IDBIndex::openKeyCursor):
905         (WebCore::IDBClient::IDBIndex::get):
906         (WebCore::IDBClient::IDBIndex::getKey):
907         * Modules/indexeddb/client/IDBIndexImpl.h:
908
909         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
910         (WebCore::IDBClient::IDBObjectStore::createIndex):
911         (WebCore::IDBClient::IDBObjectStore::index):
912         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
913
914         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
915         (WebCore::IDBClient::IDBTransaction::createObjectStore):
916         (WebCore::IDBClient::IDBTransaction::createIndex):
917         (WebCore::IDBClient::IDBTransaction::createIndexOnServer):
918         (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):
919         * Modules/indexeddb/client/IDBTransactionImpl.h:
920
921         * Modules/indexeddb/legacy/LegacyIndex.h:
922
923         * Modules/indexeddb/server/IDBBackingStore.h:
924
925         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
926         (WebCore::IDBServer::IDBConnectionToClient::didCreateIndex):
927         * Modules/indexeddb/server/IDBConnectionToClient.h:
928         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
929
930         * Modules/indexeddb/server/IDBServer.cpp:
931         (WebCore::IDBServer::IDBServer::createIndex):
932         * Modules/indexeddb/server/IDBServer.h:
933
934         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
935         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewIndex):
936         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingIndex):
937         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
938
939         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
940         (WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
941         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
942
943         * Modules/indexeddb/server/MemoryIndex.cpp: Added.
944         (WebCore::IDBServer::MemoryIndex::create):
945         (WebCore::IDBServer::MemoryIndex::MemoryIndex):
946         (WebCore::IDBServer::MemoryIndex::~MemoryIndex):
947         * Modules/indexeddb/server/MemoryIndex.h: Added.
948         (WebCore::IDBServer::MemoryIndex::info):
949
950         * Modules/indexeddb/server/MemoryObjectStore.cpp:
951         (WebCore::IDBServer::MemoryObjectStore::createIndex):
952         (WebCore::IDBServer::MemoryObjectStore::registerIndex):
953         (WebCore::IDBServer::MemoryObjectStore::unregisterIndex):
954         * Modules/indexeddb/server/MemoryObjectStore.h:
955
956         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
957         (WebCore::IDBServer::UniqueIDBDatabase::createIndex):
958         (WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
959         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):
960         * Modules/indexeddb/server/UniqueIDBDatabase.h:
961
962         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
963         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):
964         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
965
966         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
967         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
968         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
969
970         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
971         (WebCore::IDBDatabaseInfo::getInfoForExistingObjectStore):
972         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
973         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
974
975         * Modules/indexeddb/shared/IDBIndexInfo.cpp:
976         (WebCore::IDBIndexInfo::IDBIndexInfo):
977         (WebCore::IDBIndexInfo::isolatedCopy):
978         * Modules/indexeddb/shared/IDBIndexInfo.h:
979         (WebCore::IDBIndexInfo::identifier):
980         (WebCore::IDBIndexInfo::objectStoreIdentifier):
981
982         * Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
983         (WebCore::IDBObjectStoreInfo::createNewIndex):
984         (WebCore::IDBObjectStoreInfo::addExistingIndex):
985         (WebCore::IDBObjectStoreInfo::hasIndex):
986         (WebCore::IDBObjectStoreInfo::infoForExistingIndex):
987         (WebCore::IDBObjectStoreInfo::isolatedCopy):
988         * Modules/indexeddb/shared/IDBObjectStoreInfo.h:
989
990         * Modules/indexeddb/shared/IDBResultData.cpp:
991         (WebCore::IDBResultData::createIndexSuccess):
992         * Modules/indexeddb/shared/IDBResultData.h:
993
994         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
995         (WebCore::InProcessIDBServer::didCreateIndex):
996         (WebCore::InProcessIDBServer::createIndex):
997         * Modules/indexeddb/shared/InProcessIDBServer.h:
998
999         * bindings/js/JSIDBObjectStoreCustom.cpp:
1000         (WebCore::JSIDBObjectStore::createIndex):
1001
1002         * platform/CrossThreadCopier.cpp:
1003         (WebCore::IDBIndexInfo>::copy):
1004         * platform/CrossThreadCopier.h:
1005
1006 2015-11-03  Andy Estes  <aestes@apple.com>
1007
1008         [Cocoa] Only query for kMGQDeviceName on iOS
1009         https://bugs.webkit.org/show_bug.cgi?id=150858
1010
1011         Reviewed by Brent Fulgham.
1012
1013         * platform/ios/Device.cpp:
1014         (WebCore::deviceName): On non-iOS platorms, just return "iPhone" as the device name.
1015
1016 2015-11-03  Geoffrey Garen  <ggaren@apple.com>
1017
1018         Provide a way to turn off const in WebKit2.
1019
1020         Reviewed by Sam Weinig.
1021
1022         * bindings/js/JSDOMWindowBase.cpp:
1023         (WebCore::JSDOMWindowBase::commonVM):
1024         * page/Settings.h:
1025         (WebCore::Settings::shouldUseHighResolutionTimers):
1026         (WebCore::Settings::shouldRewriteConstAsVar):
1027         (WebCore::Settings::setShouldRewriteConstAsVar):
1028         (WebCore::Settings::backgroundShouldExtendBeyondPage):
1029
1030 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1031
1032         Web Inspector: Remove duplication among ScriptDebugServer subclasses
1033         https://bugs.webkit.org/show_bug.cgi?id=150860
1034
1035         Reviewed by Timothy Hatcher.
1036
1037         Refactoring covered by existing tests.
1038
1039         * bindings/js/WorkerScriptDebugServer.cpp:
1040         (WebCore::WorkerScriptDebugServer::attachDebugger):
1041         (WebCore::WorkerScriptDebugServer::detachDebugger):
1042         (WebCore::WorkerScriptDebugServer::addListener): Deleted.
1043         (WebCore::WorkerScriptDebugServer::removeListener): Deleted.
1044         * bindings/js/WorkerScriptDebugServer.h:
1045         * inspector/PageDebuggerAgent.cpp:
1046         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): Deleted.
1047         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): Deleted.
1048         * inspector/PageDebuggerAgent.h:
1049         * inspector/PageScriptDebugServer.cpp:
1050         (WebCore::PageScriptDebugServer::attachDebugger):
1051         (WebCore::PageScriptDebugServer::detachDebugger):
1052         (WebCore::PageScriptDebugServer::addListener): Deleted.
1053         (WebCore::PageScriptDebugServer::removeListener): Deleted.
1054         * inspector/PageScriptDebugServer.h:
1055         * inspector/WorkerDebuggerAgent.cpp:
1056         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): Deleted.
1057         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): Deleted.
1058         * inspector/WorkerDebuggerAgent.h:
1059
1060 2015-11-03  Jiewen Tan  <jiewen_tan@apple.com>
1061
1062         Null dereference loading Blink layout test scrollbars/custom-scrollbar-appearance-property.html
1063         https://bugs.webkit.org/show_bug.cgi?id=149312
1064         <rdar://problem/22748910>
1065
1066         Reviewed by Darin Adler.
1067
1068         This is a merge from Blink r167503:
1069         https://codereview.chromium.org/173433002
1070
1071         Test: scrollbars/custom-scrollbar-appearance-property.html
1072
1073         * rendering/RenderThemeMac.mm:
1074         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1075         (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
1076
1077 2015-11-03  Andreas Kling  <akling@apple.com>
1078
1079         ResourceUsageOverlay should show GC-owned malloc memory.
1080         <https://webkit.org/b/150846>
1081
1082         Reviewed by Anders Carlsson.
1083
1084         Add a memory category for GC-owned malloc memory. This carves a significant chunk off of
1085         the gigantic "bmalloc" mystery slice.
1086
1087         * page/ResourceUsageOverlay.h:
1088         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1089         (WebCore::drawMemoryPie):
1090         (WebCore::ResourceUsageOverlay::draw):
1091         (WebCore::runSamplerThread):
1092
1093 2015-11-03  Saam barati  <sbarati@apple.com>
1094
1095         Rewrite "const" as "var" for iTunes/iBooks on the Mac
1096         https://bugs.webkit.org/show_bug.cgi?id=150852
1097
1098         Reviewed by Geoffrey Garen.
1099
1100         * bindings/js/JSDOMWindowBase.cpp:
1101         (WebCore::JSDOMWindowBase::commonVM):
1102
1103 2015-10-30  Jon Honeycutt  <jhoneycutt@apple.com>
1104
1105         Implement support for the autocomplete attribute
1106         https://bugs.webkit.org/show_bug.cgi?id=150731
1107         rdar://problem/21078968
1108
1109         The autocomplete attribute is defined by
1110         https://html.spec.whatwg.org/multipage/forms.html#autofill.
1111
1112         Reviewed by Brent Fulgham.
1113
1114         Test: fast/forms/autocomplete-tokens.html
1115
1116         * html/HTMLFormControlElement.cpp:
1117         (WebCore::isContactToken):
1118         Return true if this is a contact token.
1119         (WebCore::categoryForAutofillFieldToken):
1120         Adds all of the autofill field tokens to a map, and returns the
1121         category for a given token.
1122         (WebCore::maxTokensForAutofillFieldCategory):
1123         Return the maximum number of tokens an autofill category supports.
1124         (WebCore::HTMLFormControlElement::parseAutocompleteAttribute):
1125         Implement the processing model defined in
1126         https://html.spec.whatwg.org/multipage/forms.html#processing-model-3
1127         with respect to the IDL-exposed autofill value.
1128         (WebCore::HTMLFormControlElement::setAutocomplete):
1129         Set the autocomplete attribute to the given string.
1130
1131         * html/HTMLFormControlElement.h:
1132         Declare setAutocomplete() and autocomplete().
1133
1134         * html/HTMLInputElement.idl:
1135         Remove the Reflect attribute. We now have custom processing for getting
1136         this attribute.
1137
1138         * html/HTMLSelectElement.idl:
1139         Declare the autocomplete attribute.
1140
1141         * html/HTMLTextAreaElement.idl:
1142         Ditto.
1143
1144 2015-11-03  Brady Eidson  <beidson@apple.com>
1145
1146         Modern IDB: Land empty IDBCursor/Index IDL implementations.
1147         https://bugs.webkit.org/show_bug.cgi?id=150839
1148
1149         Reviewed by Alex Christensen.
1150
1151         No new tests (No change in behavior).
1152
1153         * CMakeLists.txt:
1154         * WebCore.xcodeproj/project.pbxproj:
1155
1156         * Modules/indexeddb/IDBIndex.h:
1157         
1158         * Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
1159         (WebCore::IDBClient::IDBCursor::~IDBCursor):
1160         (WebCore::IDBClient::IDBCursor::direction):
1161         (WebCore::IDBClient::IDBCursor::key):
1162         (WebCore::IDBClient::IDBCursor::primaryKey):
1163         (WebCore::IDBClient::IDBCursor::value):
1164         (WebCore::IDBClient::IDBCursor::source):
1165         (WebCore::IDBClient::IDBCursor::update):
1166         (WebCore::IDBClient::IDBCursor::advance):
1167         (WebCore::IDBClient::IDBCursor::continueFunction):
1168         (WebCore::IDBClient::IDBCursor::deleteFunction):
1169         * Modules/indexeddb/client/IDBCursorImpl.h: Added.
1170         
1171         * Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
1172         * Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
1173         
1174         * Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
1175         (WebCore::IDBClient::IDBIndex::~IDBIndex):
1176         (WebCore::IDBClient::IDBIndex::name):
1177         (WebCore::IDBClient::IDBIndex::objectStore):
1178         (WebCore::IDBClient::IDBIndex::keyPathAny):
1179         (WebCore::IDBClient::IDBIndex::keyPath):
1180         (WebCore::IDBClient::IDBIndex::unique):
1181         (WebCore::IDBClient::IDBIndex::multiEntry):
1182         (WebCore::IDBClient::IDBIndex::openCursor):
1183         (WebCore::IDBClient::IDBIndex::count):
1184         (WebCore::IDBClient::IDBIndex::openKeyCursor):
1185         (WebCore::IDBClient::IDBIndex::get):
1186         (WebCore::IDBClient::IDBIndex::getKey):
1187         * Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
1188         
1189         * Modules/indexeddb/legacy/LegacyIndex.h:
1190         (WebCore::LegacyIndex::id):
1191         
1192         * Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
1193         * Modules/indexeddb/shared/IDBIndexInfo.h: Added.
1194         (WebCore::IDBIndexInfo::name):
1195         (WebCore::IDBIndexInfo::keyPath):
1196         (WebCore::IDBIndexInfo::unique):
1197         (WebCore::IDBIndexInfo::multiEntry):
1198
1199 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
1200
1201         Addressing post-review comments on r191934.
1202
1203         Unreviewed.
1204
1205         * platform/graphics/mac/FontCustomPlatformData.cpp:
1206         (WebCore::FontCustomPlatformData::supportsFormat):
1207
1208 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1209
1210         Web Inspector: Move ScriptDebugServer::Task to WorkerScriptDebugServer where it is actually used
1211         https://bugs.webkit.org/show_bug.cgi?id=150847
1212
1213         Reviewed by Timothy Hatcher.
1214
1215         * bindings/js/WorkerScriptDebugServer.cpp:
1216         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
1217         * bindings/js/WorkerScriptDebugServer.h:
1218         * inspector/WorkerDebuggerAgent.cpp:
1219
1220 2015-11-03  Tim Horton  <timothy_horton@apple.com>
1221
1222         Fix the build.
1223
1224         * platform/Widget.h:
1225         (WebCore::Widget::boundsRect):
1226         (WebCore::Widget::resize):
1227
1228 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
1229
1230         font-variant-* properties in @font-face declarations should be honored
1231         https://bugs.webkit.org/show_bug.cgi?id=149771
1232
1233         Reviewed by Simon Fraser.
1234
1235         According to the CSS Fonts Level 3 spec, web authors are allowed to put
1236         font-feature-settings / font-variant-* inside @font-face blocks. These
1237         properties are supposed to be applied at a specific time during the
1238         font selection algorithm.
1239
1240         This patch gives a FontFeatureSettings object and a FontVariantSettings
1241         object to CSSFontFace, and moves common parsing logic from
1242         StyleBuilderCustom to a shared location. Then, once the two properties
1243         are parsed from the @font-face block, the relevant data structures are
1244         passed down into the font selection algorithm. This algorithm then
1245         consults with these values at the correct time (inside
1246         preparePlatformFont()).
1247
1248         Tests: css3/font-feature-settings-font-face-rendering.html
1249                css3/font-variant-font-face-all.html
1250                css3/font-variant-font-face-override.html
1251
1252         * WebCore.xcodeproj/project.pbxproj: Add a header for the common
1253         location of parsing font-variant-ligatures, font-variant-numeric,
1254         and font-variant-east-asian.
1255         * css/CSSFontFace.cpp:
1256         (WebCore::CSSFontFace::font): Pass the relevant data structures
1257         into the font selection algorithm.
1258         * css/CSSFontFace.h: Add FontFeatureSettings and FontVariantSettings
1259         member variables.
1260         (WebCore::CSSFontFace::insertFeature):
1261         (WebCore::CSSFontFace::setVariantCommonLigatures):
1262         (WebCore::CSSFontFace::setVariantDiscretionaryLigatures):
1263         (WebCore::CSSFontFace::setVariantHistoricalLigatures):
1264         (WebCore::CSSFontFace::setVariantContextualAlternates):
1265         (WebCore::CSSFontFace::setVariantPosition):
1266         (WebCore::CSSFontFace::setVariantCaps):
1267         (WebCore::CSSFontFace::setVariantNumericFigure):
1268         (WebCore::CSSFontFace::setVariantNumericSpacing):
1269         (WebCore::CSSFontFace::setVariantNumericFraction):
1270         (WebCore::CSSFontFace::setVariantNumericOrdinal):
1271         (WebCore::CSSFontFace::setVariantNumericSlashedZero):
1272         (WebCore::CSSFontFace::setVariantAlternates):
1273         (WebCore::CSSFontFace::setVariantEastAsianVariant):
1274         (WebCore::CSSFontFace::setVariantEastAsianWidth):
1275         (WebCore::CSSFontFace::setVariantEastAsianRuby):
1276         * css/CSSFontFaceSource.cpp:
1277         (WebCore::CSSFontFaceSource::font): Pass the relevant data
1278         structures into the font selection algorithm.
1279         * css/CSSFontFaceSource.h: Ditto.
1280         * css/CSSFontSelector.cpp:
1281         (WebCore::CSSFontSelector::addFontFaceRule): Call the shared
1282         parsing logic to populate the FontFeatureSettings and
1283         FontVariantSettings members.
1284         * css/FontVariantBuilder.h: Added. Destination for shared parsing
1285         logic.
1286         (WebCore::applyValueFontVariantLigatures):
1287         (WebCore::applyValueFontVariantNumeric):
1288         (WebCore::applyValueFontVariantEastAsian):
1289         * css/StyleBuilderCustom.h: Source for shared parsing logic.
1290         (WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
1291         (WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
1292         (WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
1293         * loader/cache/CachedFont.cpp: Pass the relevant data structures
1294         into the font selection algorithm.
1295         (WebCore::CachedFont::createFont):
1296         (WebCore::CachedFont::platformDataFromCustomData):
1297         * loader/cache/CachedFont.h: Ditto.
1298         * loader/cache/CachedSVGFont.cpp: Ditto.
1299         (WebCore::CachedSVGFont::createFont):
1300         (WebCore::CachedSVGFont::platformDataFromCustomData):
1301         * loader/cache/CachedSVGFont.h: Ditto.
1302         * platform/graphics/FontCache.h: Ditto.
1303         * platform/graphics/FontCascade.cpp:
1304         (WebCore::FontCascade::codePath): Adjust comment.
1305         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1306         (WebCore::preparePlatformFont): Consult with the newly parsed values.
1307         (WebCore::fontWithFamily): Pass the relevant data structures into the
1308         font selection algorithm.
1309         (WebCore::FontCache::systemFallbackForCharacters): Ditto.
1310         * platform/graphics/mac/FontCustomPlatformData.cpp:
1311         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
1312         * platform/graphics/mac/FontCustomPlatformData.h: Ditto.
1313
1314 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1315
1316         Web Inspector: Handle or Remove ParseHTML Timeline Event Records
1317         https://bugs.webkit.org/show_bug.cgi?id=150689
1318
1319         Reviewed by Timothy Hatcher.
1320
1321         Remove ParseHTML nesting recordings. We were not using them
1322         and for most pages their self-time is very small in comparison
1323         to other events. We may consider adding it back later for
1324         UI purposes but for now the frontend doesn't use the records
1325         so lets remove it.
1326
1327         * html/parser/HTMLDocumentParser.cpp:
1328         (WebCore::HTMLDocumentParser::pumpTokenizer): Deleted.
1329         * inspector/InspectorInstrumentation.cpp:
1330         (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
1331         (WebCore::InspectorInstrumentation::didWriteHTMLImpl): Deleted.
1332         * inspector/InspectorInstrumentation.h:
1333         (WebCore::InspectorInstrumentation::willWriteHTML): Deleted.
1334         (WebCore::InspectorInstrumentation::didWriteHTML): Deleted.
1335         * inspector/InspectorTimelineAgent.cpp:
1336         (WebCore::InspectorTimelineAgent::willWriteHTML): Deleted.
1337         (WebCore::InspectorTimelineAgent::didWriteHTML): Deleted.
1338         (WebCore::toProtocol): Deleted.
1339         * inspector/InspectorTimelineAgent.h:
1340         * inspector/TimelineRecordFactory.cpp:
1341         (WebCore::TimelineRecordFactory::createParseHTMLData): Deleted.
1342         * inspector/TimelineRecordFactory.h:
1343
1344 2015-11-03  Keith Rollin  <krollin@apple.com>
1345
1346         HTMLOptionElement.text should never return the value of label
1347         https://bugs.webkit.org/show_bug.cgi?id=148862
1348         rdar://problem/22589226
1349
1350         Reviewed by Darin Adler.
1351
1352         According to the HTML spec, `option` elements should have the
1353         following behavior:
1354
1355             - the `text` property should return text contents of element
1356             - the `label` property should return value of label attribute if
1357               it exists, else return text property
1358             - the UI should display label property
1359
1360         12 years ago, in order to be compatibile with browsers of the time, we
1361         diverged from this behavior: the text property behaved like the label
1362         property, and the text property was used for display. This resulted in
1363         our UI incidentally conforming to the spec, but also in the text
1364         property *not* conforming to the spec. See <rdar://problem/3532519>
1365         for discussion on this change.
1366
1367         The behavior of the browsers we were conforming to has changed. In
1368         particular, the text property in Firefox now conforms to the spec
1369         instead of behaving as we did. Therefore, it's less important to
1370         retain our old behavior for the sake of compatibility. This check-in
1371         brings us into conformance with the spec. The result is that the UI
1372         stays the same, but the text property will return different values than
1373         it used to if the option element has a label attribute that used to
1374         hide it.
1375
1376         Updated tests:
1377         - fast/dom/HTMLOptionElement/option-text.html:
1378         - fast/forms/HTMLOptionElement_label01.html:
1379         - fast/forms/HTMLOptionElement_label02.html:
1380         - fast/forms/HTMLOptionElement_label03.html:
1381         - fast/forms/HTMLOptionElement_label04.html:
1382         - fast/forms/HTMLOptionElement_label05.html:
1383         - fast/forms/HTMLOptionElement_label06.html:
1384         - fast/forms/HTMLOptionElement_label07.html:
1385         - fast/forms/option-value-and-label.html:
1386
1387         * accessibility/AccessibilityListBoxOption.cpp:
1388         (WebCore::AccessibilityListBoxOption::stringValue):
1389         * accessibility/AccessibilityMenuListOption.cpp:
1390         (WebCore::AccessibilityMenuListOption::stringValue):
1391         * html/HTMLOptionElement.cpp:
1392         (WebCore::HTMLOptionElement::text):
1393         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
1394
1395 2015-11-03  Andreas Kling  <akling@apple.com>
1396
1397         ResourceUsageOverlay should draw itself using WebCore::GraphicsContext.
1398         <https://webkit.org/b/150841>
1399
1400         Reviewed by Antti Koivisto.
1401
1402         Use WebCore text drawing primitives instead of poking at the CGContext directly.
1403         And stop using deprecated CoreGraphics APIs, too.
1404
1405         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1406         (WebCore::drawCpuHistory):
1407         (WebCore::drawGCHistory):
1408
1409             Adjust for unflipped Y axis.
1410
1411         (WebCore::fontCascade):
1412         (WebCore::showText):
1413
1414             Draw using WebCore text drawing primitives.
1415
1416         (WebCore::ResourceUsageOverlay::draw):
1417
1418             Remove CGContext calls and stop flipping the Y axis.
1419
1420 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1421
1422         [Streams API] Vended promise capabilities should not need @resolve/@reject fields
1423         https://bugs.webkit.org/show_bug.cgi?id=150835
1424
1425         Reviewed by Darin Adler.
1426
1427         No change in behavior, covered by existing tests.
1428
1429         * Modules/streams/ReadableStreamInternals.js:
1430         (privateInitializeReadableStreamReader): Removed @resolve/@reject fields from resolved/rejected @closedPromiseCapability.
1431         * Modules/streams/WritableStream.js:
1432         (initializeWritableStream): Removed @resolve/@reject fields from resolved readyPromiseCapability.
1433         * Modules/streams/WritableStreamInternals.js:
1434         (syncWritableStreamStateWithQueue): Updated code to be closer to spec and removing the need to resolve an already resolved promise.
1435
1436 2015-11-03  Hunseop Jeong  <hs85.jeong@samsung.com>
1437
1438         Replace 0 and NULL with nullptr in WebCore/dom.
1439         https://bugs.webkit.org/show_bug.cgi?id=150788
1440
1441         Reviewed by Darin Adler.
1442
1443         No new tests because there is no behavior change.
1444
1445         * dom/Attr.cpp:
1446         (WebCore::Attr::Attr):
1447         (WebCore::Attr::detachFromElementWithValue):
1448         (WebCore::Attr::attachToElement):
1449         * dom/Attr.h:
1450         * dom/CheckedRadioButtons.cpp:
1451         (WebCore::RadioButtonGroup::updateCheckedState):
1452         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
1453         (WebCore::CheckedRadioButtons::isInRequiredGroup):
1454         * dom/ChildListMutationScope.cpp:
1455         (WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
1456         * dom/ContainerNode.cpp:
1457         (WebCore::ContainerNode::removeBetween):
1458         * dom/ContainerNode.h:
1459         (WebCore::ContainerNode::ContainerNode):
1460         * dom/ContainerNodeAlgorithms.cpp:
1461         (WebCore::notifyNodeRemovedFromDocument):
1462         * dom/Document.h:
1463         (WebCore::Document::wellFormed):
1464         (WebCore::Document::scriptRunner):
1465         (WebCore::Document::moduleLoader):
1466         (WebCore::Document::currentScript):
1467         (WebCore::Document::webkitFullscreenElement):
1468         * dom/DocumentOrderedMap.h:
1469         (WebCore::DocumentOrderedMap::MapEntry::MapEntry):
1470         * dom/DocumentParser.cpp:
1471         (WebCore::DocumentParser::detach):
1472         (WebCore::DocumentParser::suspendScheduledTasks):
1473         * dom/Element.cpp:
1474         (WebCore::Element::setAttributeInternal):
1475         (WebCore::Element::shadowRoot):
1476         (WebCore::Element::blur):
1477         (WebCore::Element::beforePseudoElement):
1478         (WebCore::Element::afterPseudoElement):
1479         (WebCore::Element::setBeforePseudoElement):
1480         * dom/Event.cpp:
1481         (WebCore::Event::Event):
1482         * dom/Event.h:
1483         (WebCore::Event::legacyReturnValue):
1484         (WebCore::Event::setLegacyReturnValue):
1485         (WebCore::Event::clipboardData):
1486         * dom/EventContext.cpp:
1487         (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):
1488         * dom/EventDispatcher.cpp:
1489         (WebCore::EventPath::lastContextIfExists):
1490         (WebCore::EventDispatcher::dispatchEvent):
1491         * dom/EventListenerMap.cpp:
1492         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1493         (WebCore::EventListenerIterator::EventListenerIterator):
1494         * dom/EventListenerMap.h:
1495         * dom/EventTarget.cpp:
1496         (WebCore::EventTarget::fireEventListeners):
1497         * dom/FocusEvent.cpp:
1498         (WebCore::FocusEventInit::FocusEventInit):
1499         * dom/GenericEventQueue.cpp:
1500         (WebCore::GenericEventQueue::enqueueEvent):
1501         * dom/IdTargetObserverRegistry.h:
1502         (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
1503         (WebCore::IdTargetObserverRegistry::notifyObservers):
1504         * dom/IgnoreDestructiveWriteCountIncrementer.h:
1505         (WebCore::IgnoreDestructiveWriteCountIncrementer::IgnoreDestructiveWriteCountIncrementer):
1506         * dom/MessageEvent.cpp:
1507         (WebCore::MessageEvent::MessageEvent):
1508         * dom/MessageEvent.h:
1509         * dom/MessagePort.cpp:
1510         (WebCore::MessagePort::contextDestroyed):
1511         (WebCore::MessagePort::dispatchMessages):
1512         (WebCore::MessagePort::locallyEntangledPort):
1513         (WebCore::MessagePort::disentanglePorts):
1514         * dom/MouseEvent.cpp:
1515         (WebCore::MouseEventInit::MouseEventInit):
1516         (WebCore::MouseEvent::cloneFor):
1517         * dom/MouseEvent.h:
1518         (WebCore::MouseEvent::dataTransfer):
1519         * dom/MouseRelatedEvent.cpp:
1520         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1521         (WebCore::MouseRelatedEvent::computeRelativePosition):
1522         * dom/MutationEvent.h:
1523         * dom/Node.cpp:
1524         (WebCore::Node::nodeLists):
1525         (WebCore::Node::clearNodeLists):
1526         (WebCore::Node::nonShadowBoundaryParentNode):
1527         (WebCore::Node::parentOrShadowHostElement):
1528         * dom/Node.h:
1529         * dom/NodeRareData.h:
1530         (WebCore::NodeListsNodeData::removeCachedCollection):
1531         (WebCore::NodeListsNodeData::isEmpty):
1532         * dom/PendingScript.cpp:
1533         (WebCore::PendingScript::releaseElementAndClear):
1534         * dom/PopStateEvent.cpp:
1535         (WebCore::PopStateEvent::PopStateEvent):
1536         * dom/Position.h:
1537         (WebCore::Position::deprecatedNode):
1538         (WebCore::Position::document):
1539         (WebCore::Position::rootEditableElement):
1540         * dom/PositionIterator.cpp:
1541         (WebCore::PositionIterator::decrement):
1542         * dom/PositionIterator.h:
1543         (WebCore::PositionIterator::PositionIterator):
1544         * dom/ProcessingInstruction.cpp:
1545         (WebCore::ProcessingInstruction::ProcessingInstruction):
1546         (WebCore::ProcessingInstruction::checkStyleSheet):
1547         (WebCore::ProcessingInstruction::parseStyleSheet):
1548         * dom/ProcessingInstruction.h:
1549         * dom/RangeBoundaryPoint.h:
1550         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
1551         * dom/ScriptElement.cpp:
1552         (WebCore::ScriptElement::ScriptElement):
1553         (WebCore::ScriptElement::stopLoadRequest):
1554         (WebCore::ScriptElement::notifyFinished):
1555         (WebCore::ScriptElement::ignoresLoadRequest):
1556         * dom/ScriptedAnimationController.h:
1557         (WebCore::ScriptedAnimationController::create):
1558         (WebCore::ScriptedAnimationController::clearDocumentPointer):
1559         * dom/StyledElement.cpp:
1560         (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
1561         (WebCore::StyledElement::addSubresourceAttributeURLs):
1562         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1563         * dom/StyledElement.h:
1564         (WebCore::StyledElement::additionalPresentationAttributeStyle):
1565         (WebCore::StyledElement::inlineStyle):
1566         * dom/TemplateContentDocumentFragment.h:
1567         * dom/TextEvent.cpp:
1568         (WebCore::TextEvent::TextEvent):
1569         * dom/UIEvent.cpp:
1570         (WebCore::UIEventInit::UIEventInit):
1571         * dom/UserTypingGestureIndicator.cpp:
1572         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
1573         (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
1574         * dom/ViewportArguments.cpp:
1575         (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
1576         (WebCore::numericPrefix):
1577         * dom/default/PlatformMessagePortChannel.cpp:
1578         (WebCore::MessagePortChannel::disentangle):
1579         (WebCore::MessagePortChannel::postMessageToRemote):
1580         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
1581         * dom/default/PlatformMessagePortChannel.h:
1582
1583 2015-11-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1584
1585         Tapping *below* some <input>s can focus them in Mobile Safari
1586         https://bugs.webkit.org/show_bug.cgi?id=146244
1587         <rdar://problem/21509310>
1588
1589         Reviewed by Darin Adler.
1590
1591         Removes iOS-specific logic in positionForPointRespectingEditingBoundaries that was causing us to focus inputs by
1592         tapping on the document element. We believe this logic, which causes VisiblePosition finding to recurse from a non-
1593         editable element to an editable child, is not necessary to focus editable elements underneath non-editable elements,
1594         since hit-testing will already have selected the contentEditable element prior to searching for a suitable
1595         VisiblePosition. Further investigation shows that this logic was added to fix <rdar://problem/5545799>, in which the
1596         first character in a Notes document could not be selected. However, I have not been able to reproduce this bug after
1597         removing this logic.
1598
1599         As a result of this change, we can also enable a WK1 test, editing/selection/click-outside-editable-div.html, that
1600         had also been marked as failing due to positionForPointRespectingEditingBoundaries recursing into a contentEditable
1601         div.
1602
1603         Test: fast/events/ios/clicking-document-should-not-trigger-focus.html
1604
1605         * rendering/RenderBlock.cpp:
1606         (WebCore::positionForPointRespectingEditingBoundaries): Deleted.
1607
1608 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
1609
1610         Update to match text-orientation spec
1611         https://bugs.webkit.org/show_bug.cgi?id=150765
1612
1613         Reviewed by Darin Adler.
1614
1615         The CSS spec has removed the "sideways-right" value of text-orientation in favor
1616         of "sideways." This patch makes the parser treat "sideways-right" the same as
1617         "sideways."
1618
1619         Test: fast/text/orientation-sideways-right.html
1620
1621         * css/CSSPrimitiveValueMappings.h:
1622         (WebCore::CSSPrimitiveValue::operator TextOrientation):
1623         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
1624         * rendering/style/RenderStyle.cpp:
1625         (WebCore::RenderStyle::fontAndGlyphOrientation): Deleted.
1626         * rendering/style/RenderStyleConstants.h:
1627
1628 2015-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1629
1630         [Streams API] Rework promises to use @newPromiseCapability
1631         https://bugs.webkit.org/show_bug.cgi?id=150627
1632
1633         Reviewed by Youenn Fablet.
1634
1635         We are removing the stream promises functions in favor of @newPromiseCapabity which basically provides the same
1636         functionality (keeping the resolve and reject functions without external slots). Slots and variables were
1637         renamed as *PromiseCapability to show that they no longer hold just a promise, but a promise capability.
1638
1639         Internal rework, no new tests needed.
1640
1641         * Modules/streams/ReadableStreamInternals.js:
1642         (privateInitializeReadableStreamReader.this.closedPromiseCapability.resolve):
1643         (privateInitializeReadableStreamReader.this.closedPromiseCapability.reject):
1644         (privateInitializeReadableStreamReader):
1645         (teeReadableStream):
1646         (teeReadableStreamBranch2CancelFunction):
1647         (errorReadableStream):
1648         (closeReadableStreamReader):
1649         (enqueueInReadableStream):
1650         (readFromReadableStreamReader):
1651         * Modules/streams/ReadableStreamReader.js:
1652         (closed):
1653         * Modules/streams/StreamInternals.js:
1654         (createNewStreamsPromise): Deleted.
1655         (resolveStreamsPromise): Deleted.
1656         (rejectStreamsPromise): Deleted.
1657         * Modules/streams/WritableStream.js:
1658         (this.readyPromiseCapability.resolve):
1659         (this.readyPromiseCapability.reject):
1660         (initializeWritableStream):
1661         (close):
1662         (write):
1663         (closed):
1664         (ready):
1665         * Modules/streams/WritableStreamInternals.js:
1666         (syncWritableStreamStateWithQueue):
1667         (errorWritableStream):
1668         * bindings/js/WebCoreBuiltinNames.h:
1669
1670 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1671
1672         Move webkitGetUserMedia to JS Builtin
1673         https://bugs.webkit.org/show_bug.cgi?id=149499
1674
1675         Reviewed by Darin Adler.
1676
1677         Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.
1678
1679         Removed cpp based version.
1680
1681         The js builting implementation checks for argument but does not raise exception when the request is not supported.
1682         The error callback is called instead, in an asynchronous fashion.
1683         The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
1684         This is done afterwards when calling navigator.MediaDevices.@getUserMedia.
1685
1686         Covered by existing and modified tests.
1687
1688         * CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
1689         * DerivedSources.make: Ditto.
1690         * Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
1691         * Modules/mediastream/NavigatorUserMedia.js:
1692         (webkitGetUserMedia):
1693         * Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
1694         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
1695         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
1696         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
1697         * Modules/mediastream/UserMediaRequest.cpp:
1698         * Modules/mediastream/UserMediaRequest.h:
1699         * WebCore.xcodeproj/project.pbxproj:
1700         * bindings/js/JSDOMWindowBase.cpp:
1701         (WebCore::JSDOMWindowBase::finishCreation): Style modifications.
1702         * bindings/js/JSNavigatorCustom.cpp: Removed.
1703         * bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
1704         * bindings/js/WebCoreJSBuiltins.h: Ditto.
1705         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
1706         (WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):
1707
1708 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1709
1710         [GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch
1711         https://bugs.webkit.org/show_bug.cgi?id=150800
1712
1713         Reviewed by Philippe Normand.
1714
1715         This way we would avoid all the GScource + polling mechanism that
1716         GST uses internally to handle messages asynchronously in the main thread.
1717
1718         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1719         (WTF::adoptGRef):
1720         (WTF::refGPtr<GstMessage>):
1721         (WTF::derefGPtr<GstMessage>):
1722         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
1723         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1724         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1725         Initialize the WeakPtr factory.
1726         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1727         reset the GstBus sync handler.
1728         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Make it void.
1729         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Add a
1730         GstBus sync message handler and schedule the messages to the main
1731         thread with RunLoop::main().dispatch().
1732         (WebCore::mediaPlayerPrivateMessageCallback): Deleted.
1733         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1734         (WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Create a WeakPtr.
1735         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1736         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
1737         Handle the need context message that needs to be handled in the
1738         caller thread.
1739         (WebCore::mediaPlayerPrivateNeedContextMessageCallback): Deleted.
1740         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
1741         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Do not
1742         connect to sync-message signal, handleSyncMessage() will be called
1743         to handled messages synchronously.
1744         (WebCore::MediaPlayerPrivateGStreamerBase::handleNeedContextMessage): Deleted.
1745         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1746
1747 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1748
1749         [GStreamer] Cleanup the iradio properties
1750         https://bugs.webkit.org/show_bug.cgi?id=148522
1751
1752         Reviewed by Philippe Normand.
1753
1754         Remove unused icecast code.
1755
1756         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1757         (StreamingClient::handleResponseReceived):
1758         (webKitWebSrcGetProperty): Deleted.
1759         (webKitWebSrcStop): Deleted.
1760
1761 2015-11-02  Keith Rollin  <krollin@apple.com>
1762
1763         input[type=number] does not increment/decrement integers with trailing decimal characters
1764         https://bugs.webkit.org/show_bug.cgi?id=148867
1765         rdar://problem/22589693
1766
1767         Reviewed by Chris Dumez.
1768
1769         Support input[type=number].value attributes of the form "###." (that
1770         is, leading digits with a decimal but no trailing digits). This form
1771         was supported in the setting of the attribute, but not when changing
1772         it through stepUp/Down.
1773
1774         Testing turned up similarly incorrect processing of -.###, so
1775         addressed that, too.
1776
1777         Test: fast/forms/range/input-appearance-range-decimals.html
1778
1779         Updated the following tests:
1780         - fast/forms/number/number-stepup-stepdown-from-renderer.html
1781         - fast/forms/number/number-stepup-stepdown.html
1782         - fast/forms/range/range-stepup-stepdown-from-renderer.html
1783         - fast/forms/range/range-stepup-stepdown.html
1784
1785         * html/InputType.cpp:
1786         (WebCore::InputType::stepUpFromRenderer):
1787         * platform/Decimal.cpp:
1788         (WebCore::Decimal::fromString):
1789
1790 2015-11-02  Jiewen Tan  <jiewen_tan@apple.com>
1791
1792         Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
1793         https://bugs.webkit.org/show_bug.cgi?id=150211
1794         <rdar://problem/23137321>
1795
1796         Reviewed by Alex Christensen.
1797
1798         This is a merge of Blink r188842:
1799         https://codereview.chromium.org/846933002
1800
1801         By setting the backgroundRepeatY property to null it can
1802         happen that accessing that CSS value returns a null pointer.
1803         In that case simply bail out early.
1804
1805         Test: fast/css/background-repeat-null-y-crash.html
1806
1807         * css/StyleProperties.cpp:
1808         (WebCore::StyleProperties::getLayeredShorthandValue):
1809
1810 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
1811
1812         [Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
1813         https://bugs.webkit.org/show_bug.cgi?id=150766
1814
1815         Reviewed by Darin Adler.
1816
1817         The spec has changed the initial value of text-orientation from "vertical-right"
1818         to "mixed." This patch follows this movement, but also keeps the existing
1819         property working (the parser will treat both values the same).
1820
1821         Test: fast/text/vertical-mixed.html
1822
1823         * css/CSSParser.cpp:
1824         (WebCore::CSSParser::parseValue):
1825         * css/CSSPrimitiveValueMappings.h:
1826         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1827         (WebCore::CSSPrimitiveValue::operator TextOrientation):
1828         * css/CSSValueKeywords.in:
1829         * css/StyleResolver.cpp:
1830         (WebCore::checkForOrientationChange):
1831         * platform/graphics/FontCascadeFonts.cpp:
1832         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
1833         * platform/graphics/FontDescription.cpp:
1834         (WebCore::FontDescription::FontDescription):
1835         * platform/graphics/cocoa/FontCascadeCocoa.mm:
1836         (WebCore::FontCascade::fontForCombiningCharacterSequence):
1837         * platform/text/TextFlags.h:
1838         * rendering/style/RenderStyle.cpp:
1839         (WebCore::RenderStyle::getFontAndGlyphOrientation):
1840         * rendering/style/RenderStyle.h:
1841         * rendering/style/RenderStyleConstants.h:
1842         * rendering/style/StyleRareInheritedData.cpp:
1843         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1844         * style/StyleResolveForDocument.cpp:
1845         (WebCore::Style::resolveForDocument):
1846
1847 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
1848
1849         [Cocoa] Support WOFF2
1850         https://bugs.webkit.org/show_bug.cgi?id=150830
1851
1852         Reviewed by Zalan Bujtas.
1853
1854         On platforms which support it, WebKit only needs to recognize WOFF2.
1855
1856         Test: fast/text/woff2.html
1857
1858         * platform/graphics/mac/FontCustomPlatformData.cpp:
1859         (WebCore::FontCustomPlatformData::supportsFormat):
1860
1861 2015-11-02  Nan Wang  <n_wang@apple.com>
1862
1863         AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
1864         https://bugs.webkit.org/show_bug.cgi?id=138566
1865
1866         Reviewed by Chris Fleizach.
1867
1868         Added support for aria-modal attribute on dialog/alertdialog roles.
1869         When modal dialog is displayed, all other contents will be unaccessible.
1870
1871         Tests: accessibility/aria-modal-multiple-dialogs.html
1872                accessibility/aria-modal.html
1873
1874         * accessibility/AXObjectCache.cpp:
1875         (WebCore::AXObjectCache::AXObjectCache):
1876         (WebCore::AXObjectCache::~AXObjectCache):
1877         (WebCore::AXObjectCache::findAriaModalNodes):
1878         (WebCore::AXObjectCache::updateCurrentAriaModalNode):
1879         (WebCore::AXObjectCache::isNodeVisible):
1880         (WebCore::AXObjectCache::ariaModalNode):
1881         (WebCore::AXObjectCache::focusedImageMapUIElement):
1882         (WebCore::AXObjectCache::remove):
1883         (WebCore::AXObjectCache::handleAttributeChanged):
1884         (WebCore::AXObjectCache::handleAriaModalChange):
1885         (WebCore::AXObjectCache::labelChanged):
1886         * accessibility/AXObjectCache.h:
1887         (WebCore::AXObjectCache::handleActiveDescendantChanged):
1888         (WebCore::AXObjectCache::handleAriaExpandedChange):
1889         (WebCore::AXObjectCache::handleAriaRoleChanged):
1890         (WebCore::AXObjectCache::handleAriaModalChange):
1891         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1892         (WebCore::AXObjectCache::handleScrollbarUpdate):
1893         (WebCore::AXObjectCache::handleAttributeChanged):
1894         * accessibility/AccessibilityObject.cpp:
1895         (WebCore::AccessibilityObject::ariaCurrentState):
1896         (WebCore::AccessibilityObject::isAriaModalDescendant):
1897         (WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
1898         (WebCore::AccessibilityObject::hasTagName):
1899         (WebCore::AccessibilityObject::defaultObjectInclusion):
1900         * accessibility/AccessibilityObject.h:
1901         * html/HTMLAttributeNames.in:
1902
1903 2015-11-02  Brady Eidson  <beidson@apple.com>
1904
1905         Modern IDB: IBDObjectStore.delete() support.
1906         https://bugs.webkit.org/show_bug.cgi?id=150784
1907
1908         Reviewed by Alex Christensen.
1909
1910         Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html
1911                storage/indexeddb/modern/idbobjectstore-delete-2.html
1912                storage/indexeddb/modern/idbobjectstore-delete-failures.html
1913
1914         * Modules/indexeddb/IDBKeyRangeData.cpp:
1915         (WebCore::IDBKeyRangeData::isValid):
1916         * Modules/indexeddb/IDBKeyRangeData.h:
1917         
1918         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1919         (WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
1920         (WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
1921         * Modules/indexeddb/client/IDBConnectionToServer.h:
1922         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1923         
1924         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1925         (WebCore::IDBClient::IDBObjectStore::get):
1926         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
1927         
1928         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1929         (WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
1930         (WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
1931         (WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):
1932         * Modules/indexeddb/client/IDBTransactionImpl.h:
1933         
1934         * Modules/indexeddb/server/IDBBackingStore.h:
1935         
1936         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1937         (WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):
1938         * Modules/indexeddb/server/IDBConnectionToClient.h:
1939         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1940         
1941         * Modules/indexeddb/server/IDBServer.cpp:
1942         (WebCore::IDBServer::IDBServer::deleteRecord):
1943         * Modules/indexeddb/server/IDBServer.h:
1944         
1945         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1946         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
1947         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.
1948         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1949         
1950         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1951         (WebCore::IDBServer::MemoryObjectStore::deleteRange):
1952         * Modules/indexeddb/server/MemoryObjectStore.h:
1953         
1954         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1955         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
1956         (WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
1957         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
1958         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):
1959         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1960         
1961         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1962         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
1963         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
1964         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1965         
1966         * Modules/indexeddb/shared/IDBResultData.cpp:
1967         (WebCore::IDBResultData::deleteRecordSuccess):
1968         * Modules/indexeddb/shared/IDBResultData.h:
1969         
1970         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1971         (WebCore::InProcessIDBServer::didDeleteRecord):
1972         (WebCore::InProcessIDBServer::deleteRecord):
1973         * Modules/indexeddb/shared/InProcessIDBServer.h:
1974
1975 2015-11-02  Andy Estes  <aestes@apple.com>
1976
1977         Fix the iOS build again.
1978
1979         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when
1980         AVKit is disabled.
1981
1982 2015-11-02  Tim Horton  <timothy_horton@apple.com>
1983
1984         PDFPlugin should take advantage of threaded scrolling
1985         https://bugs.webkit.org/show_bug.cgi?id=150037
1986
1987         Reviewed by Anders Carlsson.
1988
1989         * page/PageOverlay.cpp:
1990         (WebCore::PageOverlay::PageOverlay):
1991         (WebCore::PageOverlay::setNeedsDisplay):
1992         Don't reset the overlay layer's opacity if we're not animating,
1993         because it's possible the client wants to manage it.
1994
1995         * page/PageOverlayController.cpp:
1996         (WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
1997         Let the overlay itself determine whether it needes synchronous scrolling,
1998         and let PageOverlay clients override the default.
1999
2000         * platform/Widget.h:
2001         (WebCore::Widget::boundsRect):
2002         Export a few useful things.
2003
2004 2015-11-02  Chris Dumez  <cdumez@apple.com>
2005
2006         Regression(r191673): Crash in RunLoopTimer::schedule()
2007         https://bugs.webkit.org/show_bug.cgi?id=150816
2008         <rdar://problem/23335285>
2009
2010         Reviewed by Anders Carlsson.
2011
2012         The crash was happening when the RunLoopTimer would fire during the
2013         call to RunLoopTimer::schedule(), which can happen because we are
2014         calling schedule() from a background thread. In such case, the
2015         timerFired() callback execution would cause |this| to get destroyed.
2016
2017         To avoid this issue, DecodingResultDispatcher is now ref-counted. The
2018         object is ref'd while calling startTimer() so that the object cannot go
2019         away during the execution of this method. Also, we explicitly ref the
2020         object when starting the timer to keep the object alive until the
2021         RunLoopTimer has fired, at which point we explicitely de-ref.
2022
2023         This should handle correctly the cases where the RunLoopTimer fires
2024         during AND after the execution of startTimer().
2025
2026         * platform/network/DataURLDecoder.cpp:
2027         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
2028         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
2029         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
2030
2031 2015-11-02  Andy Estes  <aestes@apple.com>
2032
2033         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
2034         https://bugs.webkit.org/show_bug.cgi?id=150819
2035
2036         Reviewed by Dan Bernstein.
2037
2038         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
2039
2040         * Configurations/Base.xcconfig:
2041
2042 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
2043
2044         [Win] MiniBrowser unable to use WebInspector
2045         https://bugs.webkit.org/show_bug.cgi?id=150810
2046         <rdar://problem/23358514>
2047
2048         Reviewed by Timothy Hatcher.
2049
2050         The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
2051         the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
2052         parsing error in the JS file.
2053         
2054         The solution was to switch from using "COMMAND echo" to use the more cross-platform
2055         compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
2056         escaping properly on all platforms.
2057
2058         * CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
2059
2060 2015-11-02  Zalan Bujtas  <zalan@apple.com>
2061
2062         hasOverflowClip() does not necessarily mean valid layer().
2063         https://bugs.webkit.org/show_bug.cgi?id=150814
2064
2065         Reviewed by Simon Fraser.
2066
2067         Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
2068         that we end up not creating a layer for the overflow clipped content.   
2069
2070         No change in functionality.
2071
2072         * rendering/RenderBlock.cpp:
2073         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2074         (WebCore::RenderBlock::paint):
2075         * rendering/RenderBox.cpp:
2076         (WebCore::RenderBox::styleDidChange):
2077         (WebCore::RenderBox::scrollWidth):
2078         (WebCore::RenderBox::scrollHeight):
2079         (WebCore::RenderBox::scrollLeft):
2080         (WebCore::RenderBox::scrollTop):
2081         (WebCore::RenderBox::setScrollLeft):
2082         (WebCore::RenderBox::setScrollTop):
2083         (WebCore::RenderBox::includeVerticalScrollbarSize):
2084         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2085         (WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
2086         (WebCore::RenderBox::usesCompositedScrolling):
2087
2088 2015-11-02  Alex Christensen  <achristensen@webkit.org>
2089
2090         Fix Mac CMake build after r191904.
2091
2092         * PlatformMac.cmake:
2093         Move SettingsMac.mm to SettingsCocoa.mm.
2094
2095 2015-11-02  Eric Carlson  <eric.carlson@apple.com>
2096
2097         Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
2098         https://bugs.webkit.org/show_bug.cgi?id=146853
2099
2100         Reviewed by Jer Noble.
2101
2102         * Modules/mediastream/MediaStream.cpp:
2103         (WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
2104         (WebCore::MediaStream::activityEventTimerFired): Remove FIXME.
2105
2106         * Modules/mediastream/MediaStreamTrack.cpp:
2107         (WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
2108         (WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
2109         (WebCore::MediaStreamTrack::trackMutedChanged): Ditto.
2110
2111         * html/HTMLMediaElement.cpp:
2112         (WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
2113         (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
2114         (WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
2115         (WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
2116         (WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
2117         (WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
2118         (WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
2119         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration
2120           is not definite. Send ended event when MediaStream says stream has ended.
2121
2122         * platform/graphics/MediaPlayer.cpp:
2123         (WebCore::MediaPlayer::ended): New, passthrough to engine.
2124         * platform/graphics/MediaPlayer.h:
2125         * platform/graphics/MediaPlayerPrivate.h:
2126
2127         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2128         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2129         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
2130         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
2131         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
2132         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
2133         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused
2134           image if the stream isn't active.
2135         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
2136         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
2137         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.
2138
2139         * platform/mediastream/MediaStreamPrivate.cpp:
2140         (WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will
2141           be updated if necessary.
2142
2143         * platform/mediastream/RealtimeMediaSource.cpp:
2144         (WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.
2145
2146 2015-10-31  Andy Estes  <aestes@apple.com>
2147
2148         Replace iOS-only WebKitSystemInterface calls with SPI
2149         https://bugs.webkit.org/show_bug.cgi?id=150763
2150
2151         Reviewed by Darin Adler.
2152
2153         * WebCore.xcodeproj/project.pbxproj:
2154         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
2155         * css/MediaQueryEvaluator.cpp:
2156         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
2157         * html/HTMLMediaElement.cpp:
2158         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2159         * html/HTMLObjectElement.cpp:
2160         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
2161         * html/HTMLVideoElement.cpp:
2162         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2163         * page/NavigatorBase.cpp:
2164         * page/Settings.h:
2165         * page/ViewportConfiguration.cpp:
2166         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
2167         * page/ios/UserAgentIOS.mm:
2168         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
2169         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
2170         (WebCore::deviceName): Ditto for wkGetDeviceName().
2171         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
2172         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
2173         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
2174         * platform/PlatformScreen.h:
2175         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
2176         (WebCore::deviceClass):
2177         (WebCore::deviceName):
2178         (WebCore::deviceHasIPadCapability):
2179         * platform/ios/Device.h:
2180         * platform/ios/PlatformScreenIOS.mm:
2181         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
2182         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
2183         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
2184         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
2185         (WebCore::mobileGestaltFloatValue): Deleted.
2186         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
2187         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
2188         (iosDeviceClass): Deleted.
2189         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2190         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2191         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2192         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2193         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
2194         * platform/ios/wak/WAKWindow.mm:
2195         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
2196         (-[WAKWindow initWithFrame:]): Ditto.
2197         * platform/ios/wak/WKGraphics.mm:
2198         (WKGraphicsCreateImageFromBundleWithName): Ditto.
2199         (WKDrawPatternBitmap): Ditto.
2200         * platform/mac/WebCoreSystemInterface.h:
2201         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
2202         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
2203         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
2204         * rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.
2205
2206 2015-11-02  Commit Queue  <commit-queue@webkit.org>
2207
2208         Unreviewed, rolling out r191902.
2209         https://bugs.webkit.org/show_bug.cgi?id=150811
2210
2211         This change broke iOS builders (Requested by ryanhaddad on
2212         #webkit).
2213
2214         Reverted changeset:
2215
2216         "Replace iOS-only WebKitSystemInterface calls with SPI"
2217         https://bugs.webkit.org/show_bug.cgi?id=150763
2218         http://trac.webkit.org/changeset/191902
2219
2220 2015-10-31  Andy Estes  <aestes@apple.com>
2221
2222         Replace iOS-only WebKitSystemInterface calls with SPI
2223         https://bugs.webkit.org/show_bug.cgi?id=150763
2224
2225         Reviewed by Darin Adler.
2226
2227         * WebCore.xcodeproj/project.pbxproj:
2228         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
2229         * css/MediaQueryEvaluator.cpp:
2230         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
2231         * html/HTMLMediaElement.cpp:
2232         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2233         * html/HTMLObjectElement.cpp:
2234         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
2235         * html/HTMLVideoElement.cpp:
2236         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2237         * page/NavigatorBase.cpp:
2238         * page/Settings.h:
2239         * page/ViewportConfiguration.cpp:
2240         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
2241         * page/ios/UserAgentIOS.mm:
2242         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
2243         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
2244         (WebCore::deviceName): Ditto for wkGetDeviceName().
2245         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
2246         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
2247         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
2248         * platform/PlatformScreen.h:
2249         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
2250         (WebCore::deviceClass):
2251         (WebCore::deviceName):
2252         (WebCore::deviceHasIPadCapability):
2253         * platform/ios/Device.h:
2254         * platform/ios/PlatformScreenIOS.mm:
2255         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
2256         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
2257         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
2258         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
2259         (WebCore::mobileGestaltFloatValue): Deleted.
2260         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
2261         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
2262         (iosDeviceClass): Deleted.
2263         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2264         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2265         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2266         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
2267         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
2268         * platform/ios/wak/WAKWindow.mm:
2269         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
2270         (-[WAKWindow initWithFrame:]): Ditto.
2271         * platform/ios/wak/WKGraphics.mm:
2272         (WKGraphicsCreateImageFromBundleWithName): Ditto.
2273         (WKDrawPatternBitmap): Ditto.
2274         * platform/mac/WebCoreSystemInterface.h:
2275         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
2276         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
2277         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
2278         * rendering/RenderThemeIOS.mm:
2279
2280 2015-11-02  Frederic Wang  <fred.wang@free.fr>
2281
2282         [Win] Add support for the USE_TYPO_METRICS flag
2283         https://bugs.webkit.org/show_bug.cgi?id=150451
2284
2285         Reviewed by Darin Adler.
2286
2287         Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
2288
2289         No new tests because this is already tested by fonts/use-typo-metrics-1.html
2290
2291         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2292         (WebCore::Font::platformInit):
2293         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2294         (WebCore::Font::platformInit):
2295         * platform/graphics/win/SimpleFontDataWin.cpp:
2296         (WebCore::Font::initGDIFont):
2297
2298 2015-11-02  Hyunduk Kim  <hyunduk.kim@samsung.com>
2299
2300         Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
2301         https://bugs.webkit.org/show_bug.cgi?id=150436
2302
2303         Reviewed by Darin Adler.
2304
2305         Got the new test case from
2306         https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html 
2307         Tests: http\tests\media\media-source\mediasource-is-type-supported.html
2308
2309         * Modules/mediasource/MediaSource.cpp:
2310         (WebCore::MediaSource::isTypeSupported):
2311
2312 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2313
2314         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
2315         https://bugs.webkit.org/show_bug.cgi?id=150613
2316
2317         Reviewed by Darin Adler.
2318
2319         Renaming impl to wrapped in classes and binding generated classes.
2320         No change in behavior.
2321
2322         * Modules/plugins/QuickTimePluginReplacement.mm:
2323         (WebCore::JSQuickTimePluginReplacement::timedMetaData):
2324         (WebCore::JSQuickTimePluginReplacement::accessLog):
2325         (WebCore::JSQuickTimePluginReplacement::errorLog):
2326         * bindings/js/JSAttrCustom.cpp:
2327         (WebCore::JSAttr::visitAdditionalChildren):
2328         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
2329         (WebCore::JSAudioBufferSourceNode::setBuffer):
2330         * bindings/js/JSAudioTrackCustom.cpp:
2331         (WebCore::JSAudioTrack::visitAdditionalChildren):
2332         (WebCore::JSAudioTrack::setKind):
2333         (WebCore::JSAudioTrack::setLanguage):
2334         * bindings/js/JSAudioTrackListCustom.cpp:
2335         (WebCore::JSAudioTrackList::visitAdditionalChildren):
2336         * bindings/js/JSBiquadFilterNodeCustom.cpp:
2337         (WebCore::JSBiquadFilterNode::setType):
2338         * bindings/js/JSCSSRuleCustom.cpp:
2339         (WebCore::JSCSSRule::visitAdditionalChildren):
2340         * bindings/js/JSCSSRuleListCustom.cpp:
2341         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
2342         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2343         (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
2344         (WebCore::getPropertyValueFallback):
2345         (WebCore::cssPropertyGetterPixelOrPosPrefix):
2346         (WebCore::cssPropertyGetter):
2347         (WebCore::JSCSSStyleDeclaration::putDelegate):
2348         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
2349         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
2350         * bindings/js/JSCSSValueCustom.cpp:
2351         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
2352         (WebCore::JSCSSValueOwner::finalize):
2353         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2354         (WebCore::toHTMLCanvasStyle):
2355         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2356         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2357         (WebCore::JSCanvasRenderingContext2D::fillStyle):
2358         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2359         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
2360         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
2361         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2362         (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
2363         * bindings/js/JSCharacterDataCustom.cpp:
2364         (WebCore::JSCharacterData::before):
2365         (WebCore::JSCharacterData::after):
2366         (WebCore::JSCharacterData::replaceWith):
2367         * bindings/js/JSCommandLineAPIHostCustom.cpp:
2368         (WebCore::JSCommandLineAPIHost::inspectedObject):
2369         (WebCore::JSCommandLineAPIHost::getEventListeners):
2370         (WebCore::JSCommandLineAPIHost::inspect):
2371         (WebCore::JSCommandLineAPIHost::databaseId):
2372         (WebCore::JSCommandLineAPIHost::storageId):
2373         * bindings/js/JSCryptoCustom.cpp:
2374         (WebCore::JSCrypto::getRandomValues):
2375         * bindings/js/JSCryptoKeyCustom.cpp:
2376         (WebCore::JSCryptoKey::algorithm):
2377         * bindings/js/JSCryptoKeyPairCustom.cpp:
2378         (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
2379         * bindings/js/JSCustomEventCustom.cpp:
2380         (WebCore::JSCustomEvent::detail):
2381         * bindings/js/JSCustomXPathNSResolver.cpp:
2382         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2383         * bindings/js/JSDOMBinding.cpp:
2384         (WebCore::reportException):
2385         (WebCore::activeDOMWindow):
2386         (WebCore::firstDOMWindow):
2387         * bindings/js/JSDOMFormDataCustom.cpp:
2388         (WebCore::toHTMLFormElementOrNull):
2389         (WebCore::JSDOMFormData::append):
2390         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2391         (WebCore::JSDOMMimeTypeArray::nameGetter):
2392         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
2393         (WebCore::JSDOMNamedFlowCollection::nameGetter):
2394         * bindings/js/JSDOMPluginArrayCustom.cpp:
2395         (WebCore::JSDOMPluginArray::nameGetter):
2396         * bindings/js/JSDOMPluginCustom.cpp:
2397         (WebCore::JSDOMPlugin::nameGetter):
2398         * bindings/js/JSDOMStringListCustom.cpp:
2399         (WebCore::JSDOMStringList::toWrapped):
2400         * bindings/js/JSDOMStringMapCustom.cpp:
2401         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
2402         (WebCore::JSDOMStringMap::getOwnPropertyNames):
2403         (WebCore::JSDOMStringMap::deleteProperty):
2404         (WebCore::JSDOMStringMap::putDelegate):
2405         * bindings/js/JSDOMTokenListCustom.cpp:
2406         (WebCore::JSDOMTokenList::toggle):
2407         * bindings/js/JSDOMWindowBase.cpp:
2408         (WebCore::shouldAllowAccessFrom):
2409         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2410         (WebCore::JSDOMWindowBase::updateDocument):
2411         (WebCore::JSDOMWindowBase::scriptExecutionContext):
2412         (WebCore::JSDOMWindowBase::printErrorMessage):
2413         (WebCore::JSDOMWindowBase::supportsProfiling):
2414         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2415         (WebCore::JSDOMWindowBase::shouldInterruptScript):
2416         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
2417         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
2418         (WebCore::JSDOMWindowBase::moduleLoaderResolve):
2419         (WebCore::JSDOMWindowBase::moduleLoaderFetch):
2420         (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
2421         * bindings/js/JSDOMWindowBase.h:
2422         * bindings/js/JSDOMWindowCustom.cpp:
2423         (WebCore::JSDOMWindow::visitAdditionalChildren):
2424         (WebCore::childFrameGetter):
2425         (WebCore::namedItemGetter):
2426         (WebCore::jsDOMWindowWebKit):
2427         (WebCore::jsDOMWindowIndexedDB):
2428         (WebCore::JSDOMWindow::getOwnPropertySlot):
2429         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2430         (WebCore::JSDOMWindow::put):
2431         (WebCore::JSDOMWindow::putByIndex):
2432         (WebCore::JSDOMWindow::deleteProperty):
2433         (WebCore::JSDOMWindow::deletePropertyByIndex):
2434         (WebCore::JSDOMWindow::getEnumerableLength):
2435         (WebCore::JSDOMWindow::getStructurePropertyNames):
2436         (WebCore::JSDOMWindow::getGenericPropertyNames):
2437         (WebCore::JSDOMWindow::getPropertyNames):
2438         (WebCore::JSDOMWindow::getOwnPropertyNames):
2439         (WebCore::JSDOMWindow::defineOwnProperty):
2440         (WebCore::JSDOMWindow::setLocation):
2441         (WebCore::JSDOMWindow::open):
2442         (WebCore::JSDOMWindow::showModalDialog):
2443         (WebCore::JSDOMWindow::postMessage):
2444         (WebCore::JSDOMWindow::setTimeout):
2445         (WebCore::JSDOMWindow::setInterval):
2446         (WebCore::JSDOMWindow::addEventListener):
2447         (WebCore::JSDOMWindow::removeEventListener):
2448         (WebCore::JSDOMWindow::toWrapped):
2449         * bindings/js/JSDOMWindowShell.cpp:
2450         (WebCore::JSDOMWindowShell::setWindow):
2451         (WebCore::JSDOMWindowShell::wrapped):
2452         * bindings/js/JSDOMWindowShell.h:
2453         * bindings/js/JSDOMWrapper.h:
2454         (WebCore::JSDOMWrapper::wrapped):
2455         (WebCore::JSDOMWrapper::JSDOMWrapper):
2456         * bindings/js/JSDataCueCustom.cpp:
2457         (WebCore::JSDataCue::value):
2458         (WebCore::JSDataCue::setValue):
2459         * bindings/js/JSDataTransferCustom.cpp:
2460         (WebCore::JSDataTransfer::types):
2461         * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
2462         (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
2463         * bindings/js/JSDeviceMotionEventCustom.cpp:
2464         (WebCore::JSDeviceMotionEvent::acceleration):
2465         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
2466         (WebCore::JSDeviceMotionEvent::rotationRate):
2467         (WebCore::JSDeviceMotionEvent::interval):
2468         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
2469         * bindings/js/JSDeviceOrientationEventCustom.cpp:
2470         (WebCore::JSDeviceOrientationEvent::alpha):
2471         (WebCore::JSDeviceOrientationEvent::beta):
2472         (WebCore::JSDeviceOrientationEvent::gamma):
2473         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
2474         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
2475         (WebCore::JSDeviceOrientationEvent::absolute):
2476         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
2477         * bindings/js/JSDocumentCustom.cpp:
2478         (WebCore::JSDocument::prepend):
2479         (WebCore::JSDocument::append):
2480         * bindings/js/JSDocumentFragmentCustom.cpp:
2481         (WebCore::JSDocumentFragment::prepend):
2482         (WebCore::JSDocumentFragment::append):
2483         * bindings/js/JSDocumentTypeCustom.cpp:
2484         (WebCore::JSDocumentType::before):
2485         (WebCore::JSDocumentType::after):
2486         (WebCore::JSDocumentType::replaceWith):
2487         * bindings/js/JSElementCustom.cpp:
2488         (WebCore::JSElement::before):
2489         (WebCore::JSElement::after):
2490         (WebCore::JSElement::replaceWith):
2491         (WebCore::JSElement::prepend):
2492         (WebCore::JSElement::append):
2493         * bindings/js/JSEventCustom.cpp:
2494         (WebCore::JSEvent::clipboardData):
2495         * bindings/js/JSEventListener.cpp:
2496         (WebCore::JSEventListener::handleEvent):
2497         * bindings/js/JSEventTargetCustom.cpp:
2498         * bindings/js/JSFileReaderCustom.cpp:
2499         (WebCore::JSFileReader::result):
2500         * bindings/js/JSGeolocationCustom.cpp:
2501         (WebCore::JSGeolocation::getCurrentPosition):
2502         (WebCore::JSGeolocation::watchPosition):
2503         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2504         (WebCore::namedItems):
2505         (WebCore::callHTMLAllCollection):
2506         (WebCore::JSHTMLAllCollection::item):
2507         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2508         (WebCore::JSHTMLCanvasElement::getContext):
2509         (WebCore::JSHTMLCanvasElement::probablySupportsContext):
2510         (WebCore::JSHTMLCanvasElement::toDataURL):
2511         * bindings/js/JSHTMLCollectionCustom.cpp:
2512         (WebCore::JSHTMLCollection::nameGetter):
2513         * bindings/js/JSHTMLDocumentCustom.cpp:
2514         (WebCore::JSHTMLDocument::nameGetter):
2515         (WebCore::JSHTMLDocument::all):
2516         (WebCore::findCallingDocument):
2517         (WebCore::JSHTMLDocument::open):
2518         (WebCore::documentWrite):
2519         * bindings/js/JSHTMLElementCustom.cpp:
2520         (WebCore::JSHTMLElement::pushEventHandlerScope):
2521         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2522         (WebCore::namedItems):
2523         * bindings/js/JSHTMLFormElementCustom.cpp:
2524         (WebCore::JSHTMLFormElement::nameGetter):
2525         * bindings/js/JSHTMLFrameElementCustom.cpp:
2526         (WebCore::JSHTMLFrameElement::setLocation):
2527         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2528         (WebCore::JSHTMLFrameSetElement::nameGetter):
2529         * bindings/js/JSHTMLInputElementCustom.cpp:
2530         (WebCore::JSHTMLInputElement::selectionStart):
2531         (WebCore::JSHTMLInputElement::setSelectionStart):
2532         (WebCore::JSHTMLInputElement::selectionEnd):
2533         (WebCore::JSHTMLInputElement::setSelectionEnd):
2534         (WebCore::JSHTMLInputElement::selectionDirection):
2535         (WebCore::JSHTMLInputElement::setSelectionDirection):
2536         (WebCore::JSHTMLInputElement::setSelectionRange):
2537         * bindings/js/JSHTMLMediaElementCustom.cpp:
2538         (WebCore::JSHTMLMediaElement::setController):
2539         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2540         (WebCore::JSHTMLOptionsCollection::nameGetter):
2541         (WebCore::JSHTMLOptionsCollection::setLength):
2542         (WebCore::JSHTMLOptionsCollection::indexSetter):
2543         (WebCore::JSHTMLOptionsCollection::remove):
2544         * bindings/js/JSHTMLSelectElementCustom.cpp:
2545         (WebCore::JSHTMLSelectElement::remove):
2546         (WebCore::JSHTMLSelectElement::indexSetter):
2547         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2548         (WebCore::JSHTMLTemplateElement::content):
2549         * bindings/js/JSHistoryCustom.cpp:
2550         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2551         (WebCore::JSHistory::putDelegate):
2552         (WebCore::JSHistory::deleteProperty):
2553         (WebCore::JSHistory::deletePropertyByIndex):
2554         (WebCore::JSHistory::getOwnPropertyNames):
2555         (WebCore::JSHistory::state):
2556         (WebCore::JSHistory::pushState):
2557         (WebCore::JSHistory::replaceState):
2558         * bindings/js/JSIDBDatabaseCustom.cpp:
2559         (WebCore::JSIDBDatabase::createObjectStore):
2560         * bindings/js/JSIDBObjectStoreCustom.cpp:
2561         (WebCore::JSIDBObjectStore::createIndex):
2562         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2563         (WebCore::JSInspectorFrontendHost::showContextMenu):
2564         * bindings/js/JSLocationCustom.cpp:
2565         (WebCore::JSLocation::getOwnPropertySlotDelegate):
2566         (WebCore::JSLocation::putDelegate):
2567         (WebCore::JSLocation::deleteProperty):
2568         (WebCore::JSLocation::deletePropertyByIndex):
2569         (WebCore::JSLocation::getOwnPropertyNames):
2570         (WebCore::JSLocation::toStringFunction):
2571         * bindings/js/JSMediaSourceStatesCustom.cpp:
2572         (WebCore::JSMediaSourceStates::width):
2573         (WebCore::JSMediaSourceStates::height):
2574         (WebCore::JSMediaSourceStates::frameRate):
2575         (WebCore::JSMediaSourceStates::aspectRatio):
2576         (WebCore::JSMediaSourceStates::facingMode):
2577         (WebCore::JSMediaSourceStates::volume):
2578         * bindings/js/JSMessageChannelCustom.cpp:
2579         (WebCore::JSMessageChannel::visitAdditionalChildren):
2580         * bindings/js/JSMessageEventCustom.cpp:
2581         (WebCore::JSMessageEvent::data):
2582         (WebCore::handleInitMessageEvent):
2583         * bindings/js/JSMessagePortCustom.cpp:
2584         (WebCore::JSMessagePort::visitAdditionalChildren):
2585         (WebCore::JSMessagePort::postMessage):
2586         * bindings/js/JSMockContentFilterSettingsCustom.cpp:
2587         (WebCore::JSMockContentFilterSettings::decisionPoint):
2588         (WebCore::JSMockContentFilterSettings::setDecisionPoint):
2589         (WebCore::JSMockContentFilterSettings::decision):
2590         (WebCore::JSMockContentFilterSettings::setDecision):
2591         (WebCore::JSMockContentFilterSettings::unblockRequestDecision):
2592         (WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
2593         * bindings/js/JSMutationObserverCustom.cpp:
2594         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
2595         * bindings/js/JSNamedNodeMapCustom.cpp:
2596         (WebCore::JSNamedNodeMap::nameGetter):
2597         * bindings/js/JSNavigatorCustom.cpp:
2598         (WebCore::JSNavigator::webkitGetUserMedia):
2599         * bindings/js/JSNodeCustom.cpp:
2600         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
2601         (WebCore::JSNode::insertBefore):
2602         (WebCore::JSNode::replaceChild):
2603         (WebCore::JSNode::removeChild):
2604         (WebCore::JSNode::appendChild):
2605         (WebCore::JSNode::visitAdditionalChildren):
2606         * bindings/js/JSNodeIteratorCustom.cpp:
2607         (WebCore::JSNodeIterator::visitAdditionalChildren):
2608         * bindings/js/JSNodeListCustom.cpp:
2609         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
2610         * bindings/js/JSNodeOrString.cpp:
2611         (WebCore::toNodeOrStringVector):
2612         * bindings/js/JSOscillatorNodeCustom.cpp:
2613         (WebCore::JSOscillatorNode::setType):
2614         * bindings/js/JSPannerNodeCustom.cpp:
2615         (WebCore::JSPannerNode::setPanningModel):
2616         (WebCore::JSPannerNode::setDistanceModel):
2617         * bindings/js/JSPluginElementFunctions.cpp:
2618         (WebCore::pluginScriptObjectFromPluginViewBase):
2619         (WebCore::pluginScriptObject):
2620         (WebCore::pluginElementGetCallData):
2621         * bindings/js/JSPopStateEventCustom.cpp:
2622         (WebCore::JSPopStateEvent::state):
2623         * bindings/js/JSRTCStatsResponseCustom.cpp:
2624         (WebCore::JSRTCStatsResponse::nameGetter):
2625         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2626         (WebCore::JSSQLResultSetRowList::item):
2627         * bindings/js/JSSQLTransactionCustom.cpp:
2628         (WebCore::JSSQLTransaction::executeSql):
2629         * bindings/js/JSSVGLengthCustom.cpp:
2630         (WebCore::JSSVGLength::value):
2631         (WebCore::JSSVGLength::setValue):
2632         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2633         * bindings/js/JSStorageCustom.cpp:
2634         (WebCore::JSStorage::nameGetter):
2635         (WebCore::JSStorage::deleteProperty):
2636         (WebCore::JSStorage::getOwnPropertyNames):
2637         (WebCore::JSStorage::putDelegate):
2638         * bindings/js/JSStyleSheetCustom.cpp:
2639         (WebCore::JSStyleSheet::visitAdditionalChildren):
2640         * bindings/js/JSStyleSheetListCustom.cpp:
2641         (WebCore::JSStyleSheetList::nameGetter):
2642         * bindings/js/JSSubtleCryptoCustom.cpp:
2643         (WebCore::JSSubtleCrypto::encrypt):
2644         (WebCore::JSSubtleCrypto::decrypt):
2645         (WebCore::JSSubtleCrypto::sign):
2646         (WebCore::JSSubtleCrypto::verify):
2647         (WebCore::JSSubtleCrypto::wrapKey):
2648         (WebCore::JSSubtleCrypto::unwrapKey):
2649         * bindings/js/JSTextTrackCueCustom.cpp:
2650         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
2651         (WebCore::JSTextTrackCue::visitAdditionalChildren):
2652         * bindings/js/JSTextTrackCustom.cpp:
2653         (WebCore::JSTextTrack::visitAdditionalChildren):
2654         (WebCore::JSTextTrack::setKind):
2655         (WebCore::JSTextTrack::setLanguage):
2656         * bindings/js/JSTextTrackListCustom.cpp:
2657         (WebCore::JSTextTrackList::visitAdditionalChildren):
2658         * bindings/js/JSTrackCustom.cpp:
2659         (WebCore::toTrack):
2660         * bindings/js/JSTrackEventCustom.cpp:
2661         (WebCore::JSTrackEvent::track):
2662         * bindings/js/JSTreeWalkerCustom.cpp:
2663         (WebCore::JSTreeWalker::visitAdditionalChildren):
2664         * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
2665         (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
2666         * bindings/js/JSVideoTrackCustom.cpp:
2667         (WebCore::JSVideoTrack::visitAdditionalChildren):
2668         (WebCore::JSVideoTrack::setKind):
2669         (WebCore::JSVideoTrack::setLanguage):
2670         * bindings/js/JSVideoTrackListCustom.cpp:
2671         (WebCore::JSVideoTrackList::visitAdditionalChildren):
2672         * bindings/js/JSWebGL2RenderingContextCustom.cpp:
2673         (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
2674         (WebCore::JSWebGL2RenderingContext::getIndexedParameter):
2675         * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
2676         (WebCore::getObjectParameter):
2677         (WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
2678         (WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
2679         (WebCore::JSWebGLRenderingContextBase::getExtension):
2680         (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
2681         (WebCore::JSWebGLRenderingContextBase::getParameter):
2682         (WebCore::JSWebGLRenderingContextBase::getProgramParameter):
2683         (WebCore::JSWebGLRenderingContextBase::getShaderParameter):
2684         (WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
2685         (WebCore::JSWebGLRenderingContextBase::getUniform):
2686         (WebCore::JSWebGLRenderingContextBase::uniform1fv):
2687         (WebCore::JSWebGLRenderingContextBase::uniform1iv):
2688         (WebCore::JSWebGLRenderingContextBase::uniform2fv):
2689         (WebCore::JSWebGLRenderingContextBase::uniform2iv):
2690         (WebCore::JSWebGLRenderingContextBase::uniform3fv):
2691         (WebCore::JSWebGLRenderingContextBase::uniform3iv):
2692         (WebCore::JSWebGLRenderingContextBase::uniform4fv):
2693         (WebCore::JSWebGLRenderingContextBase::uniform4iv):
2694         (WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
2695         (WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
2696         (WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
2697         (WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
2698         (WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
2699         (WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
2700         (WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):
2701         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2702         (WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
2703         * bindings/js/JSWorkerCustom.cpp:
2704         (WebCore::JSWorker::postMessage):
2705         (WebCore::constructJSWorker):
2706         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2707         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
2708         (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
2709         * bindings/js/JSWorkerGlobalScopeBase.h:
2710         (WebCore::JSWorkerGlobalScopeBase::wrapped):
2711         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2712         (WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
2713         (WebCore::JSWorkerGlobalScope::importScripts):
2714         (WebCore::JSWorkerGlobalScope::setTimeout):
2715         (WebCore::JSWorkerGlobalScope::setInterval):
2716         * bindings/js/JSXMLHttpRequestCustom.cpp:
2717         (WebCore::JSXMLHttpRequest::visitAdditionalChildren):
2718         (WebCore::JSXMLHttpRequest::open):
2719         (WebCore::JSXMLHttpRequest::send):
2720         (WebCore::JSXMLHttpRequest::responseText):
2721         (WebCore::JSXMLHttpRequest::response):
2722         * bindings/js/JSXPathResultCustom.cpp:
2723         (WebCore::JSXPathResult::visitAdditionalChildren):
2724         * bindings/js/JSXSLTProcessorCustom.cpp:
2725         (WebCore::JSXSLTProcessor::setParameter):
2726         (WebCore::JSXSLTProcessor::getParameter):
2727         (WebCore::JSXSLTProcessor::removeParameter):
2728         * bindings/js/ScheduledAction.cpp:
2729         (WebCore::ScheduledAction::execute):
2730         * bindings/js/ScriptCachedFrameData.cpp:
2731         (WebCore::ScriptCachedFrameData::restore):
2732         * bindings/js/ScriptController.cpp:
2733         (WebCore::ScriptController::clearWindowShell):
2734         (WebCore::ScriptController::collectIsolatedContexts):
2735         * bindings/js/ScriptState.cpp:
2736         (WebCore::domWindowFromExecState):
2737         * bindings/objc/DOM.mm:
2738         (+[DOMNode _nodeFromJSWrapper:]):
2739         * bindings/objc/DOMUtility.mm:
2740         (JSC::createDOMWrapper):
2741         * bindings/objc/WebScriptObject.mm:
2742         (-[WebScriptObject _isSafeScript]):
2743         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2744         * bindings/scripts/CodeGeneratorJS.pm:
2745         (GenerateGetOwnPropertySlotBody):
2746         (GenerateHeader):
2747         (GetIndexedGetterExpression):
2748         (GenerateImplementation):
2749         (NativeToJSValue):
2750         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2751         (WebCore::jsTestActiveDOMObjectExcitingAttr):
2752         (WebCore::jsTestActiveDOMObjectConstructor):
2753         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2754         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2755         (WebCore::JSTestActiveDOMObjectOwner::finalize):
2756         (WebCore::JSTestActiveDOMObject::toWrapped):
2757         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2758         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
2759         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
2760         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2761         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2762         (WebCore::JSTestCustomNamedGetterOwner::finalize):
2763         (WebCore::JSTestCustomNamedGetter::toWrapped):
2764         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2765         (WebCore::jsTestEventConstructorAttr1):
2766         (WebCore::jsTestEventConstructorAttr2):
2767         (WebCore::JSTestEventConstructorOwner::finalize):
2768         (WebCore::JSTestEventConstructor::toWrapped):
2769         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2770         (WebCore::JSTestEventTarget::getOwnPropertySlot):
2771         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
2772         (WebCore::JSTestEventTarget::getOwnPropertyNames):
2773         (WebCore::jsTestEventTargetPrototypeFunctionItem):
2774         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2775         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2776         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2777         (WebCore::JSTestEventTarget::visitChildren):
2778         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
2779         (WebCore::JSTestEventTargetOwner::finalize):
2780         (WebCore::JSTestEventTarget::toWrapped):
2781         * bindings/scripts/test/JS/JSTestException.cpp:
2782         (WebCore::jsTestExceptionName):
2783         (WebCore::JSTestExceptionOwner::finalize):
2784         (WebCore::JSTestException::toWrapped):
2785         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2786         (WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
2787         (WebCore::JSTestGenerateIsReachableOwner::finalize):
2788         (WebCore::JSTestGenerateIsReachable::toWrapped):
2789         * bindings/scripts/test/JS/JSTestInterface.cpp:
2790         (WebCore::jsTestInterfaceImplementsStr1):
2791         (WebCore::jsTestInterfaceImplementsStr2):
2792         (WebCore::jsTestInterfaceImplementsNode):
2793         (WebCore::jsTestInterfaceSupplementalStr1):
2794         (WebCore::jsTestInterfaceSupplementalStr2):
2795         (WebCore::jsTestInterfaceSupplementalNode):
2796         (WebCore::setJSTestInterfaceImplementsStr2):
2797         (WebCore::setJSTestInterfaceImplementsNode):
2798         (WebCore::setJSTestInterfaceSupplementalStr2):
2799         (WebCore::setJSTestInterfaceSupplementalNode):
2800         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
2801         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
2802         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2803         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2804         (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
2805         (WebCore::JSTestInterfaceOwner::finalize):
2806         (WebCore::JSTestInterface::toWrapped):
2807         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2808         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2809         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
2810         (WebCore::JSTestMediaQueryListListener::toWrapped):
2811         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2812         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
2813         (WebCore::JSTestNamedConstructorOwner::finalize):
2814         (WebCore::JSTestNamedConstructor::toWrapped):
2815         * bindings/scripts/test/JS/JSTestNode.cpp:
2816         (WebCore::jsTestNodeName):
2817         (WebCore::setJSTestNodeName):
2818         (WebCore::JSTestNode::visitChildren):
2819         * bindings/scripts/test/JS/JSTestNode.h:
2820         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2821         (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
2822         (WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
2823         (WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
2824         (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
2825         (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
2826         (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
2827         (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
2828         (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
2829         (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
2830         (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
2831         (WebCore::JSTestNondeterministicOwner::finalize):
2832         (WebCore::JSTestNondeterministic::toWrapped):
2833         * bindings/scripts/test/JS/JSTestObj.cpp:
2834         (WebCore::jsTestObjReadOnlyLongAttr):
2835         (WebCore::jsTestObjReadOnlyStringAttr):
2836         (WebCore::jsTestObjReadOnlyTestObjAttr):
2837         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
2838         (WebCore::jsTestObjEnumAttr):
2839         (WebCore::jsTestObjByteAttr):
2840         (WebCore::jsTestObjOctetAttr):
2841         (WebCore::jsTestObjShortAttr):
2842         (WebCore::jsTestObjUnsignedShortAttr):
2843         (WebCore::jsTestObjLongAttr):
2844         (WebCore::jsTestObjLongLongAttr):
2845         (WebCore::jsTestObjUnsignedLongLongAttr):
2846         (WebCore::jsTestObjStringAttr):
2847         (WebCore::jsTestObjTestObjAttr):
2848         (WebCore::jsTestObjXMLObjAttr):
2849         (WebCore::jsTestObjCreate):
2850         (WebCore::jsTestObjReflectedStringAttr):
2851         (WebCore::jsTestObjReflectedIntegralAttr):
2852         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
2853         (WebCore::jsTestObjReflectedBooleanAttr):
2854         (WebCore::jsTestObjReflectedURLAttr):
2855         (WebCore::jsTestObjReflectedCustomIntegralAttr):
2856         (WebCore::jsTestObjReflectedCustomBooleanAttr):
2857         (WebCore::jsTestObjReflectedCustomURLAttr):
2858         (WebCore::jsTestObjTypedArrayAttr):
2859         (WebCore::jsTestObjAttrWithGetterException):
2860         (WebCore::jsTestObjAttrWithSetterException):
2861         (WebCore::jsTestObjStringAttrWithGetterException):
2862         (WebCore::jsTestObjStringAttrWithSetterException):
2863         (WebCore::jsTestObjStrictTypeCheckingAttribute):
2864         (WebCore::jsTestObjOnfoo):
2865         (WebCore::jsTestObjWithScriptStateAttribute):
2866         (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
2867         (WebCore::jsTestObjWithScriptExecutionContextAttribute):
2868         (WebCore::jsTestObjWithScriptStateAttributeRaises):
2869         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
2870         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
2871         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2872         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2873         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
2874         (WebCore::jsTestObjConditionalAttr1):
2875         (WebCore::jsTestObjConditionalAttr2):
2876         (WebCore::jsTestObjConditionalAttr3):
2877         (WebCore::jsTestObjCachedAttribute1):
2878         (WebCore::jsTestObjCachedAttribute2):
2879         (WebCore::jsTestObjAnyAttribute):
2880         (WebCore::jsTestObjContentDocument):
2881         (WebCore::jsTestObjMutablePoint):
2882         (WebCore::jsTestObjImmutablePoint):
2883         (WebCore::jsTestObjStrawberry):
2884         (WebCore::jsTestObjStrictFloat):
2885         (WebCore::jsTestObjDescription):
2886         (WebCore::jsTestObjId):
2887         (WebCore::jsTestObjHash):
2888         (WebCore::jsTestObjReplaceableAttribute):
2889         (WebCore::jsTestObjNullableDoubleAttribute):
2890         (WebCore::jsTestObjNullableLongAttribute):
2891         (WebCore::jsTestObjNullableBooleanAttribute):
2892         (WebCore::jsTestObjNullableStringAttribute):
2893         (WebCore::jsTestObjNullableLongSettableAttribute):
2894         (WebCore::jsTestObjNullableStringValue):
2895         (WebCore::jsTestObjAttribute):
2896         (WebCore::jsTestObjAttributeWithReservedEnumType):
2897         (WebCore::jsTestObjPutForwardsAttribute):
2898         (WebCore::jsTestObjPutForwardsNullableAttribute):
2899         (WebCore::setJSTestObjEnumAttr):
2900         (WebCore::setJSTestObjByteAttr):
2901         (WebCore::setJSTestObjOctetAttr):
2902         (WebCore::setJSTestObjShortAttr):
2903         (WebCore::setJSTestObjUnsignedShortAttr):
2904         (WebCore::setJSTestObjLongAttr):
2905         (WebCore::setJSTestObjLongLongAttr):
2906         (WebCore::setJSTestObjUnsignedLongLongAttr):
2907         (WebCore::setJSTestObjStringAttr):
2908         (WebCore::setJSTestObjTestObjAttr):
2909         (WebCore::setJSTestObjXMLObjAttr):
2910         (WebCore::setJSTestObjCreate):
2911         (WebCore::setJSTestObjReflectedStringAttr):
2912         (WebCore::setJSTestObjReflectedIntegralAttr):
2913         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2914         (WebCore::setJSTestObjReflectedBooleanAttr):
2915         (WebCore::setJSTestObjReflectedURLAttr):
2916         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2917         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2918         (WebCore::setJSTestObjReflectedCustomURLAttr):
2919         (WebCore::setJSTestObjTypedArrayAttr):
2920         (WebCore::setJSTestObjAttrWithGetterException):
2921         (WebCore::setJSTestObjAttrWithSetterException):
2922         (WebCore::setJSTestObjStringAttrWithGetterException):
2923         (WebCore::setJSTestObjStringAttrWithSetterException):
2924         (WebCore::setJSTestObjStrictTypeCheckingAttribute):
2925         (WebCore::setJSTestObjOnfoo):
2926         (WebCore::setJSTestObjWithScriptStateAttribute):
2927         (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
2928         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2929         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2930         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2931         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2932         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2933         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2934         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2935         (WebCore::setJSTestObjConditionalAttr1):
2936         (WebCore::setJSTestObjConditionalAttr2):
2937         (WebCore::setJSTestObjConditionalAttr3):
2938         (WebCore::setJSTestObjAnyAttribute):
2939         (WebCore::setJSTestObjMutablePoint):
2940         (WebCore::setJSTestObjImmutablePoint):
2941         (WebCore::setJSTestObjStrawberry):
2942         (WebCore::setJSTestObjStrictFloat):
2943         (WebCore::setJSTestObjId):
2944         (WebCore::setJSTestObjNullableLongSettableAttribute):
2945         (WebCore::setJSTestObjNullableStringValue):
2946         (WebCore::setJSTestObjAttributeWithReservedEnumType):
2947         (WebCore::setJSTestObjPutForwardsAttribute):
2948         (WebCore::setJSTestObjPutForwardsNullableAttribute):
2949         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2950         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2951         (WebCore::jsTestObjPrototypeFunctionByteMethod):
2952         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
2953         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
2954         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
2955         (WebCore::jsTestObjPrototypeFunctionLongMethod):
2956         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2957         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2958         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2959         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2960         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2961         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2962         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
2963         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2964         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2965         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2966         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2967         (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
2968         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2969         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2970         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2971         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2972         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2973         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2974         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2975         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2976         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2977         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2978         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2979         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2980         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
2981         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2982         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2983         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2984         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
2985         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2986         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2987         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2988         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2989         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2990         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
2991         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
2992         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
2993         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2994         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2995         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2996         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2997         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2998         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2999         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3000         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
3001         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
3002         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
3003         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
3004         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
3005         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
3006         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
3007         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
3008         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
3009         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
3010         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
3011         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
3012         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
3013         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
3014         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
3015         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
3016         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3017         (WebCore::jsTestObjPrototypeFunctionConvert1):
3018         (WebCore::jsTestObjPrototypeFunctionConvert2):
3019         (WebCore::jsTestObjPrototypeFunctionConvert4):
3020         (WebCore::jsTestObjPrototypeFunctionConvert5):
3021         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
3022         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
3023         (WebCore::jsTestObjPrototypeFunctionOrange):
3024         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
3025         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
3026         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
3027         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
3028         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
3029         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
3030         (WebCore::jsTestObjPrototypeFunctionAny):
3031         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
3032         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
3033         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
3034         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
3035         (WebCore::JSTestObjOwner::finalize):
3036         (WebCore::JSTestObj::toWrapped):
3037         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3038         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
3039         (WebCore::JSTestOverloadedConstructors::toWrapped):
3040         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
3041         (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
3042         (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
3043         (WebCore::JSTestOverrideBuiltinsOwner::finalize):
3044         (WebCore::JSTestOverrideBuiltins::toWrapped):
3045         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3046         (WebCore::jsTestSerializedScriptValueInterfaceValue):
3047         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
3048         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
3049         (WebCore::jsTestSerializedScriptValueInterfacePorts):
3050         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
3051         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3052         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3053         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
3054         (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
3055         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3056         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
3057         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
3058         (WebCore::jsTestTypedefsAttrWithGetterException):
3059         (WebCore::jsTestTypedefsAttrWithSetterException):
3060         (WebCore::jsTestTypedefsStringAttrWithGetterException):
3061         (WebCore::jsTestTypedefsStringAttrWithSetterException):
3062         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3063         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
3064         (WebCore::setJSTestTypedefsAttrWithGetterException):
3065         (WebCore::setJSTestTypedefsAttrWithSetterException):
3066         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
3067         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
3068         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
3069         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
3070         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
3071         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
3072         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
3073         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
3074         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
3075         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
3076         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
3077         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
3078         (WebCore::JSTestTypedefsOwner::finalize):
3079         (WebCore::JSTestTypedefs::toWrapped):
3080         * bindings/scripts/test/JS/JSattribute.cpp:
3081         (WebCore::jsattributeReadonly):
3082         (WebCore::JSattributeOwner::finalize):
3083         (WebCore::JSattribute::toWrapped):
3084         * bindings/scripts/test/JS/JSreadonly.cpp:
3085         (WebCore::JSreadonlyOwner::finalize):
3086         (WebCore::JSreadonly::toWrapped):
3087         * bridge/runtime_method.cpp:
3088         (JSC::callRuntimeMethod):
3089         * inspector/InspectorController.cpp:
3090         (WebCore::InspectorController::canAccessInspectedScriptState):
3091
3092 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3093
3094         IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
3095         https://bugs.webkit.org/show_bug.cgi?id=150438
3096
3097         Reviewed by Darin Adler.
3098
3099         Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
3100         One exception is custom setters, getters or functions which remain C++ handled.
3101         Updated streams API IDLs accordingly.
3102
3103         Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
3104         Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
3105         In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.
3106
3107         Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
3108         Removing ReadableStreamReader and ReadableStreamController classes.
3109
3110         Removed unneeded "Default" keyword for cancel function in WebIDL.
3111
3112         Added a binding test case.
3113         No change in behavior.
3114
3115         * Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
3116         * Modules/streams/CountQueuingStrategy.idl: Ditto.
3117         * Modules/streams/ReadableStream.idl: Ditto.
3118         * Modules/streams/ReadableStreamController.h: Removed.
3119         * Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
3120         * Modules/streams/ReadableStreamReader.h: Removed.
3121         * Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
3122         * Modules/streams/WritableStream.idl: Ditto.
3123         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
3124         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
3125         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.
3126         * bindings/scripts/CodeGeneratorJS.pm:
3127         (NeedsImplementationClass):
3128         (GetAttributeGetterName):
3129         (GetAttributeSetterName):
3130         (GetFunctionName):
3131         (InstanceNeedsVisitChildren):
3132         (GenerateHeader):
3133         (GenerateAttributesHashTable):
3134         (GenerateImplementation):
3135         (GetConstructorTemplateClassName):
3136         (GenerateConstructorDefinition):
3137         (GenerateConstructorHelperMethods):
3138         (IsConstructable):
3139         (ComputeFunctionSpecial):
3140         (IsJSBuiltin):
3141         (IsJSBuiltinConstructor):
3142         (AddJSBuiltinIncludesIfNeeded):
3143         (GetJSBuiltinFunctionName): Deleted.
3144         (GetJSBuiltinFunctionNameFromString): Deleted.
3145         (GetJSBuiltinScopeName): Deleted.
3146         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:
3147         (webkit_dom_test_js_builtin_constructor_set_property):
3148         (webkit_dom_test_js_builtin_constructor_get_property):
3149         (webkit_dom_test_js_builtin_constructor_class_init):
3150         (webkit_dom_test_js_builtin_constructor_test_function):
3151         (webkit_dom_test_js_builtin_constructor_get_test_attribute):
3152         (webkit_dom_test_js_builtin_constructor_set_test_attribute):
3153         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
3154         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
3155         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
3156         (WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
3157         (WebCore::jsTestJSBuiltinConstructorTestAttribute):
3158         (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
3159         (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
3160         (WebCore::setJSTestJSBuiltinConstructorTestAttribute):
3161         (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
3162         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
3163         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
3164         (WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
3165         (WebCore::JSTestJSBuiltinConstructorOwner::finalize):
3166         (WebCore::toJSNewlyCreated):
3167         (WebCore::toJS):
3168         (WebCore::JSTestJSBuiltinConstructor::toWrapped):
3169         (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
3170         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
3171         (WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
3172         (WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
3173         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
3174         (WebCore::JSTestJSBuiltinConstructor::create):
3175         (WebCore::JSTestJSBuiltinConstructor::finishCreation):
3176         (WebCore::wrapperOwner):
3177         (WebCore::toJS):
3178         (WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.
3179         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
3180         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
3181         (-[DOMTestJSBuiltinConstructor testAttribute]):
3182         (-[DOMTestJSBuiltinConstructor setTestAttribute:]):
3183         (-[DOMTestJSBuiltinConstructor testAttributeCustom]):
3184         (-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
3185         (-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
3186         (-[DOMTestJSBuiltinConstructor testFunction]):
3187         (-[DOMTestJSBuiltinConstructor testCustomFunction]):
3188         * bindings/scripts/test/TestJSBuiltinConstructor.idl:
3189
3190 2015-10-29  Sergio Villar Senin  <svillar@igalia.com>
3191
3192         [CSS Grid Layout] min-content row does not always shrink
3193         https://bugs.webkit.org/show_bug.cgi?id=144581
3194
3195         Reviewed by Zalan Bujtas.
3196
3197         Grid items height must be recomputed whenever the grid tracks
3198         change if the items had been previously stretched. In those
3199         cases we have to clear the override height and layout the item
3200         with the new row size.
3201
3202         Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html
3203                fast/css-grid-layout/relayout-indefinite-heights.html
3204
3205         * rendering/RenderGrid.cpp:
3206         (WebCore::RenderGrid::logicalContentHeightForChild):
3207
3208 2015-11-01  Brady Eidson  <beidson@apple.com>
3209
3210         Modern IDB: IBDObjectStore.count() support.
3211         https://bugs.webkit.org/show_bug.cgi?id=150785
3212
3213         Reviewed by Darin Adler.
3214
3215         Tests: storage/indexeddb/modern/idbobjectstore-count-1.html
3216                storage/indexeddb/modern/idbobjectstore-count-failures.html
3217
3218         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3219         (WebCore::IDBClient::IDBConnectionToServer::getCount):
3220         (WebCore::IDBClient::IDBConnectionToServer::didGetCount):
3221         * Modules/indexeddb/client/IDBConnectionToServer.h:
3222         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3223         
3224         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3225         (WebCore::IDBClient::IDBObjectStore::count):
3226         (WebCore::IDBClient::IDBObjectStore::doCount):
3227         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
3228         
3229         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3230         (WebCore::IDBClient::IDBRequest::setResult):
3231         * Modules/indexeddb/client/IDBRequestImpl.h:
3232         
3233         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3234         (WebCore::IDBClient::IDBTransaction::requestCount):
3235         (WebCore::IDBClient::IDBTransaction::getCountOnServer):
3236         (WebCore::IDBClient::IDBTransaction::didGetCountOnServer):
3237         * Modules/indexeddb/client/IDBTransactionImpl.h:
3238         
3239         * Modules/indexeddb/server/IDBBackingStore.h:
3240         
3241         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3242         (WebCore::IDBServer::IDBConnectionToClient::didGetCount):
3243         * Modules/indexeddb/server/IDBConnectionToClient.h:
3244         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3245         
3246         * Modules/indexeddb/server/IDBServer.cpp:
3247         (WebCore::IDBServer::IDBServer::getCount):
3248         * Modules/indexeddb/server/IDBServer.h:
3249         
3250         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3251         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
3252         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3253         
3254         * Modules/indexeddb/server/MemoryObjectStore.cpp:
3255         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
3256         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange):
3257         (WebCore::IDBServer::MemoryObjectStore::lowestKeyWithRecordInRange):
3258         * Modules/indexeddb/server/MemoryObjectStore.h:
3259         
3260         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3261         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
3262         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
3263         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
3264         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount):
3265         (WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
3266         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3267         
3268         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3269         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
3270         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
3271         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3272         
3273         * Modules/indexeddb/shared/IDBResultData.cpp:
3274         (WebCore::IDBResultData::IDBResultData):
3275         (WebCore::IDBResultData::getCountSuccess):
3276         * Modules/indexeddb/shared/IDBResultData.h:
3277         (WebCore::IDBResultData::resultInteger):
3278         
3279         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3280         (WebCore::InProcessIDBServer::didGetCount):
3281         (WebCore::InProcessIDBServer::getCount):
3282         * Modules/indexeddb/shared/InProcessIDBServer.h:
3283
3284 2015-11-01  Darin Adler  <darin@apple.com>
3285
3286         Tidy handling of type=color in HTMLInputElement a bit
3287         https://bugs.webkit.org/show_bug.cgi?id=150786
3288
3289         Reviewed by Andreas Kling.
3290
3291         * html/ColorInputType.cpp: Fix formatting.
3292         (WebCore::ColorInputType::fallbackValue): Use ASCIILiteral for slightly
3293         better performance.
3294         (WebCore::ColorInputType::sanitizeValue): Use convertToASCIILowercase,
3295         since there is no need for the general purpose Unicode lowercasing here;
3296         those non-ASCII characters aren't allowed by isValidColorString.
3297         (WebCore::ColorInputType::suggestions): Rewrote data list code to remove
3298         peculiarities such as using a null check to terminate the loop instead of
3299         the collection length, calling back to HTMLInputElement just to get the
3300         isValidColorString function called. Also used reserveInitialCapacity and
3301         uncheckedAppend for better memory use in the result vector.
3302         (WebCore::ColorInputType::selectColor): Added.
3303
3304         * html/ColorInputType.h: Made derivation from ColorChooserClient private.
3305         Made most functions private. Added overrides for valueAsColor and selectColor,
3306         now both virtual functions in InputType.
3307
3308         * html/HTMLInputElement.cpp: Removed now-unneeded include of ColorInputType.h.
3309         (WebCore::HTMLInputElement::valueAsColor): Added. Calls through to the InputType.
3310         In a later patch, will be used by accessibility code to get the color so it
3311         does not have to replicate the color parsing logic from this element.
3312         (WebCore::HTMLInputElement::selectColor): Renamed from selectColorInColorChooser,
3313         because the longer name is not clearer. Also made this non-conditional.
3314
3315         * html/HTMLInputElement.h: Added valueAsColor, renamed selectColorInColorChooser
3316         to selectColor and made it available unconditionally.
3317
3318         * html/InputType.cpp:
3319         (WebCore::InputType::valueAsColor): Added. Returns transparent color.
3320         (WebCore::InputType::selectColor): Added. Does nothing by default.
3321
3322         * html/InputType.h: Added virtual valueAsColor and selectColor. Also tidied
3323         up the header a bit and removed unneeded Noncopyable (since this class has
3324         a reference for one of the data members and so is intrinsically not copyable).
3325         Made isColorControl available unconditionally.
3326
3327         * testing/Internals.cpp:
3328         (WebCore::Internals::selectColorInColorChooser): Removed conditionals and
3329         made this call selectColor rather than selectColorInColorChooser.
3330
3331         * testing/Internals.h: Made selectColorInColorChooser unconditional.
3332
3333         * testing/Internals.idl: Made selectColorInColorChooser unconditionally
3334         present. Not important to optimize the test internals class by leaving it
3335         out when INPUT_TYPE_COLOR is not enabled.
3336
3337 2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
3338
3339         [ES6] Support Generator Syntax
3340         https://bugs.webkit.org/show_bug.cgi?id=150769
3341
3342         Reviewed by Geoffrey Garen.
3343
3344         Added ENABLE_ES6_GENERATORS flag.
3345
3346         * Configurations/FeatureDefines.xcconfig:
3347
3348 2015-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
3349
3350         Clean up some CSS & Font code
3351         https://bugs.webkit.org/show_bug.cgi?id=150767
3352
3353         Reviewed by Darin Adler.
3354
3355         This patch migrates some CSS code to use references instead of pointers.
3356         It also migrates some Font code to use RefPtr instead of PassRefPtr.
3357
3358         No new tests because there is no behavior change.
3359
3360         * css/CSSDefaultStyleSheets.cpp:
3361         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
3362         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
3363         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3364         * css/CSSFontSelector.cpp:
3365         (WebCore::createFontFace):
3366         (WebCore::CSSFontSelector::addFontFaceRule):
3367         * css/CSSFontSelector.h:
3368         * css/DocumentRuleSets.cpp:
3369         (WebCore::DocumentRuleSets::initUserStyle):
3370         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
3371         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
3372         * css/RuleSet.cpp:
3373         (WebCore::RuleSet::addChildRules):
3374         (WebCore::RuleSet::addRulesFromSheet):
3375         * css/RuleSet.h:
3376         * css/StyleInvalidationAnalysis.cpp:
3377         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
3378         * platform/graphics/Font.cpp:
3379         (WebCore::Font::verticalRightOrientationFont):
3380         (WebCore::Font::uprightOrientationFont):
3381         (WebCore::Font::smallCapsFont):
3382         (WebCore::Font::emphasisMarkFont):
3383         (WebCore::Font::brokenIdeographFont):
3384         (WebCore::Font::nonSyntheticItalicFont):
3385         (WebCore::Font::createScaledFont):
3386         * platform/graphics/Font.h:
3387         (WebCore::Font::variantFont):
3388         * platform/graphics/cocoa/FontCocoa.mm:
3389         (WebCore::Font::platformCreateScaledFont):
3390         * svg/SVGFontFaceElement.h:
3391
3392 2015-11-01  Darin Adler  <darin@apple.com>
3393
3394         Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
3395         https://bugs.webkit.org/show_bug.cgi?id=150783
3396
3397         Reviewed by Tim Horton.
3398
3399         * PlatformWinCairo.cmake: Removed ScrollbarThemeSafari.cpp, no reason to compile it.
3400
3401         * platform/graphics/ca/GraphicsLayerCA.cpp:
3402         (WebCore::GraphicsLayerCA::setContentsToImage): Removed the code that set a color space
3403         on an image if it's set to device color space. This has been dead code for many releases
3404         of OS X and iOS at this point.
3405
3406         * platform/graphics/filters/FEColorMatrix.h: Removed some ENABLE(OPENCL)-only code.
3407         * platform/graphics/filters/FEFlood.h: Ditto.
3408         * platform/graphics/filters/FEMerge.h: Ditto.
3409         * platform/graphics/filters/FETurbulence.h: Ditto.
3410         * platform/graphics/filters/FilterEffect.cpp:
3411         (WebCore::FilterEffect::applyAll): Removed.
3412         (WebCore::FilterEffect::apply): Removed ENABLE(OPENCL)-only code.
3413         (WebCore::FilterEffect::platformApplyOpenCL): Removed.
3414         (WebCore::FilterEffect::clearResult): Removed ENABLE(OPENCL)-only code.
3415         (WebCore::FilterEffect::asImageBuffer): Ditto.
3416         (WebCore::FilterEffect::openCLImageToImageBuffer): Removed.
3417         (WebCore::FilterEffect::createOpenCLImageResult): Removed.
3418         (WebCore::FilterEffect::transformResultColorSpace): Removed ENABLE(OPENCL)-only code.
3419
3420         * platform/graphics/filters/FilterEffect.h: Removed ENABLE(OPENCL)-only code.
3421         * platform/graphics/filters/SourceAlpha.h: Ditto.
3422         * platform/graphics/filters/SourceGraphic.h: Ditto.
3423
3424         * platform/win/ScrollbarThemeSafari.cpp: Removed.
3425         * platform/win/ScrollbarThemeSafari.h: Removed.
3426
3427         * rendering/RenderThemeMac.mm: Removed an obsolete comment.
3428
3429         * rendering/RenderThemeSafari.cpp: Removed.
3430         * rendering/RenderThemeSafari.h: Removed.
3431
3432         * svg/graphics/filters/SVGFEImage.h: Removed ENABLE(OPENCL)-only code.
3433
3434 2015-11-01  Andreas Kling  <akling@apple.com>
3435
3436         Move the ResourceUsageOverlay out of the way by default.
3437         <https://webkit.org/b/150776>
3438
3439         Reviewed by Darin Adler.
3440
3441         Have the ResourceUsageOverlay show up in the bottom center of the viewport
3442         by default, instead of the top left. This way, you won't have to drag it
3443         out of the way all the time.
3444
3445         * page/ResourceUsageOverlay.cpp:
3446         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
3447         (WebCore::ResourceUsageOverlay::initialize):
3448         * page/ResourceUsageOverlay.h:
3449         * page/cocoa/ResourceUsageOverlayCocoa.mm:
3450         (WebCore::ResourceUsageOverlay::platformInitialize):
3451
3452 2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
3453
3454         [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
3455         https://bugs.webkit.org/show_bug.cgi?id=144560
3456
3457         Reviewed by Darin Adler.
3458
3459         * platform/graphics/PlatformDisplay.cpp: Only include the
3460         X11-specific GDK header on PLATFORM(X11). In other cases the
3461         normal gdk.h header is needed, which would otherwise be pulled in
3462         by gdkx.h.
3463         * platform/graphics/opentype/OpenTypeMathData.cpp: Change check
3464         for FourCharCode type from OS(DARWIN) to PLATFORM(COCOA). We
3465         can't remove it altogether because OT_MAKE_TAG doesn't work for
3466         all platforms.
3467
3468 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3469
3470         [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
3471         https://bugs.webkit.org/show_bug.cgi?id=150754
3472
3473         Reviewed by Darin Adler.
3474
3475         It's more efficient because it uses a persistent source and it
3476         simplifies the code even more.
3477
3478         * platform/MainThreadSharedTimer.cpp:
3479         (WebCore::MainThreadSharedTimer::fired): Make it non-const to be
3480         able to use it as function callback of a RunLoop::Timer.
3481         * platform/MainThreadSharedTimer.h:
3482         * platform/gtk/MainThreadSharedTimerGtk.cpp:
3483         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
3484         Initialize the RunLoop::Timer and set the prioriry.
3485         (WebCore::MainThreadSharedTimer::setFireInterval):
3486         (WebCore::MainThreadSharedTimer::stop):
3487
3488 2015-10-31  Andreas Kling  <akling@apple.com>
3489
3490         Add a debug overlay with information about web process resource usage.
3491         <https://webkit.org/b/150599>
3492
3493         Unreviewed follow-up to r191849.
3494
3495         Add missing call to uninstall the PageOverlay if the ResourceUsageOverlay is being
3496         disabled through the setting. This way you don't end up with an unremovable overlay
3497         in the MiniBrowser.
3498
3499         * page/ResourceUsageOverlay.cpp:
3500         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
3501
3502 2015-10-31  Brady Eidson  <beidson@apple.com>
3503
3504         IDB: Date objects don't work as keys or values.
3505         https://bugs.webkit.org/show_bug.cgi?id=150743
3506
3507         Reviewed by Darin Adler.
3508
3509         Test: storage/indexeddb/modern/date-basic.html
3510
3511         The combination of the autogenerated bindings with Deprecated::ScriptValue was
3512         losing the fidelity of "Date" objects being Dates, and not just normal Objects.
3513         
3514         This was breaking their usage as IDBKeys.
3515         
3516         Custom binding + reworking the IDBObjectStore IDLs to use JSValue instead of ScriptValue
3517         fixes this handily.
3518         
3519         * Modules/indexeddb/IDBObjectStore.h:
3520         * Modules/indexeddb/IDBObjectStore.idl:
3521         
3522         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3523         (WebCore::IDBClient::IDBObjectStore::add):
3524         (WebCore::IDBClient::IDBObjectStore::put):
3525         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
3526         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
3527         
3528         * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
3529         (WebCore::LegacyObjectStore::add):
3530         (WebCore::LegacyObjectStore::put):
3531         * Modules/indexeddb/legacy/LegacyObjectStore.h:
3532         
3533         * bindings/js/IDBBindingUtilities.cpp:
3534         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
3535         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
3536         (WebCore::canInjectIDBKeyIntoScriptValue):
3537         (WebCore::scriptValueToIDBKey):
3538         * bindings/js/IDBBindingUtilities.h:
3539
3540         * bindings/js/JSIDBObjectStoreCustom.cpp:
3541         (WebCore::putOrAdd):
3542         (WebCore::JSIDBObjectStore::putRecord):
3543         (WebCore::JSIDBObjectStore::add):
3544
3545 2015-10-31  Andreas Kling  <akling@apple.com>
3546
3547         Add a debug overlay with information about web process resource usage.
3548         <https://webkit.org/b/150599>
3549
3550         Reviewed by Darin Adler.
3551
3552         A new kind of PageOverlay is added behind the ENABLE(RESOURCE_USAGE_OVERLAY) flag.
3553         It's owned by Page, but not instantiated unless the Settings::resourceUsageOverlayVisible flag is set.
3554
3555         All ResourceUsageOverlay objects share a single sampler thread. The thread currently runs every 500ms
3556         and samples CPU usage, dirty memory regions, and GC heap size/capacity.
3557
3558         Most things in here are currently quite Mac-specific, but I will be iterating on this towards a more
3559         cross-platform friendly solution.
3560
3561         There are two small changes to PageOverlay in order to support dragging the resource usage overlay:
3562
3563             - A "should ignore mouse events outside bounds" state flag. This is on by default
3564               but turned off during a drag.
3565             - PageOverlay::bounds() will now return the override frame verbatim if one is set,
3566               instead of returning it relocated to 0,0.
3567
3568         Note that this is intended as a tool for WebKit engine developers to better understand memory usage.
3569         It's not a goal to expose this information to end users.
3570
3571         * WebCore.xcodeproj/project.pbxproj:
3572         * page/Page.cpp:
3573         (WebCore::Page::setResourceUsageOverlayVisible):
3574         * page/Page.h:
3575         * page/PageOverlay.cpp:
3576         (WebCore::PageOverlay::bounds):
3577         (WebCore::PageOverlay::mouseEvent):
3578         * page/PageOverlay.h:
3579         * page/ResourceUsageOverlay.cpp: Added.
3580         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
3581         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
3582         (WebCore::ResourceUsageOverlay::mouseEvent):
3583         * page/ResourceUsageOverlay.h: Added.
3584         * page/Settings.cpp:
3585         (WebCore::Settings::setResourceUsageOverlayVisible):
3586         * page/Settings.h:
3587         (WebCore::Settings::resourceUsageOverlayVisible):
3588         * page/cocoa/ResourceUsageOverlayCocoa.mm: Added.
3589         (-[WebOverlayLayer initWithResourceUsageOverlay:]):
3590         (-[WebOverlayLayer drawInContext:]):
3591         (WebCore::RingBuffer::RingBuffer):
3592         (WebCore::RingBuffer::append):
3593         (WebCore::RingBuffer::last):
3594         (WebCore::RingBuffer::forEach):
3595         (WebCore::RingBuffer::incrementIndex):
3596         (WebCore::RingBuffer::decrementIndex):
3597         (WebCore::sharedData):
3598         (WebCore::ResourceUsageOverlay::platformInitialize):
3599         (WebCore::ResourceUsageOverlay::platformDestroy):
3600         (WebCore::drawCpuHistory):
3601         (WebCore::drawGCHistory):
3602         (WebCore::drawSlice):
3603         (WebCore::drawPlate):
3604         (WebCore::drawMemoryPie):
3605         (WebCore::formatByteNumber):
3606         (WebCore::showText):
3607         (WebCore::ResourceUsageOverlay::draw):
3608         (WebCore::dirtyPagesPerVMTag):
3609         (WebCore::cpuUsage):
3610         (WebCore::runSamplerThread):
3611         * platform/spi/cocoa/MachVMSPI.h:
3612
3613 2015-10-31  Brady Eidson  <beidson@apple.com>
3614
3615         storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html is flaky.
3616         https://bugs.webkit.org/show_bug.cgi?id=150735
3617
3618         Reviewed by Darin Adler.
3619
3620         No new tests (Covered by existing tests).
3621
3622         Transactions were liable to commit too early because IDBRequests could be waiting
3623         to dispatch their error/success events but their operations would no longer be
3624         registered with the transaction.
3625         
3626         Having outstanding requests should also keep a transaction from committing, just
3627         like having outstanding operations should.
3628         
3629         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
3630         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
3631         
3632         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3633         (WebCore::IDBClient::IDBRequest::dispatchEvent):
3634         
3635         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3636         (WebCore::IDBClient::IDBTransaction::addRequest):
3637         (WebCore::IDBClient::IDBTransaction::removeRequest):
3638         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
3639         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3640         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
3641         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
3642         (WebCore::IDBClient::IDBTransaction::operationDidComplete):
3643         * Modules/indexeddb/client/IDBTransactionImpl.h:
3644         
3645         * Modules/indexeddb/client/TransactionOperation.h:
3646         (WebCore::IDBClient::TransactionOperation::completed):
3647
3648 2015-10-31  Philippe Normand  <pnormand@igalia.com>
3649
3650         [GStreamer][Mac] Fix WebAudio build
3651         https://bugs.webkit.org/show_bug.cgi?id=150030
3652
3653         Reviewed by Darin Adler.
3654
3655         Wrap Accelerate.framework API calls around USE(ACCELERATE) ifdefs.
3656
3657         * platform/audio/Biquad.cpp:
3658         (WebCore::Biquad::Biquad):
3659         (WebCore::Biquad::process):
3660         (WebCore::Biquad::reset):
3661         * platform/audio/Biquad.h:
3662         * platform/audio/DirectConvolver.cpp:
3663         (WebCore::DirectConvolver::process):
3664         * platform/audio/FFTFrame.h:
3665         * platform/audio/VectorMath.cpp:
3666
3667 2015-10-31  Brian Burg  <bburg@apple.com>
3668
3669         Builtins generator should put WebCore-only wrappers in the per-builtin header
3670         https://bugs.webkit.org/show_bug.cgi?id=150539
3671
3672         Reviewed by Youenn Fablet.
3673
3674         Fix includes of removed XXXWrapper.h headers.
3675
3676         * CMakeLists.txt:
3677         * DerivedSources.make:
3678         * WebCore.xcodeproj/project.pbxproj:
3679         * bindings/js/WebCoreJSBuiltinInternals.h:
3680         * bindings/js/WebCoreJSBuiltins.h:
3681
3682 2015-10-31  Yusuke Suzuki  <utatane.tea@gmail.com>
3683
3684         Add the support for Symbol attributes on IDL
3685         https://bugs.webkit.org/show_bug.cgi?id=150586
3686
3687         Reviewed by Ryosuke Niwa.
3688
3689         This patch addes readonly attribute support for Symbols.
3690         It involves the IDL generator functionality converting Native type (PrivateName) to Symbol.
3691
3692         * bindings/scripts/CodeGeneratorGObject.pm:
3693         (SkipAttribute):
3694         (SkipFunction):
3695         * bindings/scripts/CodeGeneratorJS.pm:
3696         (NativeToJSValue):
3697         * bindings/scripts/CodeGeneratorObjC.pm:
3698         (SkipFunction):
3699         (SkipAttribute):
3700         * bindings/scripts/test/JS/JSTestObj.cpp:
3701         (WebCore::jsTestObjReadOnlySymbolAttr):
3702         (WebCore::jsTestObjConstructorStaticReadOnlySymbolAttr):
3703         * bindings/scripts/test/TestObj.idl:
3704
3705 2015-10-30  Brady Eidson  <beidson@apple.com>
3706
3707         Modern IDB: Support IDBObjectStore.get() for IDBKeyRanges.
3708         https://bugs.webkit.org/show_bug.cgi?id=150718
3709
3710         Reviewed by Alex Christensen.
3711
3712         Test: storage/indexeddb/modern/get-keyrange.html
3713
3714         * Modules/indexeddb/IDBKeyRangeData.cpp:
3715         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
3716         * Modules/indexeddb/IDBKeyRangeData.h:
3717         
3718         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3719         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
3720         * Modules/indexeddb/client/IDBConnectionToServer.h:
3721         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3722         
3723         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3724         (WebCore::IDBClient::IDBObjectStore::get):
3725         
3726         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3727         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3728         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
3729         * Modules/indexeddb/client/IDBTransactionImpl.h:
3730         
3731         * Modules/indexeddb/server/IDBBackingStore.h:
3732         
3733         * Modules/indexeddb/server/IDBServer.cpp:
3734         (WebCore::IDBServer::IDBServer::getRecord):
3735         * Modules/indexeddb/server/IDBServer.h:
3736         
3737         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3738         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
3739         
3740         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3741         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
3742         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3743         
3744         * Modules/indexeddb/server/MemoryObjectStore.cpp:
3745         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
3746         (WebCore::IDBServer::MemoryObjectStore::setKeyValue):
3747         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange): Using a std::set, find the appropriate
3748           key in the range, and return the value if one exists.
3749         (WebCore::IDBServer::MemoryObjectStore::valueForKey): Deleted.
3750         * Modules/indexeddb/server/MemoryObjectStore.h:
3751         
3752         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3753         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
3754         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
3755         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3756         
3757         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3758         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
3759         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3760         
3761         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3762         (WebCore::InProcessIDBServer::getRecord):
3763         * Modules/indexeddb/shared/InProcessIDBServer.h:
3764
3765 2015-10-30  Brady Eidson  <beidson@apple.com>
3766
3767         Modern IDB: IDBObjectStore.clear() support.
3768         https://bugs.webkit.org/show_bug.cgi?id=150733
3769
3770         Reviewed by Alex Christensen.
3771
3772         Tests: storage/indexeddb/modern/idbobjectstore-clear-1.html
3773                storage/indexeddb/modern/idbobjectstore-clear-2.html
3774
3775         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3776         (WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
3777         (WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
3778         * Modules/indexeddb/client/IDBConnectionToServer.h:
3779         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3780         
3781         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3782         (WebCore::IDBClient::IDBObjectStore::clear):
3783         
3784         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3785         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
3786         * Modules/indexeddb/client/IDBRequestImpl.h:
3787         
3788         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3789         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
3790         (WebCore::IDBClient::IDBTransaction::clearObjectStoreOnServer):
3791         (WebCore::IDBClient::IDBTransaction::didClearObjectStoreOnServer):
3792         * Modules/indexeddb/client/IDBTransactionImpl.h:
3793
3794         * Modules/indexeddb/server/IDBBackingStore.h:
3795
3796         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3797         (WebCore::IDBServer::IDBConnectionToClient::didClearObjectStore):
3798         * Modules/indexeddb/server/IDBConnectionToClient.h:
3799         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3800
3801         * Modules/indexeddb/server/IDBServer.cpp:
3802         (WebCore::IDBServer::IDBServer::clearObjectStore):
3803         * Modules/indexeddb/server/IDBServer.h:
3804
3805         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3806         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
3807         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
3808         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
3809         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
3810         (WebCore::IDBServer::MemoryBackingStoreTransaction::isAborting):
3811
3812         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3813         (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
3814         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3815
3816         * Modules/indexeddb/server/MemoryObjectStore.cpp:
3817         (WebCore::IDBServer::MemoryObjectStore::clear):
3818         (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
3819         * Modules/indexeddb/server/MemoryObjectStore.h:
3820
3821         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3822         (WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
3823         (WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
3824         (WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore):
3825         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3826
3827         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
3828         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
3829         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
3830
3831         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3832         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
3833         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3834
3835         * Modules/indexeddb/shared/IDBResultData.cpp:
3836         (WebCore::IDBResultData::clearObjectStoreSuccess):
3837         * Modules/indexeddb/shared/IDBResultData.h:
3838
3839         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3840         (WebCore::InProcessIDBServer::didClearObjectStore):
3841         (WebCore::InProcessIDBServer::clearObjectStore):
3842         * Modules/indexeddb/shared/InProcessIDBServer.h:
3843
3844 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
3845
3846         CSSParserVariable leaks seen on leaks bots
3847         https://bugs.webkit.org/show_bug.cgi?id=150724
3848
3849         Reviewed by Darin Adler.
3850
3851         * css/CSSParserValues.cpp:
3852         (WebCore::destroy):
3853         Cleanup variable CSSParserValues.
3854
3855 2015-10-30  Alex Christensen  <achristensen@webkit.org>
3856
3857         Fix Windows build.
3858
3859         * PlatformWin.cmake:
3860         Add missing files.
3861
3862 2015-10-30  Beth Dakin  <bdakin@apple.com>
3863
3864         Tapping and holding a link should have a share option
3865         https://bugs.webkit.org/show_bug.cgi?id=150693
3866         -and corresponding-
3867         rdar://problem/21319702
3868
3869         Reviewed by Tim Horton.
3870
3871         * English.lproj/Localizable.strings:
3872
3873 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
3874
3875         Minor CGColor leaks seen on bots allocated in WebSystemBackdropLayer.mm
3876         https://bugs.webkit.org/show_bug.cgi?id=150722
3877
3878         Reviewed by Andreas Kling.
3879
3880         * platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
3881         (-[WebLightSystemBackdropLayer init]):
3882         (-[WebDarkSystemBackdropLayer init]):
3883
3884 2015-10-30  Csaba Osztrogonác  <ossy@webkit.org>
3885
3886         [EFL] Fix the debug build after r191758
3887         https://bugs.webkit.org/show_bug.cgi?id=150719
3888
3889         Reviewed by Alex Christensen.
3890
3891         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3892         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
3893
3894 2015-10-30  Dan Bernstein  <mitz@apple.com>
3895
3896         Fixed the build.
3897
3898         * platform/graphics/Image.cpp:
3899         (WebCore::Image::draw): Deleted an infinitely-recursive implementation that caused the
3900           compiler to emit an error.
3901         * platform/graphics/Image.h:
3902         (WebCore::Image::draw): Made this pure virtual.
3903
3904 2015-10-30  Brady Eidson  <beidson@apple.com>
3905
3906         Modern IDB: IDBObjectStore.add() support.
3907         https://bugs.webkit.org/show_bug.cgi?id=150711
3908
3909         Reviewed by Alex Christensen.
3910
3911         Test: storage/indexeddb/modern/basic-add.html
3912
3913         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3914         (WebCore::IDBClient::IDBObjectStore::add):
3915
3916         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3917         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3918
3919 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
3920
3921         Use modern for-loops in WebCore/dom.
3922         https://bugs.webkit.org/show_bug.cgi?id=150664
3923
3924         Reviewed by Darin Adler.
3925
3926         No new tests because there is no behavior change.
3927
3928         * dom/AuthorStyleSheets.cpp:
3929         (WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
3930         (WebCore::filterEnabledNonemptyCSSStyleSheets):
3931         (WebCore::AuthorStyleSheets::activeStyleSheetsContains):
3932         * dom/CheckedRadioButtons.cpp:
3933         (WebCore::RadioButtonGroup::updateValidityForAllButtons):
3934         * dom/ClientRectList.cpp:
3935         (WebCore::ClientRectList::ClientRectList):
3936         (WebCore::ClientRectList::~ClientRectList):
3937         * dom/ContainerNode.cpp:
3938         (WebCore::ContainerNode::insertBefore):
3939         * dom/DOMNamedFlowCollection.cpp:
3940         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
3941         (WebCore::DOMNamedFlowCollection::length):
3942         (WebCore::DOMNamedFlowCollection::item):
3943         (WebCore::DOMNamedFlowCollection::namedItem):
3944         * dom/DOMStringList.cpp:
3945         (WebCore::DOMStringList::contains):
3946         * dom/Document.cpp:
3947         (WebCore::Document::Document):
3948         (WebCore::Document::~Document):
3949         (WebCore::Document::removedLastRef):
3950         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
3951         (WebCore::Document::updateHoverActiveState):
3952         * dom/DocumentMarkerController.cpp:
3953         (WebCore::DocumentMarkerController::copyMarkers):
3954         (WebCore::DocumentMarkerController::removeMarkers):
3955         (WebCore::DocumentMarkerController::repaintMarkers):
3956         (DocumentMarkerController::showMarkers):
3957         * dom/ElementData.cpp:
3958         (WebCore::UniqueElementData::findAttributeByName):
3959         * dom/EventDispatcher.cpp:
3960         (WebCore::EventPath::updateTouchLists):
3961         (WebCore::EventPath::hasEventListeners):
3962         * dom/EventListenerMap.cpp:
3963         (WebCore::EventListenerMap::contains):
3964         (WebCore::EventListenerMap::containsCapturing):
3965         (WebCore::EventListenerMap::eventTypes):
3966         (WebCore::EventListenerMap::add):
3967         (WebCore::EventListenerMap::find):
3968         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
3969         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3970         (WebCore::EventListenerIterator::EventListenerIterator):
3971         * dom/EventTarget.cpp:
3972         (WebCore::EventTarget::removeEventListener):
3973         (WebCore::EventTarget::getAttributeEventListener):
3974         (WebCore::EventTarget::removeAllEventListeners):
3975         * dom/IdTargetObserverRegistry.cpp:
3976         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
3977         * dom/MessagePort.cpp:
3978         (WebCore::MessagePort::postMessage):
3979         (WebCore::MessagePort::disentanglePorts):
3980         * dom/MutationObserver.cpp:
3981         (WebCore::MutationObserver::observe):
3982         (WebCore::MutationObserver::deliver):
3983         (WebCore::MutationObserver::deliverAllMutations):
3984         * dom/NamedFlowCollection.cpp:
3985         (WebCore::NamedFlowCollection::namedFlows):
3986         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
3987         * dom/Node.cpp:
3988         (WebCore::Node::notifyMutationObserversNodeWillDetach):
3989         * dom/Range.cpp:
3990         (WebCore::Range::processNodes):
3991         (WebCore::Range::processAncestorsAndTheirSiblings):
3992         (WebCore::Range::absoluteBoundingBox):
3993         (WebCore::Range::collectSelectionRects):
3994         * dom/ScriptRunner.cpp:
3995         (WebCore::ScriptRunner::timerFired):
3996         * dom/ScriptedAnimationController.cpp:
3997         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
3998         * dom/SelectorQuery.cpp:
3999         (WebCore::SelectorDataList::matches):
4000         (WebCore::SelectorDataList::executeFastPathForIdSelector):
4001         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
4002         (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
4003         (WebCore::SelectorDataList::execute):
4004         * dom/TreeScopeAdopter.cpp:
4005         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
4006
4007 2015-10-30  Carlo