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