[Streams API] streams should not directly use Number and related methods
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2
3         [Streams API] streams should not directly use Number and related methods
4         https://bugs.webkit.org/show_bug.cgi?id=151499
5
6         Reviewed by Darin Adler.
7
8         Covered by updated test.
9
10         Using @Number, @isFinite and @isNaN in place of Number, Number.isFinite and Number.isNaN.
11
12         * Modules/streams/ReadableStreamInternals.js:
13         (enqueueInReadableStream):
14         * Modules/streams/StreamInternals.js:
15         (validateAndNormalizeQueuingStrategy):
16         (enqueueValueWithSize):
17
18 2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
19
20         Unreviewed. Fix GTK+ build after r192849.
21
22         * bindings/scripts/CodeGeneratorGObject.pm:
23         (GenerateFunction):
24         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
25         (webkit_dom_test_interface_supplemental_method1):
26         (webkit_dom_test_interface_supplemental_method2):
27         (webkit_dom_test_interface_set_supplemental_str2):
28         (webkit_dom_test_interface_get_supplemental_node):
29         (webkit_dom_test_interface_set_supplemental_node):
30
31 2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>
32
33         [Streams API] Remove use of @catch for exposed promises
34         https://bugs.webkit.org/show_bug.cgi?id=151625
35
36         Reviewed by Darin Adler.
37
38         Promise @catch is calling "then" which may be controlled by user scripts.
39         This patch simply replaces @catch by calling @then directly.
40
41         Covered by modified tests.
42
43         * Modules/streams/ReadableStream.js:
44         (pipeTo):
45         * Modules/streams/ReadableStreamInternals.js:
46         (teeReadableStream):
47
48 2015-11-30  Jaehun Lim  <ljaehun.lim@samsung.com>
49
50         Unreviewed, fix build after r192848 and r192849
51
52         - Rename canSuspendForPageCache to canSuspendForDocumentSuspension
53         - Use references instead of pointers
54
55         * Modules/battery/BatteryManager.cpp:
56         (WebCore::BatteryManager::canSuspendForDocumentSuspension):
57         (WebCore::BatteryManager::canSuspendForPageCache): Deleted.
58         * Modules/battery/BatteryManager.h:
59         * Modules/battery/NavigatorBattery.cpp:
60         (WebCore::NavigatorBattery::webkitBattery):
61         * Modules/battery/NavigatorBattery.h:
62         * Modules/gamepad/deprecated/NavigatorGamepad.cpp:
63         (WebCore::NavigatorGamepad::webkitGetGamepads):
64         * Modules/gamepad/deprecated/NavigatorGamepad.h:
65         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
66         (WebCore::NavigatorContentUtils::registerProtocolHandler):
67         (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
68         (WebCore::NavigatorContentUtils::unregisterProtocolHandler):
69         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
70         * Modules/vibration/NavigatorVibration.cpp:
71         (WebCore::NavigatorVibration::vibrate):
72         * Modules/vibration/NavigatorVibration.h:
73
74 2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>
75
76         Amazon.com Additional Information links aren't clickable
77         https://bugs.webkit.org/show_bug.cgi?id=151401
78         <rdar://problem/23454261>
79
80         Reviewed by Darin Adler.
81
82         The cause of this issue is that the painting order is different from the hittest order so we can end up
83         with visible but unreachable content. To fix this, the executation flow of hittest has been reordered.
84         According to the paint system, which renders the webpage from the bottom RenderLayer to the top, contents
85         are rendered before floats. Hence, for the hittest, which determines the hitted location from top RenderLayer
86         to the bottom, should do it reversedly. Now, hittest will first test floats then contents.
87
88         Test: fast/block/float/hit-test-on-overlapping-floats.html
89
90         * rendering/RenderBlock.cpp:
91         (WebCore::RenderBlock::nodeAtPoint):
92
93 2015-11-30  Simon Fraser  <simon.fraser@apple.com>
94
95         Fix possible crash with animated layers in reflections
96         https://bugs.webkit.org/show_bug.cgi?id=151689
97         rdar://problem/23018612
98
99         Reviewed by Darin Adler.
100
101         Reflections create additional PlatformCALayers whose owner is set to the GraphicsLayerCA.
102         Those PlatformCALayers need their owner pointer cleared out when the GraphicsLayerCA
103         is destroyed.
104         
105         Tested by compositing/reflections/nested-reflection-transition.html
106
107         * platform/graphics/ca/GraphicsLayerCA.cpp:
108         * platform/graphics/ca/GraphicsLayerCA.h:
109
110 2015-11-30  Brady Eidson  <beidson@apple.com>
111
112         Modern IDB: Iterating index cursors to a specific key is busted.
113         https://bugs.webkit.org/show_bug.cgi?id=151684
114
115         Reviewed by Darin Adler.
116
117         No new tests (At least one failing test now passes).
118
119         * Modules/indexeddb/server/MemoryIndexCursor.cpp:
120         (WebCore::IDBServer::MemoryIndexCursor::iterate):
121
122 2015-11-30  Brady Eidson  <beidson@apple.com>
123
124         Modern IDB: ObjectStore cursors should not be able to iterate out of their range.
125         https://bugs.webkit.org/show_bug.cgi?id=151683
126
127         Reviewed by Darin Adler.
128
129         No new tests (Covered by at least one failing test that now passes).
130
131         * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
132         (WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator):
133         (WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator):
134
135 2015-11-30  Anders Carlsson  <andersca@apple.com>
136
137         CTTE autogenerated bindings code
138         https://bugs.webkit.org/show_bug.cgi?id=151682
139
140         Reviewed by Darin Adler.
141
142         Make sure that JS bindings pass a reference to the object when calling static member functions.
143
144         * Modules/gamepad/NavigatorGamepad.cpp:
145         (WebCore::NavigatorGamepad::getGamepads):
146         * Modules/gamepad/NavigatorGamepad.h:
147         * Modules/geolocation/NavigatorGeolocation.cpp:
148         (WebCore::NavigatorGeolocation::geolocation):
149         * Modules/geolocation/NavigatorGeolocation.h:
150         * Modules/mediasource/AudioTrackMediaSource.h:
151         (WebCore::AudioTrackMediaSource::sourceBuffer):
152         * Modules/mediasource/TextTrackMediaSource.h:
153         (WebCore::TextTrackMediaSource::sourceBuffer):
154         * Modules/mediasource/VideoTrackMediaSource.h:
155         (WebCore::VideoTrackMediaSource::sourceBuffer):
156         * Modules/mediastream/HTMLMediaElementMediaStream.cpp:
157         (WebCore::HTMLMediaElementMediaStream::srcObject):
158         (WebCore::HTMLMediaElementMediaStream::setSrcObject):
159         * Modules/mediastream/HTMLMediaElementMediaStream.h:
160         * Modules/mediastream/NavigatorMediaDevices.cpp:
161         (WebCore::NavigatorMediaDevices::mediaDevices):
162         * Modules/mediastream/NavigatorMediaDevices.h:
163         * Modules/notifications/DOMWindowNotifications.cpp:
164         (WebCore::DOMWindowNotifications::webkitNotifications):
165         * Modules/notifications/DOMWindowNotifications.h:
166         * Modules/notifications/Notification.cpp:
167         (WebCore::Notification::Notification):
168         * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
169         (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
170         * Modules/notifications/WorkerGlobalScopeNotifications.h:
171         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
172         (WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
173         * Modules/speech/DOMWindowSpeechSynthesis.h:
174         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
175         (WebCore::DOMWindowWebDatabase::openDatabase):
176         * Modules/webdatabase/DOMWindowWebDatabase.h:
177         * bindings/scripts/CodeGeneratorJS.pm:
178         (GenerateImplementation):
179         (GenerateParametersCheck):
180         * testing/Internals.cpp:
181         (WebCore::Internals::enableMockSpeechSynthesizer):
182
183 2015-11-30  Katlyn Graff  <kgraff@apple.com>
184
185         Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension
186         https://bugs.webkit.org/show_bug.cgi?id=151677
187
188         Reviewed by Ryosuke Niwa.
189
190         Simply a refactoring patch, so no new tests.
191
192         * Modules/encryptedmedia/MediaKeySession.cpp:
193         (WebCore::MediaKeySession::canSuspendForDocumentSuspension):
194         (WebCore::MediaKeySession::canSuspendForPageCache): Deleted.
195         * Modules/encryptedmedia/MediaKeySession.h:
196         * Modules/geolocation/Geolocation.cpp:
197         (WebCore::Geolocation::canSuspendForDocumentSuspension):
198         (WebCore::Geolocation::canSuspendForPageCache): Deleted.
199         * Modules/geolocation/Geolocation.h:
200         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
201         (WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension):
202         (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension):
203         (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache): Deleted.
204         (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache): Deleted.
205         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
206         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
207         (WebCore::IDBClient::IDBDatabase::canSuspendForDocumentSuspension):
208         (WebCore::IDBClient::IDBDatabase::canSuspendForPageCache): Deleted.
209         * Modules/indexeddb/client/IDBDatabaseImpl.h:
210         * Modules/indexeddb/client/IDBRequestImpl.cpp:
211         (WebCore::IDBClient::IDBRequest::canSuspendForDocumentSuspension):
212         (WebCore::IDBClient::IDBRequest::canSuspendForPageCache): Deleted.
213         * Modules/indexeddb/client/IDBRequestImpl.h:
214         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
215         (WebCore::IDBClient::IDBTransaction::canSuspendForDocumentSuspension):
216         (WebCore::IDBClient::IDBTransaction::canSuspendForPageCache): Deleted.
217         * Modules/indexeddb/client/IDBTransactionImpl.h:
218         * Modules/indexeddb/legacy/LegacyDatabase.cpp:
219         (WebCore::LegacyDatabase::canSuspendForDocumentSuspension):
220         (WebCore::LegacyDatabase::canSuspendForPageCache): Deleted.
221         * Modules/indexeddb/legacy/LegacyDatabase.h:
222         * Modules/indexeddb/legacy/LegacyRequest.cpp:
223         (WebCore::LegacyRequest::canSuspendForDocumentSuspension):
224         (WebCore::LegacyRequest::canSuspendForPageCache): Deleted.
225         * Modules/indexeddb/legacy/LegacyRequest.h:
226         * Modules/indexeddb/legacy/LegacyTransaction.cpp:
227         (WebCore::LegacyTransaction::canSuspendForDocumentSuspension):
228         (WebCore::LegacyTransaction::canSuspendForPageCache): Deleted.
229         * Modules/indexeddb/legacy/LegacyTransaction.h:
230         * Modules/mediasource/MediaSource.cpp:
231         (WebCore::MediaSource::canSuspendForDocumentSuspension):
232         (WebCore::MediaSource::canSuspendForPageCache): Deleted.
233         * Modules/mediasource/MediaSource.h:
234         * Modules/mediasource/SourceBuffer.cpp:
235         (WebCore::SourceBuffer::canSuspendForDocumentSuspension):
236         (WebCore::SourceBuffer::canSuspendForPageCache): Deleted.
237         * Modules/mediasource/SourceBuffer.h:
238         * Modules/mediastream/MediaStreamTrack.cpp:
239         (WebCore::MediaStreamTrack::canSuspendForDocumentSuspension):
240         (WebCore::MediaStreamTrack::canSuspendForPageCache): Deleted.
241         * Modules/mediastream/MediaStreamTrack.h:
242         * Modules/mediastream/RTCDTMFSender.cpp:
243         (WebCore::RTCDTMFSender::canSuspendForDocumentSuspension):
244         (WebCore::RTCDTMFSender::canSuspendForPageCache): Deleted.
245         * Modules/mediastream/RTCDTMFSender.h:
246         * Modules/mediastream/RTCPeerConnection.cpp:
247         (WebCore::RTCPeerConnection::canSuspendForDocumentSuspension):
248         (WebCore::RTCPeerConnection::canSuspendForPageCache): Deleted.
249         * Modules/mediastream/RTCPeerConnection.h:
250         * Modules/notifications/DOMWindowNotifications.cpp:
251         (WebCore::DOMWindowNotifications::disconnectFrameForDocumentSuspension):
252         (WebCore::DOMWindowNotifications::reconnectFrameFromDocumentSuspension):
253         (WebCore::DOMWindowNotifications::disconnectFrameForPageCache): Deleted.
254         (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache): Deleted.
255         * Modules/notifications/DOMWindowNotifications.h:
256         * Modules/notifications/Notification.cpp:
257         (WebCore::Notification::canSuspendForDocumentSuspension):
258         (WebCore::Notification::canSuspendForPageCache): Deleted.
259         * Modules/notifications/Notification.h:
260         * Modules/notifications/NotificationCenter.cpp:
261         (WebCore::NotificationCenter::canSuspendForDocumentSuspension):
262         (WebCore::NotificationCenter::canSuspendForPageCache): Deleted.
263         * Modules/notifications/NotificationCenter.h:
264         * Modules/webaudio/AudioContext.cpp:
265         (WebCore::AudioContext::canSuspendForDocumentSuspension):
266         (WebCore::AudioContext::canSuspendForPageCache): Deleted.
267         * Modules/webaudio/AudioContext.h:
268         * Modules/webdatabase/DatabaseContext.cpp:
269         (WebCore::DatabaseContext::canSuspendForDocumentSuspension):
270         (WebCore::DatabaseContext::canSuspendForPageCache): Deleted.
271         * Modules/webdatabase/DatabaseContext.h:
272         * Modules/websockets/WebSocket.cpp:
273         (WebCore::WebSocket::canSuspendForDocumentSuspension):
274         (WebCore::WebSocket::canSuspendForPageCache): Deleted.
275         * Modules/websockets/WebSocket.h:
276         * css/FontLoader.cpp:
277         (WebCore::FontLoader::canSuspendForDocumentSuspension):
278         (WebCore::FontLoader::canSuspendForPageCache): Deleted.
279         * css/FontLoader.h:
280         * dom/ActiveDOMObject.cpp:
281         (WebCore::ActiveDOMObject::canSuspendForDocumentSuspension):
282         (WebCore::ActiveDOMObject::canSuspendForPageCache): Deleted.
283         * dom/ActiveDOMObject.h:
284         * dom/Document.cpp:
285         (WebCore::Document::~Document):
286         * dom/ScriptExecutionContext.cpp:
287         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForTabSuspension):
288         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache): Deleted.
289         * dom/ScriptExecutionContext.h:
290         * fileapi/FileReader.cpp:
291         (WebCore::FileReader::canSuspendForDocumentSuspension):
292         (WebCore::FileReader::canSuspendForPageCache): Deleted.
293         * fileapi/FileReader.h:
294         * history/CachedFrame.cpp:
295         (WebCore::CachedFrame::CachedFrame):
296         * history/PageCache.cpp:
297         (WebCore::canCacheFrame):
298         * html/HTMLMarqueeElement.cpp:
299         (WebCore::HTMLMarqueeElement::canSuspendForDocumentSuspension):
300         (WebCore::HTMLMarqueeElement::canSuspendForPageCache): Deleted.
301         * html/HTMLMarqueeElement.h:
302         * html/HTMLMediaElement.cpp:
303         (WebCore::HTMLMediaElement::canSuspendForDocumentSuspension):
304         (WebCore::HTMLMediaElement::canSuspendForPageCache): Deleted.
305         * html/HTMLMediaElement.h:
306         * html/HTMLSourceElement.cpp:
307         (WebCore::HTMLSourceElement::canSuspendForDocumentSuspension):
308         (WebCore::HTMLSourceElement::canSuspendForPageCache): Deleted.
309         * html/HTMLSourceElement.h:
310         * html/PublicURLManager.cpp:
311         (WebCore::PublicURLManager::canSuspendForDocumentSuspension):
312         (WebCore::PublicURLManager::canSuspendForPageCache): Deleted.
313         * html/PublicURLManager.h:
314         * html/canvas/WebGLRenderingContextBase.cpp:
315         (WebCore::WebGLRenderingContextBase::canSuspendForDocumentSuspension):
316         (WebCore::WebGLRenderingContextBase::canSuspendForPageCache): Deleted.
317         * html/canvas/WebGLRenderingContextBase.h:
318         * loader/FrameLoader.cpp:
319         (WebCore::FrameLoader::clear):
320         (WebCore::FrameLoader::open):
321         * loader/appcache/DOMApplicationCache.cpp:
322         (WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension):
323         (WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension):
324         (WebCore::DOMApplicationCache::disconnectFrameForPageCache): Deleted.
325         (WebCore::DOMApplicationCache::reconnectFrameFromPageCache): Deleted.
326         * loader/appcache/DOMApplicationCache.h:
327         * page/DOMWindow.cpp:
328         (WebCore::DOMWindow::DOMWindow):
329         (WebCore::DOMWindow::~DOMWindow):
330         (WebCore::DOMWindow::resetUnlessSuspendedForDocumentSuspension):
331         (WebCore::DOMWindow::suspendForDocumentSuspension):
332         (WebCore::DOMWindow::resumeFromDocumentSuspension):
333         (WebCore::DOMWindow::disconnectDOMWindowProperties):
334         (WebCore::DOMWindow::reconnectDOMWindowProperties):
335         (WebCore::DOMWindow::resetUnlessSuspendedForPageCache): Deleted.
336         (WebCore::DOMWindow::suspendForPageCache): Deleted.
337         (WebCore::DOMWindow::resumeFromPageCache): Deleted.
338         * page/DOMWindow.h:
339         * page/DOMWindowExtension.cpp:
340         (WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension):
341         (WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension):
342         (WebCore::DOMWindowExtension::disconnectFrameForPageCache): Deleted.
343         (WebCore::DOMWindowExtension::reconnectFrameFromPageCache): Deleted.
344         * page/DOMWindowExtension.h:
345         * page/DOMWindowProperty.cpp:
346         (WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension):
347         (WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension):
348         (WebCore::DOMWindowProperty::disconnectFrameForPageCache): Deleted.
349         (WebCore::DOMWindowProperty::reconnectFrameFromPageCache): Deleted.
350         * page/DOMWindowProperty.h:
351         * page/EventSource.cpp:
352         (WebCore::EventSource::canSuspendForDocumentSuspension):
353         (WebCore::EventSource::canSuspendForPageCache): Deleted.
354         * page/EventSource.h:
355         * page/SuspendableTimer.cpp:
356         (WebCore::SuspendableTimer::canSuspendForDocumentSuspension):
357         (WebCore::SuspendableTimer::canSuspendForPageCache): Deleted.
358         * page/SuspendableTimer.h:
359         * workers/Worker.cpp:
360         (WebCore::Worker::canSuspendForDocumentSuspension):
361         (WebCore::Worker::canSuspendForPageCache): Deleted.
362         * workers/Worker.h:
363         * xml/XMLHttpRequest.cpp:
364         (WebCore::XMLHttpRequest::canSuspendForDocumentSuspension):
365         (WebCore::XMLHttpRequest::canSuspendForPageCache): Deleted.
366         * xml/XMLHttpRequest.h:
367
368 2015-11-30  Brady Eidson  <beidson@apple.com>
369
370         Modern IDB: "prevunique" cursors should point at the lowest primary key that matches, not the highest.
371         https://bugs.webkit.org/show_bug.cgi?id=151675.
372
373         Reviewed by Darin Adler.
374
375         No new tests (Covered by at least one failing test that now passes, and updates to previously incorrect tests).
376
377         * Modules/indexeddb/server/IndexValueEntry.cpp:
378         (WebCore::IDBServer::IndexValueEntry::reverseBegin): If CursorDuplicity is NoDuplicates, start at the lowest
379           entry instead of the highest.
380         (WebCore::IDBServer::IndexValueEntry::reverseFind):
381         * Modules/indexeddb/server/IndexValueEntry.h:
382         
383         * Modules/indexeddb/server/IndexValueStore.cpp:
384         (WebCore::IDBServer::IndexValueStore::reverseFind):
385         (WebCore::IDBServer::IndexValueStore::Iterator::Iterator):
386         (WebCore::IDBServer::IndexValueStore::Iterator::nextIndexEntry):
387         * Modules/indexeddb/server/IndexValueStore.h:
388         
389         * Modules/indexeddb/server/MemoryIndexCursor.cpp:
390         (WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor):
391         (WebCore::IDBServer::MemoryIndexCursor::iterate):
392         
393         * Modules/indexeddb/shared/IDBCursorInfo.cpp:
394         (WebCore::IDBCursorInfo::duplicity):
395         (WebCore::IDBCursorInfo::isDirectionNoDuplicate): Deleted.
396         * Modules/indexeddb/shared/IDBCursorInfo.h:
397
398 2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>
399
400         Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html
401         https://bugs.webkit.org/show_bug.cgi?id=149309
402         <rdar://problem/22748363>
403
404         Reviewed by Brent Fulgham.
405
406         A weird order of event execution introduced by the test case will kill the webpage in a
407         subframe of the page while executing its |frame.loader().checkLoadCompleteForThisFrame()|.
408         Therefore, any frames comes after the failing subframe will have no page. Check it before
409         calling to those frames' |frame.loader().checkLoadCompleteForThisFrame()|, otherwise the
410         assertion in |frame.loader().checkLoadCompleteForThisFrame()| will fail.
411
412         Test: http/tests/misc/detach-during-notifyDone.html
413
414         * loader/FrameLoader.cpp:
415         (WebCore::FrameLoader::checkLoadComplete):
416
417 2015-11-30  Commit Queue  <commit-queue@webkit.org>
418
419         Unreviewed, rolling out r192819.
420         https://bugs.webkit.org/show_bug.cgi?id=151681
421
422         This change broke existing layout tests on Windows (Requested
423         by ryanhaddad on #webkit).
424
425         Reverted changeset:
426
427         "Unify font-variant-* with font-variant shorthand"
428         https://bugs.webkit.org/show_bug.cgi?id=149773
429         http://trac.webkit.org/changeset/192819
430
431 2015-11-30  Darin Adler  <darin@apple.com>
432
433         Use Optional instead of isNull out argument for nullable getters
434         https://bugs.webkit.org/show_bug.cgi?id=151676
435
436         Reviewed by Anders Carlsson.
437
438         No behavior change, just cleaner code.
439
440         * Modules/geolocation/Coordinates.cpp:
441         (WebCore::Coordinates::altitude): Return an Optional.
442         (WebCore::Coordinates::altitudeAccuracy): Ditto.
443         (WebCore::Coordinates::heading): Ditto.
444         (WebCore::Coordinates::speed): Ditto.
445         * Modules/geolocation/Coordinates.h: Ditto.
446
447         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
448         (WebCore::IDBVersionChangeEvent::create): Added. The code before was calling
449         through to Event::create, which is clearly not what was wanted. Also removed
450         unneeded explicit destructor.
451         * Modules/indexeddb/IDBVersionChangeEvent.h: Changed return type of newVersion
452         to Optional and updated for above change.
453
454         * Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp:
455         (WebCore::IDBClient::IDBVersionChangeEvent::newVersion): Changed to return
456         an Optional.
457         * Modules/indexeddb/client/IDBVersionChangeEventImpl.h: Removed unused
458         default argument values; the event type one, at least, was clearly incorrect.
459         Made more things private, got rid of unneeded destructor, marked class final
460         instead of marking all functions final.
461
462         * Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp:
463         (WebCore::LegacyVersionChangeEvent::newVersion): Same as above.
464         * Modules/indexeddb/legacy/LegacyVersionChangeEvent.h: Ditto.
465
466         * Modules/mediastream/MediaTrackConstraints.cpp:
467         (WebCore::MediaTrackConstraints::optional): Removed bogus bool value. If we
468         come back to finish later we will have to implement optional return values
469         for arrays in the JavaScript bindings generator, which should be straightforward.
470         * Modules/mediastream/MediaTrackConstraints.h: Ditto.
471
472         * bindings/js/JSDOMBinding.h:
473         (WebCore::toNullableJSNumber): Added. This function template is used for
474         return values that are nullable numbers.
475
476         * bindings/scripts/CodeGeneratorGObject.pm:
477         (GenerateFunction): Replaced some existing bogus code to handle nullables with
478         new equally-bogus code that should be no worse and will compile.
479
480         * bindings/scripts/CodeGeneratorJS.pm:
481         (GenerateImplementation): Removed old support for nullables.
482         (NativeToJSValue): Added new support for nullable numbers.
483
484         * bindings/scripts/CodeGeneratorObjC.pm:
485         (GenerateImplementation): Removed support for nullables. We almost certainly
486         won't need it for Objective-C bindings.
487
488         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated.
489         * bindings/scripts/test/JS/JSTestObj.cpp: Updated.
490         * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated.
491
492 2015-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
493
494         Split platform-independent logic in AVCaptureDeviceManager out into a new class
495         https://bugs.webkit.org/show_bug.cgi?id=151388
496         <rdar://problem/23593980>
497
498         Reviewed by Eric Carlson.
499
500         To prepare for creating a MockCaptureDeviceManager to be able to test
501         MediaDevices.getUserMedia, we create a platform-independent capture device manager
502         which all platforms should extend and add platform-specific logic to.
503
504         The methods CaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints and
505         CaptureDeviceManager::captureDeviceList should be overridden by each platform
506         CaptureDeviceManager to respectively create a RealtimeMediaSource and return a list of
507         capture devices. createMediaSourceForCaptureDeviceWithConstraints attempts to create
508         a media source for a given device with some constraints; if the contraints cannot be
509         satisfied, this returns null.
510
511         The refactored capture device manager also introduces the notion of a platform-
512         independent capture session which may be extended by platform device managers for
513         determining whether a given constraint name, value and media type is valid.
514
515         A platform-independent CaptureDeviceInfo now represents either the video or audio
516         component of a capture device, but not both at once. This means a capture device that
517         supports both video and audio will emit two separate capture devices.
518
519         No new tests, since there should be no behavior change.
520
521         * Modules/mediastream/CaptureDeviceInfo.h: Added.
522         (WebCore::CaptureSessionInfo::~CaptureSessionInfo):
523         (WebCore::CaptureSessionInfo::supportsVideoSize):
524         (WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
525         * Modules/mediastream/CaptureDeviceManager.cpp: Added.
526         (CaptureDeviceManager::~CaptureDeviceManager):
527         (CaptureDeviceManager::getSourcesInfo):
528         (CaptureDeviceManager::captureDeviceFromDeviceID):
529         (CaptureDeviceManager::verifyConstraintsForMediaType):
530         (CaptureDeviceManager::bestSourcesForTypeAndConstraints):
531         (CaptureDeviceManager::sourceWithUID):
532         (CaptureDeviceManager::bestDeviceForFacingMode):
533         (facingModeFromString):
534         (CaptureDeviceManager::sessionSupportsConstraint):
535         (CaptureDeviceManager::isSupportedFrameRate):
536         * Modules/mediastream/CaptureDeviceManager.h: Added.
537         (WebCore::CaptureDeviceManager::refreshCaptureDeviceList):
538         (WebCore::CaptureDeviceManager::defaultCaptureSession):
539         * WebCore.xcodeproj/project.pbxproj:
540         * platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Added.
541         (WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint):
542         (WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName):
543         (WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint):
544         * platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
545         * platform/mediastream/mac/AVCaptureDeviceManager.h:
546         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
547         (WebCore::AVCaptureSessionInfo::AVCaptureSessionInfo):
548         (WebCore::AVCaptureSessionInfo::supportsVideoSize):
549         (WebCore::AVCaptureSessionInfo::bestSessionPresetForVideoDimensions):
550         (WebCore::AVCaptureDeviceManager::captureDeviceList):
551         (WebCore::shouldConsiderDeviceInDeviceList):
552         (WebCore::AVCaptureDeviceManager::refreshCaptureDeviceList):
553         (WebCore::AVCaptureDeviceManager::AVCaptureDeviceManager):
554         (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):
555         (WebCore::AVCaptureDeviceManager::sourceWithUID):
556         (WebCore::AVCaptureDeviceManager::getSourcesInfo):
557         (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
558         (WebCore::AVCaptureDeviceManager::defaultCaptureSession):
559         (WebCore::AVCaptureDeviceManager::sessionSupportsConstraint):
560         (WebCore::AVCaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints):
561         (WebCore::AVCaptureDeviceManager::deviceDisconnected):
562         (WebCore::AVCaptureDeviceManager::isSupportedFrameRate):
563         (WebCore::CaptureDevice:::m_enabled): Deleted.
564         (WebCore::captureDeviceList): Deleted.
565         (WebCore::captureDeviceFromDeviceID): Deleted.
566         (WebCore::refreshCaptureDeviceList): Deleted.
567         (WebCore::AVCaptureDeviceManager::bestSessionPresetForVideoSize): Deleted.
568         (WebCore::AVCaptureDeviceManager::deviceSupportsFacingMode): Deleted.
569         (WebCore::AVCaptureDeviceManager::bestDeviceForFacingMode): Deleted.
570         (WebCore::AVCaptureDeviceManager::isValidConstraint): Deleted.
571         (WebCore::AVCaptureDeviceManager::validConstraintNames): Deleted.
572         (WebCore::AVCaptureDeviceManager::validFacingModes): Deleted.
573         * platform/mediastream/mac/AVVideoCaptureSource.mm:
574         (WebCore::AVVideoCaptureSource::applyConstraints):
575         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
576         (WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
577         (WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
578
579 2015-11-30  Brady Eidson  <beidson@apple.com>
580
581         Modern IDB: Set the correct source on the IDBRequest for cursor updates
582         https://bugs.webkit.org/show_bug.cgi?id=151665
583
584         Reviewed by Andy Estes.
585
586         No new tests (At least one existing failing test now passes).
587
588         * Modules/indexeddb/client/IDBCursorImpl.cpp:
589         (WebCore::IDBClient::IDBCursor::update):
590         
591         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
592         (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate):
593         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
594         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
595         
596         * Modules/indexeddb/client/IDBRequestImpl.cpp:
597         (WebCore::IDBClient::IDBRequest::IDBRequest):
598         (WebCore::IDBClient::IDBRequest::setSource):
599         * Modules/indexeddb/client/IDBRequestImpl.h:
600
601 2015-11-30  Tim Horton  <timothy_horton@apple.com>
602
603         Get rid of the legacy TextIndicatorWindow style
604         https://bugs.webkit.org/show_bug.cgi?id=151674
605
606         Reviewed by Anders Carlsson.
607
608         * page/TextIndicator.h:
609         * page/mac/TextIndicatorWindow.mm:
610         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Deleted.
611
612 2015-11-30  Brady Eidson  <beidson@apple.com>
613
614         Modern IDB: Correct handling of cursors finishing iteration.
615         https://bugs.webkit.org/show_bug.cgi?id=151664
616
617         Reviewed by Andy Estes.
618
619         No new tests (At least one previously failing test now passes).
620
621         * Modules/indexeddb/client/IDBCursorImpl.cpp:
622         (WebCore::IDBClient::IDBCursor::setGetResult):
623         
624         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
625         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
626
627 2015-11-30  Myles C. Maxfield  <mmaxfield@apple.com>
628
629         Unify font-variant-* with font-variant shorthand
630         https://bugs.webkit.org/show_bug.cgi?id=149773
631
632         Reviewed by Darin Adler.
633
634         This patch makes font-variant a shorthand for the following properties:
635         font-variant-ligatures
636         font-variant-position
637         font-variant-caps
638         font-variant-numeric
639         font-variant-alternates
640         font-variant-east-asian
641
642         This is consistent with the CSS Fonts Level 3 spec.
643
644         This patch also migrates the "font" longhand to use the font-variant-caps
645         property.
646
647         Test: fast/text/font-variant-shorthand.html
648
649         * css/CSSComputedStyleDeclaration.cpp:
650         (WebCore::fontVariantEastAsianPropertyValue): Rename FontVariantEastAsian values.
651         (WebCore::fontVariantFromStyle): We must consult with the longhand properties to determine
652         font-variant computed style.
653         (WebCore::ComputedStyleExtractor::propertyValue): Don't put any-old font-variant-caps inside
654         the font shorthand.
655         * css/CSSFontSelector.cpp:
656         (WebCore::CSSFontSelector::addFontFaceRule): Guard against incorrect downcasts (due to inherit
657         of the new shorthand property).
658         * css/CSSParser.cpp: Parse font-variant as a shorthand. Also implement its "normal" and "none" values.
659         (WebCore::CSSParser::parseValue):
660         (WebCore::CSSParser::parseFont):
661         (WebCore::CSSParser::parseSystemFont):
662         (WebCore::CSSParser::parseFontVariantLigatures):
663         (WebCore::CSSParser::parseFontVariantNumeric):
664         (WebCore::CSSParser::parseFontVariantEastAsian):
665         (WebCore::CSSParser::parseFontVariant):
666         (WebCore::isValidKeywordPropertyAndValue): Deleted.
667         (WebCore::isKeywordPropertyID): Deleted.
668         * css/CSSParser.h:
669         * css/CSSPropertyNames.in: Turn font-variant into a shorthand property.
670         * css/FontVariantBuilder.h: Guard against incorrect downcasts. Also update for renamed
671         FontVariantEastAsian type.
672         (WebCore::applyValueFontVariantLigatures):
673         (WebCore::applyValueFontVariantNumeric):
674         (WebCore::applyValueFontVariantEastAsian):
675         * css/StyleProperties.cpp: Update to use the more specific property.
676         (WebCore::StyleProperties::appendFontLonghandValueIfExplicit):
677         (WebCore::StyleProperties::fontValue):
678         (WebCore::StyleProperties::asText):
679         * css/StyleResolver.cpp: Ditto.
680         (WebCore::StyleResolver::isValidCueStyleProperty):
681         * editing/EditingStyle.cpp: Ditto.
682         * editing/cocoa/HTMLConverter.mm: Ditto.
683         (HTMLConverterCaches::propertyValueForNode):
684         (HTMLConverter::computedAttributesForElement):
685         * editing/ios/EditorIOS.mm: Ditto.
686         (WebCore::Editor::removeUnchangeableStyles):
687         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
688         (WebCore::CanvasRenderingContext2D::font):
689         (WebCore::CanvasRenderingContext2D::setFont):
690         * platform/graphics/FontCache.h: Removing duplicate cache key value.
691         (WebCore::FontDescriptionKey::makeFlagsKey):
692         * platform/graphics/FontCascade.cpp: Migrate to the new font-variant-caps from the old member variable.
693         (WebCore::FontCascade::glyphDataForCharacter):
694         * platform/graphics/FontCascade.h: Ditto.
695         (WebCore::FontCascade::isSmallCaps):
696         * platform/graphics/FontDescription.cpp: Ditto.
697         (WebCore::FontDescription::FontDescription):
698         * platform/graphics/FontDescription.h: Ditto.
699         (WebCore::FontCascadeDescription::equalForTextAutoSizing):
700         (WebCore::FontDescription::smallCaps): Deleted.
701         (WebCore::FontDescription::setSmallCaps): Deleted.
702         (WebCore::FontDescription::setIsSmallCaps): Deleted.
703         (WebCore::FontDescription::operator==): Deleted.
704         * platform/graphics/cocoa/FontCacheCoreText.cpp: Rename FontVariantEastAsianWidth.
705         (WebCore::computeFeatureSettingsFromVariants):
706         * platform/text/TextFlags.h: Ditto.
707         (WebCore::FontVariantSettings::operator==):
708         * rendering/RenderText.cpp: Migrage to the new font-variant-caps from the old member variable.
709         (WebCore::RenderText::widthFromCache):
710
711 2015-11-30  Brady Eidson  <beidson@apple.com>
712
713         Modern IDB: After versionchange transactions abort, fire onerror on the original IDBOpenDBRequest.
714         https://bugs.webkit.org/show_bug.cgi?id=151648
715
716         Reviewed by Andy Estes.
717
718         No new tests. Covered by at least one existing failing test which now passes, and many
719         other tests updated to fix their incorrect behavior.
720
721         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
722         (WebCore::IDBClient::IDBDatabase::transaction):
723         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
724         (WebCore::IDBClient::IDBDatabase::didAbortTransaction):
725         
726         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
727         (WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeAbort):
728         * Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
729         
730         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
731         (WebCore::IDBClient::IDBTransaction::notifyDidAbort):
732         (WebCore::IDBClient::IDBTransaction::didAbort):
733         (WebCore::IDBClient::IDBTransaction::didCommit):
734         * Modules/indexeddb/client/IDBTransactionImpl.h:
735
736 2015-11-30  Chris Dumez  <cdumez@apple.com>
737
738         location.origin is undefined in a web worker
739         https://bugs.webkit.org/show_bug.cgi?id=151614
740
741         Reviewed by Darin Adler.
742
743         Expose location.origin to web workers, as per:
744         https://html.spec.whatwg.org/multipage/workers.html#workerlocation
745
746         This behavior is consistent with the behavior of Firefox and Chrome.
747
748         Test: fast/workers/worker-location.html
749
750         * workers/WorkerLocation.cpp:
751         (WebCore::WorkerLocation::origin):
752         * workers/WorkerLocation.h:
753         * workers/WorkerLocation.idl:
754
755 2015-11-30  Brady Eidson  <beidson@apple.com>
756
757         Modern IDB: Support updating cursor values when the object store uses inline keys.
758         https://bugs.webkit.org/show_bug.cgi?id=151647
759
760         Reviewed by Andy Estes.
761
762         No new tests (At least two previously failing tests now pass and are unskipped).
763
764         * Modules/indexeddb/client/IDBCursorImpl.cpp:
765         (WebCore::IDBClient::IDBCursor::update): Use putForCursorUpdate() instead of put()
766         
767         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
768         (WebCore::IDBClient::IDBObjectStore::add):
769         (WebCore::IDBClient::IDBObjectStore::put):
770         (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): Use the flag to skip the inline-key check.
771         (WebCore::IDBClient::IDBObjectStore::putOrAdd): Add a flag to skip the inline-key check.
772         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
773
774 2015-11-30  Brady Eidson  <beidson@apple.com>
775
776         Modern IDB: Resolve flaky GC-vs-wrapper issue with IDBOpenDBRequest.
777         https://bugs.webkit.org/show_bug.cgi?id=151645
778
779         Reviewed by Andy Estes.
780
781         No new tests (Resolves flakiness with hundreds of existing IDB tests).
782
783         Do to improper management of the m_hasPendingActivity flag on IDBRequestImpl,
784         the request wrapper for an IDBOpenDBRequest might be garbage collected in between the
785         onUpgradeNeeded event and onSuccess event.
786         
787         This manifested as flakiness in many tests, some more than others.
788         
789         I tried to write a targeted 100% reproducible case manually forcing GC, but could not get
790         the timing right.
791         
792         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
793         (WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
794         * Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
795         
796         * Modules/indexeddb/client/IDBRequestImpl.cpp:
797         (WebCore::IDBClient::IDBRequest::dispatchEvent):
798         (WebCore::IDBClient::IDBRequest::willIterateCursor):
799         * Modules/indexeddb/client/IDBRequestImpl.h:
800         (WebCore::IDBClient::IDBRequest::isOpenDBRequest):
801
802 2015-11-30  Per Arne Vollan  <peavo@outlook.com>
803
804         [WinCairo][MediaFoundation] Implement seek.
805         https://bugs.webkit.org/show_bug.cgi?id=151609
806
807         Reviewed by Alex Christensen.
808
809         The methods maxTimeSeekable() and buffered() needs to be implemented.
810
811         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
812         (WebCore::MediaPlayerPrivateMediaFoundation::seekDouble):
813         (WebCore::MediaPlayerPrivateMediaFoundation::durationDouble):
814         (WebCore::MediaPlayerPrivateMediaFoundation::readyState):
815         (WebCore::MediaPlayerPrivateMediaFoundation::maxTimeSeekable):
816         (WebCore::MediaPlayerPrivateMediaFoundation::buffered):
817         (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress):
818         (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::currentTime):
819         (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::isActive):
820         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
821         (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::maxTimeLoaded):
822
823 2015-11-30  Brady Eidson  <beidson@apple.com>
824
825         Modern IDB: openCursor() fix resulting in at least 4 more passing tests.
826         https://bugs.webkit.org/show_bug.cgi?id=151630
827
828         Reviewed by Andy Estes.
829
830         No new tests (At least 4 failing tests now pass, and 9 other incorrect tests updated).
831
832         * Modules/indexeddb/IDBGetResult.cpp:
833         (WebCore::IDBGetResult::isolatedCopy):
834         * Modules/indexeddb/IDBGetResult.h:
835         (WebCore::IDBGetResult::IDBGetResult):
836         (WebCore::IDBGetResult::isDefined):
837
838         * Modules/indexeddb/client/IDBRequestImpl.cpp:
839         (WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): If the IDBGetResult is undefined,
840           do not expose the cursor as the result property of the IDBRequest.
841
842 2015-11-30  Brady Eidson  <beidson@apple.com>
843
844         Modern IDB: Support keyPath injection into object store records.
845         https://bugs.webkit.org/show_bug.cgi?id=151640
846
847         Reviewed by Andy Estes.
848
849         No new tests (At least one existing failure now passes and is unskipped,
850         while many other existing failures are now closer to passing).
851
852         * Modules/indexeddb/server/MemoryObjectStore.cpp:
853         (WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord): Use the new UniqueIDBDatabase VM/ExecState.
854         (WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords): Ditto
855         (WebCore::IDBServer::indexVM): Deleted.
856         (WebCore::IDBServer::indexGlobalExec): Deleted.
857         
858         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
859         (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadVM):
860         (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadExecState):
861         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): If appropriate, inject the key that will be used into
862           the value before storing the record.
863         * Modules/indexeddb/server/UniqueIDBDatabase.h:
864
865         Add modern JSValue/ExecState& version of some binding utilities, for use today and in preparation of getting 
866         rid of the DOMRequestState and Deprecated::ScriptValue versions later:
867         * bindings/js/IDBBindingUtilities.cpp:
868         (WebCore::idbKeyToJSValue):
869         (WebCore::injectIDBKeyIntoScriptValue):
870         (WebCore::deserializeIDBValueData):
871         (WebCore::deserializeIDBValueDataToJSValue):
872         * bindings/js/IDBBindingUtilities.h:
873
874 2015-11-25  Andy Estes  <aestes@apple.com>
875
876         [Content Filtering] Avoid creating a ContentFilter when loading the empty document
877         https://bugs.webkit.org/show_bug.cgi?id=151615
878
879         Reviewed by Daniel Bates.
880
881         It's expensive to create the first ContentFilter since two frameworks must be soft-linked. There's no reason to
882         pay this cost if we're just loading the empty document.
883
884         No new tests. It's not possible to write a test that would fail without this change since ContentFilter is not
885         notified of empty document loads.
886
887         * loader/DocumentLoader.cpp:
888         (WebCore::DocumentLoader::startLoadingMainResource): Don't initialize m_contentFilter until we know we aren't
889         loading the empty document.
890         (WebCore::DocumentLoader::DocumentLoader):
891
892 2015-11-29  Antoine Quint  <graouts@apple.com>
893
894         Browser does not fall back to SVG attribute value when CSS style value is invalid or not supported
895         https://bugs.webkit.org/show_bug.cgi?id=147932
896
897         Reviewed by Dean Jackson.
898
899         Instead of returning an SVGPaint object of type SVG_PAINTTYPE_UNKNOWN when we encounter an SVG paint
900         value that cannot be parsed, we now return `nullptr` which will cause that value to be ignored and
901         let another paint value in the cascade be used instead. This is the same approach used for SVGColor.
902         Since we're removing the only call site for `SVGPaint::createUnknown()`, we remove that function entirely.
903
904         Tests: svg/css/invalid-color-cascade.svg
905                svg/css/invalid-paint-cascade.svg
906
907         * css/SVGCSSParser.cpp:
908         (WebCore::CSSParser::parseSVGPaint):
909         * svg/SVGPaint.h:
910         (WebCore::SVGPaint::createUnknown): Deleted.
911
912 2015-11-29  Simon Fraser  <simon.fraser@apple.com>
913
914         Use SVGTransform::SVGTransformType instead of an unsigned short
915         https://bugs.webkit.org/show_bug.cgi?id=151637
916
917         Reviewed by Brady Eidson.
918
919         Make 'type' more strongly typed.
920
921         * svg/SVGTransformable.cpp:
922         (WebCore::SVGTransformable::parseTransformValue):
923         (WebCore::parseAndSkipType):
924         (WebCore::SVGTransformable::parseTransformType):
925         (WebCore::SVGTransformable::parseTransformAttribute):
926         * svg/SVGTransformable.h:
927
928 2015-11-27  Brady Eidson  <beidson@apple.com>
929
930         Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong.
931         https://bugs.webkit.org/show_bug.cgi?id=151627
932
933         Reviewed by Alexey Proskuryakov.
934
935         No new tests (No change in behavior).
936
937         * CMakeLists.txt:
938         * WebCore.xcodeproj/project.pbxproj:
939
940         * Modules/indexeddb/IDBGetResult.cpp: Added.
941         (WebCore::IDBGetResult::dataFromBuffer):
942         (WebCore::IDBGetResult::isolatedCopy):
943         * Modules/indexeddb/IDBGetResult.h:
944         (WebCore::IDBGetResult::IDBGetResult):
945         (WebCore::IDBGetResult::valueBuffer):
946         (WebCore::IDBGetResult::keyData):
947         (WebCore::IDBGetResult::primaryKeyData):
948         (WebCore::IDBGetResult::keyPath):
949         (WebCore::IDBGetResult::setValueBuffer):
950         (WebCore::IDBGetResult::setKeyData):
951         (WebCore::IDBGetResult::setPrimaryKeyData):
952         (WebCore::IDBGetResult::setKeyPath):
953         (WebCore::IDBGetResult::dataFromBuffer): Deleted.
954         (WebCore::IDBGetResult::isolatedCopy): Deleted.
955
956         * Modules/indexeddb/client/IDBCursorImpl.cpp:
957         (WebCore::IDBClient::IDBCursor::setGetResult):
958         * Modules/indexeddb/client/IDBCursorImpl.h:
959
960         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
961         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
962
963         * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:
964         (WebCore::GetOperation::perform):
965
966         * Modules/indexeddb/server/IDBBackingStore.h:
967
968         * Modules/indexeddb/server/MemoryCursor.h:
969
970         * Modules/indexeddb/server/MemoryIndexCursor.cpp:
971         (WebCore::IDBServer::MemoryIndexCursor::currentData):
972
973         * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
974         (WebCore::IDBServer::MemoryObjectStoreCursor::currentData):
975
976         * platform/CrossThreadCopier.h:
977
978 2015-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
979
980         [GTK] Do not use the WebCore garbage collector timer
981         https://bugs.webkit.org/show_bug.cgi?id=151623
982
983         Reviewed by Martin Robinson.
984
985         Now that garbage collector timers have been implemented in
986         JavaScriptCore for glib, we don't need to use another Timer in WebCore.
987
988         * bindings/js/GCController.cpp:
989         (WebCore::GCController::garbageCollectSoon):
990         (WebCore::GCController::garbageCollectNowIfNotDoneRecently):
991
992 2015-11-18  Andy Estes  <aestes@apple.com>
993
994         [Content Filtering] Crash in DocumentLoader::notifyFinished() when allowing a media document to load
995         https://bugs.webkit.org/show_bug.cgi?id=151433
996         rdar://problem/23506594
997
998         Reviewed by Alexey Proskuryakov.
999
1000         When the main resource of a media document commits, WebKit cancels its load since the plug-in or media engine
1001         will do its own loading. If content filtering is enabled, and the filter waits allow the load until the entire
1002         resource is downloaded, then ContentFilter will attempt to call DocumentLoader::notifyFinished() immediately
1003         after delivering the buffered resource data to DocumentLoader. However, delivering the data will have nulled out
1004         DocumentLoader's m_mainResource when the load was cancelled, leading to a crash in notifyFinished().
1005
1006         To resolve this, add a new Stopped state to ContentFilter. Set this state if DocumentLoader clears its main
1007         resource or detaches from its frame. If ContentFilter is in the Stopped state after calling
1008         DocumentLoader::dataReceived(), do not proceed to call DocumentLoader::notifyFinished().
1009
1010         Test: contentfiltering/allow-media-document.html
1011
1012         * loader/ContentFilter.cpp:
1013         (WebCore::ContentFilter::stopFilteringMainResource): Set m_state to Stopped. If m_mainResource is non-null,
1014         removed ContentFilter as a client and set m_mainResource to null.
1015         (WebCore::ContentFilter::notifyFinished): Stopped calling DocumentLoader::notifyFinished() if m_state is Stopped
1016         after calling DocumentLoader::dataReceived().
1017         * loader/ContentFilter.h:
1018         * loader/DocumentLoader.cpp:
1019         (WebCore::DocumentLoader::detachFromFrame): Called ContentFilter::stopFilteringMainResource() instead of setting
1020         m_contentFilter to null.
1021         (WebCore::DocumentLoader::clearMainResource): Ditto.
1022
1023 2015-11-25  Pranjal Jumde  <pjumde@apple.com>
1024
1025         Checks for buffer-overflows when reading characters from textRun
1026         https://bugs.webkit.org/show_bug.cgi?id=151055
1027         <rdar://problem/23251789>
1028
1029         Reviewed by Myles C. Maxfield.
1030
1031         Prevents an off by one error when adding the last font data to the GlyphBuffer.
1032
1033         * Source/WebCore/platform/graphics/WidthIterator.cpp:
1034         * Source/WebCore/platform/graphics/FontCascade.cpp:
1035
1036 2015-11-24  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1037
1038         [Streams API] Implement pipeTo method in readable Stream
1039         https://bugs.webkit.org/show_bug.cgi?id=151588
1040
1041         Reviewed by Darin Adler.
1042
1043         Implemented pipeTo method according to the reference implementation in the spec as the spec is not written
1044         yet. It can be found at https://github.com/whatwg/streams/blob/632b26a05f3106650b1ec91239ad5b012e6c64af/reference-implementation/lib/readable-stream.js#L75.
1045
1046         Tests: streams/pipe-to.html
1047                streams/reference-implementation/brand-checks.html
1048                streams/reference-implementation/pipe-through.html
1049                streams/reference-implementation/pipe-to.html
1050                streams/reference-implementation/pipe-to-options.html
1051                streams/reference-implementation/readable-stream-templated
1052
1053         * Modules/streams/ReadableStream.js:
1054         (doPipe): Internal function of pipeTo.
1055         (closeDest): Internal function of pipeTo.
1056         (abortDest): Internal function of pipeTo.
1057         (pipeTo): Implemented as per spec with some other internal functions as helpers.
1058
1059 2015-11-24  Antti Koivisto  <antti@apple.com>
1060
1061         REGRESSION (r190983): Non-element, non-text nodes should not be distributed to slots
1062         https://bugs.webkit.org/show_bug.cgi?id=151566
1063         rdar://problem/23430177
1064
1065         Reviewed by Zalan Bujtas.
1066
1067         We don't invalidate slot assignments except for text or element children. Fix by not
1068         not assigning other nodes to slots as it is not useful.
1069
1070         Test: fast/html/details-comment-crash.html
1071
1072         * dom/SlotAssignment.cpp:
1073         (WebCore::slotNameFromSlotAttribute):
1074         (WebCore::SlotAssignment::findAssignedSlot):
1075         (WebCore::SlotAssignment::assignSlots):
1076
1077 2015-11-23  David Kilzer  <ddkilzer@apple.com>
1078
1079         Hardening against CSSSelector double frees
1080         <http://webkit.org/b/56124>
1081         <rdar://problem/9119036>
1082
1083         Reviewed by Antti Koivisto.
1084
1085         Add some security assertions to catch this issue if it ever
1086         happens in Debug builds, and make changes in
1087         CSSSelector::~CSSSelector() and
1088         CSSSelectorList::deleteSelectors() to prevent obvious issues if
1089         they're ever called twice in Release builds.
1090
1091         No new tests because we don't know how to reproduce this.
1092
1093         * css/CSSSelector.cpp:
1094         (WebCore::CSSSelector::CSSSelector): Initialize
1095         m_destructorHasBeenCalled.
1096         * css/CSSSelector.h:
1097         (WebCore::CSSSelector::m_destructorHasBeenCalled): Add bitfield.
1098         (WebCore::CSSSelector::CSSSelector): Initialize
1099         m_destructorHasBeenCalled.
1100         (WebCore::CSSSelector::~CSSSelector): Add security assertion
1101         that this is never called twice.  Clear out any fields that
1102         would have caused us to dereference an object twice.
1103
1104         * css/CSSSelectorList.cpp:
1105         (WebCore::CSSSelectorList::deleteSelectors): Clear
1106         m_selectorArray when freeing the memory to which it was
1107         pointing.  This prevents re-entrancy issues or calling this
1108         method twice on the same thread.  Also restructure the for()
1109         loop to prevent calling CSSSelector::isLastInSelectorList()
1110         after CSSSelector::~CSSSelector() has been called (via CRBug
1111         241892).
1112
1113 2015-11-23  Brian Burg  <bburg@apple.com>
1114
1115         Web Inspector: inspector settings should not be shared between different inspection levels
1116         https://bugs.webkit.org/show_bug.cgi?id=151151
1117
1118         Reviewed by Timothy Hatcher.
1119
1120         InspectorController and InspectorFrontendClient should know how to compute their
1121         inspection levels, so that this level can be exposed to the Inspector frontend for
1122         preference disambiguation by inspection level.
1123
1124          - A Page with normal web content has an inspection level of 0.
1125          - The first Web Inspector has an inspection level of 1.
1126          - The second Web Inspector that inspects the Inspector has an inspection level of 2.
1127          - And so forth...
1128
1129         For local frontend clients (WK1 and the ProtocolTestStub), the inspection level of
1130         a Page computed as follows:
1131
1132         - If the page's inspector controller has no frontend client, then the Page
1133         is normal web content (level 0).
1134         - If the page's inspector controller has a frontend client, ask for its inspection level.
1135         A frontend client looks at the inspection level reported by inspected page's inspector
1136         controller and increments by one to account for the crossed inspection boundary.
1137
1138         No new tests, this is blocked by test infrastructure fixes (https://webkit.org/b/151573).
1139
1140         * inspector/InspectorController.cpp:
1141         (WebCore::InspectorController::inspectionLevel): Added.
1142         (WebCore::InspectorController::hasInspectorFrontendClient): Deleted.
1143         * inspector/InspectorController.h:
1144         * inspector/InspectorFrontendClient.h:
1145         * inspector/InspectorFrontendClientLocal.cpp:
1146         (WebCore::InspectorFrontendClientLocal::canAttachWindow): Check inspectionLevel().
1147         (WebCore::InspectorFrontendClientLocal::inspectionLevel): Added.
1148         * inspector/InspectorFrontendClientLocal.h:
1149         * inspector/InspectorFrontendHost.cpp:
1150         (WebCore::InspectorFrontendHost::inspectionLevel): Added.
1151         * inspector/InspectorFrontendHost.h:
1152         * inspector/InspectorFrontendHost.idl:
1153         * page/ContextMenuController.cpp:
1154         (WebCore::ContextMenuController::populate): Check inspectionLevel().
1155
1156 2015-11-20  Brian Burg  <bburg@apple.com>
1157
1158         Web Inspector: RemoteInspector should track targets and connections for remote automation
1159         https://bugs.webkit.org/show_bug.cgi?id=151042
1160
1161         Reviewed by Joseph Pecoraro.
1162
1163         Use the new RemoteControllableTarget API method names.
1164
1165         No new tests, no behavior change.
1166
1167         * page/PageDebuggable.cpp:
1168         (WebCore::PageDebuggable::connect):
1169         (WebCore::PageDebuggable::dispatchMessageFromRemote):
1170         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend): Deleted.
1171         * page/PageDebuggable.h:
1172
1173 2015-11-23  Brady Eidson  <beidson@apple.com>
1174
1175         Modern IDB: Unskip all indexeddb/mozilla tests that pass.
1176         https://bugs.webkit.org/show_bug.cgi?id=151568
1177         
1178         Reviewed by Alex Christensen.
1179
1180         No new tests (Lots of skipped existing tests now pass).
1181
1182         * Modules/indexeddb/shared/IDBError.h:
1183
1184 2015-11-23  Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au>
1185
1186         Add WebCore namespace for generated bindings for supplemental method calls
1187         https://bugs.webkit.org/show_bug.cgi?id=151431
1188
1189         Reviewed by Alex Christensen.
1190
1191         Address build failures for generated supplemental method calls which are in the WebCore namespace. 
1192         The bindings are outside the WebCore namespace - so add WebCore namespace specifier where required.
1193
1194         * bindings/scripts/CodeGeneratorJS.pm:
1195         (GenerateHeader):
1196         (GenerateImplementation):
1197         (GenerateParametersCheck):
1198         * bindings/scripts/CodeGeneratorObjC.pm:
1199         (GenerateImplementation):
1200         * bindings/scripts/test/JS/JSTestInterface.cpp:
1201         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
1202         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
1203         (WebCore::jsTestInterfaceSupplementalStr1):
1204         (WebCore::jsTestInterfaceSupplementalStr2):
1205         (WebCore::jsTestInterfaceSupplementalNode):
1206         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
1207         (WebCore::setJSTestInterfaceSupplementalStr2):
1208         (WebCore::setJSTestInterfaceSupplementalNode):
1209         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
1210         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1211         (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
1212         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1213         (-[DOMTestInterface supplementalStr1]):
1214         (-[DOMTestInterface supplementalStr2]):
1215         (-[DOMTestInterface setSupplementalStr2:]):
1216         (-[DOMTestInterface supplementalStr3]):
1217         (-[DOMTestInterface setSupplementalStr3:]):
1218         (-[DOMTestInterface supplementalNode]):
1219         (-[DOMTestInterface setSupplementalNode:]):
1220         (-[DOMTestInterface builtinAttribute]):
1221         (-[DOMTestInterface setBuiltinAttribute:]):
1222         (-[DOMTestInterface supplementalMethod1]):
1223         (-[DOMTestInterface supplementalMethod2:objArg:]):
1224         (-[DOMTestInterface supplementalMethod3]):
1225         (-[DOMTestInterface supplementalMethod4]):
1226         (-[DOMTestInterface builtinFunction]):
1227
1228 2015-11-23  Brady Eidson  <beidson@apple.com>
1229
1230         Modern IDB: When a transaction is aborted, call onerror handlers for all in-progress requests.
1231         https://bugs.webkit.org/show_bug.cgi?id=151550
1232
1233         Reviewed by Alex Christensen.
1234
1235         Test: storage/indexeddb/modern/abort-requests-cancelled.html
1236               storage/indexeddb/modern/idbtransaction-objectstore-failures.html (with changes)
1237               storage/indexeddb/modern/index-5.html (with changes)
1238               Various (currently skipped) legacy IDB tests.
1239
1240         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
1241         (WebCore::IDBClient::IDBDatabase::transaction):
1242         (WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
1243         (WebCore::IDBClient::IDBDatabase::didStartTransaction):
1244         (WebCore::IDBClient::IDBDatabase::willCommitTransaction):
1245         (WebCore::IDBClient::IDBDatabase::didCommitTransaction):
1246         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
1247         (WebCore::IDBClient::IDBDatabase::didAbortTransaction):
1248         (WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):
1249         
1250         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1251         (WebCore::IDBClient::IDBTransaction::abort):
1252         (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests):
1253         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer):
1254         (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):
1255         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
1256         (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer):
1257         (WebCore::IDBClient::IDBTransaction::didDeleteIndexOnServer):
1258         (WebCore::IDBClient::IDBTransaction::immediateAbort): Deleted.
1259         (WebCore::IDBClient::IDBTransaction::abortOnServer): Deleted.
1260         * Modules/indexeddb/client/IDBTransactionImpl.h:
1261         
1262         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1263         (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
1264         (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
1265         
1266         * Modules/indexeddb/shared/IDBError.cpp:
1267         (WebCore::idbErrorName):
1268         (WebCore::idbErrorDescription):
1269         * Modules/indexeddb/shared/IDBError.h:
1270         
1271         * Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
1272         (WebCore::IDBResourceIdentifier::loggingString):
1273         * Modules/indexeddb/shared/IDBResourceIdentifier.h:
1274
1275 2015-11-23  Brady Eidson  <beidson@apple.com>
1276
1277         Modern IDB: Unskip storage/indexeddb/mozilla/global-data.html.
1278         https://bugs.webkit.org/show_bug.cgi?id=151557
1279
1280         Reviewed by Alex Christensen.
1281
1282         No new tests (Unskipping existing test storage/indexeddb/mozilla/global-data.html).
1283
1284         - Reworking some invalid ASSERTS
1285         - Actually opening pending open-database-requests after a version change transaction completes
1286         - Allow starting new transactions when the version change transaction has *started* finishing, 
1287           but before it finishes finishing.
1288
1289         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
1290         (WebCore::IDBClient::IDBDatabase::transaction):
1291         
1292         * Modules/indexeddb/client/IDBTransactionImpl.h:
1293         
1294         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1295         (WebCore::IDBServer::MemoryObjectStore::~MemoryObjectStore):
1296         
1297         * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
1298         (WebCore::IDBServer::MemoryObjectStoreCursor::keyAdded): Deleted.
1299         
1300         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1301         (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
1302         (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
1303         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
1304         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1305
1306 2015-11-23  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1307
1308         Remove DOMPromiseWithCallback
1309         https://bugs.webkit.org/show_bug.cgi?id=151565
1310
1311         Reviewed by Eric Carlson.
1312
1313         DOMPromiseWithCallback is no longer used as WebCore JS built-ins are used to the cases where DOMPromiseWithCallback made sense.
1314
1315         No change in behavior.
1316
1317         * Modules/mediastream/MediaDevices.h: Moved from DOMPromiseWithCallback to DOMPromise since the API is now called by JS built-ins.
1318         * bindings/js/JSDOMPromise.h:
1319         (WebCore::DOMPromiseWithCallback::DOMPromiseWithCallback): Deleted.
1320         (WebCore::DOMPromiseIteratorWithCallback::DOMPromiseIteratorWithCallback): Deleted.
1321         (WebCore::Error>::resolve): Deleted.
1322         (WebCore::Error>::reject): Deleted.
1323         (WebCore::Error>::resolveEnd): Deleted.
1324
1325 2015-11-23  Brian Burg  <bburg@apple.com>
1326
1327         Web Inspector: when inspecting the inspector, add the inspection level to the title bar
1328         https://bugs.webkit.org/show_bug.cgi?id=151555
1329
1330         Reviewed by Timothy Hatcher.
1331
1332         * English.lproj/Localizable.strings: add new localized string for alternate inspector title.
1333
1334 2015-11-23  Zan Dobersek  <zdobersek@igalia.com>
1335
1336         [GStreamer] No need to assert the pipeline's bus presence in MediaPlayerPrivateGStreamerBase dtor
1337         https://bugs.webkit.org/show_bug.cgi?id=151558
1338
1339         Reviewed by Carlos Garcia Campos.
1340
1341         In the MediaPlayerPrivateGStreamerBase destructor, there's some leftover code
1342         that acquires a reference to the GStreamer pipeline's bus object and then
1343         just asserts that it's not null. Not very useful, so remove it.
1344
1345         Also use nullptr to null out the m_player member.
1346
1347         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1348         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
1349
1350 2015-11-17  Sergio Villar Senin  <svillar@igalia.com>
1351
1352         ASSERTION FAILED: freeSpace >= 0 in WebCore::RenderGrid::computeTrackSizesForDirection
1353         https://bugs.webkit.org/show_bug.cgi?id=151254
1354
1355         Reviewed by Darin Adler.
1356
1357         When in quirks mode, abnormally huge margins could lead to
1358         negative computations of available logical sizes. We could add
1359         an !document.inQuirksMode() check in the assertion but since
1360         negative freeSpace values are valid (i.e. the condition is not
1361         really part of the contract and everything will work as
1362         expected) I've decided to simply remove it.
1363
1364         Test: fast/css-grid-layout/grid-quirks-mode-huge-margin-crash.html
1365
1366         * rendering/RenderGrid.cpp:
1367         (WebCore::RenderGrid::computeTrackSizesForDirection): Deleted.
1368
1369 2015-11-22  Myles C. Maxfield  <mmaxfield@apple.com>
1370
1371         Font selection should not consult font-variant property
1372         https://bugs.webkit.org/show_bug.cgi?id=151537
1373
1374         Reviewed by Simon Fraser.
1375
1376         In section 4.7 of the CSS Fonts Level 3 spec, it says "[The font-variant and
1377         font-feature-settings] do not affect font selection."
1378
1379         All the other browsers (Chrome, Firefox, and Edge) all obey the spec here. We
1380         are the only one who misbehaves. This patch aligns our behavior with the other
1381         browsers.
1382
1383         Test: fast/text/font-selection-font-variant.html
1384
1385         * css/CSSFontSelector.cpp:
1386         (WebCore::computeTraitsMask): Deleted.
1387         (WebCore::compareFontFaces): Deleted.
1388         (WebCore::CSSFontSelector::getFontFace): Deleted.
1389         * css/CSSParser.cpp:
1390         (WebCore::isValidKeywordPropertyAndValue):
1391         (WebCore::isKeywordPropertyID):
1392         (WebCore::CSSParser::createFontFaceRule):
1393         (WebCore::CSSParser::CSSParser): Deleted.
1394         (WebCore::CSSParser::parseValue): Deleted.
1395         (WebCore::CSSParser::parseDeclaration): Deleted.
1396         (WebCore::CSSParser::clearProperties): Deleted.
1397         (WebCore::CSSParser::parseFontVariant): Deleted.
1398         (WebCore::CSSParser::createStyleRule): Deleted.
1399         (WebCore::CSSParser::deleteFontFaceOnlyValues): Deleted.
1400         * css/CSSParser.h:
1401         * platform/graphics/FontDescription.cpp:
1402         (WebCore::FontDescription::traitsMask): Deleted.
1403         * platform/graphics/win/FontCacheWin.cpp:
1404         (WebCore::traitsInFamilyEnumProc):
1405         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1406         (WebCore::toTraitsMask):
1407         * platform/text/TextFlags.h:
1408
1409 2015-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1410
1411         Unreviewed, rolling out r192727.
1412
1413         It made the selections transparent again and broke
1414         /webkit2/WebKitWebView/snapshot
1415
1416         Reverted changeset:
1417
1418         "[GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor,
1419         et. al. should not clobber state of cached GtkStyleContexts"
1420         https://bugs.webkit.org/show_bug.cgi?id=151533
1421         http://trac.webkit.org/changeset/192727
1422
1423 2015-11-22  Michael Catanzaro  <mcatanzaro@igalia.com>
1424
1425         [GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, et. al. should not clobber state of cached GtkStyleContexts
1426         https://bugs.webkit.org/show_bug.cgi?id=151533
1427
1428         Reviewed by Carlos Garcia Campos.
1429
1430         platformActiveSelectionBackgroundColor(), platformInactiveSelectionBackgroundColor(), etc.
1431         are const functions intended only to return a color used for painting, but since r174929
1432         they also change the state of the cached style contexts we use for GTK_TYPE_ENTRY and
1433         GTK_TYPE_TREE_VIEW. That's wrong; those style contexts should not have any state set. This
1434         could cause theme colors returned by those GtkStyleContexts to change unexpectedly,
1435         depending on whether the state is explicitly set before each use, or whether the theme
1436         actually uses the states.
1437
1438         This didn't cause any regression only because every place using these style contexts
1439         explicitly sets the state of the style contexts before use. In fact, the GtkTreeView style
1440         context is not used anywhere else, and the GtkEntry style context is only used in
1441         paintTextField, which does set the state before use (and then reverts it using
1442         save/restore), so this cannot have broken anything in practice. But it's a landmine waiting
1443         for the next programmer to trip it.
1444
1445         Fix this with a gtk_style_context_save()/gtk_style_context_restore() pair.
1446
1447         * rendering/RenderThemeGtk.cpp:
1448         (WebCore::styleColor):
1449
1450 2015-11-21  Myles C. Maxfield  <mmaxfield@apple.com>
1451
1452         Tiny cleanup in ComplexTextController::collectComplexTextRuns()
1453         https://bugs.webkit.org/show_bug.cgi?id=151534
1454
1455         Reviewed by Zalan Bujtas.
1456
1457         The isMissingGlyph boolean is completely unnecessary. Its entire
1458         responsiblity is duplicated by the "font" pointer.
1459
1460         No new tests because there is no behavior change.
1461
1462         * platform/graphics/mac/ComplexTextController.cpp:
1463         (WebCore::ComplexTextController::collectComplexTextRuns):
1464
1465 == Rolled over to ChangeLog-2015-11-21 ==