1 2015-11-03 Myles C. Maxfield <mmaxfield@apple.com>
3 Ruby base ending in tatechuyoko forces a line break before the tatechuyoko
4 https://bugs.webkit.org/show_bug.cgi?id=150883
6 Reviewed by Darin Adler.
8 Asking the width of a 0-length tatechuyoko should return 0.
10 Test: fast/text/ruby-tatechuyoko.html
12 * rendering/RenderCombineText.cpp:
13 (WebCore::RenderCombineText::width):
15 2015-11-04 Tim Horton <timothy_horton@apple.com>
17 Update the name of a Mail class that we hardcode
18 https://bugs.webkit.org/show_bug.cgi?id=150879
19 <rdar://problem/23384627>
21 Reviewed by Alexey Proskuryakov.
23 * editing/cocoa/HTMLConverter.mm:
24 (_WebMessageDocumentClass):
26 2015-11-04 Eric Carlson <eric.carlson@apple.com>
28 [MediaStream] A RealtimeMediaSource should begin producing data automatically
29 https://bugs.webkit.org/show_bug.cgi?id=150851
30 rdar://problem/23380636
32 A RealtimeMediaSource should be producing data unless it is muted, which is not under the
33 control of the application, so a local source should begin producing data as soon as it
34 is added to a stream. Remove "producing data" and "enabled" observer callbacks because
35 they don't provide anything that the "muted" callback already provides.
37 Reviewed by Jer Noble.
39 * Modules/mediastream/MediaStreamTrack.cpp:
40 (WebCore::MediaStreamTrack::trackProducingDataChanged): Deleted.
41 * Modules/mediastream/MediaStreamTrack.h:
43 * Modules/mediastream/UserMediaRequest.cpp:
44 (WebCore::UserMediaRequest::didCreateStream): Tell sources to begin producing data.
46 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
47 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Don't call stream->startProducingData,
49 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setReadyState): Call characteristicsChanged
50 when the readyState changes.
52 * platform/mediastream/MediaStreamPrivate.cpp:
53 (WebCore::MediaStreamPrivate::trackProducingDataChanged): Deleted.
54 * platform/mediastream/MediaStreamPrivate.h:
56 * platform/mediastream/MediaStreamTrackPrivate.cpp:
57 (WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): Deleted.
58 (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Deleted.
59 * platform/mediastream/MediaStreamTrackPrivate.h:
61 * platform/mediastream/RealtimeMediaSource.cpp:
62 (WebCore::RealtimeMediaSource::isProducingDataDidChange): Deleted.
63 (WebCore::RealtimeMediaSource::setEnabled): Deleted.
64 * platform/mediastream/RealtimeMediaSource.h:
66 * platform/mediastream/mac/AVAudioCaptureSource.mm:
67 (WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): !enabled() -> muted().
69 * platform/mediastream/mac/AVMediaCaptureSource.mm:
70 (WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Don't call isProducingDataDidChange..
72 * platform/mediastream/mac/AVVideoCaptureSource.mm:
73 (WebCore::AVVideoCaptureSource::processNewFrame): !enabled() -> muted().
75 2015-11-04 Jer Noble <jer.noble@apple.com>
77 [iOS] <video> elements without audio tracks should not interrupt music
78 https://bugs.webkit.org/show_bug.cgi?id=149888
80 Reviewed by Eric Carlson.
82 Tests: TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm
84 Only set the AVAudioSession category to "playback" when the video element in question has an
87 Add a new PlatformMediaSessionClient method called canProduceAudio(), overridden in HTMLMediaElement
88 and AudioContext, which is checked when updating the AudioSession category in
89 PlatformMediaSessionManager::updateSessionState().
91 * Modules/webaudio/AudioContext.h:
92 * html/HTMLMediaElement.cpp:
93 (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
94 * html/HTMLMediaElement.h:
95 * platform/audio/PlatformMediaSession.cpp:
96 (WebCore::PlatformMediaSession::activeAudioSessionRequired):
97 (WebCore::PlatformMediaSession::setCanProduceAudio):
98 * platform/audio/PlatformMediaSession.h:
99 (WebCore::PlatformMediaSession::canProduceAudio):
100 * platform/audio/PlatformMediaSessionManager.cpp:
101 (WebCore::PlatformMediaSessionManager::canProduceAudio):
102 (WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged):
103 (WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
104 (WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
105 * platform/audio/PlatformMediaSessionManager.h:
106 * platform/audio/mac/MediaSessionManagerMac.cpp:
107 (PlatformMediaSessionManager::updateSessionState):
109 2015-11-03 Dean Jackson <dino@apple.com>
111 Accept 8 and 4 value hex colors (#RRGGBBAA)
112 https://bugs.webkit.org/show_bug.cgi?id=150853
113 <rdar://problem/23380930>
115 Reviewed by Simon Fraser.
117 CSS Color Level 4 allows #RGBA and #RRGGBBAA values
120 Test: fast/css/hex-colors.html
122 * platform/graphics/Color.cpp:
123 (WebCore::parseHexColorInternal): Update the color parsing for
126 2015-11-04 Mario Sanchez Prada <mario@webkit.org>
128 [AX] WebProcess from WebKitGtk+ 2.10.0 compiled in Debug mode hits ASSERT on textUnderElement
129 https://bugs.webkit.org/show_bug.cgi?id=150670
131 Reviewed by Chris Fleizach.
133 Move the ASSERTs stating that the render tree is stable before using the
134 TextIterator to their right place, in AccessibilityRenderObject, so that
135 we don't crash in debug builds in cases when this condition is irrelevant.
137 Test: accessibility/gtk/list-item-with-pseudo-element-crash.html
139 * accessibility/AccessibilityNodeObject.cpp:
140 (WebCore::AccessibilityNodeObject::textUnderElement): Removed ASSERTs.
141 * accessibility/AccessibilityRenderObject.cpp:
142 (WebCore::AccessibilityRenderObject::textUnderElement): Added ASSERTs, but
143 only before calling plainText and using the right document for the node.
145 2015-11-04 Xabier Rodriguez Calvar <calvaris@igalia.com>
147 [Streams API] Shield streams against user replacing the Promise constructor
148 https://bugs.webkit.org/show_bug.cgi?id=150887
150 Reviewed by Youenn Fablet.
152 With this rework, we shield the Streams implementation against the user doing something like "Promise =
153 function() { /* do garbage */ };".
155 Test: streams/streams-promises.html.
157 * Modules/streams/ReadableStream.js:
158 (initializeReadableStream):
160 * Modules/streams/ReadableStreamInternals.js:
161 (privateInitializeReadableStreamReader):
162 (cancelReadableStream):
163 (readFromReadableStreamReader):
164 * Modules/streams/ReadableStreamReader.js:
168 * Modules/streams/StreamInternals.js:
169 (promiseInvokeOrNoop):
170 (promiseInvokeOrFallbackOrNoop):
171 * Modules/streams/WritableStream.js:
172 (initializeWritableStream):
178 * Modules/streams/WritableStreamInternals.js:
179 (syncWritableStreamStateWithQueue):
181 2015-11-04 Antoine Quint <graouts@apple.com>
183 SVG: hit testing region for <text> elements is incorrect
184 https://bugs.webkit.org/show_bug.cgi?id=150838
186 Reviewed by Dean Jackson.
188 Hit testing for SVG <text> elements was using the same code as hit testing
189 for CSS-rendered elements. However, in SVG, text elements should only hit
190 test based on their character cells, not the rectangular bounds of the
191 element, see section 16.6 of the SVG 1.1 specification:
193 http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty
195 So we now hit test each SVGTextFragment of each SVGInlineTextBox
196 that is a child of an SVGRootInlineBox to correctly find whether the
197 provided HitTestLocation is contained within a character cell.
199 Tests: svg/hittest/text-dominant-baseline-hanging.svg
200 svg/hittest/text-multiple-dx-values.svg
201 svg/hittest/text-with-multiple-tspans.svg
202 svg/hittest/text-with-text-node-and-content-elements.svg
203 svg/hittest/text-with-text-node-only.svg
204 svg/hittest/text-with-text-path.svg
206 * rendering/RootInlineBox.h:
207 Remove the final keyword since nodeAtPoint() may now be subclassed as
208 implemented in SVGRootInlineBox.
210 * rendering/svg/SVGInlineTextBox.cpp:
211 (WebCore::SVGInlineTextBox::nodeAtPoint):
212 Iterate over the SVGTextFragments to look for a fragment containing the
213 provided HitTestLocation.
215 * rendering/svg/SVGRootInlineBox.cpp:
216 (WebCore::SVGRootInlineBox::nodeAtPoint):
217 * rendering/svg/SVGRootInlineBox.h:
218 Override RootInlineBox::nodeAtPoint() to delegate hit testing to the
219 children inline boxes.
221 2015-11-04 Carlos Garcia Campos <cgarcia@igalia.com>
223 [GStreamer] Use RunLoop::Timer for ready state timer in MediaPlayerPrivateGStreamer
224 https://bugs.webkit.org/show_bug.cgi?id=150836
226 Reviewed by Philippe Normand.
228 We don't really need a GThreadSafeMainLoopSource for this simple timer.
230 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
231 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
232 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
233 (WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
234 (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
235 (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
236 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
238 2015-11-04 Frederic Wang <fred.wang@free.fr>
240 Add support for the USE_TYPO_METRICS flag on iOS
241 https://bugs.webkit.org/show_bug.cgi?id=131839
243 Reviewed by Darin Adler.
245 Make the iOS Font service use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
246 The code shared by iOS, OS X and AppleWin is moved into a separate OpenTypeCG module.
248 No new tests because this is already tested by fonts/use-typo-metrics-1.html
250 * PlatformAppleWin.cmake: Add OpenTypeCG files.
251 * PlatformMac.cmake: ditto.
252 * WebCore.vcxproj/WebCore.vcxproj: ditto.
253 * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
254 * WebCore.xcodeproj/project.pbxproj: ditto.
255 * platform/graphics/cocoa/FontCocoa.mm:
256 (WebCore::Font::platformInit): Use functions from OpenTypeCG.
257 (WebCore::fontHasMathTable): Deleted.
258 * platform/graphics/ios/FontServicesIOS.mm:
259 (WebCore::FontServicesIOS::FontServicesIOS): Use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
260 * platform/graphics/opentype/OpenTypeCG.h: Added.
261 * platform/graphics/opentype/OpenTypeCG.cpp: Added.
262 (WebCore::OpenType::fontHasMathTable): Move this code from FontCocoa.mm.
263 (WebCore::OpenType::readShortFromTable): Inline function to read a 16-bit big endian integer from the OS/2 table and to cast it into a short integer.
264 (WebCore::OpenType::tryGetTypoMetrics): Move this code from FontCocoa.mm.
265 * platform/graphics/opentype/OpenTypeTypes.h: Add missing Glyph.h header needed by TableWithCoverage::getCoverageIndex.
266 * platform/graphics/win/SimpleFontDataCGWin.cpp:
267 (WebCore::Font::platformInit): Use functions from OpenTypeCG.
269 2015-11-04 Chris Dumez <cdumez@apple.com>
271 Regression(r191652): Colloquy doesn’t render any chat content
272 https://bugs.webkit.org/show_bug.cgi?id=150861
273 <rdar://problem/23381007>
275 Reviewed by Antti Koivisto.
277 Do a partial revert of r191652 as this web-exposed behavior change
278 broke Colloquy app. This only reverts the code change, the tests
279 are left as is so that they don't rely of the frame ID setting the
282 * html/HTMLFrameElementBase.cpp:
283 (WebCore::HTMLFrameElementBase::parseAttribute):
284 (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
286 2015-11-03 Brady Eidson <beidson@apple.com>
288 Modern IDB: Fill out IDBIndex, create MemoryIndex in backing store.
289 https://bugs.webkit.org/show_bug.cgi?id=150868
291 Reviewed by Alex Christensen.
293 Tests: storage/indexeddb/modern/create-index-failures.html
294 storage/indexeddb/modern/get-index-failures.html
295 storage/indexeddb/modern/idbindex-properties-basic.html
297 Note: The MemoryIndex in the backing store doesn't actually do anything yet.
302 * WebCore.xcodeproj/project.pbxproj:
304 * Modules/indexeddb/IDBIndex.h:
306 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
307 (WebCore::IDBClient::IDBConnectionToServer::createIndex):
308 (WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):
309 * Modules/indexeddb/client/IDBConnectionToServer.h:
310 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
312 * Modules/indexeddb/client/IDBCursorWithValueImpl.h:
314 * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
315 (WebCore::IDBClient::IDBDatabase::didCreateIndexInfo):
316 * Modules/indexeddb/client/IDBDatabaseImpl.h:
318 * Modules/indexeddb/client/IDBIndexImpl.cpp:
319 (WebCore::IDBClient::IDBIndex::create):
320 (WebCore::IDBClient::IDBIndex::IDBIndex):
321 (WebCore::IDBClient::IDBIndex::objectStore):
322 (WebCore::IDBClient::IDBIndex::keyPathAny):
323 (WebCore::IDBClient::IDBIndex::openCursor):
324 (WebCore::IDBClient::IDBIndex::count):
325 (WebCore::IDBClient::IDBIndex::openKeyCursor):
326 (WebCore::IDBClient::IDBIndex::get):
327 (WebCore::IDBClient::IDBIndex::getKey):
328 * Modules/indexeddb/client/IDBIndexImpl.h:
330 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
331 (WebCore::IDBClient::IDBObjectStore::createIndex):
332 (WebCore::IDBClient::IDBObjectStore::index):
333 * Modules/indexeddb/client/IDBObjectStoreImpl.h:
335 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
336 (WebCore::IDBClient::IDBTransaction::createObjectStore):
337 (WebCore::IDBClient::IDBTransaction::createIndex):
338 (WebCore::IDBClient::IDBTransaction::createIndexOnServer):
339 (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):
340 * Modules/indexeddb/client/IDBTransactionImpl.h:
342 * Modules/indexeddb/legacy/LegacyIndex.h:
344 * Modules/indexeddb/server/IDBBackingStore.h:
346 * Modules/indexeddb/server/IDBConnectionToClient.cpp:
347 (WebCore::IDBServer::IDBConnectionToClient::didCreateIndex):
348 * Modules/indexeddb/server/IDBConnectionToClient.h:
349 * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
351 * Modules/indexeddb/server/IDBServer.cpp:
352 (WebCore::IDBServer::IDBServer::createIndex):
353 * Modules/indexeddb/server/IDBServer.h:
355 * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
356 (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewIndex):
357 (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingIndex):
358 * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
360 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
361 (WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
362 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
364 * Modules/indexeddb/server/MemoryIndex.cpp: Added.
365 (WebCore::IDBServer::MemoryIndex::create):
366 (WebCore::IDBServer::MemoryIndex::MemoryIndex):
367 (WebCore::IDBServer::MemoryIndex::~MemoryIndex):
368 * Modules/indexeddb/server/MemoryIndex.h: Added.
369 (WebCore::IDBServer::MemoryIndex::info):
371 * Modules/indexeddb/server/MemoryObjectStore.cpp:
372 (WebCore::IDBServer::MemoryObjectStore::createIndex):
373 (WebCore::IDBServer::MemoryObjectStore::registerIndex):
374 (WebCore::IDBServer::MemoryObjectStore::unregisterIndex):
375 * Modules/indexeddb/server/MemoryObjectStore.h:
377 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
378 (WebCore::IDBServer::UniqueIDBDatabase::createIndex):
379 (WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
380 (WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):
381 * Modules/indexeddb/server/UniqueIDBDatabase.h:
383 * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
384 (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):
385 * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
387 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
388 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
389 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
391 * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
392 (WebCore::IDBDatabaseInfo::getInfoForExistingObjectStore):
393 (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
394 * Modules/indexeddb/shared/IDBDatabaseInfo.h:
396 * Modules/indexeddb/shared/IDBIndexInfo.cpp:
397 (WebCore::IDBIndexInfo::IDBIndexInfo):
398 (WebCore::IDBIndexInfo::isolatedCopy):
399 * Modules/indexeddb/shared/IDBIndexInfo.h:
400 (WebCore::IDBIndexInfo::identifier):
401 (WebCore::IDBIndexInfo::objectStoreIdentifier):
403 * Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
404 (WebCore::IDBObjectStoreInfo::createNewIndex):
405 (WebCore::IDBObjectStoreInfo::addExistingIndex):
406 (WebCore::IDBObjectStoreInfo::hasIndex):
407 (WebCore::IDBObjectStoreInfo::infoForExistingIndex):
408 (WebCore::IDBObjectStoreInfo::isolatedCopy):
409 * Modules/indexeddb/shared/IDBObjectStoreInfo.h:
411 * Modules/indexeddb/shared/IDBResultData.cpp:
412 (WebCore::IDBResultData::createIndexSuccess):
413 * Modules/indexeddb/shared/IDBResultData.h:
415 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
416 (WebCore::InProcessIDBServer::didCreateIndex):
417 (WebCore::InProcessIDBServer::createIndex):
418 * Modules/indexeddb/shared/InProcessIDBServer.h:
420 * bindings/js/JSIDBObjectStoreCustom.cpp:
421 (WebCore::JSIDBObjectStore::createIndex):
423 * platform/CrossThreadCopier.cpp:
424 (WebCore::IDBIndexInfo>::copy):
425 * platform/CrossThreadCopier.h:
427 2015-11-03 Andy Estes <aestes@apple.com>
429 [Cocoa] Only query for kMGQDeviceName on iOS
430 https://bugs.webkit.org/show_bug.cgi?id=150858
432 Reviewed by Brent Fulgham.
434 * platform/ios/Device.cpp:
435 (WebCore::deviceName): On non-iOS platorms, just return "iPhone" as the device name.
437 2015-11-03 Geoffrey Garen <ggaren@apple.com>
439 Provide a way to turn off const in WebKit2.
441 Reviewed by Sam Weinig.
443 * bindings/js/JSDOMWindowBase.cpp:
444 (WebCore::JSDOMWindowBase::commonVM):
446 (WebCore::Settings::shouldUseHighResolutionTimers):
447 (WebCore::Settings::shouldRewriteConstAsVar):
448 (WebCore::Settings::setShouldRewriteConstAsVar):
449 (WebCore::Settings::backgroundShouldExtendBeyondPage):
451 2015-11-03 Joseph Pecoraro <pecoraro@apple.com>
453 Web Inspector: Remove duplication among ScriptDebugServer subclasses
454 https://bugs.webkit.org/show_bug.cgi?id=150860
456 Reviewed by Timothy Hatcher.
458 Refactoring covered by existing tests.
460 * bindings/js/WorkerScriptDebugServer.cpp:
461 (WebCore::WorkerScriptDebugServer::attachDebugger):
462 (WebCore::WorkerScriptDebugServer::detachDebugger):
463 (WebCore::WorkerScriptDebugServer::addListener): Deleted.
464 (WebCore::WorkerScriptDebugServer::removeListener): Deleted.
465 * bindings/js/WorkerScriptDebugServer.h:
466 * inspector/PageDebuggerAgent.cpp:
467 (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): Deleted.
468 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): Deleted.
469 * inspector/PageDebuggerAgent.h:
470 * inspector/PageScriptDebugServer.cpp:
471 (WebCore::PageScriptDebugServer::attachDebugger):
472 (WebCore::PageScriptDebugServer::detachDebugger):
473 (WebCore::PageScriptDebugServer::addListener): Deleted.
474 (WebCore::PageScriptDebugServer::removeListener): Deleted.
475 * inspector/PageScriptDebugServer.h:
476 * inspector/WorkerDebuggerAgent.cpp:
477 (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): Deleted.
478 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): Deleted.
479 * inspector/WorkerDebuggerAgent.h:
481 2015-11-03 Jiewen Tan <jiewen_tan@apple.com>
483 Null dereference loading Blink layout test scrollbars/custom-scrollbar-appearance-property.html
484 https://bugs.webkit.org/show_bug.cgi?id=149312
485 <rdar://problem/22748910>
487 Reviewed by Darin Adler.
489 This is a merge from Blink r167503:
490 https://codereview.chromium.org/173433002
492 Test: scrollbars/custom-scrollbar-appearance-property.html
494 * rendering/RenderThemeMac.mm:
495 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
496 (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
498 2015-11-03 Andreas Kling <akling@apple.com>
500 ResourceUsageOverlay should show GC-owned malloc memory.
501 <https://webkit.org/b/150846>
503 Reviewed by Anders Carlsson.
505 Add a memory category for GC-owned malloc memory. This carves a significant chunk off of
506 the gigantic "bmalloc" mystery slice.
508 * page/ResourceUsageOverlay.h:
509 * page/cocoa/ResourceUsageOverlayCocoa.mm:
510 (WebCore::drawMemoryPie):
511 (WebCore::ResourceUsageOverlay::draw):
512 (WebCore::runSamplerThread):
514 2015-11-03 Saam barati <sbarati@apple.com>
516 Rewrite "const" as "var" for iTunes/iBooks on the Mac
517 https://bugs.webkit.org/show_bug.cgi?id=150852
519 Reviewed by Geoffrey Garen.
521 * bindings/js/JSDOMWindowBase.cpp:
522 (WebCore::JSDOMWindowBase::commonVM):
524 2015-10-30 Jon Honeycutt <jhoneycutt@apple.com>
526 Implement support for the autocomplete attribute
527 https://bugs.webkit.org/show_bug.cgi?id=150731
528 rdar://problem/21078968
530 The autocomplete attribute is defined by
531 https://html.spec.whatwg.org/multipage/forms.html#autofill.
533 Reviewed by Brent Fulgham.
535 Test: fast/forms/autocomplete-tokens.html
537 * html/HTMLFormControlElement.cpp:
538 (WebCore::isContactToken):
539 Return true if this is a contact token.
540 (WebCore::categoryForAutofillFieldToken):
541 Adds all of the autofill field tokens to a map, and returns the
542 category for a given token.
543 (WebCore::maxTokensForAutofillFieldCategory):
544 Return the maximum number of tokens an autofill category supports.
545 (WebCore::HTMLFormControlElement::parseAutocompleteAttribute):
546 Implement the processing model defined in
547 https://html.spec.whatwg.org/multipage/forms.html#processing-model-3
548 with respect to the IDL-exposed autofill value.
549 (WebCore::HTMLFormControlElement::setAutocomplete):
550 Set the autocomplete attribute to the given string.
552 * html/HTMLFormControlElement.h:
553 Declare setAutocomplete() and autocomplete().
555 * html/HTMLInputElement.idl:
556 Remove the Reflect attribute. We now have custom processing for getting
559 * html/HTMLSelectElement.idl:
560 Declare the autocomplete attribute.
562 * html/HTMLTextAreaElement.idl:
565 2015-11-03 Brady Eidson <beidson@apple.com>
567 Modern IDB: Land empty IDBCursor/Index IDL implementations.
568 https://bugs.webkit.org/show_bug.cgi?id=150839
570 Reviewed by Alex Christensen.
572 No new tests (No change in behavior).
575 * WebCore.xcodeproj/project.pbxproj:
577 * Modules/indexeddb/IDBIndex.h:
579 * Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
580 (WebCore::IDBClient::IDBCursor::~IDBCursor):
581 (WebCore::IDBClient::IDBCursor::direction):
582 (WebCore::IDBClient::IDBCursor::key):
583 (WebCore::IDBClient::IDBCursor::primaryKey):
584 (WebCore::IDBClient::IDBCursor::value):
585 (WebCore::IDBClient::IDBCursor::source):
586 (WebCore::IDBClient::IDBCursor::update):
587 (WebCore::IDBClient::IDBCursor::advance):
588 (WebCore::IDBClient::IDBCursor::continueFunction):
589 (WebCore::IDBClient::IDBCursor::deleteFunction):
590 * Modules/indexeddb/client/IDBCursorImpl.h: Added.
592 * Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
593 * Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
595 * Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
596 (WebCore::IDBClient::IDBIndex::~IDBIndex):
597 (WebCore::IDBClient::IDBIndex::name):
598 (WebCore::IDBClient::IDBIndex::objectStore):
599 (WebCore::IDBClient::IDBIndex::keyPathAny):
600 (WebCore::IDBClient::IDBIndex::keyPath):
601 (WebCore::IDBClient::IDBIndex::unique):
602 (WebCore::IDBClient::IDBIndex::multiEntry):
603 (WebCore::IDBClient::IDBIndex::openCursor):
604 (WebCore::IDBClient::IDBIndex::count):
605 (WebCore::IDBClient::IDBIndex::openKeyCursor):
606 (WebCore::IDBClient::IDBIndex::get):
607 (WebCore::IDBClient::IDBIndex::getKey):
608 * Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
610 * Modules/indexeddb/legacy/LegacyIndex.h:
611 (WebCore::LegacyIndex::id):
613 * Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
614 * Modules/indexeddb/shared/IDBIndexInfo.h: Added.
615 (WebCore::IDBIndexInfo::name):
616 (WebCore::IDBIndexInfo::keyPath):
617 (WebCore::IDBIndexInfo::unique):
618 (WebCore::IDBIndexInfo::multiEntry):
620 2015-11-03 Myles C. Maxfield <mmaxfield@apple.com>
622 Addressing post-review comments on r191934.
626 * platform/graphics/mac/FontCustomPlatformData.cpp:
627 (WebCore::FontCustomPlatformData::supportsFormat):
629 2015-11-03 Joseph Pecoraro <pecoraro@apple.com>
631 Web Inspector: Move ScriptDebugServer::Task to WorkerScriptDebugServer where it is actually used
632 https://bugs.webkit.org/show_bug.cgi?id=150847
634 Reviewed by Timothy Hatcher.
636 * bindings/js/WorkerScriptDebugServer.cpp:
637 (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
638 * bindings/js/WorkerScriptDebugServer.h:
639 * inspector/WorkerDebuggerAgent.cpp:
641 2015-11-03 Tim Horton <timothy_horton@apple.com>
646 (WebCore::Widget::boundsRect):
647 (WebCore::Widget::resize):
649 2015-11-03 Myles C. Maxfield <mmaxfield@apple.com>
651 font-variant-* properties in @font-face declarations should be honored
652 https://bugs.webkit.org/show_bug.cgi?id=149771
654 Reviewed by Simon Fraser.
656 According to the CSS Fonts Level 3 spec, web authors are allowed to put
657 font-feature-settings / font-variant-* inside @font-face blocks. These
658 properties are supposed to be applied at a specific time during the
659 font selection algorithm.
661 This patch gives a FontFeatureSettings object and a FontVariantSettings
662 object to CSSFontFace, and moves common parsing logic from
663 StyleBuilderCustom to a shared location. Then, once the two properties
664 are parsed from the @font-face block, the relevant data structures are
665 passed down into the font selection algorithm. This algorithm then
666 consults with these values at the correct time (inside
667 preparePlatformFont()).
669 Tests: css3/font-feature-settings-font-face-rendering.html
670 css3/font-variant-font-face-all.html
671 css3/font-variant-font-face-override.html
673 * WebCore.xcodeproj/project.pbxproj: Add a header for the common
674 location of parsing font-variant-ligatures, font-variant-numeric,
675 and font-variant-east-asian.
676 * css/CSSFontFace.cpp:
677 (WebCore::CSSFontFace::font): Pass the relevant data structures
678 into the font selection algorithm.
679 * css/CSSFontFace.h: Add FontFeatureSettings and FontVariantSettings
681 (WebCore::CSSFontFace::insertFeature):
682 (WebCore::CSSFontFace::setVariantCommonLigatures):
683 (WebCore::CSSFontFace::setVariantDiscretionaryLigatures):
684 (WebCore::CSSFontFace::setVariantHistoricalLigatures):
685 (WebCore::CSSFontFace::setVariantContextualAlternates):
686 (WebCore::CSSFontFace::setVariantPosition):
687 (WebCore::CSSFontFace::setVariantCaps):
688 (WebCore::CSSFontFace::setVariantNumericFigure):
689 (WebCore::CSSFontFace::setVariantNumericSpacing):
690 (WebCore::CSSFontFace::setVariantNumericFraction):
691 (WebCore::CSSFontFace::setVariantNumericOrdinal):
692 (WebCore::CSSFontFace::setVariantNumericSlashedZero):
693 (WebCore::CSSFontFace::setVariantAlternates):
694 (WebCore::CSSFontFace::setVariantEastAsianVariant):
695 (WebCore::CSSFontFace::setVariantEastAsianWidth):
696 (WebCore::CSSFontFace::setVariantEastAsianRuby):
697 * css/CSSFontFaceSource.cpp:
698 (WebCore::CSSFontFaceSource::font): Pass the relevant data
699 structures into the font selection algorithm.
700 * css/CSSFontFaceSource.h: Ditto.
701 * css/CSSFontSelector.cpp:
702 (WebCore::CSSFontSelector::addFontFaceRule): Call the shared
703 parsing logic to populate the FontFeatureSettings and
704 FontVariantSettings members.
705 * css/FontVariantBuilder.h: Added. Destination for shared parsing
707 (WebCore::applyValueFontVariantLigatures):
708 (WebCore::applyValueFontVariantNumeric):
709 (WebCore::applyValueFontVariantEastAsian):
710 * css/StyleBuilderCustom.h: Source for shared parsing logic.
711 (WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
712 (WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
713 (WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
714 * loader/cache/CachedFont.cpp: Pass the relevant data structures
715 into the font selection algorithm.
716 (WebCore::CachedFont::createFont):
717 (WebCore::CachedFont::platformDataFromCustomData):
718 * loader/cache/CachedFont.h: Ditto.
719 * loader/cache/CachedSVGFont.cpp: Ditto.
720 (WebCore::CachedSVGFont::createFont):
721 (WebCore::CachedSVGFont::platformDataFromCustomData):
722 * loader/cache/CachedSVGFont.h: Ditto.
723 * platform/graphics/FontCache.h: Ditto.
724 * platform/graphics/FontCascade.cpp:
725 (WebCore::FontCascade::codePath): Adjust comment.
726 * platform/graphics/cocoa/FontCacheCoreText.cpp:
727 (WebCore::preparePlatformFont): Consult with the newly parsed values.
728 (WebCore::fontWithFamily): Pass the relevant data structures into the
729 font selection algorithm.
730 (WebCore::FontCache::systemFallbackForCharacters): Ditto.
731 * platform/graphics/mac/FontCustomPlatformData.cpp:
732 (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
733 * platform/graphics/mac/FontCustomPlatformData.h: Ditto.
735 2015-11-03 Joseph Pecoraro <pecoraro@apple.com>
737 Web Inspector: Handle or Remove ParseHTML Timeline Event Records
738 https://bugs.webkit.org/show_bug.cgi?id=150689
740 Reviewed by Timothy Hatcher.
742 Remove ParseHTML nesting recordings. We were not using them
743 and for most pages their self-time is very small in comparison
744 to other events. We may consider adding it back later for
745 UI purposes but for now the frontend doesn't use the records
748 * html/parser/HTMLDocumentParser.cpp:
749 (WebCore::HTMLDocumentParser::pumpTokenizer): Deleted.
750 * inspector/InspectorInstrumentation.cpp:
751 (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
752 (WebCore::InspectorInstrumentation::didWriteHTMLImpl): Deleted.
753 * inspector/InspectorInstrumentation.h:
754 (WebCore::InspectorInstrumentation::willWriteHTML): Deleted.
755 (WebCore::InspectorInstrumentation::didWriteHTML): Deleted.
756 * inspector/InspectorTimelineAgent.cpp:
757 (WebCore::InspectorTimelineAgent::willWriteHTML): Deleted.
758 (WebCore::InspectorTimelineAgent::didWriteHTML): Deleted.
759 (WebCore::toProtocol): Deleted.
760 * inspector/InspectorTimelineAgent.h:
761 * inspector/TimelineRecordFactory.cpp:
762 (WebCore::TimelineRecordFactory::createParseHTMLData): Deleted.
763 * inspector/TimelineRecordFactory.h:
765 2015-11-03 Keith Rollin <krollin@apple.com>
767 HTMLOptionElement.text should never return the value of label
768 https://bugs.webkit.org/show_bug.cgi?id=148862
769 rdar://problem/22589226
771 Reviewed by Darin Adler.
773 According to the HTML spec, `option` elements should have the
776 - the `text` property should return text contents of element
777 - the `label` property should return value of label attribute if
778 it exists, else return text property
779 - the UI should display label property
781 12 years ago, in order to be compatibile with browsers of the time, we
782 diverged from this behavior: the text property behaved like the label
783 property, and the text property was used for display. This resulted in
784 our UI incidentally conforming to the spec, but also in the text
785 property *not* conforming to the spec. See <rdar://problem/3532519>
786 for discussion on this change.
788 The behavior of the browsers we were conforming to has changed. In
789 particular, the text property in Firefox now conforms to the spec
790 instead of behaving as we did. Therefore, it's less important to
791 retain our old behavior for the sake of compatibility. This check-in
792 brings us into conformance with the spec. The result is that the UI
793 stays the same, but the text property will return different values than
794 it used to if the option element has a label attribute that used to
798 - fast/dom/HTMLOptionElement/option-text.html:
799 - fast/forms/HTMLOptionElement_label01.html:
800 - fast/forms/HTMLOptionElement_label02.html:
801 - fast/forms/HTMLOptionElement_label03.html:
802 - fast/forms/HTMLOptionElement_label04.html:
803 - fast/forms/HTMLOptionElement_label05.html:
804 - fast/forms/HTMLOptionElement_label06.html:
805 - fast/forms/HTMLOptionElement_label07.html:
806 - fast/forms/option-value-and-label.html:
808 * accessibility/AccessibilityListBoxOption.cpp:
809 (WebCore::AccessibilityListBoxOption::stringValue):
810 * accessibility/AccessibilityMenuListOption.cpp:
811 (WebCore::AccessibilityMenuListOption::stringValue):
812 * html/HTMLOptionElement.cpp:
813 (WebCore::HTMLOptionElement::text):
814 (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
816 2015-11-03 Andreas Kling <akling@apple.com>
818 ResourceUsageOverlay should draw itself using WebCore::GraphicsContext.
819 <https://webkit.org/b/150841>
821 Reviewed by Antti Koivisto.
823 Use WebCore text drawing primitives instead of poking at the CGContext directly.
824 And stop using deprecated CoreGraphics APIs, too.
826 * page/cocoa/ResourceUsageOverlayCocoa.mm:
827 (WebCore::drawCpuHistory):
828 (WebCore::drawGCHistory):
830 Adjust for unflipped Y axis.
832 (WebCore::fontCascade):
835 Draw using WebCore text drawing primitives.
837 (WebCore::ResourceUsageOverlay::draw):
839 Remove CGContext calls and stop flipping the Y axis.
841 2015-11-03 Youenn Fablet <youenn.fablet@crf.canon.fr>
843 [Streams API] Vended promise capabilities should not need @resolve/@reject fields
844 https://bugs.webkit.org/show_bug.cgi?id=150835
846 Reviewed by Darin Adler.
848 No change in behavior, covered by existing tests.
850 * Modules/streams/ReadableStreamInternals.js:
851 (privateInitializeReadableStreamReader): Removed @resolve/@reject fields from resolved/rejected @closedPromiseCapability.
852 * Modules/streams/WritableStream.js:
853 (initializeWritableStream): Removed @resolve/@reject fields from resolved readyPromiseCapability.
854 * Modules/streams/WritableStreamInternals.js:
855 (syncWritableStreamStateWithQueue): Updated code to be closer to spec and removing the need to resolve an already resolved promise.
857 2015-11-03 Hunseop Jeong <hs85.jeong@samsung.com>
859 Replace 0 and NULL with nullptr in WebCore/dom.
860 https://bugs.webkit.org/show_bug.cgi?id=150788
862 Reviewed by Darin Adler.
864 No new tests because there is no behavior change.
867 (WebCore::Attr::Attr):
868 (WebCore::Attr::detachFromElementWithValue):
869 (WebCore::Attr::attachToElement):
871 * dom/CheckedRadioButtons.cpp:
872 (WebCore::RadioButtonGroup::updateCheckedState):
873 (WebCore::CheckedRadioButtons::checkedButtonForGroup):
874 (WebCore::CheckedRadioButtons::isInRequiredGroup):
875 * dom/ChildListMutationScope.cpp:
876 (WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
877 * dom/ContainerNode.cpp:
878 (WebCore::ContainerNode::removeBetween):
879 * dom/ContainerNode.h:
880 (WebCore::ContainerNode::ContainerNode):
881 * dom/ContainerNodeAlgorithms.cpp:
882 (WebCore::notifyNodeRemovedFromDocument):
884 (WebCore::Document::wellFormed):
885 (WebCore::Document::scriptRunner):
886 (WebCore::Document::moduleLoader):
887 (WebCore::Document::currentScript):
888 (WebCore::Document::webkitFullscreenElement):
889 * dom/DocumentOrderedMap.h:
890 (WebCore::DocumentOrderedMap::MapEntry::MapEntry):
891 * dom/DocumentParser.cpp:
892 (WebCore::DocumentParser::detach):
893 (WebCore::DocumentParser::suspendScheduledTasks):
895 (WebCore::Element::setAttributeInternal):
896 (WebCore::Element::shadowRoot):
897 (WebCore::Element::blur):
898 (WebCore::Element::beforePseudoElement):
899 (WebCore::Element::afterPseudoElement):
900 (WebCore::Element::setBeforePseudoElement):
902 (WebCore::Event::Event):
904 (WebCore::Event::legacyReturnValue):
905 (WebCore::Event::setLegacyReturnValue):
906 (WebCore::Event::clipboardData):
907 * dom/EventContext.cpp:
908 (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):
909 * dom/EventDispatcher.cpp:
910 (WebCore::EventPath::lastContextIfExists):
911 (WebCore::EventDispatcher::dispatchEvent):
912 * dom/EventListenerMap.cpp:
913 (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
914 (WebCore::EventListenerIterator::EventListenerIterator):
915 * dom/EventListenerMap.h:
916 * dom/EventTarget.cpp:
917 (WebCore::EventTarget::fireEventListeners):
918 * dom/FocusEvent.cpp:
919 (WebCore::FocusEventInit::FocusEventInit):
920 * dom/GenericEventQueue.cpp:
921 (WebCore::GenericEventQueue::enqueueEvent):
922 * dom/IdTargetObserverRegistry.h:
923 (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
924 (WebCore::IdTargetObserverRegistry::notifyObservers):
925 * dom/IgnoreDestructiveWriteCountIncrementer.h:
926 (WebCore::IgnoreDestructiveWriteCountIncrementer::IgnoreDestructiveWriteCountIncrementer):
927 * dom/MessageEvent.cpp:
928 (WebCore::MessageEvent::MessageEvent):
929 * dom/MessageEvent.h:
930 * dom/MessagePort.cpp:
931 (WebCore::MessagePort::contextDestroyed):
932 (WebCore::MessagePort::dispatchMessages):
933 (WebCore::MessagePort::locallyEntangledPort):
934 (WebCore::MessagePort::disentanglePorts):
935 * dom/MouseEvent.cpp:
936 (WebCore::MouseEventInit::MouseEventInit):
937 (WebCore::MouseEvent::cloneFor):
939 (WebCore::MouseEvent::dataTransfer):
940 * dom/MouseRelatedEvent.cpp:
941 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
942 (WebCore::MouseRelatedEvent::computeRelativePosition):
943 * dom/MutationEvent.h:
945 (WebCore::Node::nodeLists):
946 (WebCore::Node::clearNodeLists):
947 (WebCore::Node::nonShadowBoundaryParentNode):
948 (WebCore::Node::parentOrShadowHostElement):
950 * dom/NodeRareData.h:
951 (WebCore::NodeListsNodeData::removeCachedCollection):
952 (WebCore::NodeListsNodeData::isEmpty):
953 * dom/PendingScript.cpp:
954 (WebCore::PendingScript::releaseElementAndClear):
955 * dom/PopStateEvent.cpp:
956 (WebCore::PopStateEvent::PopStateEvent):
958 (WebCore::Position::deprecatedNode):
959 (WebCore::Position::document):
960 (WebCore::Position::rootEditableElement):
961 * dom/PositionIterator.cpp:
962 (WebCore::PositionIterator::decrement):
963 * dom/PositionIterator.h:
964 (WebCore::PositionIterator::PositionIterator):
965 * dom/ProcessingInstruction.cpp:
966 (WebCore::ProcessingInstruction::ProcessingInstruction):
967 (WebCore::ProcessingInstruction::checkStyleSheet):
968 (WebCore::ProcessingInstruction::parseStyleSheet):
969 * dom/ProcessingInstruction.h:
970 * dom/RangeBoundaryPoint.h:
971 (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
972 * dom/ScriptElement.cpp:
973 (WebCore::ScriptElement::ScriptElement):
974 (WebCore::ScriptElement::stopLoadRequest):
975 (WebCore::ScriptElement::notifyFinished):
976 (WebCore::ScriptElement::ignoresLoadRequest):
977 * dom/ScriptedAnimationController.h:
978 (WebCore::ScriptedAnimationController::create):
979 (WebCore::ScriptedAnimationController::clearDocumentPointer):
980 * dom/StyledElement.cpp:
981 (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
982 (WebCore::StyledElement::addSubresourceAttributeURLs):
983 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
984 * dom/StyledElement.h:
985 (WebCore::StyledElement::additionalPresentationAttributeStyle):
986 (WebCore::StyledElement::inlineStyle):
987 * dom/TemplateContentDocumentFragment.h:
989 (WebCore::TextEvent::TextEvent):
991 (WebCore::UIEventInit::UIEventInit):
992 * dom/UserTypingGestureIndicator.cpp:
993 (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
994 (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
995 * dom/ViewportArguments.cpp:
996 (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
997 (WebCore::numericPrefix):
998 * dom/default/PlatformMessagePortChannel.cpp:
999 (WebCore::MessagePortChannel::disentangle):
1000 (WebCore::MessagePortChannel::postMessageToRemote):
1001 (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
1002 * dom/default/PlatformMessagePortChannel.h:
1004 2015-11-02 Wenson Hsieh <wenson_hsieh@apple.com>
1006 Tapping *below* some <input>s can focus them in Mobile Safari
1007 https://bugs.webkit.org/show_bug.cgi?id=146244
1008 <rdar://problem/21509310>
1010 Reviewed by Darin Adler.
1012 Removes iOS-specific logic in positionForPointRespectingEditingBoundaries that was causing us to focus inputs by
1013 tapping on the document element. We believe this logic, which causes VisiblePosition finding to recurse from a non-
1014 editable element to an editable child, is not necessary to focus editable elements underneath non-editable elements,
1015 since hit-testing will already have selected the contentEditable element prior to searching for a suitable
1016 VisiblePosition. Further investigation shows that this logic was added to fix <rdar://problem/5545799>, in which the
1017 first character in a Notes document could not be selected. However, I have not been able to reproduce this bug after
1018 removing this logic.
1020 As a result of this change, we can also enable a WK1 test, editing/selection/click-outside-editable-div.html, that
1021 had also been marked as failing due to positionForPointRespectingEditingBoundaries recursing into a contentEditable
1024 Test: fast/events/ios/clicking-document-should-not-trigger-focus.html
1026 * rendering/RenderBlock.cpp:
1027 (WebCore::positionForPointRespectingEditingBoundaries): Deleted.
1029 2015-11-03 Myles C. Maxfield <mmaxfield@apple.com>
1031 Update to match text-orientation spec
1032 https://bugs.webkit.org/show_bug.cgi?id=150765
1034 Reviewed by Darin Adler.
1036 The CSS spec has removed the "sideways-right" value of text-orientation in favor
1037 of "sideways." This patch makes the parser treat "sideways-right" the same as
1040 Test: fast/text/orientation-sideways-right.html
1042 * css/CSSPrimitiveValueMappings.h:
1043 (WebCore::CSSPrimitiveValue::operator TextOrientation):
1044 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
1045 * rendering/style/RenderStyle.cpp:
1046 (WebCore::RenderStyle::fontAndGlyphOrientation): Deleted.
1047 * rendering/style/RenderStyleConstants.h:
1049 2015-11-03 Xabier Rodriguez Calvar <calvaris@igalia.com>
1051 [Streams API] Rework promises to use @newPromiseCapability
1052 https://bugs.webkit.org/show_bug.cgi?id=150627
1054 Reviewed by Youenn Fablet.
1056 We are removing the stream promises functions in favor of @newPromiseCapabity which basically provides the same
1057 functionality (keeping the resolve and reject functions without external slots). Slots and variables were
1058 renamed as *PromiseCapability to show that they no longer hold just a promise, but a promise capability.
1060 Internal rework, no new tests needed.
1062 * Modules/streams/ReadableStreamInternals.js:
1063 (privateInitializeReadableStreamReader.this.closedPromiseCapability.resolve):
1064 (privateInitializeReadableStreamReader.this.closedPromiseCapability.reject):
1065 (privateInitializeReadableStreamReader):
1066 (teeReadableStream):
1067 (teeReadableStreamBranch2CancelFunction):
1068 (errorReadableStream):
1069 (closeReadableStreamReader):
1070 (enqueueInReadableStream):
1071 (readFromReadableStreamReader):
1072 * Modules/streams/ReadableStreamReader.js:
1074 * Modules/streams/StreamInternals.js:
1075 (createNewStreamsPromise): Deleted.
1076 (resolveStreamsPromise): Deleted.
1077 (rejectStreamsPromise): Deleted.
1078 * Modules/streams/WritableStream.js:
1079 (this.readyPromiseCapability.resolve):
1080 (this.readyPromiseCapability.reject):
1081 (initializeWritableStream):
1086 * Modules/streams/WritableStreamInternals.js:
1087 (syncWritableStreamStateWithQueue):
1088 (errorWritableStream):
1089 * bindings/js/WebCoreBuiltinNames.h:
1091 2015-11-03 Youenn Fablet <youenn.fablet@crf.canon.fr>
1093 Move webkitGetUserMedia to JS Builtin
1094 https://bugs.webkit.org/show_bug.cgi?id=149499
1096 Reviewed by Darin Adler.
1098 Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.
1100 Removed cpp based version.
1102 The js builting implementation checks for argument but does not raise exception when the request is not supported.
1103 The error callback is called instead, in an asynchronous fashion.
1104 The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
1105 This is done afterwards when calling navigator.MediaDevices.@getUserMedia.
1107 Covered by existing and modified tests.
1109 * CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
1110 * DerivedSources.make: Ditto.
1111 * Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
1112 * Modules/mediastream/NavigatorUserMedia.js:
1113 (webkitGetUserMedia):
1114 * Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
1115 * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
1116 * Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
1117 * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
1118 * Modules/mediastream/UserMediaRequest.cpp:
1119 * Modules/mediastream/UserMediaRequest.h:
1120 * WebCore.xcodeproj/project.pbxproj:
1121 * bindings/js/JSDOMWindowBase.cpp:
1122 (WebCore::JSDOMWindowBase::finishCreation): Style modifications.
1123 * bindings/js/JSNavigatorCustom.cpp: Removed.
1124 * bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
1125 * bindings/js/WebCoreJSBuiltins.h: Ditto.
1126 (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
1127 (WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):
1129 2015-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
1131 [GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch
1132 https://bugs.webkit.org/show_bug.cgi?id=150800
1134 Reviewed by Philippe Normand.
1136 This way we would avoid all the GScource + polling mechanism that
1137 GST uses internally to handle messages asynchronously in the main thread.
1139 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1141 (WTF::refGPtr<GstMessage>):
1142 (WTF::derefGPtr<GstMessage>):
1143 * platform/graphics/gstreamer/GRefPtrGStreamer.h:
1144 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1145 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1146 Initialize the WeakPtr factory.
1147 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1148 reset the GstBus sync handler.
1149 (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Make it void.
1150 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Add a
1151 GstBus sync message handler and schedule the messages to the main
1152 thread with RunLoop::main().dispatch().
1153 (WebCore::mediaPlayerPrivateMessageCallback): Deleted.
1154 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1155 (WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Create a WeakPtr.
1156 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1157 (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
1158 Handle the need context message that needs to be handled in the
1160 (WebCore::mediaPlayerPrivateNeedContextMessageCallback): Deleted.
1161 (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
1162 (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Do not
1163 connect to sync-message signal, handleSyncMessage() will be called
1164 to handled messages synchronously.
1165 (WebCore::MediaPlayerPrivateGStreamerBase::handleNeedContextMessage): Deleted.
1166 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1168 2015-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
1170 [GStreamer] Cleanup the iradio properties
1171 https://bugs.webkit.org/show_bug.cgi?id=148522
1173 Reviewed by Philippe Normand.
1175 Remove unused icecast code.
1177 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1178 (StreamingClient::handleResponseReceived):
1179 (webKitWebSrcGetProperty): Deleted.
1180 (webKitWebSrcStop): Deleted.
1182 2015-11-02 Keith Rollin <krollin@apple.com>
1184 input[type=number] does not increment/decrement integers with trailing decimal characters
1185 https://bugs.webkit.org/show_bug.cgi?id=148867
1186 rdar://problem/22589693
1188 Reviewed by Chris Dumez.
1190 Support input[type=number].value attributes of the form "###." (that
1191 is, leading digits with a decimal but no trailing digits). This form
1192 was supported in the setting of the attribute, but not when changing
1193 it through stepUp/Down.
1195 Testing turned up similarly incorrect processing of -.###, so
1196 addressed that, too.
1198 Test: fast/forms/range/input-appearance-range-decimals.html
1200 Updated the following tests:
1201 - fast/forms/number/number-stepup-stepdown-from-renderer.html
1202 - fast/forms/number/number-stepup-stepdown.html
1203 - fast/forms/range/range-stepup-stepdown-from-renderer.html
1204 - fast/forms/range/range-stepup-stepdown.html
1206 * html/InputType.cpp:
1207 (WebCore::InputType::stepUpFromRenderer):
1208 * platform/Decimal.cpp:
1209 (WebCore::Decimal::fromString):
1211 2015-11-02 Jiewen Tan <jiewen_tan@apple.com>
1213 Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
1214 https://bugs.webkit.org/show_bug.cgi?id=150211
1215 <rdar://problem/23137321>
1217 Reviewed by Alex Christensen.
1219 This is a merge of Blink r188842:
1220 https://codereview.chromium.org/846933002
1222 By setting the backgroundRepeatY property to null it can
1223 happen that accessing that CSS value returns a null pointer.
1224 In that case simply bail out early.
1226 Test: fast/css/background-repeat-null-y-crash.html
1228 * css/StyleProperties.cpp:
1229 (WebCore::StyleProperties::getLayeredShorthandValue):
1231 2015-11-02 Myles C. Maxfield <mmaxfield@apple.com>
1233 [Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
1234 https://bugs.webkit.org/show_bug.cgi?id=150766
1236 Reviewed by Darin Adler.
1238 The spec has changed the initial value of text-orientation from "vertical-right"
1239 to "mixed." This patch follows this movement, but also keeps the existing
1240 property working (the parser will treat both values the same).
1242 Test: fast/text/vertical-mixed.html
1244 * css/CSSParser.cpp:
1245 (WebCore::CSSParser::parseValue):
1246 * css/CSSPrimitiveValueMappings.h:
1247 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1248 (WebCore::CSSPrimitiveValue::operator TextOrientation):
1249 * css/CSSValueKeywords.in:
1250 * css/StyleResolver.cpp:
1251 (WebCore::checkForOrientationChange):
1252 * platform/graphics/FontCascadeFonts.cpp:
1253 (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
1254 * platform/graphics/FontDescription.cpp:
1255 (WebCore::FontDescription::FontDescription):
1256 * platform/graphics/cocoa/FontCascadeCocoa.mm:
1257 (WebCore::FontCascade::fontForCombiningCharacterSequence):
1258 * platform/text/TextFlags.h:
1259 * rendering/style/RenderStyle.cpp:
1260 (WebCore::RenderStyle::getFontAndGlyphOrientation):
1261 * rendering/style/RenderStyle.h:
1262 * rendering/style/RenderStyleConstants.h:
1263 * rendering/style/StyleRareInheritedData.cpp:
1264 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1265 * style/StyleResolveForDocument.cpp:
1266 (WebCore::Style::resolveForDocument):
1268 2015-11-02 Myles C. Maxfield <mmaxfield@apple.com>
1270 [Cocoa] Support WOFF2
1271 https://bugs.webkit.org/show_bug.cgi?id=150830
1273 Reviewed by Zalan Bujtas.
1275 On platforms which support it, WebKit only needs to recognize WOFF2.
1277 Test: fast/text/woff2.html
1279 * platform/graphics/mac/FontCustomPlatformData.cpp:
1280 (WebCore::FontCustomPlatformData::supportsFormat):
1282 2015-11-02 Nan Wang <n_wang@apple.com>
1284 AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
1285 https://bugs.webkit.org/show_bug.cgi?id=138566
1287 Reviewed by Chris Fleizach.
1289 Added support for aria-modal attribute on dialog/alertdialog roles.
1290 When modal dialog is displayed, all other contents will be unaccessible.
1292 Tests: accessibility/aria-modal-multiple-dialogs.html
1293 accessibility/aria-modal.html
1295 * accessibility/AXObjectCache.cpp:
1296 (WebCore::AXObjectCache::AXObjectCache):
1297 (WebCore::AXObjectCache::~AXObjectCache):
1298 (WebCore::AXObjectCache::findAriaModalNodes):
1299 (WebCore::AXObjectCache::updateCurrentAriaModalNode):
1300 (WebCore::AXObjectCache::isNodeVisible):
1301 (WebCore::AXObjectCache::ariaModalNode):
1302 (WebCore::AXObjectCache::focusedImageMapUIElement):
1303 (WebCore::AXObjectCache::remove):
1304 (WebCore::AXObjectCache::handleAttributeChanged):
1305 (WebCore::AXObjectCache::handleAriaModalChange):
1306 (WebCore::AXObjectCache::labelChanged):
1307 * accessibility/AXObjectCache.h:
1308 (WebCore::AXObjectCache::handleActiveDescendantChanged):
1309 (WebCore::AXObjectCache::handleAriaExpandedChange):
1310 (WebCore::AXObjectCache::handleAriaRoleChanged):
1311 (WebCore::AXObjectCache::handleAriaModalChange):
1312 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1313 (WebCore::AXObjectCache::handleScrollbarUpdate):
1314 (WebCore::AXObjectCache::handleAttributeChanged):
1315 * accessibility/AccessibilityObject.cpp:
1316 (WebCore::AccessibilityObject::ariaCurrentState):
1317 (WebCore::AccessibilityObject::isAriaModalDescendant):
1318 (WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
1319 (WebCore::AccessibilityObject::hasTagName):
1320 (WebCore::AccessibilityObject::defaultObjectInclusion):
1321 * accessibility/AccessibilityObject.h:
1322 * html/HTMLAttributeNames.in:
1324 2015-11-02 Brady Eidson <beidson@apple.com>
1326 Modern IDB: IBDObjectStore.delete() support.
1327 https://bugs.webkit.org/show_bug.cgi?id=150784
1329 Reviewed by Alex Christensen.
1331 Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html
1332 storage/indexeddb/modern/idbobjectstore-delete-2.html
1333 storage/indexeddb/modern/idbobjectstore-delete-failures.html
1335 * Modules/indexeddb/IDBKeyRangeData.cpp:
1336 (WebCore::IDBKeyRangeData::isValid):
1337 * Modules/indexeddb/IDBKeyRangeData.h:
1339 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1340 (WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
1341 (WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
1342 * Modules/indexeddb/client/IDBConnectionToServer.h:
1343 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1345 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1346 (WebCore::IDBClient::IDBObjectStore::get):
1347 (WebCore::IDBClient::IDBObjectStore::deleteFunction):
1349 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1350 (WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
1351 (WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
1352 (WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):
1353 * Modules/indexeddb/client/IDBTransactionImpl.h:
1355 * Modules/indexeddb/server/IDBBackingStore.h:
1357 * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1358 (WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):
1359 * Modules/indexeddb/server/IDBConnectionToClient.h:
1360 * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1362 * Modules/indexeddb/server/IDBServer.cpp:
1363 (WebCore::IDBServer::IDBServer::deleteRecord):
1364 * Modules/indexeddb/server/IDBServer.h:
1366 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1367 (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
1368 (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.
1369 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1371 * Modules/indexeddb/server/MemoryObjectStore.cpp:
1372 (WebCore::IDBServer::MemoryObjectStore::deleteRange):
1373 * Modules/indexeddb/server/MemoryObjectStore.h:
1375 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1376 (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
1377 (WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
1378 (WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
1379 (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):
1380 * Modules/indexeddb/server/UniqueIDBDatabase.h:
1382 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1383 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
1384 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
1385 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1387 * Modules/indexeddb/shared/IDBResultData.cpp:
1388 (WebCore::IDBResultData::deleteRecordSuccess):
1389 * Modules/indexeddb/shared/IDBResultData.h:
1391 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1392 (WebCore::InProcessIDBServer::didDeleteRecord):
1393 (WebCore::InProcessIDBServer::deleteRecord):
1394 * Modules/indexeddb/shared/InProcessIDBServer.h:
1396 2015-11-02 Andy Estes <aestes@apple.com>
1398 Fix the iOS build again.
1400 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when
1403 2015-11-02 Tim Horton <timothy_horton@apple.com>
1405 PDFPlugin should take advantage of threaded scrolling
1406 https://bugs.webkit.org/show_bug.cgi?id=150037
1408 Reviewed by Anders Carlsson.
1410 * page/PageOverlay.cpp:
1411 (WebCore::PageOverlay::PageOverlay):
1412 (WebCore::PageOverlay::setNeedsDisplay):
1413 Don't reset the overlay layer's opacity if we're not animating,
1414 because it's possible the client wants to manage it.
1416 * page/PageOverlayController.cpp:
1417 (WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
1418 Let the overlay itself determine whether it needes synchronous scrolling,
1419 and let PageOverlay clients override the default.
1421 * platform/Widget.h:
1422 (WebCore::Widget::boundsRect):
1423 Export a few useful things.
1425 2015-11-02 Chris Dumez <cdumez@apple.com>
1427 Regression(r191673): Crash in RunLoopTimer::schedule()
1428 https://bugs.webkit.org/show_bug.cgi?id=150816
1429 <rdar://problem/23335285>
1431 Reviewed by Anders Carlsson.
1433 The crash was happening when the RunLoopTimer would fire during the
1434 call to RunLoopTimer::schedule(), which can happen because we are
1435 calling schedule() from a background thread. In such case, the
1436 timerFired() callback execution would cause |this| to get destroyed.
1438 To avoid this issue, DecodingResultDispatcher is now ref-counted. The
1439 object is ref'd while calling startTimer() so that the object cannot go
1440 away during the execution of this method. Also, we explicitly ref the
1441 object when starting the timer to keep the object alive until the
1442 RunLoopTimer has fired, at which point we explicitely de-ref.
1444 This should handle correctly the cases where the RunLoopTimer fires
1445 during AND after the execution of startTimer().
1447 * platform/network/DataURLDecoder.cpp:
1448 (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
1449 (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
1450 (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
1452 2015-11-02 Andy Estes <aestes@apple.com>
1454 [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
1455 https://bugs.webkit.org/show_bug.cgi?id=150819
1457 Reviewed by Dan Bernstein.
1459 This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
1461 * Configurations/Base.xcconfig:
1463 2015-11-02 Brent Fulgham <bfulgham@apple.com>
1465 [Win] MiniBrowser unable to use WebInspector
1466 https://bugs.webkit.org/show_bug.cgi?id=150810
1467 <rdar://problem/23358514>
1469 Reviewed by Timothy Hatcher.
1471 The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
1472 the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
1473 parsing error in the JS file.
1475 The solution was to switch from using "COMMAND echo" to use the more cross-platform
1476 compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
1477 escaping properly on all platforms.
1479 * CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
1481 2015-11-02 Zalan Bujtas <zalan@apple.com>
1483 hasOverflowClip() does not necessarily mean valid layer().
1484 https://bugs.webkit.org/show_bug.cgi?id=150814
1486 Reviewed by Simon Fraser.
1488 Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
1489 that we end up not creating a layer for the overflow clipped content.
1491 No change in functionality.
1493 * rendering/RenderBlock.cpp:
1494 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
1495 (WebCore::RenderBlock::paint):
1496 * rendering/RenderBox.cpp:
1497 (WebCore::RenderBox::styleDidChange):
1498 (WebCore::RenderBox::scrollWidth):
1499 (WebCore::RenderBox::scrollHeight):
1500 (WebCore::RenderBox::scrollLeft):
1501 (WebCore::RenderBox::scrollTop):
1502 (WebCore::RenderBox::setScrollLeft):
1503 (WebCore::RenderBox::setScrollTop):
1504 (WebCore::RenderBox::includeVerticalScrollbarSize):
1505 (WebCore::RenderBox::includeHorizontalScrollbarSize):
1506 (WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
1507 (WebCore::RenderBox::usesCompositedScrolling):
1509 2015-11-02 Alex Christensen <achristensen@webkit.org>
1511 Fix Mac CMake build after r191904.
1513 * PlatformMac.cmake:
1514 Move SettingsMac.mm to SettingsCocoa.mm.
1516 2015-11-02 Eric Carlson <eric.carlson@apple.com>
1518 Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
1519 https://bugs.webkit.org/show_bug.cgi?id=146853
1521 Reviewed by Jer Noble.
1523 * Modules/mediastream/MediaStream.cpp:
1524 (WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
1525 (WebCore::MediaStream::activityEventTimerFired): Remove FIXME.
1527 * Modules/mediastream/MediaStreamTrack.cpp:
1528 (WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
1529 (WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
1530 (WebCore::MediaStreamTrack::trackMutedChanged): Ditto.
1532 * html/HTMLMediaElement.cpp:
1533 (WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
1534 (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
1535 (WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
1536 (WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
1537 (WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
1538 (WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
1539 (WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
1540 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration
1541 is not definite. Send ended event when MediaStream says stream has ended.
1543 * platform/graphics/MediaPlayer.cpp:
1544 (WebCore::MediaPlayer::ended): New, passthrough to engine.
1545 * platform/graphics/MediaPlayer.h:
1546 * platform/graphics/MediaPlayerPrivate.h:
1548 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
1549 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
1550 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
1551 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
1552 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
1553 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
1554 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused
1555 image if the stream isn't active.
1556 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
1557 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
1558 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.
1560 * platform/mediastream/MediaStreamPrivate.cpp:
1561 (WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will
1562 be updated if necessary.
1564 * platform/mediastream/RealtimeMediaSource.cpp:
1565 (WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.
1567 2015-10-31 Andy Estes <aestes@apple.com>
1569 Replace iOS-only WebKitSystemInterface calls with SPI
1570 https://bugs.webkit.org/show_bug.cgi?id=150763
1572 Reviewed by Darin Adler.
1574 * WebCore.xcodeproj/project.pbxproj:
1575 * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
1576 * css/MediaQueryEvaluator.cpp:
1577 (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
1578 * html/HTMLMediaElement.cpp:
1579 (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1580 * html/HTMLObjectElement.cpp:
1581 (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
1582 * html/HTMLVideoElement.cpp:
1583 (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1584 * page/NavigatorBase.cpp:
1586 * page/ViewportConfiguration.cpp:
1587 (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
1588 * page/ios/UserAgentIOS.mm:
1589 (WebCore::isClassic): Added to return -[UIApplication _isClassic].
1590 (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
1591 (WebCore::deviceName): Ditto for wkGetDeviceName().
1592 (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
1593 * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
1594 (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
1595 * platform/PlatformScreen.h:
1596 * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
1597 (WebCore::deviceClass):
1598 (WebCore::deviceName):
1599 (WebCore::deviceHasIPadCapability):
1600 * platform/ios/Device.h:
1601 * platform/ios/PlatformScreenIOS.mm:
1602 (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
1603 (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
1604 (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
1605 (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
1606 (WebCore::mobileGestaltFloatValue): Deleted.
1607 * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
1608 (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
1609 (iosDeviceClass): Deleted.
1610 * platform/ios/WebCoreSystemInterfaceIOS.mm:
1611 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1612 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1613 (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1614 (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
1615 * platform/ios/wak/WAKWindow.mm:
1616 (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
1617 (-[WAKWindow initWithFrame:]): Ditto.
1618 * platform/ios/wak/WKGraphics.mm:
1619 (WKGraphicsCreateImageFromBundleWithName): Ditto.
1620 (WKDrawPatternBitmap): Ditto.
1621 * platform/mac/WebCoreSystemInterface.h:
1622 * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
1623 * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
1624 * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
1625 * rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.
1627 2015-11-02 Commit Queue <commit-queue@webkit.org>
1629 Unreviewed, rolling out r191902.
1630 https://bugs.webkit.org/show_bug.cgi?id=150811
1632 This change broke iOS builders (Requested by ryanhaddad on
1637 "Replace iOS-only WebKitSystemInterface calls with SPI"
1638 https://bugs.webkit.org/show_bug.cgi?id=150763
1639 http://trac.webkit.org/changeset/191902
1641 2015-10-31 Andy Estes <aestes@apple.com>
1643 Replace iOS-only WebKitSystemInterface calls with SPI
1644 https://bugs.webkit.org/show_bug.cgi?id=150763
1646 Reviewed by Darin Adler.
1648 * WebCore.xcodeproj/project.pbxproj:
1649 * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
1650 * css/MediaQueryEvaluator.cpp:
1651 (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
1652 * html/HTMLMediaElement.cpp:
1653 (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1654 * html/HTMLObjectElement.cpp:
1655 (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
1656 * html/HTMLVideoElement.cpp:
1657 (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1658 * page/NavigatorBase.cpp:
1660 * page/ViewportConfiguration.cpp:
1661 (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
1662 * page/ios/UserAgentIOS.mm:
1663 (WebCore::isClassic): Added to return -[UIApplication _isClassic].
1664 (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
1665 (WebCore::deviceName): Ditto for wkGetDeviceName().
1666 (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
1667 * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
1668 (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
1669 * platform/PlatformScreen.h:
1670 * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
1671 (WebCore::deviceClass):
1672 (WebCore::deviceName):
1673 (WebCore::deviceHasIPadCapability):
1674 * platform/ios/Device.h:
1675 * platform/ios/PlatformScreenIOS.mm:
1676 (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
1677 (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
1678 (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
1679 (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
1680 (WebCore::mobileGestaltFloatValue): Deleted.
1681 * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
1682 (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
1683 (iosDeviceClass): Deleted.
1684 * platform/ios/WebCoreSystemInterfaceIOS.mm:
1685 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1686 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1687 (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1688 (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
1689 * platform/ios/wak/WAKWindow.mm:
1690 (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
1691 (-[WAKWindow initWithFrame:]): Ditto.
1692 * platform/ios/wak/WKGraphics.mm:
1693 (WKGraphicsCreateImageFromBundleWithName): Ditto.
1694 (WKDrawPatternBitmap): Ditto.
1695 * platform/mac/WebCoreSystemInterface.h:
1696 * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
1697 * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
1698 * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
1699 * rendering/RenderThemeIOS.mm:
1701 2015-11-02 Frederic Wang <fred.wang@free.fr>
1703 [Win] Add support for the USE_TYPO_METRICS flag
1704 https://bugs.webkit.org/show_bug.cgi?id=150451
1706 Reviewed by Darin Adler.
1708 Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
1710 No new tests because this is already tested by fonts/use-typo-metrics-1.html
1712 * platform/graphics/win/SimpleFontDataCGWin.cpp:
1713 (WebCore::Font::platformInit):
1714 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1715 (WebCore::Font::platformInit):
1716 * platform/graphics/win/SimpleFontDataWin.cpp:
1717 (WebCore::Font::initGDIFont):
1719 2015-11-02 Hyunduk Kim <hyunduk.kim@samsung.com>
1721 Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
1722 https://bugs.webkit.org/show_bug.cgi?id=150436
1724 Reviewed by Darin Adler.
1726 Got the new test case from
1727 https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html
1728 Tests: http\tests\media\media-source\mediasource-is-type-supported.html
1730 * Modules/mediasource/MediaSource.cpp:
1731 (WebCore::MediaSource::isTypeSupported):
1733 2015-11-02 Youenn Fablet <youenn.fablet@crf.canon.fr>
1735 Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
1736 https://bugs.webkit.org/show_bug.cgi?id=150613
1738 Reviewed by Darin Adler.
1740 Renaming impl to wrapped in classes and binding generated classes.
1741 No change in behavior.
1743 * Modules/plugins/QuickTimePluginReplacement.mm:
1744 (WebCore::JSQuickTimePluginReplacement::timedMetaData):
1745 (WebCore::JSQuickTimePluginReplacement::accessLog):
1746 (WebCore::JSQuickTimePluginReplacement::errorLog):
1747 * bindings/js/JSAttrCustom.cpp:
1748 (WebCore::JSAttr::visitAdditionalChildren):
1749 * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1750 (WebCore::JSAudioBufferSourceNode::setBuffer):
1751 * bindings/js/JSAudioTrackCustom.cpp:
1752 (WebCore::JSAudioTrack::visitAdditionalChildren):
1753 (WebCore::JSAudioTrack::setKind):
1754 (WebCore::JSAudioTrack::setLanguage):
1755 * bindings/js/JSAudioTrackListCustom.cpp:
1756 (WebCore::JSAudioTrackList::visitAdditionalChildren):
1757 * bindings/js/JSBiquadFilterNodeCustom.cpp:
1758 (WebCore::JSBiquadFilterNode::setType):
1759 * bindings/js/JSCSSRuleCustom.cpp:
1760 (WebCore::JSCSSRule::visitAdditionalChildren):
1761 * bindings/js/JSCSSRuleListCustom.cpp:
1762 (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
1763 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1764 (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
1765 (WebCore::getPropertyValueFallback):
1766 (WebCore::cssPropertyGetterPixelOrPosPrefix):
1767 (WebCore::cssPropertyGetter):
1768 (WebCore::JSCSSStyleDeclaration::putDelegate):
1769 (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
1770 (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
1771 * bindings/js/JSCSSValueCustom.cpp:
1772 (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
1773 (WebCore::JSCSSValueOwner::finalize):
1774 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1775 (WebCore::toHTMLCanvasStyle):
1776 (WebCore::JSCanvasRenderingContext2D::strokeStyle):
1777 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
1778 (WebCore::JSCanvasRenderingContext2D::fillStyle):
1779 (WebCore::JSCanvasRenderingContext2D::setFillStyle):
1780 (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
1781 (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
1782 * bindings/js/JSCanvasRenderingContextCustom.cpp:
1783 (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
1784 * bindings/js/JSCharacterDataCustom.cpp:
1785 (WebCore::JSCharacterData::before):
1786 (WebCore::JSCharacterData::after):
1787 (WebCore::JSCharacterData::replaceWith):
1788 * bindings/js/JSCommandLineAPIHostCustom.cpp:
1789 (WebCore::JSCommandLineAPIHost::inspectedObject):
1790 (WebCore::JSCommandLineAPIHost::getEventListeners):
1791 (WebCore::JSCommandLineAPIHost::inspect):
1792 (WebCore::JSCommandLineAPIHost::databaseId):
1793 (WebCore::JSCommandLineAPIHost::storageId):
1794 * bindings/js/JSCryptoCustom.cpp:
1795 (WebCore::JSCrypto::getRandomValues):
1796 * bindings/js/JSCryptoKeyCustom.cpp:
1797 (WebCore::JSCryptoKey::algorithm):
1798 * bindings/js/JSCryptoKeyPairCustom.cpp:
1799 (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
1800 * bindings/js/JSCustomEventCustom.cpp:
1801 (WebCore::JSCustomEvent::detail):
1802 * bindings/js/JSCustomXPathNSResolver.cpp:
1803 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1804 * bindings/js/JSDOMBinding.cpp:
1805 (WebCore::reportException):
1806 (WebCore::activeDOMWindow):
1807 (WebCore::firstDOMWindow):
1808 * bindings/js/JSDOMFormDataCustom.cpp:
1809 (WebCore::toHTMLFormElementOrNull):
1810 (WebCore::JSDOMFormData::append):
1811 * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1812 (WebCore::JSDOMMimeTypeArray::nameGetter):
1813 * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
1814 (WebCore::JSDOMNamedFlowCollection::nameGetter):
1815 * bindings/js/JSDOMPluginArrayCustom.cpp:
1816 (WebCore::JSDOMPluginArray::nameGetter):
1817 * bindings/js/JSDOMPluginCustom.cpp:
1818 (WebCore::JSDOMPlugin::nameGetter):
1819 * bindings/js/JSDOMStringListCustom.cpp:
1820 (WebCore::JSDOMStringList::toWrapped):
1821 * bindings/js/JSDOMStringMapCustom.cpp:
1822 (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
1823 (WebCore::JSDOMStringMap::getOwnPropertyNames):
1824 (WebCore::JSDOMStringMap::deleteProperty):
1825 (WebCore::JSDOMStringMap::putDelegate):
1826 * bindings/js/JSDOMTokenListCustom.cpp:
1827 (WebCore::JSDOMTokenList::toggle):
1828 * bindings/js/JSDOMWindowBase.cpp:
1829 (WebCore::shouldAllowAccessFrom):
1830 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1831 (WebCore::JSDOMWindowBase::updateDocument):
1832 (WebCore::JSDOMWindowBase::scriptExecutionContext):
1833 (WebCore::JSDOMWindowBase::printErrorMessage):
1834 (WebCore::JSDOMWindowBase::supportsProfiling):
1835 (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1836 (WebCore::JSDOMWindowBase::shouldInterruptScript):
1837 (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
1838 (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
1839 (WebCore::JSDOMWindowBase::moduleLoaderResolve):
1840 (WebCore::JSDOMWindowBase::moduleLoaderFetch):
1841 (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
1842 * bindings/js/JSDOMWindowBase.h:
1843 * bindings/js/JSDOMWindowCustom.cpp:
1844 (WebCore::JSDOMWindow::visitAdditionalChildren):
1845 (WebCore::childFrameGetter):
1846 (WebCore::namedItemGetter):
1847 (WebCore::jsDOMWindowWebKit):
1848 (WebCore::jsDOMWindowIndexedDB):
1849 (WebCore::JSDOMWindow::getOwnPropertySlot):
1850 (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
1851 (WebCore::JSDOMWindow::put):
1852 (WebCore::JSDOMWindow::putByIndex):
1853 (WebCore::JSDOMWindow::deleteProperty):
1854 (WebCore::JSDOMWindow::deletePropertyByIndex):
1855 (WebCore::JSDOMWindow::getEnumerableLength):
1856 (WebCore::JSDOMWindow::getStructurePropertyNames):
1857 (WebCore::JSDOMWindow::getGenericPropertyNames):
1858 (WebCore::JSDOMWindow::getPropertyNames):
1859 (WebCore::JSDOMWindow::getOwnPropertyNames):
1860 (WebCore::JSDOMWindow::defineOwnProperty):
1861 (WebCore::JSDOMWindow::setLocation):
1862 (WebCore::JSDOMWindow::open):
1863 (WebCore::JSDOMWindow::showModalDialog):
1864 (WebCore::JSDOMWindow::postMessage):
1865 (WebCore::JSDOMWindow::setTimeout):
1866 (WebCore::JSDOMWindow::setInterval):
1867 (WebCore::JSDOMWindow::addEventListener):
1868 (WebCore::JSDOMWindow::removeEventListener):
1869 (WebCore::JSDOMWindow::toWrapped):
1870 * bindings/js/JSDOMWindowShell.cpp:
1871 (WebCore::JSDOMWindowShell::setWindow):
1872 (WebCore::JSDOMWindowShell::wrapped):
1873 * bindings/js/JSDOMWindowShell.h:
1874 * bindings/js/JSDOMWrapper.h:
1875 (WebCore::JSDOMWrapper::wrapped):
1876 (WebCore::JSDOMWrapper::JSDOMWrapper):
1877 * bindings/js/JSDataCueCustom.cpp:
1878 (WebCore::JSDataCue::value):
1879 (WebCore::JSDataCue::setValue):
1880 * bindings/js/JSDataTransferCustom.cpp:
1881 (WebCore::JSDataTransfer::types):
1882 * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
1883 (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
1884 * bindings/js/JSDeviceMotionEventCustom.cpp:
1885 (WebCore::JSDeviceMotionEvent::acceleration):
1886 (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
1887 (WebCore::JSDeviceMotionEvent::rotationRate):
1888 (WebCore::JSDeviceMotionEvent::interval):
1889 (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
1890 * bindings/js/JSDeviceOrientationEventCustom.cpp:
1891 (WebCore::JSDeviceOrientationEvent::alpha):
1892 (WebCore::JSDeviceOrientationEvent::beta):
1893 (WebCore::JSDeviceOrientationEvent::gamma):
1894 (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
1895 (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
1896 (WebCore::JSDeviceOrientationEvent::absolute):
1897 (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1898 * bindings/js/JSDocumentCustom.cpp:
1899 (WebCore::JSDocument::prepend):
1900 (WebCore::JSDocument::append):
1901 * bindings/js/JSDocumentFragmentCustom.cpp:
1902 (WebCore::JSDocumentFragment::prepend):
1903 (WebCore::JSDocumentFragment::append):
1904 * bindings/js/JSDocumentTypeCustom.cpp:
1905 (WebCore::JSDocumentType::before):
1906 (WebCore::JSDocumentType::after):
1907 (WebCore::JSDocumentType::replaceWith):
1908 * bindings/js/JSElementCustom.cpp:
1909 (WebCore::JSElement::before):
1910 (WebCore::JSElement::after):
1911 (WebCore::JSElement::replaceWith):
1912 (WebCore::JSElement::prepend):
1913 (WebCore::JSElement::append):
1914 * bindings/js/JSEventCustom.cpp:
1915 (WebCore::JSEvent::clipboardData):
1916 * bindings/js/JSEventListener.cpp:
1917 (WebCore::JSEventListener::handleEvent):
1918 * bindings/js/JSEventTargetCustom.cpp:
1919 * bindings/js/JSFileReaderCustom.cpp:
1920 (WebCore::JSFileReader::result):
1921 * bindings/js/JSGeolocationCustom.cpp:
1922 (WebCore::JSGeolocation::getCurrentPosition):
1923 (WebCore::JSGeolocation::watchPosition):
1924 * bindings/js/JSHTMLAllCollectionCustom.cpp:
1925 (WebCore::namedItems):
1926 (WebCore::callHTMLAllCollection):
1927 (WebCore::JSHTMLAllCollection::item):
1928 * bindings/js/JSHTMLCanvasElementCustom.cpp:
1929 (WebCore::JSHTMLCanvasElement::getContext):
1930 (WebCore::JSHTMLCanvasElement::probablySupportsContext):
1931 (WebCore::JSHTMLCanvasElement::toDataURL):
1932 * bindings/js/JSHTMLCollectionCustom.cpp:
1933 (WebCore::JSHTMLCollection::nameGetter):
1934 * bindings/js/JSHTMLDocumentCustom.cpp:
1935 (WebCore::JSHTMLDocument::nameGetter):
1936 (WebCore::JSHTMLDocument::all):
1937 (WebCore::findCallingDocument):
1938 (WebCore::JSHTMLDocument::open):
1939 (WebCore::documentWrite):
1940 * bindings/js/JSHTMLElementCustom.cpp:
1941 (WebCore::JSHTMLElement::pushEventHandlerScope):
1942 * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1943 (WebCore::namedItems):
1944 * bindings/js/JSHTMLFormElementCustom.cpp:
1945 (WebCore::JSHTMLFormElement::nameGetter):
1946 * bindings/js/JSHTMLFrameElementCustom.cpp:
1947 (WebCore::JSHTMLFrameElement::setLocation):
1948 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1949 (WebCore::JSHTMLFrameSetElement::nameGetter):
1950 * bindings/js/JSHTMLInputElementCustom.cpp:
1951 (WebCore::JSHTMLInputElement::selectionStart):
1952 (WebCore::JSHTMLInputElement::setSelectionStart):
1953 (WebCore::JSHTMLInputElement::selectionEnd):
1954 (WebCore::JSHTMLInputElement::setSelectionEnd):
1955 (WebCore::JSHTMLInputElement::selectionDirection):
1956 (WebCore::JSHTMLInputElement::setSelectionDirection):
1957 (WebCore::JSHTMLInputElement::setSelectionRange):
1958 * bindings/js/JSHTMLMediaElementCustom.cpp:
1959 (WebCore::JSHTMLMediaElement::setController):
1960 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1961 (WebCore::JSHTMLOptionsCollection::nameGetter):
1962 (WebCore::JSHTMLOptionsCollection::setLength):
1963 (WebCore::JSHTMLOptionsCollection::indexSetter):
1964 (WebCore::JSHTMLOptionsCollection::remove):
1965 * bindings/js/JSHTMLSelectElementCustom.cpp:
1966 (WebCore::JSHTMLSelectElement::remove):
1967 (WebCore::JSHTMLSelectElement::indexSetter):
1968 * bindings/js/JSHTMLTemplateElementCustom.cpp:
1969 (WebCore::JSHTMLTemplateElement::content):
1970 * bindings/js/JSHistoryCustom.cpp:
1971 (WebCore::JSHistory::getOwnPropertySlotDelegate):
1972 (WebCore::JSHistory::putDelegate):
1973 (WebCore::JSHistory::deleteProperty):
1974 (WebCore::JSHistory::deletePropertyByIndex):
1975 (WebCore::JSHistory::getOwnPropertyNames):
1976 (WebCore::JSHistory::state):
1977 (WebCore::JSHistory::pushState):
1978 (WebCore::JSHistory::replaceState):
1979 * bindings/js/JSIDBDatabaseCustom.cpp:
1980 (WebCore::JSIDBDatabase::createObjectStore):
1981 * bindings/js/JSIDBObjectStoreCustom.cpp:
1982 (WebCore::JSIDBObjectStore::createIndex):
1983 * bindings/js/JSInspectorFrontendHostCustom.cpp:
1984 (WebCore::JSInspectorFrontendHost::showContextMenu):
1985 * bindings/js/JSLocationCustom.cpp:
1986 (WebCore::JSLocation::getOwnPropertySlotDelegate):
1987 (WebCore::JSLocation::putDelegate):
1988 (WebCore::JSLocation::deleteProperty):
1989 (WebCore::JSLocation::deletePropertyByIndex):
1990 (WebCore::JSLocation::getOwnPropertyNames):
1991 (WebCore::JSLocation::toStringFunction):
1992 * bindings/js/JSMediaSourceStatesCustom.cpp:
1993 (WebCore::JSMediaSourceStates::width):
1994 (WebCore::JSMediaSourceStates::height):
1995 (WebCore::JSMediaSourceStates::frameRate):
1996 (WebCore::JSMediaSourceStates::aspectRatio):
1997 (WebCore::JSMediaSourceStates::facingMode):
1998 (WebCore::JSMediaSourceStates::volume):
1999 * bindings/js/JSMessageChannelCustom.cpp:
2000 (WebCore::JSMessageChannel::visitAdditionalChildren):
2001 * bindings/js/JSMessageEventCustom.cpp:
2002 (WebCore::JSMessageEvent::data):
2003 (WebCore::handleInitMessageEvent):
2004 * bindings/js/JSMessagePortCustom.cpp:
2005 (WebCore::JSMessagePort::visitAdditionalChildren):
2006 (WebCore::JSMessagePort::postMessage):
2007 * bindings/js/JSMockContentFilterSettingsCustom.cpp:
2008 (WebCore::JSMockContentFilterSettings::decisionPoint):
2009 (WebCore::JSMockContentFilterSettings::setDecisionPoint):
2010 (WebCore::JSMockContentFilterSettings::decision):
2011 (WebCore::JSMockContentFilterSettings::setDecision):
2012 (WebCore::JSMockContentFilterSettings::unblockRequestDecision):
2013 (WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
2014 * bindings/js/JSMutationObserverCustom.cpp:
2015 (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
2016 * bindings/js/JSNamedNodeMapCustom.cpp:
2017 (WebCore::JSNamedNodeMap::nameGetter):
2018 * bindings/js/JSNavigatorCustom.cpp:
2019 (WebCore::JSNavigator::webkitGetUserMedia):
2020 * bindings/js/JSNodeCustom.cpp:
2021 (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
2022 (WebCore::JSNode::insertBefore):
2023 (WebCore::JSNode::replaceChild):
2024 (WebCore::JSNode::removeChild):
2025 (WebCore::JSNode::appendChild):
2026 (WebCore::JSNode::visitAdditionalChildren):
2027 * bindings/js/JSNodeIteratorCustom.cpp:
2028 (WebCore::JSNodeIterator::visitAdditionalChildren):
2029 * bindings/js/JSNodeListCustom.cpp:
2030 (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
2031 * bindings/js/JSNodeOrString.cpp:
2032 (WebCore::toNodeOrStringVector):
2033 * bindings/js/JSOscillatorNodeCustom.cpp:
2034 (WebCore::JSOscillatorNode::setType):
2035 * bindings/js/JSPannerNodeCustom.cpp:
2036 (WebCore::JSPannerNode::setPanningModel):
2037 (WebCore::JSPannerNode::setDistanceModel):
2038 * bindings/js/JSPluginElementFunctions.cpp:
2039 (WebCore::pluginScriptObjectFromPluginViewBase):
2040 (WebCore::pluginScriptObject):
2041 (WebCore::pluginElementGetCallData):
2042 * bindings/js/JSPopStateEventCustom.cpp:
2043 (WebCore::JSPopStateEvent::state):
2044 * bindings/js/JSRTCStatsResponseCustom.cpp:
2045 (WebCore::JSRTCStatsResponse::nameGetter):
2046 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2047 (WebCore::JSSQLResultSetRowList::item):
2048 * bindings/js/JSSQLTransactionCustom.cpp:
2049 (WebCore::JSSQLTransaction::executeSql):
2050 * bindings/js/JSSVGLengthCustom.cpp:
2051 (WebCore::JSSVGLength::value):
2052 (WebCore::JSSVGLength::setValue):
2053 (WebCore::JSSVGLength::convertToSpecifiedUnits):
2054 * bindings/js/JSStorageCustom.cpp:
2055 (WebCore::JSStorage::nameGetter):
2056 (WebCore::JSStorage::deleteProperty):
2057 (WebCore::JSStorage::getOwnPropertyNames):
2058 (WebCore::JSStorage::putDelegate):
2059 * bindings/js/JSStyleSheetCustom.cpp:
2060 (WebCore::JSStyleSheet::visitAdditionalChildren):
2061 * bindings/js/JSStyleSheetListCustom.cpp:
2062 (WebCore::JSStyleSheetList::nameGetter):
2063 * bindings/js/JSSubtleCryptoCustom.cpp:
2064 (WebCore::JSSubtleCrypto::encrypt):
2065 (WebCore::JSSubtleCrypto::decrypt):
2066 (WebCore::JSSubtleCrypto::sign):
2067 (WebCore::JSSubtleCrypto::verify):
2068 (WebCore::JSSubtleCrypto::wrapKey):
2069 (WebCore::JSSubtleCrypto::unwrapKey):
2070 * bindings/js/JSTextTrackCueCustom.cpp:
2071 (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
2072 (WebCore::JSTextTrackCue::visitAdditionalChildren):
2073 * bindings/js/JSTextTrackCustom.cpp:
2074 (WebCore::JSTextTrack::visitAdditionalChildren):
2075 (WebCore::JSTextTrack::setKind):
2076 (WebCore::JSTextTrack::setLanguage):
2077 * bindings/js/JSTextTrackListCustom.cpp:
2078 (WebCore::JSTextTrackList::visitAdditionalChildren):
2079 * bindings/js/JSTrackCustom.cpp:
2081 * bindings/js/JSTrackEventCustom.cpp:
2082 (WebCore::JSTrackEvent::track):
2083 * bindings/js/JSTreeWalkerCustom.cpp:
2084 (WebCore::JSTreeWalker::visitAdditionalChildren):
2085 * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
2086 (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
2087 * bindings/js/JSVideoTrackCustom.cpp:
2088 (WebCore::JSVideoTrack::visitAdditionalChildren):
2089 (WebCore::JSVideoTrack::setKind):
2090 (WebCore::JSVideoTrack::setLanguage):
2091 * bindings/js/JSVideoTrackListCustom.cpp:
2092 (WebCore::JSVideoTrackList::visitAdditionalChildren):
2093 * bindings/js/JSWebGL2RenderingContextCustom.cpp:
2094 (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
2095 (WebCore::JSWebGL2RenderingContext::getIndexedParameter):
2096 * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
2097 (WebCore::getObjectParameter):
2098 (WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
2099 (WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
2100 (WebCore::JSWebGLRenderingContextBase::getExtension):
2101 (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
2102 (WebCore::JSWebGLRenderingContextBase::getParameter):
2103 (WebCore::JSWebGLRenderingContextBase::getProgramParameter):
2104 (WebCore::JSWebGLRenderingContextBase::getShaderParameter):
2105 (WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
2106 (WebCore::JSWebGLRenderingContextBase::getUniform):
2107 (WebCore::JSWebGLRenderingContextBase::uniform1fv):
2108 (WebCore::JSWebGLRenderingContextBase::uniform1iv):
2109 (WebCore::JSWebGLRenderingContextBase::uniform2fv):
2110 (WebCore::JSWebGLRenderingContextBase::uniform2iv):
2111 (WebCore::JSWebGLRenderingContextBase::uniform3fv):
2112 (WebCore::JSWebGLRenderingContextBase::uniform3iv):
2113 (WebCore::JSWebGLRenderingContextBase::uniform4fv):
2114 (WebCore::JSWebGLRenderingContextBase::uniform4iv):
2115 (WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
2116 (WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
2117 (WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
2118 (WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
2119 (WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
2120 (WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
2121 (WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):
2122 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2123 (WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
2124 * bindings/js/JSWorkerCustom.cpp:
2125 (WebCore::JSWorker::postMessage):
2126 (WebCore::constructJSWorker):
2127 * bindings/js/JSWorkerGlobalScopeBase.cpp:
2128 (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
2129 (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
2130 * bindings/js/JSWorkerGlobalScopeBase.h:
2131 (WebCore::JSWorkerGlobalScopeBase::wrapped):
2132 * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2133 (WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
2134 (WebCore::JSWorkerGlobalScope::importScripts):
2135 (WebCore::JSWorkerGlobalScope::setTimeout):
2136 (WebCore::JSWorkerGlobalScope::setInterval):
2137 * bindings/js/JSXMLHttpRequestCustom.cpp:
2138 (WebCore::JSXMLHttpRequest::visitAdditionalChildren):
2139 (WebCore::JSXMLHttpRequest::open):
2140 (WebCore::JSXMLHttpRequest::send):
2141 (WebCore::JSXMLHttpRequest::responseText):
2142 (WebCore::JSXMLHttpRequest::response):
2143 * bindings/js/JSXPathResultCustom.cpp:
2144 (WebCore::JSXPathResult::visitAdditionalChildren):
2145 * bindings/js/JSXSLTProcessorCustom.cpp:
2146 (WebCore::JSXSLTProcessor::setParameter):
2147 (WebCore::JSXSLTProcessor::getParameter):
2148 (WebCore::JSXSLTProcessor::removeParameter):
2149 * bindings/js/ScheduledAction.cpp:
2150 (WebCore::ScheduledAction::execute):
2151 * bindings/js/ScriptCachedFrameData.cpp:
2152 (WebCore::ScriptCachedFrameData::restore):
2153 * bindings/js/ScriptController.cpp:
2154 (WebCore::ScriptController::clearWindowShell):
2155 (WebCore::ScriptController::collectIsolatedContexts):
2156 * bindings/js/ScriptState.cpp:
2157 (WebCore::domWindowFromExecState):
2158 * bindings/objc/DOM.mm:
2159 (+[DOMNode _nodeFromJSWrapper:]):
2160 * bindings/objc/DOMUtility.mm:
2161 (JSC::createDOMWrapper):
2162 * bindings/objc/WebScriptObject.mm:
2163 (-[WebScriptObject _isSafeScript]):
2164 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2165 * bindings/scripts/CodeGeneratorJS.pm:
2166 (GenerateGetOwnPropertySlotBody):
2168 (GetIndexedGetterExpression):
2169 (GenerateImplementation):
2171 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2172 (WebCore::jsTestActiveDOMObjectExcitingAttr):
2173 (WebCore::jsTestActiveDOMObjectConstructor):
2174 (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2175 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2176 (WebCore::JSTestActiveDOMObjectOwner::finalize):
2177 (WebCore::JSTestActiveDOMObject::toWrapped):
2178 * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2179 (WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
2180 (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
2181 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2182 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2183 (WebCore::JSTestCustomNamedGetterOwner::finalize):
2184 (WebCore::JSTestCustomNamedGetter::toWrapped):
2185 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2186 (WebCore::jsTestEventConstructorAttr1):
2187 (WebCore::jsTestEventConstructorAttr2):
2188 (WebCore::JSTestEventConstructorOwner::finalize):
2189 (WebCore::JSTestEventConstructor::toWrapped):
2190 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2191 (WebCore::JSTestEventTarget::getOwnPropertySlot):
2192 (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
2193 (WebCore::JSTestEventTarget::getOwnPropertyNames):
2194 (WebCore::jsTestEventTargetPrototypeFunctionItem):
2195 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2196 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2197 (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2198 (WebCore::JSTestEventTarget::visitChildren):
2199 (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
2200 (WebCore::JSTestEventTargetOwner::finalize):
2201 (WebCore::JSTestEventTarget::toWrapped):
2202 * bindings/scripts/test/JS/JSTestException.cpp:
2203 (WebCore::jsTestExceptionName):
2204 (WebCore::JSTestExceptionOwner::finalize):
2205 (WebCore::JSTestException::toWrapped):
2206 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2207 (WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
2208 (WebCore::JSTestGenerateIsReachableOwner::finalize):
2209 (WebCore::JSTestGenerateIsReachable::toWrapped):
2210 * bindings/scripts/test/JS/JSTestInterface.cpp:
2211 (WebCore::jsTestInterfaceImplementsStr1):
2212 (WebCore::jsTestInterfaceImplementsStr2):
2213 (WebCore::jsTestInterfaceImplementsNode):
2214 (WebCore::jsTestInterfaceSupplementalStr1):
2215 (WebCore::jsTestInterfaceSupplementalStr2):
2216 (WebCore::jsTestInterfaceSupplementalNode):
2217 (WebCore::setJSTestInterfaceImplementsStr2):
2218 (WebCore::setJSTestInterfaceImplementsNode):
2219 (WebCore::setJSTestInterfaceSupplementalStr2):
2220 (WebCore::setJSTestInterfaceSupplementalNode):
2221 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
2222 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
2223 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2224 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2225 (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
2226 (WebCore::JSTestInterfaceOwner::finalize):
2227 (WebCore::JSTestInterface::toWrapped):
2228 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2229 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2230 (WebCore::JSTestMediaQueryListListenerOwner::finalize):
2231 (WebCore::JSTestMediaQueryListListener::toWrapped):
2232 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2233 (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
2234 (WebCore::JSTestNamedConstructorOwner::finalize):
2235 (WebCore::JSTestNamedConstructor::toWrapped):
2236 * bindings/scripts/test/JS/JSTestNode.cpp:
2237 (WebCore::jsTestNodeName):
2238 (WebCore::setJSTestNodeName):
2239 (WebCore::JSTestNode::visitChildren):
2240 * bindings/scripts/test/JS/JSTestNode.h:
2241 * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2242 (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
2243 (WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
2244 (WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
2245 (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
2246 (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
2247 (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
2248 (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
2249 (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
2250 (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
2251 (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
2252 (WebCore::JSTestNondeterministicOwner::finalize):
2253 (WebCore::JSTestNondeterministic::toWrapped):
2254 * bindings/scripts/test/JS/JSTestObj.cpp:
2255 (WebCore::jsTestObjReadOnlyLongAttr):
2256 (WebCore::jsTestObjReadOnlyStringAttr):
2257 (WebCore::jsTestObjReadOnlyTestObjAttr):
2258 (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
2259 (WebCore::jsTestObjEnumAttr):
2260 (WebCore::jsTestObjByteAttr):
2261 (WebCore::jsTestObjOctetAttr):
2262 (WebCore::jsTestObjShortAttr):
2263 (WebCore::jsTestObjUnsignedShortAttr):
2264 (WebCore::jsTestObjLongAttr):
2265 (WebCore::jsTestObjLongLongAttr):
2266 (WebCore::jsTestObjUnsignedLongLongAttr):
2267 (WebCore::jsTestObjStringAttr):
2268 (WebCore::jsTestObjTestObjAttr):
2269 (WebCore::jsTestObjXMLObjAttr):
2270 (WebCore::jsTestObjCreate):
2271 (WebCore::jsTestObjReflectedStringAttr):
2272 (WebCore::jsTestObjReflectedIntegralAttr):
2273 (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
2274 (WebCore::jsTestObjReflectedBooleanAttr):
2275 (WebCore::jsTestObjReflectedURLAttr):
2276 (WebCore::jsTestObjReflectedCustomIntegralAttr):
2277 (WebCore::jsTestObjReflectedCustomBooleanAttr):
2278 (WebCore::jsTestObjReflectedCustomURLAttr):
2279 (WebCore::jsTestObjTypedArrayAttr):
2280 (WebCore::jsTestObjAttrWithGetterException):
2281 (WebCore::jsTestObjAttrWithSetterException):
2282 (WebCore::jsTestObjStringAttrWithGetterException):
2283 (WebCore::jsTestObjStringAttrWithSetterException):
2284 (WebCore::jsTestObjStrictTypeCheckingAttribute):
2285 (WebCore::jsTestObjOnfoo):
2286 (WebCore::jsTestObjWithScriptStateAttribute):
2287 (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
2288 (WebCore::jsTestObjWithScriptExecutionContextAttribute):
2289 (WebCore::jsTestObjWithScriptStateAttributeRaises):
2290 (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
2291 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
2292 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2293 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2294 (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
2295 (WebCore::jsTestObjConditionalAttr1):
2296 (WebCore::jsTestObjConditionalAttr2):
2297 (WebCore::jsTestObjConditionalAttr3):
2298 (WebCore::jsTestObjCachedAttribute1):
2299 (WebCore::jsTestObjCachedAttribute2):
2300 (WebCore::jsTestObjAnyAttribute):
2301 (WebCore::jsTestObjContentDocument):
2302 (WebCore::jsTestObjMutablePoint):
2303 (WebCore::jsTestObjImmutablePoint):
2304 (WebCore::jsTestObjStrawberry):
2305 (WebCore::jsTestObjStrictFloat):
2306 (WebCore::jsTestObjDescription):
2307 (WebCore::jsTestObjId):
2308 (WebCore::jsTestObjHash):
2309 (WebCore::jsTestObjReplaceableAttribute):
2310 (WebCore::jsTestObjNullableDoubleAttribute):
2311 (WebCore::jsTestObjNullableLongAttribute):
2312 (WebCore::jsTestObjNullableBooleanAttribute):
2313 (WebCore::jsTestObjNullableStringAttribute):
2314 (WebCore::jsTestObjNullableLongSettableAttribute):
2315 (WebCore::jsTestObjNullableStringValue):
2316 (WebCore::jsTestObjAttribute):
2317 (WebCore::jsTestObjAttributeWithReservedEnumType):
2318 (WebCore::jsTestObjPutForwardsAttribute):
2319 (WebCore::jsTestObjPutForwardsNullableAttribute):
2320 (WebCore::setJSTestObjEnumAttr):
2321 (WebCore::setJSTestObjByteAttr):
2322 (WebCore::setJSTestObjOctetAttr):
2323 (WebCore::setJSTestObjShortAttr):
2324 (WebCore::setJSTestObjUnsignedShortAttr):
2325 (WebCore::setJSTestObjLongAttr):
2326 (WebCore::setJSTestObjLongLongAttr):
2327 (WebCore::setJSTestObjUnsignedLongLongAttr):
2328 (WebCore::setJSTestObjStringAttr):
2329 (WebCore::setJSTestObjTestObjAttr):
2330 (WebCore::setJSTestObjXMLObjAttr):
2331 (WebCore::setJSTestObjCreate):
2332 (WebCore::setJSTestObjReflectedStringAttr):
2333 (WebCore::setJSTestObjReflectedIntegralAttr):
2334 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2335 (WebCore::setJSTestObjReflectedBooleanAttr):
2336 (WebCore::setJSTestObjReflectedURLAttr):
2337 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2338 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2339 (WebCore::setJSTestObjReflectedCustomURLAttr):
2340 (WebCore::setJSTestObjTypedArrayAttr):
2341 (WebCore::setJSTestObjAttrWithGetterException):
2342 (WebCore::setJSTestObjAttrWithSetterException):
2343 (WebCore::setJSTestObjStringAttrWithGetterException):
2344 (WebCore::setJSTestObjStringAttrWithSetterException):
2345 (WebCore::setJSTestObjStrictTypeCheckingAttribute):
2346 (WebCore::setJSTestObjOnfoo):
2347 (WebCore::setJSTestObjWithScriptStateAttribute):
2348 (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
2349 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2350 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2351 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2352 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2353 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2354 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2355 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2356 (WebCore::setJSTestObjConditionalAttr1):
2357 (WebCore::setJSTestObjConditionalAttr2):
2358 (WebCore::setJSTestObjConditionalAttr3):
2359 (WebCore::setJSTestObjAnyAttribute):
2360 (WebCore::setJSTestObjMutablePoint):
2361 (WebCore::setJSTestObjImmutablePoint):
2362 (WebCore::setJSTestObjStrawberry):
2363 (WebCore::setJSTestObjStrictFloat):
2364 (WebCore::setJSTestObjId):
2365 (WebCore::setJSTestObjNullableLongSettableAttribute):
2366 (WebCore::setJSTestObjNullableStringValue):
2367 (WebCore::setJSTestObjAttributeWithReservedEnumType):
2368 (WebCore::setJSTestObjPutForwardsAttribute):
2369 (WebCore::setJSTestObjPutForwardsNullableAttribute):
2370 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2371 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2372 (WebCore::jsTestObjPrototypeFunctionByteMethod):
2373 (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
2374 (WebCore::jsTestObjPrototypeFunctionOctetMethod):
2375 (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
2376 (WebCore::jsTestObjPrototypeFunctionLongMethod):
2377 (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2378 (WebCore::jsTestObjPrototypeFunctionObjMethod):
2379 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2380 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2381 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2382 (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2383 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
2384 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2385 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2386 (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2387 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2388 (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
2389 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2390 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2391 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2392 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2393 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2394 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2395 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2396 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2397 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2398 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2399 (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2400 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2401 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
2402 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2403 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2404 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2405 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
2406 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2407 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2408 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2409 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2410 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2411 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
2412 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
2413 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
2414 (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2415 (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2416 (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2417 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2418 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2419 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2420 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2421 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2422 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2423 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2424 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
2425 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2426 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
2427 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
2428 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
2429 (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
2430 (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
2431 (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2432 (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
2433 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
2434 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
2435 (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
2436 (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
2437 (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2438 (WebCore::jsTestObjPrototypeFunctionConvert1):
2439 (WebCore::jsTestObjPrototypeFunctionConvert2):
2440 (WebCore::jsTestObjPrototypeFunctionConvert4):
2441 (WebCore::jsTestObjPrototypeFunctionConvert5):
2442 (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
2443 (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
2444 (WebCore::jsTestObjPrototypeFunctionOrange):
2445 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2446 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
2447 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
2448 (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
2449 (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
2450 (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
2451 (WebCore::jsTestObjPrototypeFunctionAny):
2452 (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
2453 (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
2454 (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
2455 (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
2456 (WebCore::JSTestObjOwner::finalize):
2457 (WebCore::JSTestObj::toWrapped):
2458 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2459 (WebCore::JSTestOverloadedConstructorsOwner::finalize):
2460 (WebCore::JSTestOverloadedConstructors::toWrapped):
2461 * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2462 (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
2463 (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
2464 (WebCore::JSTestOverrideBuiltinsOwner::finalize):
2465 (WebCore::JSTestOverrideBuiltins::toWrapped):
2466 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2467 (WebCore::jsTestSerializedScriptValueInterfaceValue):
2468 (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
2469 (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
2470 (WebCore::jsTestSerializedScriptValueInterfacePorts):
2471 (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
2472 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2473 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2474 (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
2475 (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
2476 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2477 (WebCore::jsTestTypedefsUnsignedLongLongAttr):
2478 (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
2479 (WebCore::jsTestTypedefsAttrWithGetterException):
2480 (WebCore::jsTestTypedefsAttrWithSetterException):
2481 (WebCore::jsTestTypedefsStringAttrWithGetterException):
2482 (WebCore::jsTestTypedefsStringAttrWithSetterException):
2483 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2484 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2485 (WebCore::setJSTestTypedefsAttrWithGetterException):
2486 (WebCore::setJSTestTypedefsAttrWithSetterException):
2487 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
2488 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
2489 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2490 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2491 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2492 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2493 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2494 (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2495 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2496 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
2497 (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
2498 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
2499 (WebCore::JSTestTypedefsOwner::finalize):
2500 (WebCore::JSTestTypedefs::toWrapped):
2501 * bindings/scripts/test/JS/JSattribute.cpp:
2502 (WebCore::jsattributeReadonly):
2503 (WebCore::JSattributeOwner::finalize):
2504 (WebCore::JSattribute::toWrapped):
2505 * bindings/scripts/test/JS/JSreadonly.cpp:
2506 (WebCore::JSreadonlyOwner::finalize):
2507 (WebCore::JSreadonly::toWrapped):
2508 * bridge/runtime_method.cpp:
2509 (JSC::callRuntimeMethod):
2510 * inspector/InspectorController.cpp:
2511 (WebCore::InspectorController::canAccessInspectedScriptState):
2513 2015-11-02 Youenn Fablet <youenn.fablet@crf.canon.fr>
2515 IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
2516 https://bugs.webkit.org/show_bug.cgi?id=150438
2518 Reviewed by Darin Adler.
2520 Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
2521 One exception is custom setters, getters or functions which remain C++ handled.
2522 Updated streams API IDLs accordingly.
2524 Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
2525 Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
2526 In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.
2528 Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
2529 Removing ReadableStreamReader and ReadableStreamController classes.
2531 Removed unneeded "Default" keyword for cancel function in WebIDL.
2533 Added a binding test case.
2534 No change in behavior.
2536 * Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
2537 * Modules/streams/CountQueuingStrategy.idl: Ditto.
2538 * Modules/streams/ReadableStream.idl: Ditto.
2539 * Modules/streams/ReadableStreamController.h: Removed.
2540 * Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
2541 * Modules/streams/ReadableStreamReader.h: Removed.
2542 * Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
2543 * Modules/streams/WritableStream.idl: Ditto.
2544 * bindings/js/JSReadableStreamPrivateConstructors.cpp:
2545 (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
2546 (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.
2547 * bindings/scripts/CodeGeneratorJS.pm:
2548 (NeedsImplementationClass):
2549 (GetAttributeGetterName):
2550 (GetAttributeSetterName):
2552 (InstanceNeedsVisitChildren):
2554 (GenerateAttributesHashTable):
2555 (GenerateImplementation):
2556 (GetConstructorTemplateClassName):
2557 (GenerateConstructorDefinition):
2558 (GenerateConstructorHelperMethods):
2560 (ComputeFunctionSpecial):
2562 (IsJSBuiltinConstructor):
2563 (AddJSBuiltinIncludesIfNeeded):
2564 (GetJSBuiltinFunctionName): Deleted.
2565 (GetJSBuiltinFunctionNameFromString): Deleted.
2566 (GetJSBuiltinScopeName): Deleted.
2567 * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:
2568 (webkit_dom_test_js_builtin_constructor_set_property):
2569 (webkit_dom_test_js_builtin_constructor_get_property):
2570 (webkit_dom_test_js_builtin_constructor_class_init):
2571 (webkit_dom_test_js_builtin_constructor_test_function):
2572 (webkit_dom_test_js_builtin_constructor_get_test_attribute):
2573 (webkit_dom_test_js_builtin_constructor_set_test_attribute):
2574 * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
2575 * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2576 (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
2577 (WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
2578 (WebCore::jsTestJSBuiltinConstructorTestAttribute):
2579 (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
2580 (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
2581 (WebCore::setJSTestJSBuiltinConstructorTestAttribute):
2582 (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
2583 (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
2584 (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
2585 (WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
2586 (WebCore::JSTestJSBuiltinConstructorOwner::finalize):
2587 (WebCore::toJSNewlyCreated):
2589 (WebCore::JSTestJSBuiltinConstructor::toWrapped):
2590 (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
2591 (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
2592 (WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
2593 (WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
2594 * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
2595 (WebCore::JSTestJSBuiltinConstructor::create):
2596 (WebCore::JSTestJSBuiltinConstructor::finishCreation):
2597 (WebCore::wrapperOwner):
2599 (WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.
2600 * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
2601 * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
2602 (-[DOMTestJSBuiltinConstructor testAttribute]):
2603 (-[DOMTestJSBuiltinConstructor setTestAttribute:]):
2604 (-[DOMTestJSBuiltinConstructor testAttributeCustom]):
2605 (-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
2606 (-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
2607 (-[DOMTestJSBuiltinConstructor testFunction]):
2608 (-[DOMTestJSBuiltinConstructor testCustomFunction]):
2609 * bindings/scripts/test/TestJSBuiltinConstructor.idl:
2611 2015-10-29 Sergio Villar Senin <svillar@igalia.com>
2613 [CSS Grid Layout] min-content row does not always shrink
2614 https://bugs.webkit.org/show_bug.cgi?id=144581
2616 Reviewed by Zalan Bujtas.
2618 Grid items height must be recomputed whenever the grid tracks
2619 change if the items had been previously stretched. In those
2620 cases we have to clear the override height and layout the item
2621 with the new row size.
2623 Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html
2624 fast/css-grid-layout/relayout-indefinite-heights.html
2626 * rendering/RenderGrid.cpp:
2627 (WebCore::RenderGrid::logicalContentHeightForChild):
2629 2015-11-01 Brady Eidson <beidson@apple.com>
2631 Modern IDB: IBDObjectStore.count() support.
2632 https://bugs.webkit.org/show_bug.cgi?id=150785
2634 Reviewed by Darin Adler.
2636 Tests: storage/indexeddb/modern/idbobjectstore-count-1.html
2637 storage/indexeddb/modern/idbobjectstore-count-failures.html
2639 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2640 (WebCore::IDBClient::IDBConnectionToServer::getCount):
2641 (WebCore::IDBClient::IDBConnectionToServer::didGetCount):
2642 * Modules/indexeddb/client/IDBConnectionToServer.h:
2643 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2645 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2646 (WebCore::IDBClient::IDBObjectStore::count):
2647 (WebCore::IDBClient::IDBObjectStore::doCount):
2648 * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2650 * Modules/indexeddb/client/IDBRequestImpl.cpp:
2651 (WebCore::IDBClient::IDBRequest::setResult):
2652 * Modules/indexeddb/client/IDBRequestImpl.h:
2654 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2655 (WebCore::IDBClient::IDBTransaction::requestCount):
2656 (WebCore::IDBClient::IDBTransaction::getCountOnServer):
2657 (WebCore::IDBClient::IDBTransaction::didGetCountOnServer):
2658 * Modules/indexeddb/client/IDBTransactionImpl.h:
2660 * Modules/indexeddb/server/IDBBackingStore.h:
2662 * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2663 (WebCore::IDBServer::IDBConnectionToClient::didGetCount):
2664 * Modules/indexeddb/server/IDBConnectionToClient.h:
2665 * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2667 * Modules/indexeddb/server/IDBServer.cpp:
2668 (WebCore::IDBServer::IDBServer::getCount):
2669 * Modules/indexeddb/server/IDBServer.h:
2671 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2672 (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
2673 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2675 * Modules/indexeddb/server/MemoryObjectStore.cpp:
2676 (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
2677 (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange):
2678 (WebCore::IDBServer::MemoryObjectStore::lowestKeyWithRecordInRange):
2679 * Modules/indexeddb/server/MemoryObjectStore.h:
2681 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2682 (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
2683 (WebCore::IDBServer::UniqueIDBDatabase::getCount):
2684 (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
2685 (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount):
2686 (WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
2687 * Modules/indexeddb/server/UniqueIDBDatabase.h:
2689 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2690 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
2691 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
2692 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2694 * Modules/indexeddb/shared/IDBResultData.cpp:
2695 (WebCore::IDBResultData::IDBResultData):
2696 (WebCore::IDBResultData::getCountSuccess):
2697 * Modules/indexeddb/shared/IDBResultData.h:
2698 (WebCore::IDBResultData::resultInteger):
2700 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2701 (WebCore::InProcessIDBServer::didGetCount):
2702 (WebCore::InProcessIDBServer::getCount):
2703 * Modules/indexeddb/shared/InProcessIDBServer.h:
2705 2015-11-01 Darin Adler <darin@apple.com>
2707 Tidy handling of type=color in HTMLInputElement a bit
2708 https://bugs.webkit.org/show_bug.cgi?id=150786
2710 Reviewed by Andreas Kling.
2712 * html/ColorInputType.cpp: Fix formatting.
2713 (WebCore::ColorInputType::fallbackValue): Use ASCIILiteral for slightly
2715 (WebCore::ColorInputType::sanitizeValue): Use convertToASCIILowercase,
2716 since there is no need for the general purpose Unicode lowercasing here;
2717 those non-ASCII characters aren't allowed by isValidColorString.
2718 (WebCore::ColorInputType::suggestions): Rewrote data list code to remove
2719 peculiarities such as using a null check to terminate the loop instead of
2720 the collection length, calling back to HTMLInputElement just to get the
2721 isValidColorString function called. Also used reserveInitialCapacity and
2722 uncheckedAppend for better memory use in the result vector.
2723 (WebCore::ColorInputType::selectColor): Added.
2725 * html/ColorInputType.h: Made derivation from ColorChooserClient private.
2726 Made most functions private. Added overrides for valueAsColor and selectColor,
2727 now both virtual functions in InputType.
2729 * html/HTMLInputElement.cpp: Removed now-unneeded include of ColorInputType.h.
2730 (WebCore::HTMLInputElement::valueAsColor): Added. Calls through to the InputType.
2731 In a later patch, will be used by accessibility code to get the color so it
2732 does not have to replicate the color parsing logic from this element.
2733 (WebCore::HTMLInputElement::selectColor): Renamed from selectColorInColorChooser,
2734 because the longer name is not clearer. Also made this non-conditional.
2736 * html/HTMLInputElement.h: Added valueAsColor, renamed selectColorInColorChooser
2737 to selectColor and made it available unconditionally.
2739 * html/InputType.cpp:
2740 (WebCore::InputType::valueAsColor): Added. Returns transparent color.
2741 (WebCore::InputType::selectColor): Added. Does nothing by default.
2743 * html/InputType.h: Added virtual valueAsColor and selectColor. Also tidied
2744 up the header a bit and removed unneeded Noncopyable (since this class has
2745 a reference for one of the data members and so is intrinsically not copyable).
2746 Made isColorControl available unconditionally.
2748 * testing/Internals.cpp:
2749 (WebCore::Internals::selectColorInColorChooser): Removed conditionals and
2750 made this call selectColor rather than selectColorInColorChooser.
2752 * testing/Internals.h: Made selectColorInColorChooser unconditional.
2754 * testing/Internals.idl: Made selectColorInColorChooser unconditionally
2755 present. Not important to optimize the test internals class by leaving it
2756 out when INPUT_TYPE_COLOR is not enabled.
2758 2015-11-01 Yusuke Suzuki <utatane.tea@gmail.com>
2760 [ES6] Support Generator Syntax
2761 https://bugs.webkit.org/show_bug.cgi?id=150769
2763 Reviewed by Geoffrey Garen.
2765 Added ENABLE_ES6_GENERATORS flag.
2767 * Configurations/FeatureDefines.xcconfig:
2769 2015-11-01 Myles C. Maxfield <mmaxfield@apple.com>
2771 Clean up some CSS & Font code
2772 https://bugs.webkit.org/show_bug.cgi?id=150767
2774 Reviewed by Darin Adler.
2776 This patch migrates some CSS code to use references instead of pointers.
2777 It also migrates some Font code to use RefPtr instead of PassRefPtr.
2779 No new tests because there is no behavior change.
2781 * css/CSSDefaultStyleSheets.cpp:
2782 (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
2783 (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
2784 (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2785 * css/CSSFontSelector.cpp:
2786 (WebCore::createFontFace):
2787 (WebCore::CSSFontSelector::addFontFaceRule):
2788 * css/CSSFontSelector.h:
2789 * css/DocumentRuleSets.cpp:
2790 (WebCore::DocumentRuleSets::initUserStyle):
2791 (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
2792 (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
2794 (WebCore::RuleSet::addChildRules):
2795 (WebCore::RuleSet::addRulesFromSheet):
2797 * css/StyleInvalidationAnalysis.cpp:
2798 (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
2799 * platform/graphics/Font.cpp:
2800 (WebCore::Font::verticalRightOrientationFont):
2801 (WebCore::Font::uprightOrientationFont):
2802 (WebCore::Font::smallCapsFont):
2803 (WebCore::Font::emphasisMarkFont):
2804 (WebCore::Font::brokenIdeographFont):
2805 (WebCore::Font::nonSyntheticItalicFont):
2806 (WebCore::Font::createScaledFont):
2807 * platform/graphics/Font.h:
2808 (WebCore::Font::variantFont):
2809 * platform/graphics/cocoa/FontCocoa.mm:
2810 (WebCore::Font::platformCreateScaledFont):
2811 * svg/SVGFontFaceElement.h:
2813 2015-11-01 Darin Adler <darin@apple.com>
2815 Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
2816 https://bugs.webkit.org/show_bug.cgi?id=150783
2818 Reviewed by Tim Horton.
2820 * PlatformWinCairo.cmake: Removed ScrollbarThemeSafari.cpp, no reason to compile it.
2822 * platform/graphics/ca/GraphicsLayerCA.cpp:
2823 (WebCore::GraphicsLayerCA::setContentsToImage): Removed the code that set a color space
2824 on an image if it's set to device color space. This has been dead code for many releases
2825 of OS X and iOS at this point.
2827 * platform/graphics/filters/FEColorMatrix.h: Removed some ENABLE(OPENCL)-only code.
2828 * platform/graphics/filters/FEFlood.h: Ditto.
2829 * platform/graphics/filters/FEMerge.h: Ditto.
2830 * platform/graphics/filters/FETurbulence.h: Ditto.
2831 * platform/graphics/filters/FilterEffect.cpp:
2832 (WebCore::FilterEffect::applyAll): Removed.
2833 (WebCore::FilterEffect::apply): Removed ENABLE(OPENCL)-only code.
2834 (WebCore::FilterEffect::platformApplyOpenCL): Removed.
2835 (WebCore::FilterEffect::clearResult): Removed ENABLE(OPENCL)-only code.
2836 (WebCore::FilterEffect::asImageBuffer): Ditto.
2837 (WebCore::FilterEffect::openCLImageToImageBuffer): Removed.
2838 (WebCore::FilterEffect::createOpenCLImageResult): Removed.
2839 (WebCore::FilterEffect::transformResultColorSpace): Removed ENABLE(OPENCL)-only code.
2841 * platform/graphics/filters/FilterEffect.h: Removed ENABLE(OPENCL)-only code.
2842 * platform/graphics/filters/SourceAlpha.h: Ditto.
2843 * platform/graphics/filters/SourceGraphic.h: Ditto.
2845 * platform/win/ScrollbarThemeSafari.cpp: Removed.
2846 * platform/win/ScrollbarThemeSafari.h: Removed.
2848 * rendering/RenderThemeMac.mm: Removed an obsolete comment.
2850 * rendering/RenderThemeSafari.cpp: Removed.
2851 * rendering/RenderThemeSafari.h: Removed.
2853 * svg/graphics/filters/SVGFEImage.h: Removed ENABLE(OPENCL)-only code.
2855 2015-11-01 Andreas Kling <akling@apple.com>
2857 Move the ResourceUsageOverlay out of the way by default.
2858 <https://webkit.org/b/150776>
2860 Reviewed by Darin Adler.
2862 Have the ResourceUsageOverlay show up in the bottom center of the viewport
2863 by default, instead of the top left. This way, you won't have to drag it
2864 out of the way all the time.
2866 * page/ResourceUsageOverlay.cpp:
2867 (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
2868 (WebCore::ResourceUsageOverlay::initialize):
2869 * page/ResourceUsageOverlay.h:
2870 * page/cocoa/ResourceUsageOverlayCocoa.mm:
2871 (WebCore::ResourceUsageOverlay::platformInitialize):
2873 2015-11-01 Philip Chimento <philip.chimento@gmail.com>
2875 [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
2876 https://bugs.webkit.org/show_bug.cgi?id=144560
2878 Reviewed by Darin Adler.
2880 * platform/graphics/PlatformDisplay.cpp: Only include the
2881 X11-specific GDK header on PLATFORM(X11). In other cases the
2882 normal gdk.h header is needed, which would otherwise be pulled in
2884 * platform/graphics/opentype/OpenTypeMathData.cpp: Change check
2885 for FourCharCode type from OS(DARWIN) to PLATFORM(COCOA). We
2886 can't remove it altogether because OT_MAKE_TAG doesn't work for
2889 2015-11-01 Carlos Garcia Campos <cgarcia@igalia.com>
2891 [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
2892 https://bugs.webkit.org/show_bug.cgi?id=150754
2894 Reviewed by Darin Adler.
2896 It's more efficient because it uses a persistent source and it
2897 simplifies the code even more.
2899 * platform/MainThreadSharedTimer.cpp:
2900 (WebCore::MainThreadSharedTimer::fired): Make it non-const to be
2901 able to use it as function callback of a RunLoop::Timer.
2902 * platform/MainThreadSharedTimer.h:
2903 * platform/gtk/MainThreadSharedTimerGtk.cpp:
2904 (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
2905 Initialize the RunLoop::Timer and set the prioriry.
2906 (WebCore::MainThreadSharedTimer::setFireInterval):
2907 (WebCore::MainThreadSharedTimer::stop):
2909 2015-10-31 Andreas Kling <akling@apple.com>
2911 Add a debug overlay with information about web process resource usage.
2912 <https://webkit.org/b/150599>
2914 Unreviewed follow-up to r191849.
2916 Add missing call to uninstall the PageOverlay if the ResourceUsageOverlay is being
2917 disabled through the setting. This way you don't end up with an unremovable overlay
2920 * page/ResourceUsageOverlay.cpp:
2921 (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
2923 2015-10-31 Brady Eidson <beidson@apple.com>
2925 IDB: Date objects don't work as keys or values.
2926 https://bugs.webkit.org/show_bug.cgi?id=150743
2928 Reviewed by Darin Adler.
2930 Test: storage/indexeddb/modern/date-basic.html
2932 The combination of the autogenerated bindings with Deprecated::ScriptValue was
2933 losing the fidelity of "Date" objects being Dates, and not just normal Objects.
2935 This was breaking their usage as IDBKeys.
2937 Custom binding + reworking the IDBObjectStore IDLs to use JSValue instead of ScriptValue
2940 * Modules/indexeddb/IDBObjectStore.h:
2941 * Modules/indexeddb/IDBObjectStore.idl:
2943 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2944 (WebCore::IDBClient::IDBObjectStore::add):
2945 (WebCore::IDBClient::IDBObjectStore::put):
2946 (WebCore::IDBClient::IDBObjectStore::putOrAdd):
2947 * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2949 * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
2950 (WebCore::LegacyObjectStore::add):
2951 (WebCore::LegacyObjectStore::put):
2952 * Modules/indexeddb/legacy/LegacyObjectStore.h:
2954 * bindings/js/IDBBindingUtilities.cpp:
2955 (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
2956 (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
2957 (WebCore::canInjectIDBKeyIntoScriptValue):
2958 (WebCore::scriptValueToIDBKey):
2959 * bindings/js/IDBBindingUtilities.h:
2961 * bindings/js/JSIDBObjectStoreCustom.cpp:
2962 (WebCore::putOrAdd):
2963 (WebCore::JSIDBObjectStore::putRecord):
2964 (WebCore::JSIDBObjectStore::add):
2966 2015-10-31 Andreas Kling <akling@apple.com>
2968 Add a debug overlay with information about web process resource usage.
2969 <https://webkit.org/b/150599>
2971 Reviewed by Darin Adler.
2973 A new kind of PageOverlay is added behind the ENABLE(RESOURCE_USAGE_OVERLAY) flag.
2974 It's owned by Page, but not instantiated unless the Settings::resourceUsageOverlayVisible flag is set.
2976 All ResourceUsageOverlay objects share a single sampler thread. The thread currently runs every 500ms
2977 and samples CPU usage, dirty memory regions, and GC heap size/capacity.
2979 Most things in here are currently quite Mac-specific, but I will be iterating on this towards a more
2980 cross-platform friendly solution.
2982 There are two small changes to PageOverlay in order to support dragging the resource usage overlay:
2984 - A "should ignore mouse events outside bounds" state flag. This is on by default
2985 but turned off during a drag.
2986 - PageOverlay::bounds() will now return the override frame verbatim if one is set,
2987 instead of returning it relocated to 0,0.
2989 Note that this is intended as a tool for WebKit engine developers to better understand memory usage.
2990 It's not a goal to expose this information to end users.
2992 * WebCore.xcodeproj/project.pbxproj:
2994 (WebCore::Page::setResourceUsageOverlayVisible):
2996 * page/PageOverlay.cpp:
2997 (WebCore::PageOverlay::bounds):
2998 (WebCore::PageOverlay::mouseEvent):
2999 * page/PageOverlay.h:
3000 * page/ResourceUsageOverlay.cpp: Added.
3001 (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
3002 (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
3003 (WebCore::ResourceUsageOverlay::mouseEvent):
3004 * page/ResourceUsageOverlay.h: Added.
3005 * page/Settings.cpp:
3006 (WebCore::Settings::setResourceUsageOverlayVisible):
3008 (WebCore::Settings::resourceUsageOverlayVisible):
3009 * page/cocoa/ResourceUsageOverlayCocoa.mm: Added.
3010 (-[WebOverlayLayer initWithResourceUsageOverlay:]):
3011 (-[WebOverlayLayer drawInContext:]):
3012 (WebCore::RingBuffer::RingBuffer):
3013 (WebCore::RingBuffer::append):
3014 (WebCore::RingBuffer::last):
3015 (WebCore::RingBuffer::forEach):
3016 (WebCore::RingBuffer::incrementIndex):
3017 (WebCore::RingBuffer::decrementIndex):
3018 (WebCore::sharedData):
3019 (WebCore::ResourceUsageOverlay::platformInitialize):
3020 (WebCore::ResourceUsageOverlay::platformDestroy):
3021 (WebCore::drawCpuHistory):
3022 (WebCore::drawGCHistory):
3023 (WebCore::drawSlice):
3024 (WebCore::drawPlate):
3025 (WebCore::drawMemoryPie):
3026 (WebCore::formatByteNumber):
3027 (WebCore::showText):
3028 (WebCore::ResourceUsageOverlay::draw):
3029 (WebCore::dirtyPagesPerVMTag):
3030 (WebCore::cpuUsage):
3031 (WebCore::runSamplerThread):
3032 * platform/spi/cocoa/MachVMSPI.h:
3034 2015-10-31 Brady Eidson <beidson@apple.com>
3036 storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html is flaky.
3037 https://bugs.webkit.org/show_bug.cgi?id=150735
3039 Reviewed by Darin Adler.
3041 No new tests (Covered by existing tests).
3043 Transactions were liable to commit too early because IDBRequests could be waiting
3044 to dispatch their error/success events but their operations would no longer be
3045 registered with the transaction.
3047 Having outstanding requests should also keep a transaction from committing, just
3048 like having outstanding operations should.
3050 * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
3051 (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
3053 * Modules/indexeddb/client/IDBRequestImpl.cpp:
3054 (WebCore::IDBClient::IDBRequest::dispatchEvent):
3056 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3057 (WebCore::IDBClient::IDBTransaction::addRequest):
3058 (WebCore::IDBClient::IDBTransaction::removeRequest):
3059 (WebCore::IDBClient::IDBTransaction::operationTimerFired):
3060 (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3061 (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
3062 (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
3063 (WebCore::IDBClient::IDBTransaction::operationDidComplete):
3064 * Modules/indexeddb/client/IDBTransactionImpl.h:
3066 * Modules/indexeddb/client/TransactionOperation.h:
3067 (WebCore::IDBClient::TransactionOperation::completed):
3069 2015-10-31 Philippe Normand <pnormand@igalia.com>
3071 [GStreamer][Mac] Fix WebAudio build
3072 https://bugs.webkit.org/show_bug.cgi?id=150030
3074 Reviewed by Darin Adler.
3076 Wrap Accelerate.framework API calls around USE(ACCELERATE) ifdefs.
3078 * platform/audio/Biquad.cpp:
3079 (WebCore::Biquad::Biquad):
3080 (WebCore::Biquad::process):
3081 (WebCore::Biquad::reset):
3082 * platform/audio/Biquad.h:
3083 * platform/audio/DirectConvolver.cpp:
3084 (WebCore::DirectConvolver::process):
3085 * platform/audio/FFTFrame.h:
3086 * platform/audio/VectorMath.cpp:
3088 2015-10-31 Brian Burg <bburg@apple.com>
3090 Builtins generator should put WebCore-only wrappers in the per-builtin header
3091 https://bugs.webkit.org/show_bug.cgi?id=150539
3093 Reviewed by Youenn Fablet.
3095 Fix includes of removed XXXWrapper.h headers.
3098 * DerivedSources.make:
3099 * WebCore.xcodeproj/project.pbxproj:
3100 * bindings/js/WebCoreJSBuiltinInternals.h:
3101 * bindings/js/WebCoreJSBuiltins.h:
3103 2015-10-31 Yusuke Suzuki <utatane.tea@gmail.com>
3105 Add the support for Symbol attributes on IDL
3106 https://bugs.webkit.org/show_bug.cgi?id=150586
3108 Reviewed by Ryosuke Niwa.
3110 This patch addes readonly attribute support for Symbols.
3111 It involves the IDL generator functionality converting Native type (PrivateName) to Symbol.
3113 * bindings/scripts/CodeGeneratorGObject.pm:
3116 * bindings/scripts/CodeGeneratorJS.pm:
3118 * bindings/scripts/CodeGeneratorObjC.pm:
3121 * bindings/scripts/test/JS/JSTestObj.cpp:
3122 (WebCore::jsTestObjReadOnlySymbolAttr):
3123 (WebCore::jsTestObjConstructorStaticReadOnlySymbolAttr):
3124 * bindings/scripts/test/TestObj.idl:
3126 2015-10-30 Brady Eidson <beidson@apple.com>
3128 Modern IDB: Support IDBObjectStore.get() for IDBKeyRanges.
3129 https://bugs.webkit.org/show_bug.cgi?id=150718
3131 Reviewed by Alex Christensen.
3133 Test: storage/indexeddb/modern/get-keyrange.html
3135 * Modules/indexeddb/IDBKeyRangeData.cpp:
3136 (WebCore::IDBKeyRangeData::IDBKeyRangeData):
3137 * Modules/indexeddb/IDBKeyRangeData.h:
3139 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3140 (WebCore::IDBClient::IDBConnectionToServer::getRecord):
3141 * Modules/indexeddb/client/IDBConnectionToServer.h:
3142 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3144 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3145 (WebCore::IDBClient::IDBObjectStore::get):
3147 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3148 (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3149 (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
3150 * Modules/indexeddb/client/IDBTransactionImpl.h:
3152 * Modules/indexeddb/server/IDBBackingStore.h:
3154 * Modules/indexeddb/server/IDBServer.cpp:
3155 (WebCore::IDBServer::IDBServer::getRecord):
3156 * Modules/indexeddb/server/IDBServer.h:
3158 * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3159 (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
3161 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3162 (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
3163 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3165 * Modules/indexeddb/server/MemoryObjectStore.cpp:
3166 (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
3167 (WebCore::IDBServer::MemoryObjectStore::setKeyValue):
3168 (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange): Using a std::set, find the appropriate
3169 key in the range, and return the value if one exists.
3170 (WebCore::IDBServer::MemoryObjectStore::valueForKey): Deleted.
3171 * Modules/indexeddb/server/MemoryObjectStore.h:
3173 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3174 (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
3175 (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
3176 * Modules/indexeddb/server/UniqueIDBDatabase.h:
3178 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3179 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
3180 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3182 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3183 (WebCore::InProcessIDBServer::getRecord):
3184 * Modules/indexeddb/shared/InProcessIDBServer.h:
3186 2015-10-30 Brady Eidson <beidson@apple.com>
3188 Modern IDB: IDBObjectStore.clear() support.
3189 https://bugs.webkit.org/show_bug.cgi?id=150733
3191 Reviewed by Alex Christensen.
3193 Tests: storage/indexeddb/modern/idbobjectstore-clear-1.html
3194 storage/indexeddb/modern/idbobjectstore-clear-2.html
3196 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3197 (WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
3198 (WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
3199 * Modules/indexeddb/client/IDBConnectionToServer.h:
3200 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3202 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3203 (WebCore::IDBClient::IDBObjectStore::clear):
3205 * Modules/indexeddb/client/IDBRequestImpl.cpp:
3206 (WebCore::IDBClient::IDBRequest::setResultToUndefined):
3207 * Modules/indexeddb/client/IDBRequestImpl.h:
3209 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3210 (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
3211 (WebCore::IDBClient::IDBTransaction::clearObjectStoreOnServer):
3212 (WebCore::IDBClient::IDBTransaction::didClearObjectStoreOnServer):
3213 * Modules/indexeddb/client/IDBTransactionImpl.h:
3215 * Modules/indexeddb/server/IDBBackingStore.h:
3217 * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3218 (WebCore::IDBServer::IDBConnectionToClient::didClearObjectStore):
3219 * Modules/indexeddb/server/IDBConnectionToClient.h:
3220 * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3222 * Modules/indexeddb/server/IDBServer.cpp:
3223 (WebCore::IDBServer::IDBServer::clearObjectStore):
3224 * Modules/indexeddb/server/IDBServer.h:
3226 * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3227 (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
3228 (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
3229 (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
3230 * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
3231 (WebCore::IDBServer::MemoryBackingStoreTransaction::isAborting):
3233 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3234 (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
3235 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3237 * Modules/indexeddb/server/MemoryObjectStore.cpp:
3238 (WebCore::IDBServer::MemoryObjectStore::clear):
3239 (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
3240 * Modules/indexeddb/server/MemoryObjectStore.h:
3242 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3243 (WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
3244 (WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
3245 (WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore):
3246 * Modules/indexeddb/server/UniqueIDBDatabase.h:
3248 * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
3249 (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
3250 * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
3252 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3253 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
3254 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3256 * Modules/indexeddb/shared/IDBResultData.cpp:
3257 (WebCore::IDBResultData::clearObjectStoreSuccess):
3258 * Modules/indexeddb/shared/IDBResultData.h:
3260 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3261 (WebCore::InProcessIDBServer::didClearObjectStore):
3262 (WebCore::InProcessIDBServer::clearObjectStore):
3263 * Modules/indexeddb/shared/InProcessIDBServer.h:
3265 2015-10-30 Joseph Pecoraro <pecoraro@apple.com>
3267 CSSParserVariable leaks seen on leaks bots
3268 https://bugs.webkit.org/show_bug.cgi?id=150724
3270 Reviewed by Darin Adler.
3272 * css/CSSParserValues.cpp:
3274 Cleanup variable CSSParserValues.
3276 2015-10-30 Alex Christensen <achristensen@webkit.org>
3280 * PlatformWin.cmake:
3283 2015-10-30 Beth Dakin <bdakin@apple.com>
3285 Tapping and holding a link should have a share option
3286 https://bugs.webkit.org/show_bug.cgi?id=150693
3288 rdar://problem/21319702
3290 Reviewed by Tim Horton.
3292 * English.lproj/Localizable.strings:
3294 2015-10-30 Joseph Pecoraro <pecoraro@apple.com>
3296 Minor CGColor leaks seen on bots allocated in WebSystemBackdropLayer.mm
3297 https://bugs.webkit.org/show_bug.cgi?id=150722
3299 Reviewed by Andreas Kling.
3301 * platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
3302 (-[WebLightSystemBackdropLayer init]):
3303 (-[WebDarkSystemBackdropLayer init]):
3305 2015-10-30 Csaba Osztrogonác <ossy@webkit.org>
3307 [EFL] Fix the debug build after r191758
3308 https://bugs.webkit.org/show_bug.cgi?id=150719
3310 Reviewed by Alex Christensen.
3312 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3313 (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
3315 2015-10-30 Dan Bernstein <mitz@apple.com>
3319 * platform/graphics/Image.cpp:
3320 (WebCore::Image::draw): Deleted an infinitely-recursive implementation that caused the
3321 compiler to emit an error.
3322 * platform/graphics/Image.h:
3323 (WebCore::Image::draw): Made this pure virtual.
3325 2015-10-30 Brady Eidson <beidson@apple.com>
3327 Modern IDB: IDBObjectStore.add() support.
3328 https://bugs.webkit.org/show_bug.cgi?id=150711
3330 Reviewed by Alex Christensen.
3332 Test: storage/indexeddb/modern/basic-add.html
3334 * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3335 (WebCore::IDBClient::IDBObjectStore::add):
3337 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3338 (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3340 2015-10-30 Hunseop Jeong <hs85.jeong@samsung.com>
3342 Use modern for-loops in WebCore/dom.
3343 https://bugs.webkit.org/show_bug.cgi?id=150664
3345 Reviewed by Darin Adler.
3347 No new tests because there is no behavior change.
3349 * dom/AuthorStyleSheets.cpp:
3350 (WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
3351 (WebCore::filterEnabledNonemptyCSSStyleSheets):
3352 (WebCore::AuthorStyleSheets::activeStyleSheetsContains):
3353 * dom/CheckedRadioButtons.cpp:
3354 (WebCore::RadioButtonGroup::updateValidityForAllButtons):
3355 * dom/ClientRectList.cpp:
3356 (WebCore::ClientRectList::ClientRectList):
3357 (WebCore::ClientRectList::~ClientRectList):
3358 * dom/ContainerNode.cpp:
3359 (WebCore::ContainerNode::insertBefore):
3360 * dom/DOMNamedFlowCollection.cpp:
3361 (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
3362 (WebCore::DOMNamedFlowCollection::length):
3363 (WebCore::DOMNamedFlowCollection::item):
3364 (WebCore::DOMNamedFlowCollection::namedItem):
3365 * dom/DOMStringList.cpp:
3366 (WebCore::DOMStringList::contains):
3368 (WebCore::Document::Document):
3369 (WebCore::Document::~Document):
3370 (WebCore::Document::removedLastRef):
3371 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
3372 (WebCore::Document::updateHoverActiveState):
3373 * dom/DocumentMarkerController.cpp:
3374 (WebCore::DocumentMarkerController::copyMarkers):
3375 (WebCore::DocumentMarkerController::removeMarkers):
3376 (WebCore::DocumentMarkerController::repaintMarkers):
3377 (DocumentMarkerController::showMarkers):
3378 * dom/ElementData.cpp:
3379 (WebCore::UniqueElementData::findAttributeByName):
3380 * dom/EventDispatcher.cpp:
3381 (WebCore::EventPath::updateTouchLists):
3382 (WebCore::EventPath::hasEventListeners):
3383 * dom/EventListenerMap.cpp:
3384 (WebCore::EventListenerMap::contains):
3385 (WebCore::EventListenerMap::containsCapturing):
3386 (WebCore::EventListenerMap::eventTypes):
3387 (WebCore::EventListenerMap::add):
3388 (WebCore::EventListenerMap::find):
3389 (WebCore::copyListenersNotCreatedFromMarkupToTarget):
3390 (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3391 (WebCore::EventListenerIterator::EventListenerIterator):
3392 * dom/EventTarget.cpp:
3393 (WebCore::EventTarget::removeEventListener):
3394 (WebCore::EventTarget::getAttributeEventListener):
3395 (WebCore::EventTarget::removeAllEventListeners):
3396 * dom/IdTargetObserverRegistry.cpp:
3397 (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
3398 * dom/MessagePort.cpp:
3399 (WebCore::MessagePort::postMessage):
3400 (WebCore::MessagePort::disentanglePorts):
3401 * dom/MutationObserver.cpp:
3402 (WebCore::MutationObserver::observe):
3403 (WebCore::MutationObserver::deliver):
3404 (WebCore::MutationObserver::deliverAllMutations):
3405 * dom/NamedFlowCollection.cpp:
3406 (WebCore::NamedFlowCollection::namedFlows):
3407 (WebCore::NamedFlowCollection::createCSSOMSnapshot):
3409 (WebCore::Node::notifyMutationObserversNodeWillDetach):
3411 (WebCore::Range::processNodes):
3412 (WebCore::Range::processAncestorsAndTheirSiblings):
3413 (WebCore::Range::absoluteBoundingBox):
3414 (WebCore::Range::collectSelectionRects):
3415 * dom/ScriptRunner.cpp:
3416 (WebCore::ScriptRunner::timerFired):
3417 * dom/ScriptedAnimationController.cpp:
3418 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
3419 * dom/SelectorQuery.cpp:
3420 (WebCore::SelectorDataList::matches):
3421 (WebCore::SelectorDataList::executeFastPathForIdSelector):
3422 (WebCore::SelectorDataList::executeSingleMultiSelectorData):
3423 (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
3424 (WebCore::SelectorDataList::execute):
3425 * dom/TreeScopeAdopter.cpp:
3426 (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3428 2015-10-30 Carlos Garcia Campos <cgarcia@igalia.com>