Timeline
Nov 13, 2016:
- 11:12 PM Changeset in webkit [208675] by
-
- 4 edits3 adds in trunk
[HarfBuzz] HarfBuzzShaper should not assume numGlyphs is greater than 0
https://bugs.webkit.org/show_bug.cgi?id=164500
Patch by Fujii Hironori <Fujii Hironori> on 2016-11-13
Reviewed by Myles C. Maxfield.
Source/WebCore:
Test: fast/text/international/harfbuzz-runs-with-no-glyph.html
HarfBuzzShaper assumes numGlyphs of HarfBuzzRun is greater than
zero. But this is not necessarily true. If a font does not have a
glyph of SPACE (U+0020), HarfBuzz removes ignorable glyphs. In
this case, HarfBuzzRun can have no glyphs.
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Resize
m_offsets to one if m_numGlyphs is zero.
- platform/graphics/harfbuzz/HarfBuzzShaper.h:
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphs): Use Vector::data()
instread of operator[0].
(WebCore::HarfBuzzShaper::HarfBuzzRun::advances): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Ditto.
LayoutTests:
- fast/text/international/harfbuzz-runs-with-no-glyph-expected.txt: Added.
- fast/text/international/harfbuzz-runs-with-no-glyph.html: Added.
- fast/text/international/resources/ignorables.woff: Added.
- 11:06 PM Changeset in webkit [208674] by
-
- 4 edits2 adds in trunk
REGRESSION (204441): newsplex.com map does not load
https://bugs.webkit.org/show_bug.cgi?id=164705
<rdar://problem/28753438>
Reviewed by Darin Adler.
Source/WebCore:
Update getElementsByTagName(qualifiedName) implementation to match more closely
the specification at:
- https://dom.spec.whatwg.org/#dom-document-getelementsbytagname
- https://dom.spec.whatwg.org/#concept-getelementsbytagname
- https://dom.spec.whatwg.org/#concept-element-qualified-name
In particular, we no longer split the input qualifiedName into a prefix and a
localName in order to compare those to element.prefix() / element.localName().
Instead, we keep the input qualifiedName as is and compare it to the element's
qualifiedName. This matters for HTML elements inside an HTML document that have
a semicolon in their localname (e.g. 'wx:map'). For this example, the element's
localName and its qualified name are both 'wx:map'. Calling
getElementsByTagName('wx:map') should return it. However, if you split the input
qualifiedName into a prefix and a localName, you end up checking:
'wx' == null && 'map' == 'wx:map'
which does not match.
Test: fast/dom/getElementsByTagName-HTMLElement-prefix.html
- dom/TagCollection.cpp:
(WebCore::TagCollection::TagCollection):
(WebCore::TagCollection::~TagCollection):
(WebCore::HTMLTagCollection::HTMLTagCollection):
(WebCore::HTMLTagCollection::~HTMLTagCollection):
(WebCore::makeQualifiedName): Deleted.
(WebCore::splitQualifiedName): Deleted.
- dom/TagCollection.h:
(WebCore::TagCollection::elementMatches):
(WebCore::HTMLTagCollection::elementMatches):
LayoutTests:
- fast/dom/getElementsByTagName-HTMLElement-prefix-expected.txt: Added.
- fast/dom/getElementsByTagName-HTMLElement-prefix.html: Added.
- 9:14 PM Changeset in webkit [208673] by
-
- 5 edits2 deletes in trunk/Source/WebCore
Remove ExceptionCodePlaceholder
https://bugs.webkit.org/show_bug.cgi?id=164703
Reviewed by Sam Weinig.
- CMakeLists.txt: Removed ExceptionCodePlaceholder.cpp.
- WebCore.xcodeproj/project.pbxproj: Removed ExceptionCodePlaceholder.h/cpp.
Also let Xcode make a change to the file, I think removing an unreferenced
dead entry for a file that is already listed under a different ID.
- dom/DOMAllInOne.cpp: Removed ExceptionCodePlaceholder.cpp.
- dom/ExceptionCodePlaceholder.cpp: Removed.
- dom/ExceptionCodePlaceholder.h: Removed.
- inspector/InspectorDatabaseAgent.cpp: Removed include of ExceptionCodePlaceholder.h.
- 7:22 PM Changeset in webkit [208672] by
-
- 50 edits6 deletes in trunk/Source
Fix exception handling in SQL database code, streamline and update code
https://bugs.webkit.org/show_bug.cgi?id=164685
Reviewed by Sam Weinig.
Source/WebCore:
Removed some old abstraction layers that were no longer in use. For example,
i n many cases, calls were going through DatabaseManager, which called through
an abstract class AbstractDatabaseServer to a concrete class DatabaseServer,
which then called through to DatabaseTracker. Clients now mostly just call
DatabaseTracker directly.
- CMakeLists.txt: Removed DatabaseServer.cpp and SQLTransactionClient.cpp.
- Modules/webdatabase/AbstractDatabaseServer.h: Removed.
- Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase): Use ExceptionOr instead of
DatabaseError to communicate DOM exceptions from DatabaseManager.
- Modules/webdatabase/Database.cpp:
(WebCore::Database::Database): Use a reference instead of a RefPtr&& for database
context. Use unsigned instead of unsigned long. Modernize code to use more
initialization rather than assignment, to initialize scalar data members in the
class definition, and to use HashMap::ensure.
(WebCore::Database::databaseThread): Added. This class asserts that there is a
thread in the constructor, and so it is useful to have a helper for all the other
functions that assumes the thread is present and returns a reference rather than
a pointer.
(WebCore::Database::~Database): Updated since m_scriptExecutionContext is now
a Ref instead of a RefPtr.
(WebCore::Database::openAndVerifyVersion): Use ExceptionOr and databaseThread.
(WebCore::Database::close): Use databaseThread.
(WebCore::Database::performClose): Ditto.
(WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
Use a reference. Removed unused m_openSuccceeded.
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
Use DatabaseTracker::singleton by its new name.
(WebCore::DoneCreatingDatabaseOnExitCaller::setOpenSucceeded): Deleted.
(WebCore::Database::performOpenAndVerify): Use ExceptionOr and update for above.
(WebCore::Database::closeDatabase): Updated for name change.
(WebCore::Database::scheduleTransaction): Updated for above, simplified and
streamlined.
(WebCore::Database::scheduleTransactionStep): Use databaseThread.
(WebCore::Database::transactionClient): Deleted. This object is no longer needed.
(WebCore::Database::transactionCoordinator): Use databaseThread.
(WebCore::Database::markAsDeletedAndClose): Removed unnecessary null check for
databaseThread, which can never be null.
(WebCore::Database::estimatedSize): Use unsigned, not unsigned long.
(WebCore::Database::disableAuthorizer): Removed assertion about RefPtr that is
now a Ref and never could have been null.
(WebCore::Database::enableAuthorizer): Ditto.
(WebCore::Database::setAuthorizerPermissions): Ditto.
(WebCore::Database::lastActionChangedDatabase): Ditto.
(WebCore::Database::lastActionWasInsert): Ditto.
(WebCore::Database::resetDeletes): Ditto.
(WebCore::Database::hadDeletes): Ditto.
(WebCore::Database::resetAuthorizer): Removed null check for a RefPtr that is now
a Ref and never could have been null.
(WebCore::Database::runTransaction): Simplified a bit.
(WebCore::Database::tableNames): Use databaseThread.
(WebCore::Database::securityOrigin): Changed to return a reference instead of a
pointer because all the callers need it to do that. If called on the wrong thread,
this will now do a RELEASE_ASSERT_NOT_REACHED. In the old code it would return a
null pointer and then the caller would dereference it a moment later, so it would
still be a crash.
(WebCore::Database::maximumSize): Removed const since it's not really needed and
the DatabaseTracker wants a non-const reference to this database.
(WebCore::Database::didCommitWriteTransaction): Added. Moved this code here from
SQLTransactionClient. There is no abstraction layer, so no reason to not have
this code, quite comparable to the rest of the code in the class, here. I am
assuming this served some more useful purpose back when we had a different back end
for Chromium?
(WebCore::Database::didExceedQuota): Ditto.
- Modules/webdatabase/Database.h: Updated for above changes. Made some functions
return references instead of pointers. Use Ref instead of RefPtr for some things that
can never be null.
- Modules/webdatabase/Database.idl: Added ImplementationLacksVTable because the
Database class is not polymorphic.
- Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::DatabaseContext): Take a reference instead of a pointer.
Moved data member initialization into class definition. Remove code that tries to do
debug accounting and databasecontext registration and instead just make sure to keep
the ScriptExecutionContext pointing at the DatabaseContext.
(WebCore::DatabaseContext::~DatabaseContext): Ditto.
(WebCore::DatabaseContext::stopDatabases): Ditto.
- Modules/webdatabase/DatabaseContext.h: Updated for the above. Also used the
scriptExecutionContext function inherited from the base class intead of adding our
own, and added a existingDatabaseThread() function, letting us get at the database
thread efficiently without creating a new one.
- Modules/webdatabase/DatabaseError.h: Removed. We now use DOM exceptions directly
instead of our own error enumeration that has to be translated to a DOM exception.
- Modules/webdatabase/DatabaseManager.cpp: Moved the ProposedDatabase class here
from the header file, and had it use references instead of pointers.
(WebCore::DatabaseManager::DatabaseManager): Deleted. There was nothing left to
initialize once the refactoring was done.
(WebCore::DatabaseManager::initialize): Call DatabaseTracker directly instead of
calling through m_server.
(WebCore::DatabaseManager::setClient): Ditto.
(WebCore::DatabaseManager::databaseDirectoryPath): Deleted. Callers will use the
function in DatabaseTracker directly.
(WebCore::DatabaseManager::setDatabaseDirectoryPath): Ditto.
(WebCore::DatabaseManager::existingDatabaseContextFor): Deleted. Callers will use
the ScriptExecutionContext::databaseContext function instead.
(WebCore::DatabaseManager::databaseContext): Renamed from databaseContextFor.
(WebCore::DatabaseManager::registerDatabaseContext): Deleted.
(WebCore::DatabaseManager::unregisterDatabaseContext): Deleted.
(WebCore::DatabaseManager::didConstructDatabaseContext): Deleted.
(WebCore::DatabaseManager::didDestructDatabaseContext): Deleted.
(WebCore::DatabaseManager::exceptionCodeForDatabaseError): Deleted.
(WebCore::logOpenDatabaseError): Tweaked conditionals a bit.
(WebCore::DatabaseManager::openDatabaseBackend): Use ExceptionOr. Changed to call
tryToOpenDatabaseBackend function here in this class rather than using m_server.
(WebCore::DatabaseManager::tryToOpenDatabaseBackend): Added. Moved here from the
DatabaseServer class.
(WebCore::DatabaseManager::addProposedDatabase): Take a reference.
(WebCore::DatabaseManager::removeProposedDatabase): Ditto.
(WebCore::DatabaseManager::openDatabase): Use ExceptionOr.
(WebCore::DatabaseManager::hasOpenDatabases): Use ScriptContext::databaseContext
directly instead of using helper functions in this class.
(WebCore::DatabaseManager::stopDatabases): Ditto.
(WebCore::DatabaseManager::fullPathForDatabase): Take a reference and also call
DatabaseTracker directly instead of calling through m_server.
(WebCore::DatabaseManager::hasEntryForOrigin): Deleted. Callers will use the
function in DatabaseTracker directly.
(WebCore::DatabaseManager::origins): Ditto.
(WebCore::DatabaseManager::databaseNamesForOrigin): Ditto.
(WebCore::DatabaseManager::detailsForNameAndOrigin): Call DatabaseTracker directly
instead of calling through m_server.
(WebCore::DatabaseManager::usageForOrigin): Deleted. Callers will use the
function in DatabaseTracker directly.
(WebCore::DatabaseManager::quotaForOrigin): Ditto.
(WebCore::DatabaseManager::setQuota): Ditto.
(WebCore::DatabaseManager::deleteAllDatabasesImmediately): Ditto.
(WebCore::DatabaseManager::deleteOrigin): Ditto.
(WebCore::DatabaseManager::deleteDatabase): Ditto.
(WebCore::DatabaseManager::closeAllDatabases): Ditto.
(WebCore::DatabaseManager::logErrorMessage): Take a reference.
- Modules/webdatabase/DatabaseManager.h: Updated for changes above.
- Modules/webdatabase/DatabaseManagerClient.h: Use references for security origins.
Also changed #if for iOS so that other platforms can call the iOS-specific functions
and they have inline empty bodies; lets us clean up call sites to not need conditionals.
- Modules/webdatabase/DatabaseServer.cpp: Removed.
- Modules/webdatabase/DatabaseServer.h: Removed.
- Modules/webdatabase/DatabaseTask.cpp:
(WebCore::isolatedCopy): Added. Helper functions for making isolated copies of
exceptions, which can contain strings.
(WebCore::DatabaseOpenTask::DatabaseOpenTask): Use ExceptionOr<void> instead of
a DatabaseError, a String, and a success boolean.
(WebCore::DatabaseOpenTask::doPerformTask): Updated to use ExceptoinOr.
(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Renamed.
(WebCore::DatabaseTableNamesTask::doPerformTask): Added a comment.
- Modules/webdatabase/DatabaseTask.h: Updated for above changes.
- Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::DatabaseThread): Initialized data members in the class
definition. Removed m_transactionClient.
(WebCore::DatabaseThread::recordDatabaseOpen): Take a reference.
(WebCore::DatabaseThread::recordDatabaseClosed): Ditto.
(WebCore::DatabaseThread::scheduleTask): Use an rvalue reference.
(WebCore::DatabaseThread::scheduleImmediateTask): Ditto.
(WebCore::DatabaseThread::unscheduleDatabaseTasks): Use a lambda instead of a
class for the same-database predicate.
- Modules/webdatabase/DatabaseThread.h: Updated for above.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::isolatedCopy): Added. Helper for making an isolated copy of a vector
of strings.
(WebCore::DatabaseTracker::singleton): Renamed from tracker.
(WebCore::DatabaseTracker::DatabaseTracker): Moved the code from
setDatabaseDirectoryPath in here.
(WebCore::DatabaseTracker::setDatabaseDirectoryPath): Deleted.
(WebCore::DatabaseTracker::databaseDirectoryPath): Deleted.
(WebCore::DatabaseTracker::hasAdequateQuotaForOrigin): Use ExceptionOr.
(WebCore::DatabaseTracker::canEstablishDatabase): Ditto.
(WebCore::DatabaseTracker::retryCanEstablishDatabase): Ditto.
(WebCore::DatabaseTracker::hasEntryForOriginNoLock): Take a reference.
(WebCore::DatabaseTracker::hasEntryForOrigin): Deleted.
(WebCore::DatabaseTracker::hasEntryForDatabase): Take a reference.
(WebCore::DatabaseTracker::maximumSize): Renamed from getMaxSizeForDatabase
and changed to take a reference.
(WebCore::DatabaseTracker::originPath): Take a reference.
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Ditto.
(WebCore::DatabaseTracker::fullPathForDatabase): Ditto.
(WebCore::DatabaseTracker::origins): Changed to use a return value instead
of using an out argument.
(WebCore::DatabaseTracker::databaseNamesNoLock): Ditto. Also renamed from
databaseNamesForOriginNoLock.
(WebCore::DatabaseTracker::databaseNames): Ditto. Also renamed from
databaseNamesForOrigin.
(WebCore::DatabaseTracker::detailsForNameAndOrigin): Take a reference.
(WebCore::DatabaseTracker::setDatabaseDetails): Ditto.
(WebCore::DatabaseTracker::doneCreatingDatabase): Ditto.
(WebCore::DatabaseTracker::addOpenDatabase): Ditto.
(WebCore::DatabaseTracker::removeOpenDatabase): Ditto.
(WebCore::DatabaseTracker::getOpenDatabases): Deleted.
(WebCore::DatabaseTracker::originLockFor): Take a reference.
(WebCore::DatabaseTracker::deleteOriginLockFor): Take a reference.
(WebCore::DatabaseTracker::usage): Renamed from usageForOrigin. Take a reference.
(WebCore::DatabaseTracker::quotaNoLock): Renamed from quotaForOriginNoLock.
Take a reference.
(WebCore::DatabaseTracker::quota): Renamed from quatoForOrigin. Take a reference.
(WebCore::DatabaseTracker::setQuota): Take a reference.
(WebCore::DatabaseTracker::addDatabase): Ditto.
(WebCore::DatabaseTracker::deleteAllDatabasesImmediately): Updated now that
origins has a return value.
(WebCore::DatabaseTracker::deleteDatabasesModifiedSince): Ditto.
(WebCore::DatabaseTracker::deleteOrigin): Take a reference.
(WebCore::DatabaseTracker::isDeletingDatabaseOrOriginFor): Ditto.
(WebCore::DatabaseTracker::recordCreatingDatabase): Updated to take a reference,
use unique_ptr, and use HashCountedSet.
(WebCore::DatabaseTracker::doneCreatingDatabase): Ditto.
(WebCore::DatabaseTracker::creatingDatabase): Ditto.
(WebCore::DatabaseTracker::canDeleteDatabase): Take a reference.
(WebCore::DatabaseTracker::recordDeletingDatabase): Updated to take a reference,
and use unique_ptr.
(WebCore::DatabaseTracker::doneDeletingDatabase): Ditto.
(WebCore::DatabaseTracker::isDeletingDatabase): Ditto.
(WebCore::DatabaseTracker::canDeleteOrigin): Take a reference.
(WebCore::DatabaseTracker::isDeletingOrigin): Ditto.
(WebCore::DatabaseTracker::recordDeletingOrigin): Ditto.
(WebCore::DatabaseTracker::doneDeletingOrigin): Ditto.
(WebCore::DatabaseTracker::deleteDatabase): Ditto.
(WebCore::DatabaseTracker::deleteDatabaseFile): Ditto.
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases): Ditto.
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Ditto.
(WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
- Modules/webdatabase/DatabaseTracker.h: Updated for above changes.
- Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement): Updated since Database::scriptExecutionContext
now returns a reference.
- Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction): Moved data member initialization to
the calss definition. Also updated since Database::scriptExecutionContext now
returns a reference.
(WebCore::SQLTransaction::executeSQL): Use ExceptionOr.
(WebCore::SQLTransaction::checkAndHandleClosedDatabase): Updated since
databaseContext now returns a reference.
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Updated to call
didExceedQuota on the database instead of the transaction client.
(WebCore::SQLTransaction::postflightAndCommit): Updated to call
didCommitWriteTransaction on the database instead of the transaction client.
(WebCore::SQLTransaction::acquireOriginLock): Updated for name change of
DatabaseTracker::tracker to DatbaseTracker::singleton.
- Modules/webdatabase/SQLTransaction.h: Updated for above.
- Modules/webdatabase/SQLTransaction.idl: Added MayThrowException to
executeSql. Not technically needed since it's a custom binding.
- Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup): Updated assertion to use
Database::databaseThread.
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown): Ditto.
- Modules/webdatabase/SQLTransactionClient.cpp: Removed.
- Modules/webdatabase/SQLTransactionClient.h: Removed.
- Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier): Updated to pass a reference.
- WebCore.xcodeproj/project.pbxproj: Removed various deleted files.
Also let Xcode change the whitespace on some lines.
- bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql): Use ExceptionOr, specifically by
using the propagateException function.
- dom/ScriptExecutionContext.h: Added databaseContext function. Before, we
had setDatabaseContext, but no way to inspect the pointer that was stored.
- inspector/InspectorDatabaseAgent.cpp: Removed IGNORE_EXCEPTION in a call
to executeSQL, which no longer has an ExceptionCode out argument.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): Pass a reference in the call to
DatabaseManager::stopDatabases.
Source/WebKit/mac:
- Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]): Updated to use DatabaseTracker and pass
a reference.
(-[WebDatabaseManager databasesWithOrigin:]): Ditto.
(-[WebDatabaseManager detailsForDatabase:withOrigin:]): Pass reference,
but continue to use DatabaseManager.
(-[WebDatabaseManager deleteOrigin:]): Use DatabaseTracker and pass a
reference.
(-[WebDatabaseManager deleteDatabase:withOrigin:]): Ditto.
- Storage/WebDatabaseManagerClient.h: Updated to take references.
- Storage/WebDatabaseManagerClient.mm:
(WebDatabaseManagerClient::WebDatabaseManagerClient): Initialize data
members in the class definition.
(DidModifyOriginData::dispatchToMainThread): Take references.
(DidModifyOriginData::DidModifyOriginData): Ditto.
(WebDatabaseManagerClient::dispatchDidModifyOrigin): Ditto.
(WebDatabaseManagerClient::dispatchDidModifyDatabase): Ditto.
(WebDatabaseManagerClient::dispatchDidAddNewOrigin): Ditto. Also use
DatabaseTracker::singleton instead of tracker.
- Storage/WebDatabaseQuotaManager.mm:
(-[WebDatabaseQuotaManager initWithOrigin:]): Reject nil pointer argument.
(-[WebDatabaseQuotaManager usage]): Use reference instead of pointer.
(-[WebDatabaseQuotaManager quota]): Ditto.
(-[WebDatabaseQuotaManager setQuota:]): Ditto.
- WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithURL:]): Tweaked code a bit.
(-[WebSecurityOrigin usage]): Use DatabaseTracker and pass a reference.
(-[WebSecurityOrigin quota]): Ditto.
(-[WebSecurityOrigin setQuota:]): Ditto.
- WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]): Pass a reference.
Source/WebKit/win:
- WebDatabaseManager.cpp:
(WebDatabaseManager::origins): Use DatabaseTracker.
(WebDatabaseManager::databasesWithOrigin): Ditto.
(WebDatabaseManager::detailsForDatabase): Use reference.
(WebDatabaseManager::deleteAllDatabases): Use DatabaseTracker.
(WebDatabaseManager::deleteOrigin): Ditto.
(WebDatabaseManager::deleteDatabase): Ditto.
(WebDatabaseManager::dispatchDidModifyOrigin): Use reference
and DatabaseTracker.
(WebDatabaseManager::setQuota): Ditto.
(WebDatabaseManager::dispatchDidModifyDatabase): Ditto.
- WebDatabaseManager.h: Updated client functions to take a reference.
- WebSecurityOrigin.cpp:
(WebSecurityOrigin::usage): Update to use DatabaseTracker.
(WebSecurityOrigin::quota): Ditto.
(WebSecurityOrigin::setQuota): Ditto.
Source/WebKit2:
- UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::getDatabaseOrigins): Update for change to the
DatabaseTracker::origins function.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData): Use DatabaseTracker.
(WebKit::WebsiteDataStore::removeData): Ditto.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetDatabaseQuota): Ditto.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota): Ditto.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::processWillSuspendImminently): Ditto.
- 12:36 PM Changeset in webkit [208671] by
-
- 2 edits in trunk/Source/WebCore
Try to fix building with newer versions of clang.
- page/FrameView.h: Don’t export an inline function.
- 11:28 AM Changeset in webkit [208670] by
-
- 7 edits2 adds in trunk
Implement WTF::Expected
https://bugs.webkit.org/show_bug.cgi?id=164526
Reviewed by Yusuke Suzuki.
std::expected isn't in C++17, and may be in C++20. It's a nice
complement to std::any / std::optional because it's a type-tagged
union which has a single expected result but could also contain an
error.
This would be useful in the WebAssembly parser, for example.
Using this implementation will allow us to provide feedback to the
standards committee and guide std::expected's design before it
gets standardized. I've already sent a bunch of feedback to the
author based on my experience implementing this.
This could supplement WTF::Either and WTF::ExceptionOr.
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/Compiler.h: Add RELAXED_CONSTEXPR
- wtf/Expected.h: Added.
(WTF::UnexpectedType::UnexpectedType):
(WTF::UnexpectedType::value):
(WTF::operator==):
(WTF::operator!=):
(WTF::operator<):
(WTF::operator>):
(WTF::operator<=):
(WTF::operator>=):
(WTF::makeUnexpected):
(WTF::ExpectedDetail::Throw):
(WTF::ExpectedDetail::ConstexprBase::ConstexprBase):
(WTF::ExpectedDetail::Base::Base):
(WTF::ExpectedDetail::Base::~Base):
(WTF::Expected::Expected):
(WTF::Expected::operator=):
(WTF::Expected::swap):
(WTF::Expected::operator->):
(WTF::Expected::operator*):
(WTF::Expected::operator bool):
(WTF::Expected::hasValue):
(WTF::Expected::value):
(WTF::Expected::error):
(WTF::Expected::getUnexpected):
(WTF::Expected::valueOr):
(WTF::swap):
(WTF::makeExpected):
(WTF::makeExpectedFromError):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/Expected.cpp: Added.
(WTF::operator<<):
(TestWebKitAPI::TEST):
(TestWebKitAPI::foo::foo):
(TestWebKitAPI::foo::~foo):
(TestWebKitAPI::foo::operator==):
(TestWebKitAPI::operator<<):
- 10:31 AM Changeset in webkit [208669] by
-
- 46 edits in trunk/Source/WebCore
Move crypto code from ExceptionCode to ExceptionOr
https://bugs.webkit.org/show_bug.cgi?id=164698
Reviewed by Sam Weinig.
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
Use the new identifier function instead of getIdentifierForName.
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::normalizeCryptoAlgorithmParameters): Ditto.
(WebCore::toCryptoKeyUsageBitmap): Removed a stray meaningless const.
(WebCore::jsSubtleCryptoFunctionGenerateKeyPromise): Pass
ScriptExecutionContext as a reference instead of a pointer.
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue): Use the more efficient version
of setDOMException that uses scope.
(WebCore::JSWebKitSubtleCrypto::encrypt): Ditto. Also updated to use
ExceptionOr instead of ExceptionCode.
(WebCore::JSWebKitSubtleCrypto::decrypt): Ditto.
(WebCore::JSWebKitSubtleCrypto::sign): Ditto.
(WebCore::JSWebKitSubtleCrypto::verify): Ditto.
(WebCore::JSWebKitSubtleCrypto::digest): Ditto.
(WebCore::JSWebKitSubtleCrypto::generateKey): Ditto.
(WebCore::importKey): Ditto.
(WebCore::JSWebKitSubtleCrypto::wrapKey): Ditto.
(WebCore::JSWebKitSubtleCrypto::unwrapKey): Ditto.
- crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::CryptoAlgorithm): Deleted.
(WebCore::CryptoAlgorithm::~CryptoAlgorithm): Deleted.
(WebCore::CryptoAlgorithm::generateKey): Use ExceptionOr.
(WebCore::CryptoAlgorithm::encrypt): Ditto.
(WebCore::CryptoAlgorithm::decrypt): Ditto.
(WebCore::CryptoAlgorithm::sign): Ditto.
(WebCore::CryptoAlgorithm::verify): Ditto.
(WebCore::CryptoAlgorithm::digest): Ditto.
(WebCore::CryptoAlgorithm::deriveKey): Ditto.
(WebCore::CryptoAlgorithm::deriveBits): Ditto.
(WebCore::CryptoAlgorithm::importKey): Ditto.
(WebCore::CryptoAlgorithm::encryptForWrapKey): Ditto.
(WebCore::CryptoAlgorithm::decryptForUnwrapKey): Ditto.
- crypto/CryptoAlgorithm.h: Use ExceptionOr.
Moved the destructor into the header since it's more efficient for
derived classes to have it inlined. Removed the protected constructor
because since there are pure virtual functions in the class, there is
no risk of anyone misusing the public constructor.
- crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::identifier): Renamed from
getIdentifierForName and changed to use an Optional rather than
using a boolean plus an out argument.
(WebCore::CryptoAlgorithmRegistry::name): Renamed to name from
nameForIdentifier. Also updated to share a single map containing
both names and constructors.
(WebCore::CryptoAlgorithmRegistry::create): Share single map as above.
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm): Updated assertions
to a mroe straightforward style. Share single map for names and constructors.
- crypto/CryptoAlgorithmRegistry.h: Updated for above.
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::CryptoAlgorithmAES_CBC): Deleted.
(WebCore::CryptoAlgorithmAES_CBC::~CryptoAlgorithmAES_CBC): Deleted.
(WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmAES_CBC::generateKey): Ditto.
(WebCore::CryptoAlgorithmAES_CBC::encrypt): Ditto.
(WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
(WebCore::CryptoAlgorithmAES_CBC::importKey): Ditto.
- crypto/algorithms/CryptoAlgorithmAES_CBC.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::CryptoAlgorithmAES_KW): Deleted.
(WebCore::CryptoAlgorithmAES_KW::~CryptoAlgorithmAES_KW): Deleted.
(WebCore::CryptoAlgorithmAES_KW::keyAlgorithmMatches): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmAES_KW::generateKey): Ditto.
(WebCore::CryptoAlgorithmAES_KW::importKey): Ditto.
(WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey): Ditto.
(WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey): Ditto.
- crypto/algorithms/CryptoAlgorithmAES_KW.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::CryptoAlgorithmHMAC): Deleted.
(WebCore::CryptoAlgorithmHMAC::~CryptoAlgorithmHMAC): Deleted.
(WebCore::CryptoAlgorithmHMAC::generateKey): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmHMAC::sign): Ditto.
(WebCore::CryptoAlgorithmHMAC::verify): Ditto.
(WebCore::CryptoAlgorithmHMAC::importKey): Ditto.
- crypto/algorithms/CryptoAlgorithmHMAC.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5): Deleted.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5): Deleted.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt): Ditto.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt): Ditto.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey): Ditto.
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::CryptoAlgorithmRSASSA_PKCS1_v1_5): Deleted.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::~CryptoAlgorithmRSASSA_PKCS1_v1_5): Deleted.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign): Ditto.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify): Ditto.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey): Ditto.
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::CryptoAlgorithmRSA_OAEP): Deleted.
(WebCore::CryptoAlgorithmRSA_OAEP::~CryptoAlgorithmRSA_OAEP): Deleted.
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey): Use references, ExceptionOr.
(WebCore::CryptoAlgorithmRSA_OAEP::encrypt): Ditto.
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt): Ditto.
(WebCore::CryptoAlgorithmRSA_OAEP::importKey): Ditto.
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::CryptoAlgorithmSHA1): Deleted.
(WebCore::CryptoAlgorithmSHA1::~CryptoAlgorithmSHA1): Deleted.
(WebCore::CryptoAlgorithmSHA1::digest): Use ExceptionOr.
- crypto/algorithms/CryptoAlgorithmSHA1.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::CryptoAlgorithmSHA224): Deleted.
(WebCore::CryptoAlgorithmSHA224::~CryptoAlgorithmSHA224): Deleted.
(WebCore::CryptoAlgorithmSHA224::digest): Use ExceptionOr.
- crypto/algorithms/CryptoAlgorithmSHA224.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::CryptoAlgorithmSHA256): Deleted.
(WebCore::CryptoAlgorithmSHA256::~CryptoAlgorithmSHA256): Deleted.
(WebCore::CryptoAlgorithmSHA256::digest): Use ExceptionOr.
- crypto/algorithms/CryptoAlgorithmSHA256.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::CryptoAlgorithmSHA384): Deleted.
(WebCore::CryptoAlgorithmSHA384::~CryptoAlgorithmSHA384): Deleted.
(WebCore::CryptoAlgorithmSHA384::digest): Use ExceptionOr.
- crypto/algorithms/CryptoAlgorithmSHA384.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::CryptoAlgorithmSHA512): Deleted.
(WebCore::CryptoAlgorithmSHA512::~CryptoAlgorithmSHA512): Deleted.
(WebCore::CryptoAlgorithmSHA512::digest): Use ExceptionOr.
- crypto/algorithms/CryptoAlgorithmSHA512.h: Updated for above.
Also use constexpr for s_name and s_identifier.
- crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp:
(WebCore::calculateSignature): Use Optional instead of a boolean
return value and an out argument.
(WebCore::CryptoAlgorithmHMAC::platformSign): Use ExceptionOr.
(WebCore::CryptoAlgorithmHMAC::platformVerify): Ditto.
- crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): Ditto.
- crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt): Ditto.
- crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign): Ditto.
(WebCore::CryptoAlgorithmHMAC::platformVerify): Ditto.
- crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): Ditto.
- crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Ditto.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
- crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): Ditto.
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::buildAlgorithm): Updated to use name instead
of nameForIdentifier.
- crypto/keys/CryptoKeyHMAC.cpp: Ditto.
(WebCore::CryptoKeyHMAC::buildAlgorithm):
- crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): Use ExceptionOr.
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): Ditto.
- crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt): Ditto.
- crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::commonCryptoHMACAlgorithm): Renamed from
getCommonCryptoHMACAlgorithm and changed to use Optional instead of
a boolean return value and an out argument.
(WebCore::CryptoAlgorithmHMAC::platformSign): Use ExceptionOr.
(WebCore::CryptoAlgorithmHMAC::platformVerify): Ditto.
- crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): Ditto.
- crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::cryptoDigestAlgorithm): Renamed from
getCryptoDigestAlgorithm and changed to use Optional instead of
a boolean return value and an out argument.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Use ExceptionOr.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
- crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): Ditto.
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): Ditto.
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::buildAlgorithm): Updated to use name instead
of nameForIdentifier.
- 2:05 AM Changeset in webkit [208668] by
-
- 547 edits in trunk/Source/WebCore
Use #pragma once in WebCore
https://bugs.webkit.org/show_bug.cgi?id=164686
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-11-13
Reviewed by Michael Catanzaro.
- css/*.h:
- plugins/*.h:
- rendering/*.h:
- style/*.h:
- svg/*.h:
- testing/*.h:
Nov 12, 2016:
- 11:43 PM Changeset in webkit [208667] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the iOS build after r208666.
- platform/SuddenTermination.h:
- 11:19 PM Changeset in webkit [208666] by
-
- 26 edits2 adds in trunk
Add a way to get the UI-side scrolling tree as text via UIScriptController
https://bugs.webkit.org/show_bug.cgi?id=164697
Reviewed by Zalan Bujtas.
Source/WebCore:
Add dumping to ScrollingTreeNode and subclasses (previously, we could only dump
the scrolling state tree). This re-uses the flags used for state tree dumping.
NodeIDs are not dumped by default because they can depend on earlier tests.
Test: scrollingcoordinator/ios/ui-scrolling-tree.html
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::scrollingTreeAsText):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::dumpProperties):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::dumpProperties):
(WebCore::ScrollingTreeNode::dump):
- page/scrolling/ScrollingTreeNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::dumpProperties):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/mac/ScrollingTreeFixedNode.h:
- page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::dumpProperties):
- page/scrolling/mac/ScrollingTreeStickyNode.h:
- page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::dumpProperties):
Source/WebKit2:
Add a property to WKWebView to retrieve the scrolling tree as text, for testing.
Expose it via the RemoteScrollingCoordinatorProxy.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollingTreeAsText]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeAsText):
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
Tools:
Add UIScriptController::scrollingTreeAsText(), which gets the state of the scrolling
tree in the UI process, including the current positions of CALayers. This will be used
to test UI-side scrolling and visual viewports.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::scrollingTreeAsText):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::scrollingTreeAsText):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::scrollingTreeAsText):
LayoutTests:
Add a test that dumps the scrolling state tree with a fixed element.
- scrollingcoordinator/ios/ui-scrolling-tree-expected.txt: Added.
- scrollingcoordinator/ios/ui-scrolling-tree.html: Added.
- 9:50 PM Changeset in webkit [208665] by
-
- 2 edits in trunk/Source/WebKit2
Incorrect release log message emitted when waiting/not waiting for the WebProcess continue a load
https://bugs.webkit.org/show_bug.cgi?id=164605
Patch by Daniel Bates <dabates@apple.com> on 2016-11-12
Reviewed by Darin Adler.
Currently we emit a release log message of the form "didReceiveResponse: Should wait for
message from WebContent process ..." when we are not waiting for the WebProcess and emit
a message of the form "didReceiveResponse: Should not wait for message from WebContent
process" when we are waiting on the WebProcess. Invert these messages to reflect whether
we are waiting for the WebProcess to send message NetworkResourceLoader::ContinueDidReceiveResponsewhether.
For the main resource NetworkResourceLoader::didReceiveResponse() returns ShouldContinueDidReceiveResponse::No
because we are waiting for the WebProcess to send message NetworkResourceLoader::ContinueDidReceiveResponse
to continue the load. For a subresource we do not need to wait for the WebProcess to allow the load to continue
and hence NetworkResourceLoader::didReceiveResponse() returns ShouldContinueDidReceiveResponse::Yes.
- NetworkProcess/NetworkResourceLoader.cpp:
- 9:38 PM Changeset in webkit [208664] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Type Profiler and Code Coverage Profiler should work in Workers
https://bugs.webkit.org/show_bug.cgi?id=164682
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-11-12
Reviewed by Darin Adler.
- UserInterface/Controllers/BasicBlockAnnotator.js:
- UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
Use the target associated with the Script.
- UserInterface/Protocol/Target.js:
(WebInspector.WorkerTarget.prototype.initialize):
When initializing a Worker Target, match the existing state
of the Page for these profilers.
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype.willDismissPopover):
Use the correct target for this Script / Resource.
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
(WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
Enable / disable for all targets when toggling profilers.
- 8:52 PM Changeset in webkit [208663] by
-
- 9 edits in trunk/Source/WebCore
Remove some use of ExceptionCode in MediaStream
https://bugs.webkit.org/show_bug.cgi?id=164690
Reviewed by Sam Weinig.
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices): Take a Document&.
(WebCore::MediaDevices::create): Ditto.
(WebCore::MediaDevices::~MediaDevices): Deleted.
(WebCore::MediaDevices::getUserMedia): Check document for null and
pass a reference to UserMediaRequest::start. Removed unused ExceptionCode
argument to UserMediaRequest::start, since the only exception was for
a null document.
(WebCore::MediaDevices::enumerateDevices): Check document for null and
pass a reference to MediaDevicesRequest::create. Removed exception
handling entirely because MediaDevicesRequest::create was not ever
raising an exception before.
- Modules/mediastream/MediaDevices.h: Updated for above changes.
- Modules/mediastream/MediaDevices.idl: Removed MayThrowException from
enumerateDevices, because it never throws an exception.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::MediaDevicesRequest): Take a Document&.
Removed unused ExceptionCode& argument.
(WebCore::MediaDevicesRequest::create): Ditto.
- Modules/mediastream/MediaDevicesRequest.h: Updated for above changes.
- Modules/mediastream/NavigatorMediaDevices.cpp:
(WebCore::NavigatorMediaDevices::mediaDevices): Pass a reference.
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::start): Use ExceptionOr.
(WebCore::UserMediaRequest::UserMediaRequest): Take a Document& and
a UserMediaController&.
- Modules/mediastream/UserMediaRequest.h: Updated for above changes.
- 7:24 PM Changeset in webkit [208662] by
-
- 15 edits3 adds in trunk
[iOS WK2] Share some code with Mac for post-async-scroll state reconciliation
https://bugs.webkit.org/show_bug.cgi?id=164694
Reviewed by Zalan Bujtas.
Source/WebCore:
When an async scroll notifications get back to the main thread in
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll(), we call
syncViewportConstrainedLayerPositions() to poke the new layer positions on the
GraphicsLayers to match the changes made on the scrolling thread.
However, this was not done on iOS, which will be problematic for a future patch
where we require GraphicsLayer positions and the current fixedPositionViewport rect
to have been computed when in a consistent state.
Fix by factoring some code into reconcileScrollingState(), which is called on iOS/WK2
from WebPage::updateVisibleContentRects() rather than setting the FrameView's scroll offset
directly.
Test: scrollingcoordinator/ios/sync-layer-positions-after-scroll.html
- page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::filteredDelta):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
(WebCore::AsyncScrollingCoordinator::syncViewportConstrainedLayerPositions):
(WebCore::AsyncScrollingCoordinator::syncChildPositions): Deleted.
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::reconcileScrollingState):
(WebCore::ScrollingCoordinator::syncViewportConstrainedLayerPositions):
(WebCore::ScrollingCoordinator::syncChildPositions): Deleted.
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::layoutViewportForScrollPosition):
- platform/Logging.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollOffset):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::adjustTileCoverageRect):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll):
Source/WebKit2:
Rather than calling FrameView directly, call reconcileScrollingState() on the scrolling
coordinator.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
LayoutTests:
Test that pans the page, and dumps GraphicsLayers before letting go.
- TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt: Added.
- scrollingcoordinator/ios/sync-layer-positions-after-scroll.html: Added.
- 7:08 PM Changeset in webkit [208661] by
-
- 6 edits in trunk/Source/WebCore
RenderObject::flowThreadState should follow containing block instead of parent.
https://bugs.webkit.org/show_bug.cgi?id=164629
Reviewed by Simon Fraser.
Currently every descendant of a region/multicolumn container is considered to be part of the
flowthread including out-of-flow renderers. They all have the InsideFlowThread flag set.
However since out-of-flow renderers are not really part of the flowthread layout context,
whenever the layout code actually checks for their flowthread containers, we return nullptr and
try to handle this seemingly defective state gracefully (that is, flag indicates "inside the flow thread" state,
but there's no flow tread container).
This patch fixes this confused state by setting the RenderObject::flowThreadState flag based on
the containing block's state instead of the parent's.
Not testable, since we seem to manage out-of-flow elements just fine even
when they have the InsideFlowThread flag set.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFlowThreadStateIncludingDescendants): This is an iterative DFS pre-order traversal so
we set the flow state first on containers.
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::computedFlowThreadState):
(WebCore::RenderObject::initializeFlowThreadStateOnInsertion):
- rendering/RenderObject.h:
- 6:43 PM Changeset in webkit [208660] by
-
- 5 edits in trunk
document.currentScript should be null when running a script inside a shadow tree
https://bugs.webkit.org/show_bug.cgi?id=164693
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Rebaselined the imported test now that there are no errors.
- web-platform-tests/shadow-dom/Document-prototype-currentScript-expected.txt:
Source/WebCore:
Fixed the bug that we were returning the old or outer script element in document.currentScript
while executing a script element inside a shadow tree. Return null instead.
New behavior matches the latest HTML5 specification:
https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block
where it says for the classic script type, "if the script element's root is not a shadow root, then set
the script element's node document's currentScript attribute to the script element. Otherwise, set it to null."
No new tests. imported/w3c/web-platform-tests/shadow-dom/Document-prototype-currentScript.html covers it.
- dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer): Push nullptr when the script element
is inside a shadow tree.
(WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer): Changed to use an early exit.
- dom/Document.cpp:
(WebCore::Document::pushCurrentScript): Removed the assertion since the argument can now be nullptr.
- 2:31 PM Changeset in webkit [208659] by
-
- 23 edits in trunk/Source
Remove a few assorted uses of ExceptionCode
https://bugs.webkit.org/show_bug.cgi?id=164683
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/applepay/PaymentContact.h: Removed include of ExceptionCode.h.
Also tidied up the constructor and destructor.
- Modules/indexeddb/IDBFactory.h: Removed typedef of ExceptionCode.
- Modules/indexeddb/IDBKeyRange.h: Ditto.
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter): Removed local ExceptionCode variable that
was always 0.
(WebCore::JSWebGLRenderingContextBase::getAttachedShaders): Ditto.
(WebCore::dataFunctionf): Ditto.
(WebCore::dataFunctioni): Ditto.
(WebCore::dataFunctionMatrix): Ditto.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes): Ditto.
- dom/Document.h: Removed typedef of ExceptionCode.
- dom/TreeWalker.h: Ditto.
- editing/markup.h: Ditto.
- html/ImageData.h: Ditto.
- html/InputType.h: Ditto.
- html/canvas/CanvasRenderingContext2D.h: Ditto.
- html/canvas/WebGLDebugShaders.h: Ditto.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout): Fixed typo where this was using
ExceptionCode instead of Exception. The code would return an integer
instead of an exception in this case. I could not produce a test that
exercises this code path; I suspect it is an unreachable error condition.
(WebCore::DOMWindow::setInterval): Ditto.
- replay/MemoizedDOMResult.h: Changed typedef of ExceptionCode into
a using statement. Not sure what the longer term fix is.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::PendingCallbacks::appendStartElementNSCallback): Renamed to use
WebKit-style "numXXX" rather than "nb_xxx".
(WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
Ditto.
(WebCore::handleNamespaceAttributes): Ditto. Replaced ExceptionCode out
argument with a boolean return value.
(WebCore::handleElementAttributes): Ditto.
(WebCore::XMLDocumentParser::startElementNs): Ditto. Updated for changes
to the handle functions above.
(WebCore::startElementNsHandler): More of the same.
(WebCore::attributesStartElementNsHandler): Ditto.
Source/WebKit/mac:
- DOM/DOMDOMImplementation.mm:
(-[DOMImplementation createDocumentType:publicId:systemId:]):
Use raiseOnDOMError instead of much longer hand written equivalent.
(-[DOMImplementation createDocument:qualifiedName:doctype:]): Ditto.
- DOM/DOMDocument.mm:
(-[DOMDocument createEntityReference:]): Use raiseNotSupportedErrorException
so we are not using a specific exception code.
- DOM/DOMHTMLOptionsCollection.mm:
(-[DOMHTMLOptionsCollection add:index:]): Use raiseOnDOMError instead of
much longer hand written equivalent.
- DOM/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement add:before:]): Ditto. Also removed unneeded return
statement after calling a "no return" function.
- DOM/ExceptionHandlers.h: Removed overloads of raiseDOMException and
raiseOnDOMError functions that take ExceptionCode; keep the ones that take
Exception and ExceptionOr. Renamed the other overload of raiseDOMException
to raiseDOMErrorException; it is only used as the non-inline implementation
part of the inline raiseOnDOMError function.
- DOM/ExceptionHandlers.mm:
(raiseDOMErrorException): Renamed. Made the ExceptionCode overload be local
to this source file instead of in the header.
(raiseTypeErrorException): Updated for name change.
(raiseNotSupportedErrorException): Added.
- 2:30 PM Changeset in webkit [208658] by
-
- 101 edits in trunk/Source/WebCore
Remove LegacyException support from bindings script
https://bugs.webkit.org/show_bug.cgi?id=164516
Reviewed by Youenn Fablet.
Besides removing LegacyException support from the bindings script, this patch
also removes most uses of ExceptionCodePlaceholder.h. Also, some call sites of
createElement were using ASSERT_NO_EXCEPTION on an argument that was not even an
ExceptionCode&, so to fix that, this changes most call sites to use specific create
functions for specific element classes, rather than using Document::createElement.
- Modules/mediasource/SourceBuffer.cpp: Removed include of
ExceptionCodePlaceholder.h.
- Modules/mediastream/MediaStreamTrack.cpp: Ditto.
- Modules/websockets/WebSocketChannel.cpp: Ditto.
- bindings/js/JSBlobCustom.cpp: Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Removed support for GetterMayThrowLegacyException,
SetterMayThrowLegacyException, and MayThrowLegacyException.
(GenerateParametersCheck): Ditto.
(GenerateImplementationFunctionCall): Ditto.
(GenerateConstructorDefinition): Ditto.
- bindings/scripts/IDLAttributes.txt: Removed ConstructorMayThrowLegacyException,
GetterMayThrowLegacyException, MayThrowLegacyException, and SetterMayThrowLegacyException.
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
Updated exepected results.
- bindings/scripts/test/TestImplements.idl: Use non-legacy exceptions.
- bindings/scripts/test/TestInterface.idl: Ditto.
- bindings/scripts/test/TestNamedConstructor.idl: Ditto.
- bindings/scripts/test/TestObj.idl: Ditto.
- bindings/scripts/test/TestSupplemental.idl: Ditto.
- bindings/scripts/test/TestTypedefs.idl: Ditto.
- dom/ContainerNode.h: Removed include of ExceptionCodePlaceholder.h.
- editing/AlternativeTextController.cpp: Ditto.
- editing/AppendNodeCommand.cpp: Ditto.
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): Use specific create function
instead of Document::createElement.
- editing/DeleteFromTextNodeCommand.cpp: Removed include of
ExceptionCodePlaceholder.h.
- editing/Editor.cpp: Ditto.
- editing/EditorCommand.cpp: Ditto.
- editing/FormatBlockCommand.cpp: Ditto.
- editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): Use specific create
function instead of Document::createElement.
- editing/InsertListCommand.cpp: Removed include of ExceptionCodePlaceholder.h.
- editing/InsertNodeBeforeCommand.cpp: Ditto.
- editing/RemoveNodeCommand.cpp: Ditto.
- editing/ReplaceSelectionCommand.cpp: Ditto.
- editing/TextIterator.cpp: Ditto.
- editing/WrapContentsInDummySpanCommand.cpp: Ditto.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::styleForSelectionStart): Use specific create function instead
of Document::createElement.
- editing/htmlediting.cpp:
(WebCore::createTabSpanElement): Ditto.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader::readURL): Ditto.
- editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader::readURL): Ditto.
- editing/markup.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::appendEntry): Use specific create function
instead of Document::createElement.
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Ditto.
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Ditto.
(WebCore::FTPDirectoryDocumentParser::createBasicDocument): Ditto.
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::create): Added overload that just takes a Document.
- html/HTMLEmbedElement.h: Updated for above.
- html/HTMLMediaElement.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::create): Added overload that just takes a Document.
- html/HTMLMetaElement.h: Updated for above.
- html/HTMLOutputElement.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/HTMLSelectElement.cpp: Ditto.
(WebCore::HTMLSelectElement::setLength): Use specific create function
instead of Document::createElement.
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::create): Added overload that just takes a Document.
- html/HTMLSourceElement.h: Updated for above.
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement): Moved data member initialization
to class definition.
(WebCore::HTMLStyleElement::create): Added overload that just takes a Document.
- html/HTMLStyleElement.h: Updated for above. Also made finishParsingChildren public.
- html/HTMLTableElement.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/HTMLTextAreaElement.cpp: Ditto.
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::create): Added overload that just takes a Document.
- html/HTMLVideoElement.h: Updated for above.
- html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Use specific create function
instead of Document::createElement.
- html/InputType.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure): Use specific create
function instead of Document::createElement.
(WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
- html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure): Ditto.
- html/RangeInputType.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/RubyElement.cpp:
(WebCore::RubyElement::create): Added overload that just takes a Document.
- html/RubyElement.h: Updated for above.
- html/RubyTextElement.cpp:
(WebCore::RubyTextElement::create): Added overload that just takes a Document.
- html/RubyTextElement.h: Updated for above.
- html/ValidationMessage.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/canvas/CanvasRenderingContext2D.cpp: Ditto.
- html/shadow/MediaControlElementTypes.cpp: Ditto.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
Use specific create function instead of Document::createElement.
- html/shadow/MediaControls.cpp: Removed include of ExceptionCodePlaceholder.h.
- html/shadow/MediaControlsApple.cpp: Ditto.
- html/track/InbandDataTextTrack.cpp: Ditto.
- html/track/InbandGenericTextTrack.cpp: Ditto.
- html/track/InbandTextTrack.cpp: Ditto.
- html/track/VTTRegion.cpp: Ditto.
- html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::createEquivalentHTMLElement): Use specific create
function instead of Document::createElement.
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument): Ditto.
- page/ContextMenuController.cpp: Removed include of ExceptionCodePlaceholder.h.
- page/DOMWindow.cpp: Ditto.
- page/DragController.cpp: Ditto.
- page/EventHandler.cpp: Ditto.
- page/Page.cpp: Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Ditto.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Ditto.
- platform/mac/PasteboardMac.mm: Ditto.
- platform/mac/WebVideoFullscreenHUDWindowController.mm: Ditto.
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: Ditto.
- platform/mock/mediasource/MockMediaSourcePrivate.cpp: Ditto.
- rendering/RenderNamedFlowThread.cpp: Ditto.
- rendering/RenderThemeEfl.cpp: Ditto.
- rendering/RenderThemeMac.mm: Ditto.
- rendering/style/SVGRenderStyle.h: Ditto.
- svg/SVGTRefElement.cpp: Ditto.
- xml/XMLErrors.cpp:
(WebCore::XMLErrors::XMLErrors): Take a reference and initialize data member
in class definition.
(WebCore::createXHTMLParserErrorHeader): Take a reference, and mostly use
specific create functions instead of createElement.
(WebCore::XMLErrors::insertErrorMessageBlock): Ditto.
- xml/XMLErrors.h: Updated for above.
- xml/XMLTreeViewer.cpp: Removed include of ExceptionCodePlaceholder.h.
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::handleError): Pass a reference.
- xml/parser/XMLDocumentParserLibxml2.cpp: Removed include of
ExceptionCodePlaceholder.h.
- 2:24 PM Changeset in webkit [208657] by
-
- 4 edits in trunk/Source/WebKit2
Web Automation: terminate the automation session if the web process crashes
https://bugs.webkit.org/show_bug.cgi?id=164671
<rdar://problem/29028964>
Reviewed by Joseph Pecoraro.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::disconnect):
(WebKit::WebAutomationSession::terminate):
Factor out code that disconnects the remote, unpairs, and notifies the client.
Then, expose terminate() which can be called without a FrontendChannel.
Calling this causes the _WKAutomationDelegate to clear the local-side session in the
browser, and disconnecting from the remote will hang up the remote-side session.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidCrash):
Terminate the session.
- 1:34 PM Changeset in webkit [208656] by
-
- 3 edits in trunk/Source/WebCore
Clean up a couple of macOS *SPI headers
https://bugs.webkit.org/show_bug.cgi?id=164687
Reviewed by Sam Weinig.
- platform/spi/cocoa/NSTouchBarSPI.h: Replaced hardcoded strings with global declarations.
- platform/spi/mac/NSSpellCheckerSPI.h: Addressed FIXME by importing private header, and removed declarations that already appear in the SDK.
- 12:50 PM Changeset in webkit [208655] by
-
- 5 edits1 add in trunk
The main content heuristic should be robust when handling large media elements
https://bugs.webkit.org/show_bug.cgi?id=164676
<rdar://problem/29211503>
Reviewed by Eric Carlson.
Source/WebCore:
Handles integer overflow gracefully when performing the main content check for very large media elements. If the
heuristic comes across such an element, it will now bail early and reject the video as main content. Also adds a
new API test: VideoControlsManager.VideoControlsManagerPageWithEnormousVideo.
- html/MediaElementSession.cpp:
(WebCore::isElementRectMostlyInMainFrame):
Tools:
Added a new test verifying that enormous video elements are handled gracefully when put through the main
content heuristic.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/enormous-video-with-sound.html: Added.
- 11:30 AM Changeset in webkit [208654] by
-
- 2 edits in trunk
Unreviewed, rolling out r207872.
https://bugs.webkit.org/show_bug.cgi?id=162623
Did not disable anything, just made them public
Reverted changeset:
"[GTK][GStreamer] Disable MEDIA_SOURCE and ENCRYPTED_MEDIA_V2 by default"
https://bugs.webkit.org/show_bug.cgi?id=162623
http://trac.webkit.org/changeset/207872
- 9:54 AM Changeset in webkit [208653] by
-
- 6 edits in trunk/Source/WebCore
Speed up setting attributes of input elements of type 'text'
https://bugs.webkit.org/show_bug.cgi?id=164674
Reviewed by Ryosuke Niwa.
Speed up setting attributes of input elements of type 'text' by calling
updateInnerTextValue() only when needed. It was previously called
whenever an attribute was set, no matter it could impact its text value
or not.
No new tests, no Web-exposed behavior change.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
- html/InputType.cpp:
(WebCore::InputType::attributeChanged):
- html/InputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::attributeChanged):
- html/TextFieldInputType.h:
- 9:43 AM Changeset in webkit [208652] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the 32-bit build.
- platform/mac/WebPlaybackControlsManager.mm:
- 9:40 AM Changeset in webkit [208651] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the 32-bit build.
- platform/mac/WebPlaybackControlsManager.h:
- 9:33 AM Changeset in webkit [208650] by
-
- 3 edits in trunk/Source/WebCore
Tried to fix the build
- platform/mac/WebPlaybackControlsManager.h: Declared conformance to AVFunctionBarPlaybackControlsControlling, which is expected in WebKit::WebViewImpl. Added ivar.
- platform/mac/WebPlaybackControlsManager.mm: Synthesize seekToTime property needed for AVFunctionBarPlaybackControlsControlling conformance.
(-[WebPlaybackControlsManager isSeeking]): Implement this
AVFunctionBarPlaybackControlsControlling method.
(-[WebPlaybackControlsManager seekToTime:toleranceBefore:toleranceAfter:]): Ditto.
- 9:13 AM Changeset in webkit [208649] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the build
- platform/spi/cocoa/NSTouchBarSPI.h: Removed duplicate @interface declarations.
- 6:50 AM Changeset in webkit [208648] by
-
- 11 edits2 adds in trunk
Ensure MathML render tree are clean by the end of FrameView::layout().
https://bugs.webkit.org/show_bug.cgi?id=162824
Patch by Frederic Wang <fwang@igalia.com> on 2016-11-12
Reviewed by Darin Adler.
Source/WebCore:
clearNeedsLayout is not called during the layout of invalid MathML markup. We introduce a new
helper function to perform proper layout of such markup and we now call it from the various
MathML layoutBlock functions. Additionally, we ensure that the preferred width is dirty after
computation in RenderMathMLScripts::computePreferredLogicalWidths.
Test: mathml/invalid-markup.html
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::layoutInvalidMarkup): Helper function to layout invalid markup.
- rendering/mathml/RenderMathMLBlock.h: Declare layoutInvalidMarkup.
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layoutBlock): Call layoutInvalidMarkup.
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layoutBlock): Ditto.
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::computePreferredLogicalWidths): Set the preferred width dirty
after computation to avoid that it is computed again and again.
(WebCore::RenderMathMLScripts::layoutBlock): Call layoutInvalidMarkup.
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layoutBlock): Ditto.
LayoutTests:
- mathml/invalid-markup-expected.txt: Added.
- mathml/invalid-markup.html: Added.
- mathml/mn-as-list-item-assert-expected.txt: Update text expectation now that invalid
subtree appears in the output.
- mathml/msubsup-fuzz-expected.txt: Ditto.
- accessibility/mac/mathml-multiscript.txt: Ditto.
- 4:41 AM Changeset in webkit [208647] by
-
- 3 edits in trunk/Source/WebCore
Remove RenderMathMLOperator::shouldAllowStretching
https://bugs.webkit.org/show_bug.cgi?id=164313
Patch by Frederic Wang <fwang@igalia.com> on 2016-11-12
Reviewed by Darin Adler.
RenderMathMLOperator::shouldAllowStretching is an old function from early implementations of
MathML. Its name is now confusing since it also includes non-stretchy large operators.
Moreover, it is not really useful and is actually only used by two functions: useMathOperator
and updateMathOperator. The former is almost equivalent and is used as a replacement of
shouldAllowStretching everywhere else. We rewrite the two remaining calls with the finer
test functions isStretchy() and isLargeOperatorInDisplayStyle().
No new tests, behavior unchanged.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateMathOperator): Reorder the conditionals to avoid the
use of RenderMathMLOperator::shouldAllowStretching and match useMathOperator.
(WebCore::RenderMathMLOperator::useMathOperator): Rewrite shouldAllowStretching() using
isStretchy() and isLargeOperatorInDisplayStyle().
(WebCore::RenderMathMLOperator::shouldAllowStretching): Deleted.
- rendering/mathml/RenderMathMLOperator.h: Remove declaration of shouldAllowStretching.
- 12:57 AM Changeset in webkit [208646] by
-
- 465 edits in trunk/Source/WebCore
Use #pragma once in WebCore
https://bugs.webkit.org/show_bug.cgi?id=164373
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-11-12
Reviewed by Darin Adler.
- Modules/*.h:
- crypto/*.h:
- cssjit/*.h:
- editing/*.h:
- fileapi/*.h:
- history/*.h:
- loader/*.h:
- mathml/*.h:
- page/*.h:
- replay/*.h:
- storage/*.h:
- xml/*.h:
- editing/FrameSelection.cpp:
- loader/ResourceLoadStatisticsStore.cpp:
Remove unused LOG and DEBUG defines.
- 12:43 AM Changeset in webkit [208645] by
-
- 2 edits in trunk/Source/WebCore
Follow-up: fix the OpenSource build on Mac after r208642
https://bugs.webkit.org/show_bug.cgi?id=164677
Reviewed by Ryosuke Niwa.
The playbackControlsController property should also be
assign.
- platform/spi/cocoa/AVKitSPI.h:
- 12:23 AM Changeset in webkit [208644] by
-
- 3 edits in trunk/Tools
run-safari does not work for open source contributors
https://bugs.webkit.org/show_bug.cgi?id=164667
<rdar://problem/29229894>
Reviewed by Joseph Pecoraro.
- Scripts/run-api-tests:
(archCommandLineArgumentsForRestrictedEnvironmentVariables): Moved from here…
- Scripts/webkitdirs.pm:
(archCommandLineArgumentsForRestrictedEnvironmentVariables): …to here
(runMacWebKitApp): Have arch(1) carry the DYLD_* variables we set in our environmet over
to the environment of the app being run.
- 12:16 AM Changeset in webkit [208643] by
-
- 2 edits in trunk/Source/JavaScriptCore
Follow-up fix to r208639.
Unreviewed fix. This is a straightfoward change where I forgot to
switch from uncheckedArgument() to argument() in once case after
dropping an argumentCount check. All other cases do this properly.
This addresses an ASSERT seen on the bots running tests.
- runtime/JSDataViewPrototype.cpp:
(JSC::setData):