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