jond@apple.com [Fri, 4 Dec 2015 19:23:02 +0000 (19:23 +0000)]
Added redirects for old webkit.org archive.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Fri, 4 Dec 2015 19:20:06 +0000 (19:20 +0000)]
Removing empty directories from the old site.
Reviewed by Timothy Hatcher.
* blog: Removed.
* blog/wp-admin: Removed.
* blog/wp-admin/css: Removed.
* blog/wp-admin/css/colors: Removed.
* blog/wp-admin/css/colors/blue: Removed.
* blog/wp-admin/css/colors/coffee: Removed.
* blog/wp-admin/css/colors/ectoplasm: Removed.
* blog/wp-admin/css/colors/light: Removed.
* blog/wp-admin/css/colors/midnight: Removed.
* blog/wp-admin/css/colors/ocean: Removed.
* blog/wp-admin/css/colors/sunrise: Removed.
* blog/wp-admin/images: Removed.
* blog/wp-admin/includes: Removed.
* blog/wp-admin/js: Removed.
* blog/wp-admin/maint: Removed.
* blog/wp-admin/network: Removed.
* blog/wp-admin/user: Removed.
* blog/wp-content: Removed.
* blog/wp-content/plugins: Removed.
* blog/wp-content/plugins/akismet: Removed.
* blog/wp-content/themes: Removed.
* blog/wp-content/themes/classic: Removed.
* blog/wp-content/themes/default: Removed.
* blog/wp-content/themes/default/images: Removed.
* blog/wp-content/themes/webkit: Removed.
* blog/wp-content/uploads: Removed.
* blog/wp-content/uploads/2007: Removed.
* blog/wp-content/uploads/2007/06: Removed.
* blog/wp-includes: Removed.
* blog/wp-includes/ID3: Removed.
* blog/wp-includes/SimplePie: Removed.
* blog/wp-includes/SimplePie/Cache: Removed.
* blog/wp-includes/SimplePie/Content: Removed.
* blog/wp-includes/SimplePie/Content/Type: Removed.
* blog/wp-includes/SimplePie/Decode: Removed.
* blog/wp-includes/SimplePie/Decode/HTML: Removed.
* blog/wp-includes/SimplePie/HTTP: Removed.
* blog/wp-includes/SimplePie/Net: Removed.
* blog/wp-includes/SimplePie/Parse: Removed.
* blog/wp-includes/SimplePie/XML: Removed.
* blog/wp-includes/SimplePie/XML/Declaration: Removed.
* blog/wp-includes/Text: Removed.
* blog/wp-includes/Text/Diff: Removed.
* blog/wp-includes/Text/Diff/Engine: Removed.
* blog/wp-includes/Text/Diff/Renderer: Removed.
* blog/wp-includes/certificates: Removed.
* blog/wp-includes/css: Removed.
* blog/wp-includes/fonts: Removed.
* blog/wp-includes/images: Removed.
* blog/wp-includes/images/crystal: Removed.
* blog/wp-includes/images/media: Removed.
* blog/wp-includes/images/smilies: Removed.
* blog/wp-includes/images/wlw: Removed.
* blog/wp-includes/js: Removed.
* blog/wp-includes/js/crop: Removed.
* blog/wp-includes/js/imgareaselect: Removed.
* blog/wp-includes/js/jcrop: Removed.
* blog/wp-includes/js/jquery: Removed.
* blog/wp-includes/js/jquery/ui: Removed.
* blog/wp-includes/js/mediaelement: Removed.
* blog/wp-includes/js/plupload: Removed.
* blog/wp-includes/js/scriptaculous: Removed.
* blog/wp-includes/js/swfupload: Removed.
* blog/wp-includes/js/swfupload/plugins: Removed.
* blog/wp-includes/js/thickbox: Removed.
* blog/wp-includes/js/tinymce: Removed.
* blog/wp-includes/js/tinymce/langs: Removed.
* blog/wp-includes/js/tinymce/plugins: Removed.
* blog/wp-includes/js/tinymce/plugins/charmap: Removed.
* blog/wp-includes/js/tinymce/plugins/colorpicker: Removed.
* blog/wp-includes/js/tinymce/plugins/compat3x: Removed.
* blog/wp-includes/js/tinymce/plugins/compat3x/css: Removed.
* blog/wp-includes/js/tinymce/plugins/directionality: Removed.
* blog/wp-includes/js/tinymce/plugins/fullscreen: Removed.
* blog/wp-includes/js/tinymce/plugins/hr: Removed.
* blog/wp-includes/js/tinymce/plugins/image: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2: Removed.
* blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img: Removed.
* blog/wp-includes/js/tinymce/plugins/lists: Removed.
* blog/wp-includes/js/tinymce/plugins/media: Removed.
* blog/wp-includes/js/tinymce/plugins/media/css: Removed.
* blog/wp-includes/js/tinymce/plugins/media/js: Removed.
* blog/wp-includes/js/tinymce/plugins/paste: Removed.
* blog/wp-includes/js/tinymce/plugins/paste/js: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/classes: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/classes/utils: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/css: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/img: Removed.
* blog/wp-includes/js/tinymce/plugins/spellchecker/includes: Removed.
* blog/wp-includes/js/tinymce/plugins/tabfocus: Removed.
* blog/wp-includes/js/tinymce/plugins/textcolor: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wordpress/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wpautoresize: Removed.
* blog/wp-includes/js/tinymce/plugins/wpdialogs: Removed.
* blog/wp-includes/js/tinymce/plugins/wpdialogs/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wpeditimage/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpemoji: Removed.
* blog/wp-includes/js/tinymce/plugins/wpfullscreen: Removed.
* blog/wp-includes/js/tinymce/plugins/wpfullscreen/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wpgallery: Removed.
* blog/wp-includes/js/tinymce/plugins/wpgallery/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/css: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/img: Removed.
* blog/wp-includes/js/tinymce/plugins/wplink/js: Removed.
* blog/wp-includes/js/tinymce/plugins/wpview: Removed.
* blog/wp-includes/js/tinymce/skins: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray/fonts: Removed.
* blog/wp-includes/js/tinymce/skins/lightgray/img: Removed.
* blog/wp-includes/js/tinymce/skins/wordpress: Removed.
* blog/wp-includes/js/tinymce/skins/wordpress/images: Removed.
* blog/wp-includes/js/tinymce/themes: Removed.
* blog/wp-includes/js/tinymce/themes/advanced: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/js: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/default: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/default/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/highcontrast: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme: Removed.
* blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img: Removed.
* blog/wp-includes/js/tinymce/themes/modern: Removed.
* blog/wp-includes/js/tinymce/utils: Removed.
* blog/wp-includes/pomo: Removed.
* blog/wp-includes/theme-compat: Removed.
* building: Removed.
* coding: Removed.
* coding/images: Removed.
* css: Removed.
* images: Removed.
* misc: Removed.
* misc/DatabaseExample.html: Removed.
* misc/DatabaseTester.html: Removed.
* misc/WebKitDetect.html: Removed.
* misc/WebKitDetect.js: Removed.
* misc/drosera: Removed.
* misc/drosera/demo.js: Removed.
* misc/drosera/drosera.png: Removed.
* misc/drosera/index.html: Removed.
* misc/gradient-input.html: Removed.
* misc/morph.html: Removed.
* misc/related-target-and-shadow-dom.svg: Removed.
* projects: Removed.
* projects/accessibility: Removed.
* projects/cleanup: Removed.
* projects/compat: Removed.
* projects/css: Removed.
* projects/documentation: Removed.
* projects/dom: Removed.
* projects/editing: Removed.
* projects/forms: Removed.
* projects/html: Removed.
* projects/javascript: Removed.
* projects/layout: Removed.
* projects/mathml: Removed.
* projects/performance: Removed.
* projects/plugins: Removed.
* projects/portability: Removed.
* projects/printing: Removed.
* projects/svg: Removed.
* projects/webkit: Removed.
* projects/xml: Removed.
* projects/xslt: Removed.
* quality: Removed.
* security: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 4 Dec 2015 19:07:19 +0000 (19:07 +0000)]
Modern IDB: storage/indexeddb/exceptions.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151732
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
- Lots of customized exception messages for IDB code to match the text expectations.
- Updates to the test expectations where we can't/won't match them exactly.
- And a couple of little required behavior changes exposed by the test
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBDatabaseException.cpp:
(WebCore::IDBDatabaseException::initializeDescription):
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.h:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::deleteFunction):
* Modules/indexeddb/client/IDBCursorImpl.h:
* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::createObjectStore):
(WebCore::IDBClient::IDBDatabase::transaction):
(WebCore::IDBClient::IDBDatabase::deleteObjectStore):
* Modules/indexeddb/client/IDBDatabaseImpl.h:
* Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::IDBFactory::cmp):
* Modules/indexeddb/client/IDBFactoryImpl.h:
* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::doCount):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::doGet):
(WebCore::IDBClient::IDBIndex::getKey):
(WebCore::IDBClient::IDBIndex::doGetKey):
* Modules/indexeddb/client/IDBIndexImpl.h:
* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::add):
(WebCore::IDBClient::IDBObjectStore::put):
(WebCore::IDBClient::IDBObjectStore::putForCursorUpdate):
(WebCore::IDBClient::IDBObjectStore::putOrAdd):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::clear):
(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):
(WebCore::IDBClient::IDBObjectStore::count):
(WebCore::IDBClient::IDBObjectStore::doCount):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:
* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::result):
(WebCore::IDBClient::IDBRequest::error):
* Modules/indexeddb/client/IDBRequestImpl.h:
* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::objectStore):
(WebCore::IDBClient::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBClient::IDBTransaction::abort):
* Modules/indexeddb/client/IDBTransactionImpl.h:
* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::update):
(WebCore::LegacyCursor::continueFunction):
(WebCore::LegacyCursor::deleteFunction):
* Modules/indexeddb/legacy/LegacyCursor.h:
* Modules/indexeddb/legacy/LegacyDatabase.cpp:
(WebCore::LegacyDatabase::createObjectStore):
(WebCore::LegacyDatabase::deleteObjectStore):
(WebCore::LegacyDatabase::transaction):
(WebCore::LegacyDatabase::forceClose):
* Modules/indexeddb/legacy/LegacyDatabase.h:
* Modules/indexeddb/legacy/LegacyFactory.cpp:
(WebCore::LegacyFactory::cmp):
* Modules/indexeddb/legacy/LegacyFactory.h:
* Modules/indexeddb/legacy/LegacyIndex.cpp:
(WebCore::LegacyIndex::openCursor):
(WebCore::LegacyIndex::count):
(WebCore::LegacyIndex::openKeyCursor):
(WebCore::LegacyIndex::get):
(WebCore::LegacyIndex::getKey):
* Modules/indexeddb/legacy/LegacyIndex.h:
* Modules/indexeddb/legacy/LegacyObjectStore.cpp:
(WebCore::LegacyObjectStore::get):
(WebCore::LegacyObjectStore::add):
(WebCore::LegacyObjectStore::put):
(WebCore::LegacyObjectStore::deleteFunction):
(WebCore::LegacyObjectStore::clear):
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::index):
(WebCore::LegacyObjectStore::deleteIndex):
(WebCore::LegacyObjectStore::openCursor):
(WebCore::LegacyObjectStore::count):
* Modules/indexeddb/legacy/LegacyObjectStore.h:
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::count):
* Modules/indexeddb/legacy/LegacyRequest.cpp:
(WebCore::LegacyRequest::result):
(WebCore::LegacyRequest::error):
(WebCore::LegacyRequest::dispatchEvent):
(WebCore::LegacyRequest::uncaughtExceptionInEventHandler):
* Modules/indexeddb/legacy/LegacyRequest.h:
* Modules/indexeddb/legacy/LegacyTransaction.cpp:
(WebCore::LegacyTransaction::objectStore):
(WebCore::LegacyTransaction::abort):
(WebCore::LegacyTransaction::stop):
* Modules/indexeddb/legacy/LegacyTransaction.h:
* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException): For IDBDatabase exceptions, use createWithDescriptionAsMessage
* bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
(WebCore::JSIDBDatabase::transaction):
* bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::putOrAdd):
(WebCore::JSIDBObjectStore::createIndex):
* dom/DOMCoreException.h:
(WebCore::DOMCoreException::createWithDescriptionAsMessage): Create an exception whose message
is the description.
(WebCore::DOMCoreException::DOMCoreException):
* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase): Add a flag to determine where the message comes from
* dom/ExceptionBase.h:
* dom/make_dom_exceptions.pl:
(generateHeader): Add an IDBDatabaseException type
* inspector/InspectorIndexedDBAgent.cpp:
LayoutTests:
Lots of new wk2-specific expectations to keep Legacy IDB passing for now.
* platform/mac-wk1/TestExpectations:
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index5-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index6-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbcursor_continue_invalid-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_get7-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_getKey7-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_openCursor2-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/idbindex_openKeyCursor3-expected.txt: Added.
* platform/wk2/imported/w3c/indexeddb/keypath-expected.txt: Added.
* platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt: Copied from LayoutTests/storage/indexeddb/aborted-versionchange-closes-expected.txt.
* platform/wk2/storage/indexeddb/bad-keypath-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/bad-keypath-expected.txt.
* platform/wk2/storage/indexeddb/basics-expected.txt: Copied from LayoutTests/storage/indexeddb/basics-expected.txt.
* platform/wk2/storage/indexeddb/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
* platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt: Copied from LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt.
* platform/wk2/storage/indexeddb/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
* platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt: Added.
* platform/wk2/storage/indexeddb/cursor-continue-expected.txt: Added.
* platform/wk2/storage/indexeddb/cursor-finished-expected.txt: Copied from LayoutTests/storage/indexeddb/cursor-finished-expected.txt.
* platform/wk2/storage/indexeddb/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
* platform/wk2/storage/indexeddb/database-basics-expected.txt: Added.
* platform/wk2/storage/indexeddb/deleteIndex-bug110792-expected.txt: Added.
* platform/wk2/storage/indexeddb/index-count-expected.txt: Added.
* platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added.
* platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added.
* platform/wk2/storage/indexeddb/invalid-keys-expected.txt: Added.
* platform/wk2/storage/indexeddb/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-inline-and-passed-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-put-no-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt.
* platform/wk2/storage/indexeddb/key-requirements-put-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt.
* platform/wk2/storage/indexeddb/key-type-array-expected.txt: Added.
* platform/wk2/storage/indexeddb/keypath-arrays-expected.txt: Added.
* platform/wk2/storage/indexeddb/keypath-edges-expected.txt: Added.
* platform/wk2/storage/indexeddb/keyrange-expected.txt: Added.
* platform/wk2/storage/indexeddb/mozilla/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
* platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
* platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
* platform/wk2/storage/indexeddb/objectstore-count-expected.txt: Added.
* platform/wk2/storage/indexeddb/open-cursor-expected.txt: Added.
* platform/wk2/storage/indexeddb/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
* platform/wk2/storage/indexeddb/removed-expected.txt: Added.
* platform/wk2/storage/indexeddb/request-result-cache-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-abort-expected.txt: Copied from LayoutTests/storage/indexeddb/transaction-abort-expected.txt.
* platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-after-close-expected.txt: Added.
* platform/wk2/storage/indexeddb/transaction-read-only-expected.txt: Added.
* platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/mozilla/bad-keypath-expected.txt:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* storage/indexeddb/mozilla/cursors-expected.txt:
* storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* storage/indexeddb/resources/exceptions.js:
(testObjectStore):
* storage/indexeddb/transaction-abort-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Fri, 4 Dec 2015 18:50:10 +0000 (18:50 +0000)]
Web Inspector: Unskip many inspector/debugger tests
https://bugs.webkit.org/show_bug.cgi?id=151843
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
Ignore TerminationExceptions, as those aren't real execution
exceptions and may be seen on Workers that have closed.
LayoutTests:
* TestExpectations:
* platform/mac/TestExpectations:
Skip specific tests.
* platform/mac-wk2/TestExpectations:
Test no longer existed.
* inspector/debugger/resources/exception.js:
(exceptionDOM):
Keep the code outputing a NotFoundException. This particular
invocation was recently changed to throw a TypeError.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Fri, 4 Dec 2015 18:50:05 +0000 (18:50 +0000)]
Web Inspector: Remove untested and unused Worker inspection
https://bugs.webkit.org/show_bug.cgi?id=151848
Reviewed by Brian Burg.
Source/JavaScriptCore:
* CMakeLists.txt:
* DerivedSources.make:
* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::willExecuteProgram):
* debugger/Debugger.h:
* inspector/JSGlobalObjectScriptDebugServer.cpp:
(Inspector::JSGlobalObjectScriptDebugServer::JSGlobalObjectScriptDebugServer):
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::ScriptDebugServer):
* inspector/ScriptDebugServer.h:
* inspector/agents/InspectorConsoleAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::run): Deleted.
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/agents/JSGlobalObjectConsoleAgent.h:
* inspector/protocol/Runtime.json:
* inspector/protocol/Worker.json: Removed.
Source/WebCore:
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/WorkerScriptController.cpp:
* bindings/js/WorkerScriptDebugServer.cpp: Removed.
* bindings/js/WorkerScriptDebugServer.h: Removed.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController): Deleted.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl): Deleted.
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart): Deleted.
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScope): Deleted.
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminated): Deleted.
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWebAgentBase.h:
(WebCore::WorkerAgentContext::WorkerAgentContext): Deleted.
* inspector/InspectorWorkerAgent.cpp: Removed.
* inspector/InspectorWorkerAgent.h: Removed.
* inspector/InspectorWorkerResource.h: Removed.
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::reset): Deleted.
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::workerRuntimeAgent): Deleted.
(WebCore::InstrumentingAgents::setWorkerRuntimeAgent): Deleted.
(WebCore::InstrumentingAgents::inspectorWorkerAgent): Deleted.
(WebCore::InstrumentingAgents::setInspectorWorkerAgent): Deleted.
* inspector/PageConsoleAgent.h:
* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::PageScriptDebugServer):
* inspector/WorkerConsoleAgent.cpp: Removed.
* inspector/WorkerConsoleAgent.h: Removed.
* inspector/WorkerDebuggerAgent.cpp: Removed.
* inspector/WorkerDebuggerAgent.h: Removed.
* inspector/WorkerInspectorController.cpp: Removed.
* inspector/WorkerInspectorController.h: Removed.
* inspector/WorkerRuntimeAgent.cpp: Removed.
* inspector/WorkerRuntimeAgent.h: Removed.
* workers/Worker.cpp:
(WebCore::Worker::notifyFinished): Deleted.
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope): Deleted.
(WebCore::WorkerGlobalScope::~WorkerGlobalScope): Deleted.
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::workerInspectorController): Deleted.
* workers/WorkerGlobalScopeProxy.h:
(WebCore::WorkerGlobalScopeProxy::PageInspector::~PageInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::connectToInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::disconnectFromInspector): Deleted.
(WebCore::WorkerGlobalScopeProxy::sendMessageToInspector): Deleted.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy): Deleted.
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): Deleted.
(WebCore::WorkerMessagingProxy::connectToInspector): Deleted.
(WebCore::WorkerMessagingProxy::disconnectFromInspector): Deleted.
(WebCore::WorkerMessagingProxy::sendMessageToInspector): Deleted.
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal): Deleted.
(WebCore::WorkerMessagingProxy::terminateWorkerGlobalScope): Deleted.
(WebCore::WorkerMessagingProxy::postMessageToPageInspector): Deleted.
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread): Deleted.
Source/WebInspectorUI:
* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:
* Versions/Inspector-iOS-8.0.json:
* Versions/Inspector-iOS-9.0.json:
Since this was untested in older releases as well, remove
the protocol interfaces for legacy versions.
LayoutTests:
* inspector/debugger/pause-dedicated-worker-expected.txt: Removed.
* inspector/debugger/pause-dedicated-worker.html: Removed.
* inspector/debugger/resources/dedicated-worker.js: Removed.
* inspector/debugger/terminate-dedicated-worker-while-paused-expected.txt: Removed.
* inspector/debugger/terminate-dedicated-worker-while-paused.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Fri, 4 Dec 2015 18:49:47 +0000 (18:49 +0000)]
Web Inspector: Specifically Identify the Global Lexical Environment Scope
https://bugs.webkit.org/show_bug.cgi?id=151828
Reviewed by Brian Burg.
Source/JavaScriptCore:
* inspector/InjectedScriptSource.js:
Include the new scope type.
* inspector/JSJavaScriptCallFrame.h:
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
Set the new value for the new scope type.
* inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation): Deleted.
(Inspector::jsJavaScriptCallFrameConstantGLOBAL_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantLOCAL_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantWITH_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantCLOSURE_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantCATCH_SCOPE): Deleted.
(Inspector::jsJavaScriptCallFrameConstantFUNCTION_NAME_SCOPE): Deleted.
Remove unused constants on the JavaScriptCallFrame object.
Currently they are just hardcoded in InjectedScriptSource
and they don't make sense on instances anyways.
Source/WebInspectorUI:
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
* UserInterface/Models/ScopeChainNode.js:
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
Include a new scope type and give it a localized string.
LayoutTests:
* inspector/debugger/breakpoint-scope-expected.txt:
* inspector/debugger/breakpoint-scope.html:
* inspector/debugger/resources/scope.js:
Update the test to include something in the global lexical
environment and ensure it is identified as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Fri, 4 Dec 2015 18:45:43 +0000 (18:45 +0000)]
Add an option to emit instructions validating exceptions in the DFG rather than always emiting them.
https://bugs.webkit.org/show_bug.cgi?id=151841
Reviewed by Saam Barati.
Add a new option that validates the DFG execption checking. The default value for the option is
true in Debug builds and false in Release builds. Additionally, renamed jitAssertNoException to
jitReleaseAssertNoException for consistency with our ASSERT naming convention.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::jitReleaseAssertNoException):
(JSC::AssemblyHelpers::jitAssertNoException): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::jitAssertNoException): Deleted.
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 4 Dec 2015 18:08:27 +0000 (18:08 +0000)]
Fix the !ENABLE(DFG_JIT) build after r190735
https://bugs.webkit.org/show_bug.cgi?id=151617
Reviewed by Filip Pizlo.
* jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutineWithExceptionHandler::observeZeroRefCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 4 Dec 2015 13:16:05 +0000 (13:16 +0000)]
[cmake] Fix the B3 build after r192946
https://bugs.webkit.org/show_bug.cgi?id=151857
Reviewed by Michael Saboff.
* CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 4 Dec 2015 13:01:06 +0000 (13:01 +0000)]
[AArch64] Typo fix after r189575
https://bugs.webkit.org/show_bug.cgi?id=151855
Reviewed by Michael Saboff.
* ftl/FTLUnwindInfo.cpp:
(JSC::FTL::parseUnwindInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
svillar@igalia.com [Fri, 4 Dec 2015 11:14:49 +0000 (11:14 +0000)]
[css-grid] Fix height computation of grid items with borders inside fr tracks
https://bugs.webkit.org/show_bug.cgi?id=151798
Reviewed by Zalan Bujtas.
Source/WebCore:
Since r192154 we run a second pass of the track sizing
algorithm whenever the height of the grid is indefinite in
order to properly compute row sizes. The available space
passed to the track sizing algorithm must not contain neither
borders nor paddings, otherwise it will think that it has more
space available than the existing one. We should use the
height of the content box instead.
Test: fast/css-grid-layout/grid-item-with-border-in-fr.html
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
LayoutTests:
* fast/css-grid-layout/grid-item-with-border-in-fr-expected.txt: Added.
* fast/css-grid-layout/grid-item-with-border-in-fr.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 4 Dec 2015 07:45:05 +0000 (07:45 +0000)]
[GTK] Test /webkit2/WebKitWebResource/get-data is flaky
https://bugs.webkit.org/show_bug.cgi?id=151797
Reviewed by Martin Robinson.
Since we switched to use the network process to run the unit tests
the test /webkit2/WebKitWebResource/get-data sometimes fails and
sometimes passes. We are now also getting the notification for the
css image. Since we wait for 3 resources, sometimes the css image
is loaded before and then checkResourceData is called for it, but
not handled. When the css image is the last one loaded the test
passes. So, we just need to wait for the 4 resources.
* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebResourceGetData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 4 Dec 2015 06:40:16 +0000 (06:40 +0000)]
Modern IDB: Fix up tests that refer to non-standard IDBVersionChangeEvent.dataLoss.
https://bugs.webkit.org/show_bug.cgi?id=151850
Reviewed by Andy Estes.
* platform/mac-wk1/TestExpectations:
* storage/indexeddb/data-corruption-expected.txt: Removed.
* storage/indexeddb/data-corruption.html: Removed.
* storage/indexeddb/resources/data-corruption.js: Removed.
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/resources/events.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 4 Dec 2015 05:55:35 +0000 (05:55 +0000)]
Modern IDB: storage/indexeddb/cursor-index-delete.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151847
Reviewed by Andy Estes.
Source/WebCore:
No new tests (At least one failing test now passes).
* Modules/indexeddb/server/MemoryIndexCursor.cpp:
(WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::currentData):
LayoutTests:
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 4 Dec 2015 05:24:46 +0000 (05:24 +0000)]
DumpRenderTree: Use-after-free in createBitmapContext() in PixelDumpSupportMac.mm
<http://webkit.org/b/151845>
Reviewed by Simon Fraser.
Fixes the following static analyzer warning:
DumpRenderTree/mac/PixelDumpSupportMac.mm:67:9: warning: Use of memory after it is freed
WTFLogAlways("DumpRenderTree: CGBitmapContextCreate(%p, %llu, %llu, 8, %llu, %p, 0x%x) failed\n", buffer, pixelsHigh, pixelsWide, rowBytes, colorSpace.get(), kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContext): Free 'buffer' after using it in logging
to fix the use-after-free. Assign a value of nullptr to buffer
so we don't return with it set to a freed address.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Fri, 4 Dec 2015 05:21:45 +0000 (05:21 +0000)]
Reduce uses of PassRefPtr in DOM - 1
https://bugs.webkit.org/show_bug.cgi?id=149788
Reviewed by Darin Adler.
As a step to purge PassRefPtr, this patch reduces the uses in WebCore/dom.
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::getOrCreate):
* dom/ChildListMutationScope.h:
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::ClipboardEvent):
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
(WebCore::CompositionEvent::initCompositionEvent):
* dom/CompositionEvent.h:
* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::item):
* dom/DOMNamedFlowCollection.h:
* dom/DOMStringList.h:
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::getLastEvent):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::getLastEvent):
* dom/DeviceOrientationController.h:
* editing/Editor.cpp:
(WebCore::Editor::dispatchCPPEvent):
* page/DeviceController.h:
(WebCore::DeviceController::getLastEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:51:20 +0000 (04:51 +0000)]
Allow index.html indexes again.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:48:08 +0000 (04:48 +0000)]
Remove the old site files.
* asking_questions.html: Removed.
* building/active-scheme-xcode4.png: Removed.
* building/build-settings-tab-xcode4.png: Removed.
* building/build.html: Removed.
* building/checkout.html: Removed.
* building/custom-executable-xcode4.png: Removed.
* building/cygwin-downloader.zip: Removed.
* building/debug-mac-uiprocess.html: Removed.
* building/debug.html: Removed.
* building/launch-debugger-vs2010-small.png: Removed.
* building/launch-debugger-vs2010.png: Removed.
* building/run-xcode4.png: Removed.
* building/run.html: Removed.
* building/set-as-startup-project-vs2010.png: Removed.
* building/set-debugging-properties-vs2010-small.png: Removed.
* building/set-debugging-properties-vs2010.png: Removed.
* building/tools.html: Removed.
* coding/RefPtr.html: Removed.
* coding/adding-features.html: Removed.
* coding/assertion-guidelines.html: Removed.
* coding/bsd-license.html: Removed.
* coding/coding-style.html: Removed.
* coding/commit-review-policy.html: Removed.
* coding/contributing.html: Removed.
* coding/dom-element-attach.html: Removed.
* coding/images/contribute_add_attachment.png: Removed.
* coding/images/contribute_mark_review.png: Removed.
* coding/images/dom-element-attach-large.png: Removed.
* coding/images/dom-element-attach-small.png: Removed.
* coding/images/dom-element-attach.graffle: Removed.
* coding/lgpl-license.html: Removed.
* coding/major-objects.html: Removed.
* coding/scripts.html: Removed.
* coding/technical-articles.html: Removed.
* contact.html: Removed.
* css/blue.css: Removed.
* css/gray.css: Removed.
* css/green.css: Removed.
* css/ie.css: Removed.
* css/main.css: Removed.
* css/pink.css: Removed.
* css/purple.css: Removed.
* css/yellow.css: Removed.
* demos/index.html: Removed.
* footer.inc: Removed.
* header.inc: Removed.
* images/DroseraPic.png: Removed.
* images/blank.png: Removed.
* images/blue-background.png: Removed.
* images/blue-bullet.png: Removed.
* images/download.png: Removed.
* images/end.png: Removed.
* images/gray-background.png: Removed.
* images/green-background.png: Removed.
* images/green-bullet.png: Removed.
* images/icon-gold.png: Removed.
* images/icon.png: Removed.
* images/ie-nav.png: Removed.
* images/middle.png: Removed.
* images/nav.png: Removed.
* images/pink-background.png: Removed.
* images/pink-bullet.png: Removed.
* images/purple-background.png: Removed.
* images/purple-bullet.png: Removed.
* images/surfin-safari.icns: Removed.
* images/yellow-background.png: Removed.
* images/yellow-bullet.png: Removed.
* index.html: Removed.
* nav.inc: Removed.
* pngbehavior.htc: Removed.
* projects/accessibility/index.html: Removed.
* projects/cleanup/index.html: Removed.
* projects/compat/index.html: Removed.
* projects/css/index.html: Removed.
* projects/documentation/index.html: Removed.
* projects/dom/index.html: Removed.
* projects/editing/index.html: Removed.
* projects/forms/image-usemap.png: Removed.
* projects/forms/image1.png: Removed.
* projects/forms/image10.png: Removed.
* projects/forms/image16.png: Removed.
* projects/forms/index.html: Removed.
* projects/forms/survey.html: Removed.
* projects/goals.html: Removed.
* projects/html/index.html: Removed.
* projects/index.html: Removed.
* projects/javascript/index.html: Removed.
* projects/layout/index.html: Removed.
* projects/mathml/index.html: Removed.
* projects/performance/index.html: Removed.
* projects/plugins/index.html: Removed.
* projects/portability/index.html: Removed.
* projects/printing/index.html: Removed.
* projects/svg/index.html: Removed.
* projects/svg/status.xml: Removed.
* projects/svg/svg-status.css: Removed.
* projects/svg/svg-status.xsl: Removed.
* projects/webkit/index.html: Removed.
* projects/xml/index.html: Removed.
* projects/xslt/index.html: Removed.
* quality/.htaccess: Removed.
* quality/Ahem.ttf: Removed.
* quality/bugpriorities.html: Removed.
* quality/bugwriting.html: Removed.
* quality/bugzilla.html: Removed.
* quality/crashlogs.html: Removed.
* quality/leakhunting.html: Removed.
* quality/lifecycle.html: Removed.
* quality/mac_reportbox.jpg: Removed.
* quality/mac_viewtrace.jpg: Removed.
* quality/reduction.html: Removed.
* quality/reporting.html: Removed.
* quality/testing.html: Removed.
* quality/testwriting.html: Removed.
* quality/win_installwatson.jpg: Removed.
* quality/win_watsongui.jpg: Removed.
* quality/win_watsoninstalled.jpg: Removed.
* security/index.html: Removed.
* security/security-group-members.html: Removed.
* status.html: Removed.
* team.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:39:04 +0000 (04:39 +0000)]
Yet another attempt to fix the http blog redirects.
Removing the blog folder should do it.
* .htaccess:
* blog: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:30:47 +0000 (04:30 +0000)]
Another attempt to fix the http blog redirects.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:20:57 +0000 (04:20 +0000)]
Attempt to fix the http blog redirects.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:18:41 +0000 (04:18 +0000)]
Another attempt to fix the https redirect.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:16:37 +0000 (04:16 +0000)]
Attempt to fix the https redirect.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 04:13:21 +0000 (04:13 +0000)]
Fix blog.webkit.org redirects.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:58:25 +0000 (03:58 +0000)]
Add redirects for the demos folder.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:52:16 +0000 (03:52 +0000)]
Remove duplicate redirect.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:46:27 +0000 (03:46 +0000)]
One more attempt to clean up redirects.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:37:00 +0000 (03:37 +0000)]
Avoid double slashes after redirect for directories.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:35:16 +0000 (03:35 +0000)]
Fix directory redirects some more.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:30:32 +0000 (03:30 +0000)]
Fix directory redirect ordering.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 4 Dec 2015 03:29:39 +0000 (03:29 +0000)]
B3 Patchpoint and Check opcodes should be able to specify WarmAny, ColdAny, and LateColdAny
https://bugs.webkit.org/show_bug.cgi?id=151335
Reviewed by Geoffrey Garen.
This removes ValueRep::Any and replaces it with ValueRep::WarmAny, ValueRep::ColdAny, and
ValueRep::LateColdAny. I think that conceptually the most obvious users of patchpoints are inline
caches, which would use WarmAny for their non-OSR inputs. For this reason, I make WarmAny the
default.
However, the StackmapValue optimization that provides a default ValueRep for any that are missing
was meant for OSR. So, this optimization now uses ColdAny.
This patch wires this change through the whole compiler and adds some tests.
* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::dump):
(JSC::B3::CheckSpecial::CheckSpecial):
* b3/B3CheckSpecial.h:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::opcode):
(JSC::B3::CheckSpecial::Key::numArgs):
(JSC::B3::CheckSpecial::Key::stackmapRole):
* b3/B3CheckValue.cpp:
(JSC::B3::CheckValue::CheckValue):
* b3/B3ConstrainedValue.h:
(JSC::B3::ConstrainedValue::ConstrainedValue):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3MoveConstants.cpp:
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::forEachArg):
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/B3PatchpointValue.h:
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::admitsStackImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):
(WTF::printInternal):
* b3/B3StackmapSpecial.h:
* b3/B3StackmapValue.cpp:
(JSC::B3::StackmapValue::append):
(JSC::B3::StackmapValue::setConstraint):
* b3/B3StackmapValue.h:
* b3/B3Validate.cpp:
* b3/B3ValueRep.cpp:
(JSC::B3::ValueRep::dump):
(WTF::printInternal):
* b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
(JSC::B3::ValueRep::reg):
(JSC::B3::ValueRep::operator!=):
(JSC::B3::ValueRep::operator bool):
(JSC::B3::ValueRep::isAny):
(JSC::B3::ValueRep::isSomeRegister):
* b3/testb3.cpp:
(JSC::B3::compileAndRun):
(JSC::B3::add32):
(JSC::B3::test42):
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testPatchpointWithEarlyClobber):
(JSC::B3::testPatchpointFixedRegister):
(JSC::B3::testPatchpointAny):
(JSC::B3::testPatchpointLotsOfLateAnys):
(JSC::B3::testPatchpointAnyImm):
(JSC::B3::testPatchpointManyImms):
(JSC::B3::testPatchpointWithRegisterResult):
(JSC::B3::testPatchpointWithAnyResult):
(JSC::B3::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Fri, 4 Dec 2015 03:15:59 +0000 (03:15 +0000)]
Fixed cache logic so download data is correctly available.
* wp-content/themes/webkit/nightly.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 4 Dec 2015 03:06:05 +0000 (03:06 +0000)]
Add some missing redirects for directories of the old site.
* .htaccess:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 4 Dec 2015 00:49:48 +0000 (00:49 +0000)]
Remove the use of GraphicsContextStateSaver from RenderLayer::paintLayerByApplyingTransform
https://bugs.webkit.org/show_bug.cgi?id=151829
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-12-03
Reviewed by Simon Fraser.
Set the CTM of the GraphicsContext to its original value before changing
it. This is a lot cheaper than using GraphicsContextStateSaver to save the
whole state of the GraphicsContext and restore it back;
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 4 Dec 2015 00:34:55 +0000 (00:34 +0000)]
[MediaStream] Update MediaStreamTrack.getCapabilities
https://bugs.webkit.org/show_bug.cgi?id=151728
Reviewed by Jer Noble.
Source/WebCore:
Test: fast/mediastream/MediaStreamTrack-getCapabilities.html
* CMakeLists.txt: Remove files deleted from the repository.
* DerivedSources.make: Ditto.
* Modules/mediastream/AllAudioCapabilities.h: Removed.
* Modules/mediastream/AllAudioCapabilities.idl: Removed.
* Modules/mediastream/AllVideoCapabilities.h: Removed.
* Modules/mediastream/AllVideoCapabilities.idl: Removed.
* Modules/mediastream/CapabilityRange.cpp: Removed.
* Modules/mediastream/CapabilityRange.h: Removed.
* Modules/mediastream/CapabilityRange.idl: Removed.
* Modules/mediastream/MediaSourceSettings.h:
(WebCore::MediaSourceSettings::supportsVolume): Volume is a double.
(WebCore::MediaSourceSettings::volume): Double.
* Modules/mediastream/MediaStreamCapabilities.cpp: Removed.
* Modules/mediastream/MediaStreamCapabilities.h: Removed.
* Modules/mediastream/MediaStreamCapabilities.idl: Removed.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getCapabilities): MediaStreamCapabilities is gone, return a RealtimeMediaSourceCapabilities.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:
* WebCore.xcodeproj/project.pbxproj: Remove files deleted from the repository.
* bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::capabilityValue):
(WebCore::JSMediaStreamTrack::getCapabilities): Create and return a dictionary of capatilities.
* platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::type):
(WebCore::CapabilityValueOrRange::CapabilityValueOrRange):
(WebCore::CapabilityValueOrRange::rangeMin):
(WebCore::CapabilityValueOrRange::rangeMax):
(WebCore::CapabilityValueOrRange::value):
(WebCore::RealtimeMediaSourceCapabilities::create):
(WebCore::RealtimeMediaSourceCapabilities::~RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilities::supportsWidth):
(WebCore::RealtimeMediaSourceCapabilities::width):
(WebCore::RealtimeMediaSourceCapabilities::setWidth):
(WebCore::RealtimeMediaSourceCapabilities::supportsHeight):
(WebCore::RealtimeMediaSourceCapabilities::height):
(WebCore::RealtimeMediaSourceCapabilities::setHeight):
(WebCore::RealtimeMediaSourceCapabilities::supportsFrameRate):
(WebCore::RealtimeMediaSourceCapabilities::frameRate):
(WebCore::RealtimeMediaSourceCapabilities::setFrameRate):
(WebCore::RealtimeMediaSourceCapabilities::supportsFacingMode):
(WebCore::RealtimeMediaSourceCapabilities::facingMode):
(WebCore::RealtimeMediaSourceCapabilities::addFacingMode):
(WebCore::RealtimeMediaSourceCapabilities::supportsAspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::aspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::setAspectRatio):
(WebCore::RealtimeMediaSourceCapabilities::supportsVolume):
(WebCore::RealtimeMediaSourceCapabilities::volume):
(WebCore::RealtimeMediaSourceCapabilities::setVolume):
(WebCore::RealtimeMediaSourceCapabilities::supportsSampleRate):
(WebCore::RealtimeMediaSourceCapabilities::sampleRate):
(WebCore::RealtimeMediaSourceCapabilities::setSampleRate):
(WebCore::RealtimeMediaSourceCapabilities::supportsSampleSize):
(WebCore::RealtimeMediaSourceCapabilities::sampleSize):
(WebCore::RealtimeMediaSourceCapabilities::setSampleSize):
(WebCore::RealtimeMediaSourceCapabilities::supportsEchoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::echoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::setEchoCancellation):
(WebCore::RealtimeMediaSourceCapabilities::supportsDeviceId):
(WebCore::RealtimeMediaSourceCapabilities::deviceId):
(WebCore::RealtimeMediaSourceCapabilities::setDeviceId):
(WebCore::RealtimeMediaSourceCapabilities::supportsGroupId):
(WebCore::RealtimeMediaSourceCapabilities::groupId):
(WebCore::RealtimeMediaSourceCapabilities::setGroupId):
(WebCore::RealtimeMediaSourceCapabilities::RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilityRange::RealtimeMediaSourceCapabilityRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::min): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::max): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::type): Deleted.
(WebCore::RealtimeMediaSourceCapabilityRange::supported): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::sourceId): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setSourceId): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::facingModes): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setWidthRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setHeightRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setFrameRateRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setAspectRatioRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setVolumeRange): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::hasVideoSource): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setHasVideoSource): Deleted.
* platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::volume): Volume is a double.
(WebCore::RealtimeMediaSourceSettings::setVolume): Ditt.
* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::initializeCapabilities): Initialize volume capability.
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::capabilities): RealtimeMediaSourceCapabilities constructor takes
supportedConstraints. sourceId -> deviceId.
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::initializeCapabilities): DeviceId is set by the base class.
* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm: Drive-by cleanup, remove unused code.
* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::initializeCapabilities): Updated.
(WebCore::MockRealtimeAudioSource::initializeSupportedConstraints): Ditto.
* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::capabilities): sourceId -> deviceId.
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::initializeCapabilities): Updated.
(WebCore::MockRealtimeVideoSource::initializeSupportedConstraints): Ditto.
LayoutTests:
* fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt: Added.
* fast/mediastream/MediaStreamTrack-getCapabilities.html: Added.
* fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
* fast/mediastream/MediaStreamTrack-getSettings.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Fri, 4 Dec 2015 00:23:09 +0000 (00:23 +0000)]
Fixed transient behavior when the cache plugin is enabled.
* wp-content/themes/webkit/functions.php:
* wp-content/themes/webkit/includes.php:
* wp-content/themes/webkit/nightly.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 4 Dec 2015 00:11:32 +0000 (00:11 +0000)]
B3 patchpoints should allow specifying output constraints
https://bugs.webkit.org/show_bug.cgi?id=151809
Reviewed by Benjamin Poulain.
JS call patchpoints should put their result into the result register, while most other patchpoints
should put their results into some register. I think that it's best if we just allow arbitrary
constraints on the result of a patchpoint. And by "arbitrary" I mean allowing the same kinds of
constraints as we allow on the stackmap children.
This also adds a large comment in B3StackmapValue.h that lays out the philosophy of our stackmaps
and patchpoints. I found it useful to write down the plan since it's pretty subtle.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::~PatchpointValue):
(JSC::B3::PatchpointValue::dumpMeta):
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/B3PatchpointValue.h:
(JSC::B3::PatchpointValue::accepts):
* b3/B3Procedure.h:
(JSC::B3::Procedure::code):
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::isValidImpl):
(JSC::B3::StackmapSpecial::appendRepsImpl):
(JSC::B3::StackmapSpecial::isArgValidForValue):
(JSC::B3::StackmapSpecial::isArgValidForRep):
(JSC::B3::StackmapSpecial::repForArg):
* b3/B3StackmapSpecial.h:
* b3/B3StackmapValue.h:
* b3/B3Validate.cpp:
* b3/B3ValueRep.h:
(JSC::B3::ValueRep::doubleValue):
* b3/testb3.cpp:
(JSC::B3::testPatchpointManyImms):
(JSC::B3::testPatchpointWithRegisterResult):
(JSC::B3::testPatchpointWithStackArgumentResult):
(JSC::B3::testPatchpointWithAnyResult):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):
* jit/RegisterSet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 3 Dec 2015 23:44:52 +0000 (23:44 +0000)]
Have layer memory use consult the backing store format
https://bugs.webkit.org/show_bug.cgi?id=151827
rdar://problem/
23746497
Reviewed by Dean Jackson.
Source/WebCore:
When computing the backing store memory size, take the pixel format into account,
rather than assuming 4 bytes per pixel.
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/ca/PlatformCALayer.h:
Source/WebKit2:
When computing the backing store memory size, take the pixel format into account,
rather than assuming 4 bytes per pixel.
* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::bytesPerPixel):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::backingStoreBytesPerPixel):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 3 Dec 2015 23:39:38 +0000 (23:39 +0000)]
Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
https://bugs.webkit.org/show_bug.cgi?id=151830
Reviewed by Anders Carlsson.
Source/WebKit/mac:
Add a new WebPreferences property invisibleAutoplayNotPermitted.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences invisibleAutoplayNotPermitted]):
(-[WebPreferences setInvisibleAutoplayNotPermitted:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted.
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _invisibleAutoplayNotPermitted]):
(-[WKWebViewConfiguration _setInvisibleAutoplayNotPermitted:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
Set invisibleAutoplayNotPermitted to NO by default both in WKTR and DRT.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 3 Dec 2015 22:54:40 +0000 (22:54 +0000)]
It should be possible to use version 6 of the WKPageUIClient without adopting the new createNewPage
https://bugs.webkit.org/show_bug.cgi?id=151826
Reviewed by Anders Carlsson.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
Pick which variant of createNewPage to use based on which function pointer is available,
not the version number.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Thu, 3 Dec 2015 22:47:29 +0000 (22:47 +0000)]
Add sub-section anchors to code style guidelines
https://bugs.webkit.org/show_bug.cgi?id=151770
Reviewed by Timothy Hatcher.
* code-style.md:
* wp-content/plugins/table-of-contents.php:
* wp-content/themes/webkit/includes.php:
* wp-content/themes/webkit/style.css:
(a[name]):
(p > a[name]::before):
(a[name]:hover):
(h6 a[name]):
(.admin-bar a[name]):
(.admin-bar p > a[name]::before):
(.screen-reader-text):
(.table-of-contents ul li > ul):
(#post-4132 pre:nth-child(-n+10)):
(#post-4132 pre:nth-child(-n+8)): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 3 Dec 2015 22:41:36 +0000 (22:41 +0000)]
Remove Objective-C GC support
https://bugs.webkit.org/show_bug.cgi?id=151819
rdar://problem/
23746991
Reviewed by Dan Bernstein.
Source/bmalloc:
* Configurations/Base.xcconfig:
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
* Configurations/ToolExecutable.xcconfig:
Source/ThirdParty/ANGLE:
* Configurations/Base.xcconfig:
Source/WebCore:
* Configurations/Base.xcconfig:
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject initialize]): Deleted.
(-[WebScriptObject finalize]): Deleted.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
(-[DOMTestActiveDOMObject finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCallback.mm:
(-[DOMTestCallback finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm:
(-[DOMTestCallbackFunction finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm:
(-[DOMTestCustomConstructorWithNoInterfaceObject finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
(-[DOMTestCustomNamedGetter finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
(-[DOMTestEventConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
(-[DOMTestEventTarget finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestException.mm:
(-[DOMTestException finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm:
(-[DOMTestGenerateIsReachable finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
(-[DOMTestInterface finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
(-[DOMTestJSBuiltinConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm:
(-[DOMTestMediaQueryListListener finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm:
(-[DOMTestNamedConstructor finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.mm:
(-[DOMTestNondeterministic finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm:
(-[DOMTestOverloadedConstructors finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.mm:
(-[DOMTestOverrideBuiltins finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
(-[DOMTestSerializedScriptValueInterface finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
(-[DOMTestTypedefs finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMattribute.mm:
(-[DOMattribute finalize]): Deleted.
* bindings/scripts/test/ObjC/DOMreadonly.mm:
(-[DOMreadonly finalize]): Deleted.
* bridge/objc/objc_instance.mm:
(ObjcInstance::virtualBegin):
(allocateAutoReleasePool): Deleted.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
* platform/mac/SharedBufferMac.mm:
(+[WebCoreSharedBufferData initialize]): Deleted.
(-[WebCoreSharedBufferData finalize]): Deleted.
* platform/mac/WebCoreObjCExtras.h:
(WebCoreObjCFinalizeOnMainThread): Deleted.
Source/WebInspectorUI:
* Configurations/Base.xcconfig:
Source/WebKit/mac:
* Carbon/CarbonWindowAdapter.mm:
(+[CarbonWindowAdapter initialize]): Deleted.
(-[CarbonWindowAdapter finalize]): Deleted.
* Configurations/Base.xcconfig:
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]): Deleted.
(-[WebBackForwardList finalize]): Deleted.
* History/WebHistory.mm:
(-[WebHistoryPrivate finalize]): Deleted.
(-[WebHistory finalize]): Deleted.
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]): Deleted.
(-[WebHistoryItem finalize]): Deleted.
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]): Deleted.
(-[WebElementDictionary finalize]): Deleted.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]): Deleted.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView finalize]): Deleted.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage finalize]): Deleted.
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]): Deleted.
(-[WebNetscapePluginView finalize]): Deleted.
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck finalize]): Deleted.
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]): Deleted.
(-[WebUndoStep finalize]): Deleted.
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebOpenPanelResultListener.mm:
(-[WebOpenPanelResultListener finalize]): Deleted.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin finalize]): Deleted.
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]): Deleted.
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]): Deleted.
(-[WebDataSource finalize]): Deleted.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView finalize]): Deleted.
* WebView/WebFrame.mm:
(-[WebFramePrivate setWebFrameView:]):
(-[WebFramePrivate finalize]): Deleted.
(-[WebFrame finalize]): Deleted.
* WebView/WebFrameView.mm:
(-[WebFrameView finalize]): Deleted.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation finalize]): Deleted.
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(-[WebHTMLViewPrivate finalize]): Deleted.
(+[WebHTMLView initialize]): Deleted.
(-[WebHTMLView finalize]): Deleted.
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]): Deleted.
(-[WebResourcePrivate finalize]): Deleted.
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]): Deleted.
* WebView/WebView.mm:
(-[WebView finalize]): Deleted.
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]): Deleted.
(-[WebViewPrivate init]): Deleted.
(-[WebViewPrivate finalize]): Deleted.
Source/WebKit2:
* Configurations/Base.xcconfig:
* Configurations/BaseLegacyProcess.xcconfig:
* Configurations/BaseXPCService.xcconfig:
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Deleted.
Source/WTF:
* Configurations/Base.xcconfig:
* wtf/ThreadingPthreads.cpp:
(WTF::initializeCurrentThreadInternal): Deleted.
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
(garbageCollectionEnabled): Deleted.
(WTF::StringWrapperCFAllocator::create): Deleted.
Tools:
* asan/asan.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 3 Dec 2015 22:32:59 +0000 (22:32 +0000)]
Attempt to fix GTK again after r193125
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-03
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 3 Dec 2015 22:24:17 +0000 (22:24 +0000)]
Attempt to fix GTK after r193125
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-03
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):
GCC is unable to handle EBX correctly when clobbered by inline asm.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 3 Dec 2015 22:06:17 +0000 (22:06 +0000)]
Uncaught Exception in Web Inspector: TypeError: null is not an object (evaluating 'dataGridNode.element.classList')
https://bugs.webkit.org/show_bug.cgi?id=151790
Reviewed by Timothy Hatcher.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGridNode):
(WebInspector.DataGridNode.prototype.get hidden):
(WebInspector.DataGridNode.prototype.set hidden):
Make hidden a property, so it can be set before the grid node's DOM element exists.
(WebInspector.DataGridNode.prototype.get selectable):
(WebInspector.DataGridNode.prototype.get element):
Add hidden style, if needed, when element is created.
* UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementVisibilityDidChange):
(WebInspector.TreeOutlineDataGridSynchronizer):
Don't access the grid node's element directly, since it may not exist yet.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 3 Dec 2015 21:59:17 +0000 (21:59 +0000)]
Simple line layout: Print out simple line layout statistics for the current page from command line.
https://bugs.webkit.org/show_bug.cgi?id=151806
Reviewed Simon Fraser.
com.apple.WebKit.showSimpleLineLayoutCoverage prints out a coverage summary of the current page,
while com.apple.WebKit.showSimpleLineLayoutReasons lists the non-simple line layout blocks including the reasons why
they are not covered.
No change in functionality.
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseForFontAndText):
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::printReason):
(WebCore::SimpleLineLayout::printReasons):
(WebCore::SimpleLineLayout::printTextForSubtree):
(WebCore::SimpleLineLayout::textLengthForSubtree):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList):
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Thu, 3 Dec 2015 21:44:51 +0000 (21:44 +0000)]
bmalloc: extra large allocations could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=151817
Reviewed by Geoffrey Garen.
Reduced the super chunk size from 4MB to 2MB.
Added path to reallocate() of an extra large object to see if we can extend the allocation.
* bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate):
* bmalloc/SegregatedFreeList.h:
* bmalloc/Sizes.h:
* bmalloc/VMAllocate.h:
(bmalloc::tryVMAllocate):
(bmalloc::tryVMExtend):
(bmalloc::vmAllocate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 21:17:07 +0000 (21:17 +0000)]
Removing deleted test storage/indexeddb/objectstore-keycursor.html from TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=151772
Unreviewed test gardening.
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Thu, 3 Dec 2015 21:09:41 +0000 (21:09 +0000)]
FTL::OSRExitDescriptor should use less memory by having a companion object that dies after compilation
https://bugs.webkit.org/show_bug.cgi?id=151795
Reviewed by Geoffrey Garen.
There were a few fields on FTL::OSRExitDescriptor that are only
needed during compilation. This patch introduces OSRExitDescriptorImpl
which is a struct that we create for each OSRExitDescriptor. The difference is
that OSRExitDescriptorImpl lives off of FTL::State so it dies after we compile.
This way no unnecessary fields persist after the compilation.
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getCallOSRExitCommon):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExitDescriptor::emitOSRExit):
(JSC::FTL::OSRExitDescriptor::emitOSRExitLater):
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):
(JSC::FTL::OSRExit::willArriveAtExitFromIndirectExceptionCheck):
(JSC::FTL::exceptionTypeWillArriveAtOSRExitFromGenericUnwind):
(JSC::FTL::OSRExit::willArriveAtOSRExitFromGenericUnwind):
(JSC::FTL::OSRExit::willArriveAtOSRExitFromCallOperation):
(JSC::FTL::OSRExitDescriptor::isExceptionHandler): Deleted.
* ftl/FTLOSRExit.h:
(JSC::FTL::OSRExitDescriptorImpl::OSRExitDescriptorImpl):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
* ftl/FTLState.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 3 Dec 2015 20:57:55 +0000 (20:57 +0000)]
Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Thu, 3 Dec 2015 20:56:40 +0000 (20:56 +0000)]
Add WebCrypto to status page
https://bugs.webkit.org/show_bug.cgi?id=151760
Reviewed by Timothy Hatcher.
* features.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 20:46:13 +0000 (20:46 +0000)]
[Win] fast/forms/HTMLOptionElement_label03.html failing on win7
https://bugs.webkit.org/show_bug.cgi?id=150909
rdar://problem/
23539673
Patch by Keith Rollin <krollin@apple.com> on 2015-12-03
Reviewed by Darin Adler.
Source/WebCore:
When returning text to be displayed, an <option> element will return
the value of a label attribute if it exists, or the text content as a
fallback. The failing test concerned the display of a <select>
element when it contained a sole <option> element that had a label
attribute set to a single space. When displayed, various
platform-specific bits of code will strip off the leading and trailing
whitespace. However, when WebKit would use this text to measure how
wide the <select> popup menu button should be, it would not strip off
spaces, leading to the calculated width being wider than necessary.
The approach taken to fix this is to strip whitespace in the label
attribute before it is returned from the <option> element.
No new tests. fast/forms/HTMLOptionElement_label03.html had been
marked as being expected to fail in TestExpectations; that test now
succeeds.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::label):
LayoutTests:
Mark fast/forms/HTMLOptionElement_label03.html as being expected to
pass. Also update some text in HTMLOptionElement_label02.html and
HTMLOptionElement_label03.html so that it no longer refers to our
trying to match IE (which we are no longer doing).
* fast/forms/HTMLOptionElement_label02.html:
* fast/forms/HTMLOptionElement_label03.html:
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 3 Dec 2015 20:44:12 +0000 (20:44 +0000)]
Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
<rdar://problem/
23320863>
https://bugs.webkit.org/show_bug.cgi?id=151708
(Add missing function definitions)
* UIProcess/API/C/WKPage.cpp:
(WKPageRunJavaScriptAlertResultListenerGetTypeID):
(WKPageRunJavaScriptAlertResultListenerCall):
(WKPageRunJavaScriptConfirmResultListenerGetTypeID):
(WKPageRunJavaScriptConfirmResultListenerCall):
(WKPageRunJavaScriptPromptResultListenerGetTypeID):
(WKPageRunJavaScriptPromptResultListenerCall):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 3 Dec 2015 20:39:26 +0000 (20:39 +0000)]
Try to fix the Windows build.
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 3 Dec 2015 20:12:38 +0000 (20:12 +0000)]
Fix 64-bit Windows build after r193125.
https://bugs.webkit.org/show_bug.cgi?id=151799
Reviewed by Michael Saboff.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsLZCNT):
Use __cpuid intrinsic instead of inline assembly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 3 Dec 2015 20:07:00 +0000 (20:07 +0000)]
Modern IDB: storage/indexeddb/cursor-advance.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151731
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::advance): Return a custom exception message for TypeError.
* Modules/indexeddb/client/IDBCursorImpl.h:
* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::advance):
* Modules/indexeddb/legacy/LegacyCursor.h:
* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException):
(WebCore::setDOMException):
* bindings/js/JSDOMBinding.h:
* bindings/scripts/IDLAttributes.txt:
* inspector/InspectorIndexedDBAgent.cpp:
LayoutTests:
* platform/mac-wk1/TestExpectations:
* storage/indexeddb/cursor-advance-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 3 Dec 2015 20:06:17 +0000 (20:06 +0000)]
Allow JavaScript to iterate over plugins for local files
https://bugs.webkit.org/show_bug.cgi?id=151783
<rdar://problem/
23692113>
Source/WebCore:
Reviewed by Alexey Proskuryakov.
Test: http/tests/plugins/plugin-javascript-access.html
plugins/plugin-javascript-access.html
* page/Page.cpp:
(WebCore::Page::showAllPlugins): True if we set the debugging flag to show
all plugins, or if the document's origin is from a local file.
* page/Page.h:
LayoutTests:
Modify the existing 'local file' plugin tests so that they don't turn on the debugging
flag to allow iterating over all plugins. Then create a new HTTP test (based on the
existing plugin-javascript-access test) to make sure that plugin iteration is blocked
for non-local-file access.
Reviewed by Alexey Proskuryakov.
* http/tests/plugins/plugin-javascript-access-expected.txt: Added.
* http/tests/plugins/plugin-javascript-access.html: Added.
* plugins/plugin-javascript-access.html: Remove unneeded 'internals.setShowAllPlugins' call.
* plugins/script-tests/navigator-mimeTypes-length.js: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 3 Dec 2015 20:01:57 +0000 (20:01 +0000)]
FTL B3 should support OSR exit
https://bugs.webkit.org/show_bug.cgi?id=151710
Reviewed by Saam Barati.
Source/JavaScriptCore:
This adds OSR exit support using the same style that I established with lazy slow paths. All of
the work is driven by FTL::LowerDFGToLLVM, and from there any work that needs to be deferred
until after B3 finishes is attached to the stackmap generator. In order to make it easy to port
all of the different forms of OSR exit - invalidation points, exceptions, etc. - the logic for
registering an OSR exit is abstracted behind OSRExitDescriptor and OSRExitHandle.
An issue that I encountered repeatedly in this patch is OSRExitDescriptor being passed as a
reference (&) rather than pointer (*). The new code uses a lot of lambdas that run after the
current frame pops, so the capture list cannot be [&]. I believe that always listing all of the
captured variables is not scalable considering how sophisticated our use of lambdas is. So, it
makes sense to use [=]. But anytime we captured a variable whose type was OSRExitDescriptor&, it
would be captured by value, because that's how references work. One has to be mindful of these
things whenever using [=]. Note that it's not enough to say that we should have listed the
captured variables explicitly - in that case, we still could have made the mistake by forgetting
to put & in front of the variant. The pattern that worked for me to reason about whether I'm
capturing an object or a pointer to an object is to always use pointer types for pointers: either
RefPtr<> when we also want the lambda to prolong the object's life, or * if we are confident that
the object will stay alive. For this reason, this patch changes all code that references
OSRExitDescriptor to use * instead of &. Consistency makes the code easier to grok, and it made
it easier to introduce the required uses of * in places where there were lambdas.
I tested this by running imaging-gaussian-blur, and running some tests that reqiure OSR exit. I'm
not promising that all kinds of exits work, but we have to begin somewhere.
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3Compilation.cpp:
(JSC::B3::Compilation::Compilation):
(JSC::B3::Compilation::~Compilation):
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::addDataSection):
(JSC::B3::Procedure::frameSize):
(JSC::B3::Procedure::calleeSaveRegisters):
* b3/B3Procedure.h:
(JSC::B3::Procedure::releaseByproducts):
(JSC::B3::Procedure::code):
(JSC::B3::Procedure::takeByproducts): Deleted.
* b3/air/AirCode.h:
(JSC::B3::Air::Code::setFrameSize):
(JSC::B3::Air::Code::calleeSaveRegisters):
* b3/air/AirGenerationContext.h:
* ftl/FTLB3Compile.cpp:
(JSC::FTL::compile):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getCallOSRExitCommon):
* ftl/FTLExitThunkGenerator.cpp:
* ftl/FTLExitThunkGenerator.h:
* ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::JITCode):
(JSC::FTL::JITCode::initializeB3Code):
(JSC::FTL::JITCode::initializeB3Byproducts):
(JSC::FTL::JITCode::initializeExitThunks):
(JSC::FTL::JITCode::validateReferences):
(JSC::FTL::JITCode::liveRegistersToPreserveAtExceptionHandlingCallSite):
* ftl/FTLJITCode.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLJITFinalizer.h:
* ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::emit):
* ftl/FTLJSCallBase.cpp:
(JSC::FTL::JSCallBase::emit):
* ftl/FTLJSTailCall.cpp:
(JSC::FTL::JSTailCall::JSTailCall):
(JSC::FTL::JSTailCall::emit):
(JSC::FTL::DFG::getRegisterWithAddend): Deleted.
(JSC::FTL::m_instructionOffset): Deleted.
* ftl/FTLJSTailCall.h:
(JSC::FTL::JSTailCall::patchpoint):
(JSC::FTL::JSTailCall::stackmapID):
(JSC::FTL::JSTailCall::estimatedSize):
(JSC::FTL::JSTailCall::operator<):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap):
(JSC::FTL::lowerDFGToLLVM):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExitDescriptor::appendOSRExit):
(JSC::FTL::OSRExitDescriptor::appendOSRExitLater):
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):
(JSC::FTL::OSRExit::spillRegistersToSpillSlot):
(JSC::FTL::OSRExit::recoverRegistersFromSpillSlot):
(JSC::FTL::OSRExit::willArriveAtExitFromIndirectExceptionCheck):
* ftl/FTLOSRExit.h:
(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):
* ftl/FTLOSRExitCompilationInfo.h:
(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::reboxAccordingToFormat):
(JSC::FTL::compileRecovery):
(JSC::FTL::compileStub):
(JSC::FTL::compileFTLOSRExit):
* ftl/FTLOSRExitHandle.cpp: Added.
(JSC::FTL::OSRExitHandle::emitExitThunk):
* ftl/FTLOSRExitHandle.h: Added.
(JSC::FTL::OSRExitHandle::OSRExitHandle):
* ftl/FTLState.cpp:
(JSC::FTL::State::State):
(JSC::FTL::State::~State):
Source/WTF:
Make sure that this has perfect forwarding.
* wtf/SegmentedVector.h:
(WTF::SegmentedVector::append):
(WTF::SegmentedVector::alloc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 3 Dec 2015 19:56:44 +0000 (19:56 +0000)]
Unreviewed build-fix; missing include.
* html/HTMLVideoElement.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 3 Dec 2015 19:52:52 +0000 (19:52 +0000)]
Source/WebCore:
Modern IDB: storage/indexeddb/cursor-skip-deleted.html crashes.
https://bugs.webkit.org/show_bug.cgi?id=151794
Reviewed by Alex Christensen.
STL reverse_iterators are a tricky beast.
They are implemented in terms of a normal forward iterator (called the "base" iterator),
and they decrement a copy of that iterator when dereferenced.
So when monitoring deletes from a std::set to check if we should invalidate our current
reverse_iterator, we were incorrectly comparing the deleted key to the value pointed by the
reverse_iterator instead of its base iterator.
Since the iterators in question are bidirectional, anyways, we can just use a single iterator
and either increment or decrement it as needed.
No new tests (At least one failing (crashing) test now passes).
* Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::objectStoreCleared):
(WebCore::IDBServer::MemoryObjectStoreCursor::keyDeleted):
(WebCore::IDBServer::MemoryObjectStoreCursor::keyAdded):
(WebCore::IDBServer::MemoryObjectStoreCursor::setFirstInRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::setForwardIteratorFromRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::setReverseIteratorFromRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::currentData):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator):
(WebCore::IDBServer::MemoryObjectStoreCursor::iterate):
(WebCore::IDBServer::MemoryObjectStoreCursor::firstForwardIteratorInRemainingRange): Deleted.
(WebCore::IDBServer::MemoryObjectStoreCursor::firstReverseIteratorInRemainingRange): Deleted.
(WebCore::IDBServer::MemoryObjectStoreCursor::hasIterators): Deleted.
(WebCore::IDBServer::MemoryObjectStoreCursor::hasValidPosition): Deleted.
(WebCore::IDBServer::MemoryObjectStoreCursor::clearIterators): Deleted.
* Modules/indexeddb/server/MemoryObjectStoreCursor.h:
LayoutTests:
Modern IDB: storage/indexeddb/cursor-skip-deleted.html fails.
https://bugs.webkit.org/show_bug.cgi?id=151794
Reviewed by Alex Christensen.
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 3 Dec 2015 19:34:21 +0000 (19:34 +0000)]
Add a basic compositing Animometer test
https://bugs.webkit.org/show_bug.cgi?id=151724
Reviewed by Dean Jackson.
Add a "bouncing particles" test that moves composited layers around, optionally with a filter.
This is added under a new "Miscellaneous" category.
Remove the test templates category from the UI.
* Animometer/runner/resources/tests.js:
* Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
(BouncingCssShape.prototype.animate):
* Animometer/tests/misc/compositing-transforms.html: Added.
* Animometer/tests/misc/resources/compositing-transforms.js: Added.
(BouncingCompositedImage):
(BouncingCompositedImage.prototype._move):
(BouncingCompositedImage.prototype.animate):
(CompositingTransformsStage):
(CompositingTransformsStage.prototype.createParticle):
(CompositingTransformsStage.prototype.particleWillBeRemoved):
(CompositedTransformsBenchmark):
(CompositedTransformsBenchmark.prototype.createStage):
(window.benchmarkClient.create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 19:33:15 +0000 (19:33 +0000)]
REGRESSION:(r192753): Remote Web Inspector: RemoteInspector::sendMessageToRemote with null connection
https://bugs.webkit.org/show_bug.cgi?id=151789
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-12-03
Reviewed by Timothy Hatcher.
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::sendMessageToRemote):
Bail if the connection is no longer available. It may have
been closed remotely.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 19:28:40 +0000 (19:28 +0000)]
REGRESSION:(r192753): Remote Web Inspector: Window immediately closes after opening
https://bugs.webkit.org/show_bug.cgi?id=151788
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-12-03
Reviewed by Timothy Hatcher.
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::pushListingsNow):
The key at the outer level was not a string. Ensure it is a
string for backwards compatibility. One day we may use
non-numeric page identifiers as listing keys.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peavo@outlook.com [Thu, 3 Dec 2015 19:27:49 +0000 (19:27 +0000)]
[WinCairo][MediaFoundation] Main thread can block when session is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=151803
Reviewed by Alex Christensen.
Set flag to make sure that the scheduler thread stops when the session ends.
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 3 Dec 2015 19:12:26 +0000 (19:12 +0000)]
[iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
https://bugs.webkit.org/show_bug.cgi?id=150906
Reviewed by Simon Fraser.
Source/WebCore:
When restoring the user interface when exiting PiP, we should return to Fullscreen if that
is where fullscreen was initiated from. Additionally, when we "auto-PiP" by backgrounding the
app in Fullscreen mode, we should "auto-un-PiP" when restoring the application to foreground.
Rather than have a separate method to request exiting fullscreen, entering standard fullscreen,
and switching to & from PiP, add a new method setFullscreenMode() which does all three.
* html/HTMLVideoElement.cpp:
(WebCore::presentationModeToFullscreenMode):
(WebCore::HTMLVideoElement::webkitSetPresentationMode):
(WebCore::HTMLVideoElement::setFullscreenMode):
* html/HTMLVideoElement.h:
Add methods to for clients to request a specific fullscreen mode, and to query whether
the page is currently visible.
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::requestFullscreenMode):
(WebVideoFullscreenControllerContext::isVisible):
(WebVideoFullscreenControllerContext::requestExitFullscreen): Deleted.
* platform/ios/WebVideoFullscreenModel.h:
* platform/ios/WebVideoFullscreenModelVideoElement.h:
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::requestFullscreenMode):
(WebVideoFullscreenModelVideoElement::isVisible):
(WebVideoFullscreenModelVideoElement::requestExitFullscreen): Deleted.
Track whether returning from PiP should enter fullscreen, or whether foregrounding the app
should cause PiP to return to fullscreen.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer layoutSublayers]): Renamed from -setBounds:. -layoutSublayers is called
more consistently than -setBounds:, including when a sublayer is added to the layer.
(WebAVPlayerLayerView_stopRoutingVideoToPictureInPicturePlayerLayerView): The PiP WebAVPlayerLayer's
modelVideoLayerFrame property may have been modified, so pass it back up to the fullscreen
layer when exiting PiP.
(WebVideoFullscreenInterfaceAVKit::applicationDidBecomeActive): Request fullscreen if we auto-PiPed.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Only recreate owned objects if they did not already exist.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): If we are in PiP mode, enter fullscreen by stopping PiP.
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): requestExitFullscreen() -> requestFullscreenMode().
(WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture): Animate out the fullscreen window, if exiting Fullscreen -> PiP.
(WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture): Set m_shouldReturnToFullscreenAfterEnteringForeground if we auto-PiPed.
(WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture): requestExitFullscreen() -> requestFullscreenMode().
(WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture): If we are returning from PiP -> Fullscreen, do not hide the fullscreen window.
(WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture): If we are returning from PiP -> Fullscreen, show the controls and notify clients.
(WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler): Animate in the fullscreen window, if returning from PiP -> Fullscreen.
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Set m_shouldReturnToFullscreenWhenStoppingPiP if we are entering PiP from Fullscreen.
* platform/spi/cocoa/AVKitSPI.h:
Source/WebKit2:
Add methods to pass isVisible(), applicationDidBecomeActive(), and requestFullscreenMode()
to and from models and interfaces.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidBecomeActive): Notify the fullscreen manager, if preset.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenModelContext::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
(WebKit::WebVideoFullscreenModelContext::isVisible): Added.
(WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive): Pass to all existing interfaces.
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Do not re-create the view if it already exists.
(WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
(WebKit::WebVideoFullscreenManagerProxy::isVisible): Added. Query Page::isVisible() and Page::isInWindow(), the latter because
PiP will cause Page::isVisible() to be TRUE even when the containing tab is backgrounded.
(WebKit::WebVideoFullscreenModelContext::requestExitFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen): Deleted.
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Only resize the view if we are not already in one of
the fullscreen modes.
(WebKit::WebVideoFullscreenManager::requestFullscreenMode): Renamed from requestExitFullscreen().
(WebKit::WebVideoFullscreenManager::requestExitFullscreen): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 3 Dec 2015 19:06:45 +0000 (19:06 +0000)]
Promise callbacks should be called at microtask checkpoints
https://bugs.webkit.org/show_bug.cgi?id=147933
Reviewed by Chris Dumez.
Source/WebCore:
- Re-names MicroTaskQueue and MicroTask to MicrotaskQueue and Microtask to match the spec language.
- Re-implements MicrotaskQueue and Microtask support suspended Microtasks (via the new KeepInQueue
result value a Microtask can have when running) and correct behavior when Microtasks are added to
the queue during a Microtask checkpoint.
- MicrotaskQueue now has a mainThreadQueue() static function, replacing the old singleton() function,
which can be used for the Document (non-Worker) Microtasks. For Workers, the a MicrotaskQueue
can be separately allocated for each WorkerGlobalScope (though this was not done in this change).
- Adds a helper subclass of Microtask, ActiveDOMCallbackMicrotask, for Microtasks that are
per-ScriptExecutationContext, and need to act as ActiveDOMCallbacks.
- Re-implement Document (non-Worker) Promises on top of ActiveDOMCallbackMicrotask.
- Re-implement MutationObserver delivery on top of Microtask.
Layout Test:
fast/dom/microtask-promise-mutation-observer-order.html
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
Add new files.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
Switch to using ActiveDOMCallbackMicrotask/MicrotaskQueue rather than ScriptExecutionContext's Task mechanism
for JavaScriptCore tasks.
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::JSMainThreadExecState::didLeaveScriptContext):
Perform a microtask checkpoint rather than calling MutationObserver code explicitly now that mutation observers
use microtasks.
* dom/ActiveDOMCallbackMicrotask.cpp: Added.
(WebCore::ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask):
(WebCore::ActiveDOMCallbackMicrotask::~ActiveDOMCallbackMicrotask):
(WebCore::ActiveDOMCallbackMicrotask::run):
(WebCore::ActiveDOMCallbackMicrotask::contextDestroyed):
* dom/ActiveDOMCallbackMicrotask.h: Added.
Add a helper subclass of Microtask which behaves like a ActiveDOMCallback (e.g. supports suspension
and context destruction).
* dom/MicroTask.cpp: Renamed to Microtasks.cpp.
* dom/MicroTask.h: Renamed to Microtasks.h.
* dom/Microtasks.cpp: Renamed from Source/WebCore/dom/MicroTask.cpp.
(WebCore::Microtask::removeSelfFromQueue):
(WebCore::MicrotaskQueue::mainThreadQueue):
(WebCore::MicrotaskQueue::append):
(WebCore::MicrotaskQueue::remove):
(WebCore::MicrotaskQueue::performMicrotaskCheckpoint):
(WebCore::MicroTaskQueue::singleton): Deleted.
(WebCore::MicroTaskQueue::queueMicroTask): Deleted.
(WebCore::MicroTaskQueue::runMicroTasks): Deleted.
* dom/Microtasks.h: Renamed from Source/WebCore/dom/MicroTask.h.
(WebCore::Microtask::~Microtask):
(WebCore::MicrotaskQueue::MicrotaskQueue):
(WebCore::MicrotaskQueue::~MicrotaskQueue):
(WebCore::MicroTask::~MicroTask): Deleted.
(WebCore::MicroTaskQueue::~MicroTaskQueue): Deleted.
(WebCore::MicroTaskQueue::MicroTaskQueue): Deleted.
Re-implement MicrotaskQueue and Microtask to support Microtask suspension (via the KeepInQueue result
value) and correct behavior when Microtasks are queued during checkpoints.
* dom/MutationObserver.cpp:
(WebCore::suspendedMutationObservers):
(WebCore::MutationObserverMicrotask::MutationObserverMicrotask):
(WebCore::MutationObserverMicrotask::~MutationObserverMicrotask):
(WebCore::MutationObserverMicrotask::run):
(WebCore::queueMutationObserverCompoundMicrotask):
(WebCore::MutationObserver::enqueueMutationRecord):
(WebCore::MutationObserver::setHasTransientRegistration):
* dom/MutationObserver.h:
Re-implement MutationObserver delivery on top of Microtasks.
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Remove unnecessary call to runMicroTasks().
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):
Remove calls to MutationObserver::deliverAllMutations() now that the MicrotaskQueue will take care of it.
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
Remove unnecessary call to runMicroTasks().
* testing/Internals.cpp:
(WebCore::Internals::queueMicroTask):
Use ActiveDOMCallbackMicrotask rather than a custom test subclass.
* testing/MicroTaskTest.cpp: Removed.
* testing/MicroTaskTest.h: Removed.
Remove custom test subclass of Microtask, just use ActiveDOMCallbackMicrotask directly.
LayoutTests:
* fast/dom/microtask-promise-mutation-observer-order-expected.txt: Added.
* fast/dom/microtask-promise-mutation-observer-order.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 18:55:54 +0000 (18:55 +0000)]
REGRESSION(r192753): Remote Web Inspector: Enabling Remote Inspection on Auto Inspect candidate Debuggable doesn't show up in debuggers
https://bugs.webkit.org/show_bug.cgi?id=151792
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-12-03
Reviewed by Brian Burg.
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
When m_debuggablesMap was split into both m_targetMap and m_listingMap
this particular case was missed in updating both the target and listing
when the target is updated. We should match RemoteInspector::updateTarget
and update the listing map as the debuggable may have changed to be
allowed to debug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 3 Dec 2015 18:49:50 +0000 (18:49 +0000)]
ASSERT_WITH_SECURITY_IMPLICATION in WebCore::DocumentOrderedMap::add()
https://bugs.webkit.org/show_bug.cgi?id=126662
<rdar://problem/
15775508>
Reviewed by Brent Fulgham.
Add test to ensure that we do not assert when inserting a subtree that has an element with
a duplicate id before removing the original subtree.
* svg/custom/insert-subtree-with-duplicate-id-before-removing-subtree-expected.txt: Added.
* svg/custom/insert-subtree-with-duplicate-id-before-removing-subtree.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 18:49:04 +0000 (18:49 +0000)]
[JSC] Add CLZ support to B3
https://bugs.webkit.org/show_bug.cgi?id=151799
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-03
Reviewed by Michael Saboff.
Previously we were counting on LLVM to select LZCNT
when its available.
Since we have to do that ourself now, I added feature
detection based on the CPUID. The MacroAssembler just
pick the best available lowering based on the platform.
* assembler/MacroAssemblerX86Common.cpp:
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::countLeadingZeros32):
(JSC::MacroAssemblerX86Common::supportsLZCNT):
(JSC::MacroAssemblerX86Common::clz32AfterBsr):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::countLeadingZeros64):
(JSC::MacroAssemblerX86_64::clz64AfterBsr):
* assembler/X86Assembler.h:
(JSC::X86Assembler::lzcnt_rr):
(JSC::X86Assembler::lzcnt_mr):
(JSC::X86Assembler::lzcntq_rr):
(JSC::X86Assembler::lzcntq_mr):
(JSC::X86Assembler::bsr_mr):
(JSC::X86Assembler::bsrq_rr):
(JSC::X86Assembler::bsrq_mr):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Opcode.cpp:
(WTF::printInternal):
* b3/B3Opcode.h:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::countLeadingZero):
(JSC::B3::testClzArg64):
(JSC::B3::testClzMem64):
(JSC::B3::testClzArg32):
(JSC::B3::testClzMem32):
(JSC::B3::doubleOperands):
(JSC::B3::run):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::ctlz32):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithClz32):
* ftl/FTLOutput.h:
(JSC::FTL::Output::ctlz32):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 3 Dec 2015 18:46:51 +0000 (18:46 +0000)]
Add GetterRaisesExceptionWithMessage and SetterRaisesExceptionWithMessage to the code generator.
https://bugs.webkit.org/show_bug.cgi?id=151807
Reviewed by Alex Christensen.
No new tests (Covered by changes to existing bindings tests).
While we're at it, rework the existing 'RaisesExceptionWithMessage' concept to use a struct instead of
two separate variables to reduce complexity.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):
(GenerateParametersCheck): Deleted.
(GenerateReturnParameters): Deleted.
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_get_attr_with_getter_exception_with_message):
(webkit_dom_test_obj_set_attr_with_getter_exception_with_message):
(webkit_dom_test_obj_get_attr_with_setter_exception_with_message):
(webkit_dom_test_obj_set_attr_with_setter_exception_with_message):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj attrWithGetterExceptionWithMessage]):
(-[DOMTestObj setAttrWithGetterExceptionWithMessage:]):
(-[DOMTestObj attrWithSetterExceptionWithMessage]):
(-[DOMTestObj setAttrWithSetterExceptionWithMessage:]):
* bindings/scripts/test/TestObj.idl:
* dom/ExceptionCode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jfernandez@igalia.com [Thu, 3 Dec 2015 17:57:13 +0000 (17:57 +0000)]
[css-grid] margin-left:auto and margin-top:auto discards the margin on opposite side
https://bugs.webkit.org/show_bug.cgi?id=151802
Reviewed by Sergio Villar Senin.
Source/WebCore:
When resolving auto margins so that they use the available space, in the
corresponding axis, we must consider that there might be other specified
margins. Such margins must account to determine the actual available space.
Test: fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded):
(WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded):
LayoutTests:
Tests to verify the specified margins account for determining the available space for
auto-margins alignment.
* fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins-expected.txt: Added.
* fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 17:08:37 +0000 (17:08 +0000)]
Rebaselining svg/custom/bug78807.svg since actual results now match Mac expectations
https://bugs.webkit.org/show_bug.cgi?id=151804
Unreviewed test gardening.
* platform/win/svg/custom/bug78807-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192999
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 16:43:46 +0000 (16:43 +0000)]
Skipping failing sputnik/Unicode/Unicode_510 tests pending further investigation
https://bugs.webkit.org/show_bug.cgi?id=151505
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 16:18:48 +0000 (16:18 +0000)]
Marking fast/css/pseudo-visited-background-color-on-input.html as failing on win
https://bugs.webkit.org/show_bug.cgi?id=151756
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 16:14:25 +0000 (16:14 +0000)]
fast/borders/hidpi-border-clipping-right-after-move.html
https://bugs.webkit.org/show_bug.cgi?id=151754
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 3 Dec 2015 12:51:17 +0000 (12:51 +0000)]
Move ResourceLoadScheduler to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=151743
Reviewed by Alex Christensen.
Source/WebCore:
It is no longer used by WebKit2. Simplify the WebKit/WebCore interface.
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
* dom/Document.h:
* loader/DocumentLoader.h:
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::~LoaderStrategy):
(WebCore::ResourceLoadSuspender::ResourceLoadSuspender):
(WebCore::ResourceLoadSuspender::~ResourceLoadSuspender):
(WebCore::LoaderStrategy::resourceLoadScheduler): Deleted.
(WebCore::LoaderStrategy::loadResourceSynchronously): Deleted.
(WebCore::LoaderStrategy::createBlobRegistry): Deleted.
(WebCore::LoaderStrategy::createPingHandle): Deleted.
* loader/LoaderStrategy.h:
Loading functions implemented on WebKit side move to pure virtual LoaderStrategy.
* loader/ResourceLoadScheduler.cpp: Removed.
* loader/ResourceLoadScheduler.h: Removed.
ResourceLoadScheduler moves to WebKit1 as WebResourceLoadScheduler.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::finishNetworkLoad):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::frameLoader):
(WebCore::ResourceLoader::willSwitchToSubstituteResource):
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/archive/ArchiveResourceCollection.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::performPostLoadActions):
(WebCore::CachedResourceLoader::incrementRequestCount):
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::pluginStrategy):
(WebCore::PlatformStrategies::blobRegistry):
Move BlobRegistry factory function here from LoaderStrategy as this allows network process to have null loaderStrategy.
(it could be renamed BlobStrategy for consistency later).
(WebCore::PlatformStrategies::PlatformStrategies):
* platform/network/BlobRegistry.cpp:
(WebCore::blobRegistry):
(WebCore::BlobRegistry::~BlobRegistry):
* platform/network/ResourceRequestBase.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler):
(WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
Source/WebKit:
* WebCoreSupport/WebResourceLoadScheduler.cpp: Copied from Source/WebCore/loader/ResourceLoadScheduler.cpp.
(webResourceLoadScheduler):
(WebResourceLoadScheduler::hostForURL):
(WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebResourceLoadScheduler::~WebResourceLoadScheduler):
(WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebResourceLoadScheduler::loadResourceSynchronously):
(WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebResourceLoadScheduler::scheduleLoad):
(WebResourceLoadScheduler::remove):
(WebResourceLoadScheduler::setDefersLoading):
(WebResourceLoadScheduler::crossOriginRedirectReceived):
(WebResourceLoadScheduler::servePendingRequests):
(WebResourceLoadScheduler::suspendPendingRequests):
(WebResourceLoadScheduler::resumePendingRequests):
(WebResourceLoadScheduler::scheduleServePendingRequests):
(WebResourceLoadScheduler::requestTimerFired):
(WebResourceLoadScheduler::HostInformation::HostInformation):
(WebResourceLoadScheduler::HostInformation::~HostInformation):
(WebResourceLoadScheduler::HostInformation::priorityToIndex):
(WebResourceLoadScheduler::HostInformation::schedule):
(WebResourceLoadScheduler::HostInformation::addLoadInProgress):
(WebResourceLoadScheduler::HostInformation::remove):
(WebResourceLoadScheduler::HostInformation::hasRequests):
(WebResourceLoadScheduler::HostInformation::limitRequests):
(WebResourceLoadScheduler::createPingHandle):
(WebCore::ResourceLoadScheduler::hostForURL): Deleted.
(WebCore::resourceLoadScheduler): Deleted.
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler): Deleted.
(WebCore::ResourceLoadScheduler::~ResourceLoadScheduler): Deleted.
(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Deleted.
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad): Deleted.
(WebCore::ResourceLoadScheduler::scheduleLoad): Deleted.
(WebCore::ResourceLoadScheduler::remove): Deleted.
(WebCore::ResourceLoadScheduler::setDefersLoading): Deleted.
(WebCore::ResourceLoadScheduler::crossOriginRedirectReceived): Deleted.
(WebCore::ResourceLoadScheduler::servePendingRequests): Deleted.
(WebCore::ResourceLoadScheduler::suspendPendingRequests): Deleted.
(WebCore::ResourceLoadScheduler::resumePendingRequests): Deleted.
(WebCore::ResourceLoadScheduler::scheduleServePendingRequests): Deleted.
(WebCore::ResourceLoadScheduler::requestTimerFired): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::HostInformation): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::priorityToIndex): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::schedule): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::remove): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests): Deleted.
* WebCoreSupport/WebResourceLoadScheduler.h: Copied from Source/WebCore/loader/ResourceLoadScheduler.h.
(WebResourceLoadScheduler::isSerialLoadingEnabled):
(WebResourceLoadScheduler::setSerialLoadingEnabled):
(WebResourceLoadScheduler::HostInformation::name):
(WebResourceLoadScheduler::HostInformation::requestsPending):
(WebCore::ResourceLoadScheduler::isSerialLoadingEnabled): Deleted.
(WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): Deleted.
(WebCore::ResourceLoadScheduler::Suspender::Suspender): Deleted.
(WebCore::ResourceLoadScheduler::Suspender::~Suspender): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::name): Deleted.
(WebCore::ResourceLoadScheduler::HostInformation::requestsPending): Deleted.
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::start):
(WebKit::HostedNetscapePluginStream::stop):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::start):
(WebNetscapePluginStream::stop):
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createLoaderStrategy):
(WebPlatformStrategies::createPasteboardStrategy):
(WebPlatformStrategies::createPluginStrategy):
(WebPlatformStrategies::createBlobRegistry):
(WebPlatformStrategies::cookiesForDOM):
* WebView/WebView.mm:
(-[WebView _dispatchPendingLoadRequests]):
(+[WebView _setLoadResourcesSerially:]):
(+[WebView _HTTPPipeliningEnabled]):
Source/WebKit2:
* NetworkProcess/NetworkProcessPlatformStrategies.cpp:
(WebKit::NetworkProcessPlatformStrategies::createCookiesStrategy):
(WebKit::NetworkProcessPlatformStrategies::createLoaderStrategy):
(WebKit::NetworkProcessPlatformStrategies::createPasteboardStrategy):
(WebKit::NetworkProcessPlatformStrategies::createPluginStrategy):
(WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):
(WebKit::NetworkProcessPlatformStrategies::resourceLoadScheduler): Deleted.
(WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): Deleted.
* NetworkProcess/NetworkProcessPlatformStrategies.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::loadResource):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
(WebKit::WebResourceLoadScheduler::loadResourceSynchronously):
(WebKit::WebResourceLoadScheduler::createPingHandle):
(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad): Deleted.
(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled): Deleted.
* WebProcess/Network/WebResourceLoadScheduler.h:
(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::start):
(WebKit::PluginView::Stream::cancel):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createLoaderStrategy):
(WebKit::WebPlatformStrategies::createPasteboardStrategy):
(WebKit::WebPlatformStrategies::createPluginStrategy):
(WebKit::WebPlatformStrategies::createBlobRegistry):
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::refreshPlugins):
(WebKit::WebPlatformStrategies::resourceLoadScheduler): Deleted.
(WebKit::WebPlatformStrategies::loadResourceSynchronously): Deleted.
(WebKit::WebPlatformStrategies::createPingHandle): Deleted.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Thu, 3 Dec 2015 08:07:34 +0000 (08:07 +0000)]
Unreviewed EFL urgent gardening. Skip web-platform-tests
because it has been timeout since r192796.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 3 Dec 2015 05:42:56 +0000 (05:42 +0000)]
Polymorphic operand types for DFG and FTL mul.
https://bugs.webkit.org/show_bug.cgi?id=151746
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Perf on benchmarks is neutral except for the newly added JSRegress ftl-object-mul
test which shows a 2.16x speed up on x86_64 FTL, 1.27x speed up on x86_64 DFG,
and 1.56x on x86 DFG.
The speed up comes not from the mul operator itself, but from the fact that the
polymorphic operand types support now allow the test function to run without OSR
exiting, thereby realizing the DFG and FTL's speed up on other work that the test
function does.
This patch has passed the layout tests on x86_64 with a debug build.
It passed the JSC tests with x86 and x86_64 debug builds.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMul):
* ftl/FTLCompile.cpp:
- Changed to call generateBinaryOpFastPath() instead now, and let it dispatch to
the appropriate snippet generator.
* ftl/FTLCompileBinaryOp.cpp:
(JSC::FTL::generateBinaryArithOpFastPath):
(JSC::FTL::generateBinaryOpFastPath):
(JSC::FTL::generateArithSubFastPath): Deleted.
(JSC::FTL::generateValueAddFastPath): Deleted.
- Refactored these functions to eliminate the need for copy-pasting every time
we add support for another binary arithmetic snippet.
* ftl/FTLCompileBinaryOp.h:
* ftl/FTLInlineCacheDescriptor.h:
* ftl/FTLInlineCacheDescriptorInlines.h:
(JSC::FTL::ArithMulDescriptor::ArithMulDescriptor):
(JSC::FTL::ArithMulDescriptor::icSize):
* ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfArithMul):
* ftl/FTLInlineCacheSize.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
* jit/JITMulGenerator.h:
(JSC::JITMulGenerator::JITMulGenerator):
* tests/stress/op_mul.js:
- Updated a test value: the interesting value for imminent overflow from an
int32 is 0x7fffffff, not 0x7ffffff.
LayoutTests:
* js/regress/ftl-object-mul-expected.txt: Added.
* js/regress/ftl-object-mul.html: Added.
* js/regress/script-tests/ftl-object-mul.js: Added.
(o1.valueOf):
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Thu, 3 Dec 2015 04:08:41 +0000 (04:08 +0000)]
Unify font-variant-* with font-variant shorthand
https://bugs.webkit.org/show_bug.cgi?id=149773
Reviewed by Darin Adler.
Source/WebCore:
This patch makes font-variant a shorthand for the following properties:
font-variant-ligatures
font-variant-position
font-variant-caps
font-variant-numeric
font-variant-alternates
font-variant-east-asian
This is consistent with the CSS Fonts Level 3 spec.
This patch also migrates the "font" longhand to use the font-variant-caps
property.
Test: fast/text/font-variant-shorthand.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontVariantEastAsianPropertyValue): Rename FontVariantEastAsian values.
(WebCore::fontVariantFromStyle): We must consult with the longhand properties to determine
font-variant computed style.
(WebCore::ComputedStyleExtractor::propertyValue): Don't put any-old font-variant-caps inside
the font shorthand.
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule): Guard against incorrect downcasts (due to inherit
of the new shorthand property).
* css/CSSParser.cpp: Parse font-variant as a shorthand. Also implement its "normal" and "none" values.
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseSystemFont):
(WebCore::CSSParser::parseFontVariantLigatures):
(WebCore::CSSParser::parseFontVariantNumeric):
(WebCore::CSSParser::parseFontVariantEastAsian):
(WebCore::CSSParser::parseFontVariant):
(WebCore::isValidKeywordPropertyAndValue): Deleted.
(WebCore::isKeywordPropertyID): Deleted.
* css/CSSParser.h:
* css/CSSPropertyNames.in: Turn font-variant into a shorthand property.
* css/FontVariantBuilder.h: Guard against incorrect downcasts. Also update for renamed
FontVariantEastAsian type.
(WebCore::applyValueFontVariantLigatures):
(WebCore::applyValueFontVariantNumeric):
(WebCore::applyValueFontVariantEastAsian):
* css/StyleProperties.cpp: Update to use the more specific property.
(WebCore::StyleProperties::appendFontLonghandValueIfExplicit):
(WebCore::StyleProperties::fontValue):
(WebCore::StyleProperties::asText):
* css/StyleResolver.cpp: Ditto.
(WebCore::StyleResolver::isValidCueStyleProperty):
* editing/EditingStyle.cpp: Ditto.
* editing/cocoa/HTMLConverter.mm: Ditto.
(HTMLConverterCaches::propertyValueForNode):
(HTMLConverter::computedAttributesForElement):
* editing/ios/EditorIOS.mm: Ditto.
(WebCore::Editor::removeUnchangeableStyles):
* html/canvas/CanvasRenderingContext2D.cpp: Ditto.
(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):
* platform/graphics/FontCache.h: Removing duplicate cache key value.
(WebCore::FontDescriptionKey::makeFlagsKey):
* platform/graphics/FontCascade.cpp: Migrate to the new font-variant-caps from the old member variable.
(WebCore::FontCascade::glyphDataForCharacter):
* platform/graphics/FontCascade.h: Ditto.
(WebCore::FontCascade::isSmallCaps):
* platform/graphics/FontDescription.cpp: Ditto.
(WebCore::FontDescription::FontDescription):
* platform/graphics/FontDescription.h: Ditto.
(WebCore::FontCascadeDescription::equalForTextAutoSizing):
(WebCore::FontDescription::smallCaps): Deleted.
(WebCore::FontDescription::setSmallCaps): Deleted.
(WebCore::FontDescription::setIsSmallCaps): Deleted.
(WebCore::FontDescription::operator==): Deleted.
* platform/graphics/cocoa/FontCacheCoreText.cpp: Rename FontVariantEastAsianWidth.
(WebCore::computeFeatureSettingsFromVariants):
* platform/text/TextFlags.h: Ditto.
(WebCore::FontVariantSettings::operator==):
* rendering/RenderText.cpp: Migrage to the new font-variant-caps from the old member variable.
(WebCore::RenderText::widthFromCache):
LayoutTests:
Update tests. Also temporarily skip existing font-features tests until
https://bugs.webkit.org/show_bug.cgi?id=149774 is fixed.
* css3/font-variant-parsing-expected.txt:
* css3/font-variant-parsing.html:
* fast/css/font-property-priority-expected.txt:
* fast/css/font-shorthand-expected.txt:
* fast/css/parsing-font-variant-ligatures-expected.txt:
* fast/css/parsing-font-variant-ligatures.html:
* fast/inspector-support/style-expected.txt:
* fast/text/font-variant-shorthand-expected.txt: Added.
* fast/text/font-variant-shorthand.html: Added.
* platform/mac/TestExpectations:
* platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 04:05:09 +0000 (04:05 +0000)]
REGRESSION(r192753): Remote Web Inspector: Applications and Debuggables not showing up in debuggers
https://bugs.webkit.org/show_bug.cgi?id=151787
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-12-02
Reviewed by Brian Burg.
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedIndicateMessage):
Removed lock that was unnecessarily added in r192753. It was
protecting nothing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Thu, 3 Dec 2015 03:44:12 +0000 (03:44 +0000)]
Allow nil for unspecified benchmark pathes
https://bugs.webkit.org/show_bug.cgi?id=151784
Reviewed by Filip Pizlo.
`Pathname.new(nil)` will raise an error.
Only generate Pathname if the benchmark path is specified.
* Scripts/run-jsc-benchmarks:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 03:29:24 +0000 (03:29 +0000)]
Reduce size of ScriptElement
https://bugs.webkit.org/show_bug.cgi?id=151786
Patch by Alex Christensen <achristensen@webkit.org> on 2015-12-02
Reviewed by Andreas Kling.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::requestScript):
* dom/ScriptElement.h:
Use callOnMainThread instead of a Timer to save memory on a timer that is rarely used.
Use bit fields for the boolean values to save another 8 bytes per ScriptElement.
This reduces sizeof(ScriptElement) from 168 to 48 bytes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Thu, 3 Dec 2015 03:17:25 +0000 (03:17 +0000)]
Insert a FIXME comment FTLLazySlowPath.h to remind us to remove/refactor the ScratchRegisterAllocator field.
Rubber-stamped by Filip Pizlo.
* ftl/FTLLazySlowPath.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 3 Dec 2015 02:00:00 +0000 (02:00 +0000)]
[JSC] Remove insertElement() from FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151781
Reviewed by Sam Weinig.
* ftl/FTLB3Output.h:
(JSC::FTL::Output::insertElement): Deleted.
That's a LLVM concept.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 3 Dec 2015 01:46:21 +0000 (01:46 +0000)]
Rebaselining fast/dom/adopt-attribute-crash-expected for win
https://bugs.webkit.org/show_bug.cgi?id=151762
Reviewed by Darin Adler.
* platform/win/fast/dom/adopt-attribute-crash-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192986
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 3 Dec 2015 00:32:13 +0000 (00:32 +0000)]
[JSC] Remove stuffs related to alloca from FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151780
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-02
Reviewed by Mark Lam.
We can use the Phis directly with B3 :)
* ftl/FTLB3Output.h:
(JSC::FTL::Output::alloca): Deleted.
(JSC::FTL::Output::get): Deleted.
(JSC::FTL::Output::set): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 3 Dec 2015 00:21:20 +0000 (00:21 +0000)]
[JSC] Add sin(), cos(), pow() and log() to B3
https://bugs.webkit.org/show_bug.cgi?id=151778
Reviewed by Geoffrey Garen.
* ftl/FTLB3Output.h:
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doubleLog):
(JSC::FTL::Output::callWithoutSideEffects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192984
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 2 Dec 2015 23:55:50 +0000 (23:55 +0000)]
Asynchronously call onerror when a content blocker blocks ascript element's load
https://bugs.webkit.org/show_bug.cgi?id=151649
Patch by Alex Christensen <achristensen@webkit.org> on 2015-12-02
Reviewed by Brady Eidson.
Source/WebCore:
Test: http/tests/contentextensions/script-onerror.html
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::requestScript):
* dom/ScriptElement.h:
LayoutTests:
* http/tests/contentextensions/script-onerror-expected.txt: Added.
* http/tests/contentextensions/script-onerror.html: Added.
* http/tests/contentextensions/script-onerror.html.json: Added.
* http/tests/misc/unloadable-script-expected.txt:
* http/tests/misc/unloadable-script.html:
* http/tests/security/local-JavaScript-from-remote-expected.txt:
* http/tests/security/local-JavaScript-from-remote.html:
Added testRunner.waitUntilDone and testRunner.notifyDone to reflect the fact that onerror is no longer called synchronously.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192983
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Wed, 2 Dec 2015 23:51:02 +0000 (23:51 +0000)]
Fix authentication requests with NetworkSession and canHandleHTTPSServerTrustEvaluation true
https://bugs.webkit.org/show_bug.cgi?id=151775
rdar://problem/
23586265
Reviewed by Chris Dumez.
In https://bugs.webkit.org/show_bug.cgi?id=150968 I copied functionality from
NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync into NetworkLoad::didReceiveChallenge
but I overlooked the call to m_client.canAuthenticateAgainstProtectionSpaceAsync which is needed
if canHandleHTTPSServerTrustEvaluation is true. This adds that call and moves what should happen
after that to NetworkLoad::continueCanAuthenticateAgainstProtectionSpace.
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkSession.h:
* Shared/Authentication/AuthenticationManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192982
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 2 Dec 2015 23:41:41 +0000 (23:41 +0000)]
Add a few obvious strength-reductions to Air
https://bugs.webkit.org/show_bug.cgi?id=151777
Reviewed by Mark Lam.
The absence of these optimizations was obnoxious.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::add32): lea 1(reg), reg -> add 1, reg.
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate): Emit simpler prologue/epilogue if !frameSize.
* b3/air/AirOpcode.opcodes: We have matching for BranchMul32 with immediate, but we forgot to add the instruction form.
* jit/AssemblyHelpers.h: Support for the prologue/epilogue optimizations.
(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogueWithEmptyFrame):
(JSC::AssemblyHelpers::emitFunctionEpilogue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192981
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 2 Dec 2015 23:04:47 +0000 (23:04 +0000)]
Fix flaky test added with r192954.
Unreviewed.
* fast/mediastream/MediaStreamTrack-getSettings.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 2 Dec 2015 23:01:23 +0000 (23:01 +0000)]
[iOS] Abrupt transition between Fullscreen -> PiP
https://bugs.webkit.org/show_bug.cgi?id=151719
Reviewed by Eric Carlson.
Follow-up to r192922: When moving from inline -> PiP, don't forget to hide the fullscreen
window once the PiP transition completes.
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192971
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 2 Dec 2015 22:52:54 +0000 (22:52 +0000)]
Unreviewed, rolling out r192955.
https://bugs.webkit.org/show_bug.cgi?id=151776
A large number of the tests added with this change are failing
on Windows (Requested by ryanhaddad on #webkit).
Reverted changeset:
"[css border] border-image doesn't honor border-style"
https://bugs.webkit.org/show_bug.cgi?id=99922
http://trac.webkit.org/changeset/192955
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yoav@yoav.ws [Wed, 2 Dec 2015 22:41:21 +0000 (22:41 +0000)]
Fix preloader issue with srcdoc documents.
https://bugs.webkit.org/show_bug.cgi?id=151744
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make sure that PreloadRequest is resolving URLs based on the document's
baseURL() rather than using url() as the base URL, which is not how URLs
are resolved by the parser, and fails when document->url() diverges from
the document's base URL (e.g. in the case of srcdoc based documents).
Test: fast/preloader/iframe-srcdoc.html
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::completeURL):
LayoutTests:
Added a test that makes sure that srcdoc based subresources are properly preloaded.
* fast/preloader/iframe-srcdoc-expected.txt: Added.
* fast/preloader/iframe-srcdoc.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192969
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 2 Dec 2015 22:35:38 +0000 (22:35 +0000)]
Update the interface added in r192967
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-02
* b3/B3CCallValue.h:
Filip prefers explicit effects.
* b3/testb3.cpp:
(JSC::B3::testCallSimplePure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 2 Dec 2015 22:12:35 +0000 (22:12 +0000)]
[JSC] Add a function attribute for Pure functions in B3
https://bugs.webkit.org/show_bug.cgi?id=151741
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-02
Reviewed by Geoffrey Garen.
We have plenty of functions without side effects
when lowering DFG.
This patch adds the "PureCall" flag to B3's CCall
to make sure those functions do not prevent optimizations.
* b3/B3CCallValue.h:
* b3/testb3.cpp:
(JSC::B3::testCallSimplePure):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 2 Dec 2015 22:09:58 +0000 (22:09 +0000)]
Add a setting and restriction which will pause invisible autoplaying video
https://bugs.webkit.org/show_bug.cgi?id=151412
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/video-restricted-invisible-autoplay-not-allowed.html
Drive-by fix: m_autoplaying is reset in many places by calling pause() or play(), where those
calls did not originate from an explicit request to pause or play, e.g., during an interruption.
This causes m_autoplaying to be set to false, thus breaking resumption of autoplaying when the
interruption ends. Update PlatformMediaSession to remember its client's "autoplaying" state and
restore it when an interruption ends.
Add a means to register for viewport visibility notifications to FrameView, RenderView,
and RenderElement. Elements who wish to recieve these notifications must do so through their
renderer, and thus will have to re-register whenever a new renderer is attached.
Add a restriction to HTMLMediaElement which will pause autoplaying video when that video scrolls
out of the viewport, or is hidden with CSS.
Add a setting which controls whether that new restriction is set.
* dom/Element.h:
(WebCore::Element::isVisibleInViewportChanged): Add default empty virtual method.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::didMoveToNewDocument):
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache):
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture):
(WebCore::HTMLMediaElement::resumeAutoplaying):
(WebCore::mediaElementIsAllowedToAutoplay):
(WebCore::HTMLMediaElement::isVisibleInViewportChanged):
(WebCore::HTMLMediaElement::updateShouldAutoplay):
(WebCore::HTMLMediaElement::HTMLMediaElement): Set the new restriction based on the current Settings.
(WebCore::HTMLMediaElement::resumeAutoplaying): Continue autoplay, or begin playback.
(WebCore::HTMLMediaElement::didMoveToNewDocument): Update our autoplay state.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Ditto.
(WebCore::HTMLMediaElement::removedFrom): Ditto.
(WebCore::HTMLMediaElement::didAttachRenderers): Ditto.
(WebCore::HTMLMediaElement::didDetachRenderers): Ditto.
(WebCore::HTMLMediaElement::visibilityDidChange): Ditto.
(WebCore::HTMLMediaElement::willDetachRenderers): Unregister for visibility callbacks.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Clear new restriction.
(WebCore::mediaElementIsAllowedToAutoplay): Check for autoplay requirements.
(WebCore::HTMLMediaElement::isVisibleInViewportChanged): Added, update our autoplay state.
(WebCore::HTMLMediaElement::updateShouldAutoplay): Set interruption if necessary, clear otherwise.
* html/HTMLMediaElement.h:
* html/MediaElementSession.cpp:
(WebCore::restrictionName): Added support for new restriction.
* html/MediaElementSession.h:
* page/FrameView.cpp:
(WebCore::FrameView::viewportContentsChanged): Update clients of viewport visibility.
* page/Settings.in:
* platform/audio/PlatformMediaSession.cpp:
(WebCore::stateName): Add new "Autoplay" state.
(WebCore::interruptionName): Added new interruption type.
(WebCore::PlatformMediaSession::beginInterruption): Set the m_interruptionType.
(WebCore::PlatformMediaSession::clientWillBeginAutoplaying): Set the m_state to Autoplaying.
* platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::interruptionType): Added getter.
(WebCore::PlatformMediaSessionClient::resumeAutoplaying): Added default.
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback): Only pause session if its state is playing.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement): Set new ivars.
(WebCore::RenderElement::~RenderElement): Unregister for callbacks if necessary.
(WebCore::RenderElement::registerForVisibleInViewportCallback): Register for callbacks from RenderView.
(WebCore::RenderElement::unregisterForVisibleInViewportCallback): Unregister from same.
(WebCore::RenderElement::visibleInViewportStateChanged): Notify Element if value has changed.
* rendering/RenderElement.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::registerForVisibleInViewportCallback): Add renderer to list of callbacks.
(WebCore::RenderView::unregisterForVisibleInViewportCallback): Remove renderer from same.
(WebCore::RenderView::updateVisibleViewportRect): Walk renderers setting their visiblility based on the viewport visible rect.
* rendering/RenderView.h:
* testing/Internals.cpp:
(WebCore::Internals::setMediaElementRestrictions): Support new restriction.
LayoutTests:
* media/video-restricted-invisible-autoplay-not-allowed-expected.txt: Added.
* media/video-restricted-invisible-autoplay-not-allowed.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192966
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 2 Dec 2015 22:09:16 +0000 (22:09 +0000)]
Perf dashboard should avoid overflow during geometric mean computation
https://bugs.webkit.org/show_bug.cgi?id=151773
Reviewed by Chris Dumez.
* public/include/report-processor.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192965
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 2 Dec 2015 22:04:30 +0000 (22:04 +0000)]
Rebaseline fast/parser/xml-declaration-missing-ending-mark.html, fast/parser/xml-colon-entity.html for Win
https://bugs.webkit.org/show_bug.cgi?id=151763
Reviewed by Brent Fulgham.
* platform/win/fast/parser/xml-colon-entity-expected.txt:
* platform/win/fast/parser/xml-declaration-missing-ending-mark-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 2 Dec 2015 21:47:54 +0000 (21:47 +0000)]
Rebaseline fast/dynamic/text-combine.html on win
https://bugs.webkit.org/show_bug.cgi?id=151761
Unreviewed test gardening.
* platform/win/fast/dynamic/text-combine-expected.png:
* platform/win/fast/dynamic/text-combine-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192963
268f45cc-cd09-0410-ab3c-
d52691b4dbfc