| 2015-12-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Give SVGTransformList some inline vector capacity |
| https://bugs.webkit.org/show_bug.cgi?id=151644 |
| |
| Reviewed by Andreas Kling. |
| |
| Giving SVGTransformList inline capacity of one drops time under SVGTransformList::parse() by |
| about 1% on http://animateplus.com/demos/stress-test/ |
| |
| * svg/SVGTransformList.h: |
| |
| 2015-12-06 Zalan Bujtas <zalan@apple.com> |
| |
| Addressing post-review comments on r193374. |
| |
| Reviewed by Antti Koivisto. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseForText): |
| (WebCore::SimpleLineLayout::canUseForFontAndText): |
| (WebCore::SimpleLineLayout::canUseForStyle): |
| (WebCore::SimpleLineLayout::canUseForWithReason): |
| (WebCore::SimpleLineLayout::canUseFor): |
| (WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList): |
| (WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage): |
| |
| 2015-12-04 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Remove CORETEXT_WEB_FONTS |
| https://bugs.webkit.org/show_bug.cgi?id=151891 |
| |
| Reviewed by Simon Fraser. |
| |
| The only platform where this was turned off (Mavericks) is no longer supported. |
| |
| No new tests because there is no behavior difference. |
| |
| * platform/graphics/cocoa/FontCocoa.mm: |
| (WebCore::Font::platformCreateScaledFont): Deleted. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::registeredFont): |
| (WebCore::FontPlatformData::ctFont): |
| * platform/graphics/mac/FontCustomPlatformData.cpp: |
| (WebCore::FontCustomPlatformData::fontPlatformData): Deleted. |
| (WebCore::createFontCustomPlatformData): Deleted. |
| * platform/graphics/mac/FontCustomPlatformData.h: |
| (WebCore::FontCustomPlatformData::FontCustomPlatformData): Deleted. |
| * platform/text/TextFlags.h: |
| |
| 2015-12-04 Zalan Bujtas <zalan@apple.com> |
| |
| Garbage in page tiles when document is too long. |
| https://bugs.webkit.org/show_bug.cgi?id=151906 |
| rdar://problem/23695858 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch partially fixes the broken concept(webkit.org/b/151908) of having a nearlyMax/2 sized rectangle to define infiniteness. |
| (see LayoutRect::infiniteRect() and ClipRect::isInfinite()) |
| |
| Covered by existing test. |
| |
| * rendering/ClipRect.h: Branch for infinite clipping. |
| (WebCore::ClipRect::intersect): |
| (WebCore::ClipRect::intersects): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::clipToRect): Do not clip when clipping is infinite. |
| (WebCore::RenderLayer::restoreClip): |
| (WebCore::RenderLayer::calculateClipRects): |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Add some more custom exception messages, passing some more tests. |
| https://bugs.webkit.org/show_bug.cgi?id=151898 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Some failing tests now pass). |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::objectStore): |
| |
| 2015-12-04 Brent Fulgham <bfulgham@apple.com> |
| |
| Place an upper bound on canvas pixel count |
| https://bugs.webkit.org/show_bug.cgi?id=151825 |
| <rdar://problem/23324916> |
| |
| Reviewed by Simon Fraser. |
| |
| Malformed JavaScript can attempt to create lots of canvas contexts. Limit the amount of memory |
| we will use for this purpose to some percentage of system RAM. |
| |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::removeFromActivePixelMemory): Added helper function |
| (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Call new 'releaseImageBufferAndContext' method |
| to ensure ImageBuffer and graphics context state are properly cleaned up. |
| (WebCore::maxActivePixels): Use one quarter of the system RAM, or 1 GB (whichever is more) as |
| an upper bound on active pixel memory. |
| (WebCore::HTMLCanvasElement::getContext): If we are attempting to create a context that will cause |
| us to exceed the allowed active pixel count, fail. |
| (WebCore::HTMLCanvasElement::releaseImageBufferAndContext): Added helper function |
| (WebCore::HTMLCanvasElement::setSurfaceSize): Use the new 'releaseImageBufferAndContext' method |
| to handle active pixel memory counts. |
| (WebCore::HTMLCanvasElement::createImageBuffer): Refuse to create a backing buffer if it will |
| exceed our available pixel memory. |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Add some more custom exception messages, passing some more tests. |
| https://bugs.webkit.org/show_bug.cgi?id=151895 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Some failing tests now pass). |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::deleteIndex): |
| |
| 2015-12-04 Jonathan Davis <jond@apple.com> |
| |
| Update feature status for up-to-date status information. |
| https://bugs.webkit.org/show_bug.cgi?id=151821 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * features.json: |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Flip test expectations around so we only list failures. |
| https://bugs.webkit.org/show_bug.cgi?id=151880 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Covered by all existing tests). |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::stop): |
| (WebCore::IDBClient::IDBRequest::enqueueEvent): |
| (WebCore::IDBClient::IDBRequest::dispatchEvent): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abortDueToFailedRequest): |
| (WebCore::IDBClient::IDBTransaction::hasPendingActivity): |
| (WebCore::IDBClient::IDBTransaction::stop): |
| (WebCore::IDBClient::IDBTransaction::enqueueEvent): |
| (WebCore::IDBClient::IDBTransaction::dispatchEvent): |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| * bindings/js/IDBBindingUtilities.cpp: |
| (WebCore::idbKeyToScriptValue): Protection against a ScriptExecutionContext that no longer has an ExecState. |
| A full reworking on the binding utilities to prevent this through is covered by b/151890 |
| |
| 2015-12-04 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Some fonts cause CTFontCopyAvailableTables() to return nullptr |
| https://bugs.webkit.org/show_bug.cgi?id=151884 |
| <rdar://problem/23752253> |
| |
| Reviewed by Brian Burg. |
| |
| No new tests. |
| |
| * platform/graphics/opentype/OpenTypeCG.cpp: |
| (WebCore::OpenType::fontHasMathTable): |
| |
| 2015-12-04 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build-fix; Add new parameter to overloaded createSession() method in MediaPlayerPrivateAVFoundationCF. |
| |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: |
| (WebCore::CDMSessionAVFoundationCF::CDMSessionAVFoundationCF): |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::createSession): |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| |
| 2015-12-01 Jer Noble <jer.noble@apple.com> |
| |
| Adopt AVContentKeySession |
| https://bugs.webkit.org/show_bug.cgi?id=151221 |
| |
| Reviewed by Eric Carlson. |
| |
| Adopt a new API for managing key state, AVContentKeySession. Because this necessitates a change |
| in both the initialization data returned by the needkey event, and passed into the createSession() |
| method, bump the protocol version number (to 3), and keep supporting the old key management API |
| for legacy content. |
| |
| To do so, move most of the implementation of CDMPrivateMediaSourceAVFObjC into a new subclass, |
| CDMSessionAVStreamSession, and add a new subclass, CDMSessionAVContentKeySession, to support the |
| new API. |
| |
| * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h: |
| (WebCore::CDMPrivateMediaSourceAVFObjC::CDMPrivateMediaSourceAVFObjC): Moved to implementation file. |
| * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm: |
| (WebCore::validKeySystemRE): Support "com.apple.fps.3_x". |
| (WebCore::CDMPrivateMediaSourceAVFObjC::~CDMPrivateMediaSourceAVFObjC): Invalidate all outstanding sessions. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Only support "com.apple.fps.3_x" if the AVContentKeySession class is available. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Create an instance of CDMSessionAVContentKeySession if "com.apple.fps.3_x" is specified and AVContentKeySession is available. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::invalidateSession): Remove session from the list of outstanding sessions. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Deleted. |
| * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h. |
| (WebCore::CDMSessionAVContentKeySession::hasContentKeySession): Simple accessor. |
| (WebCore::toCDMSessionAVContentKeySession): Safe casting. |
| * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: Added. |
| (-[CDMSessionAVContentKeySessionDelegate initWithParent:]): Simple constructor. |
| (-[CDMSessionAVContentKeySessionDelegate invalidate]): Remove reference to parent. |
| (-[CDMSessionAVContentKeySessionDelegate contentKeySession:willProvideKeyRequestInitializationDataForTrackID:]): Pass to parent. |
| (-[CDMSessionAVContentKeySessionDelegate contentKeySession:didProvideKeyRequestInitializationData:requestHandling:]): Ditto. |
| (-[CDMSessionAVContentKeySessionDelegate contentKeySessionContentProtectionSessionIdentifierDidChange:]): Ditto. |
| (WebCore::CDMSessionAVContentKeySession::CDMSessionAVContentKeySession): Create the delegate. |
| (WebCore::CDMSessionAVContentKeySession::~CDMSessionAVContentKeySession): Invalidate the delegate and remove all parsers. |
| (WebCore::CDMSessionAVContentKeySession::isAvailable): Return true if AVContentKeySession class is available. |
| (WebCore::CDMSessionAVContentKeySession::generateKeyRequest): Support "keyrelease" message, setting of the certificate, and creating key request object. |
| (WebCore::CDMSessionAVContentKeySession::releaseKeys): Retrieve keys from storage location. |
| (WebCore::isEqual): Compares a Uint8Array to a char*. |
| (WebCore::CDMSessionAVContentKeySession::update): Support "acknowledged" message, "renew" message, and key addition. |
| (WebCore::CDMSessionAVContentKeySession::addParser): Add the parser to the AVContentKeySession. |
| (WebCore::CDMSessionAVContentKeySession::removeParser): Remove parser from same. |
| (WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage): Retrieve key release message from AVContentKeySession. |
| (WebCore::CDMSessionAVContentKeySession::didProvideContentKeyRequest): Simple setter. |
| (WebCore::CDMSessionAVContentKeySession::contentKeySession): Lazily create the AVContentKeySession. |
| * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: |
| (WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC): |
| * platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h. |
| (WebCore::toCDMSessionAVStreamSession): |
| * platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm: Copied from Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm. |
| (-[CDMSessionAVStreamSessionObserver initWithParent:]): Moved from CDMSessionMediaSourceAVFObjcObserver. |
| (-[CDMSessionAVStreamSessionObserver contentProtectionSessionIdentifierChanged:]): Ditto. |
| (WebCore::CDMSessionAVStreamSession::CDMSessionAVStreamSession): Ditto. |
| (WebCore::CDMSessionAVStreamSession::~CDMSessionAVStreamSession): Ditto. |
| (WebCore::CDMSessionAVStreamSession::generateKeyRequest): Ditto. |
| (WebCore::CDMSessionAVStreamSession::releaseKeys): Ditto. |
| (WebCore::isEqual): Ditto. |
| (WebCore::CDMSessionAVStreamSession::update): Ditto. |
| (WebCore::CDMSessionAVStreamSession::setStreamSession): Ditto. |
| (WebCore::CDMSessionAVStreamSession::addParser): Ditto. |
| (WebCore::CDMSessionAVStreamSession::removeParser): Ditto. |
| (WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage): Ditto. |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: |
| (WebCore::CDMSessionMediaSourceAVFObjC::invalidateCDM): Clear the m_cdm. |
| (WebCore::toCDMSessionMediaSourceAVFObjC): |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): |
| (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Instruct our CDM to invalidate their references to us. |
| (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): Call addParser(). |
| (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Call removeParser(). |
| (WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError): Deleted. |
| (WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError): Deleted. |
| |
| To give us a chance to create a CDMPrivate before we continue decoding media data, "block" further decoding |
| on the background thread by creating a semaphore and passing it to the main thread, to be triggered when |
| a CDM is created and attached to this source buffer. |
| |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): |
| (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): |
| (WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID): |
| (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): |
| (WebCore::SourceBufferPrivateAVFObjC::setCDMSession): |
| (-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Deleted. |
| * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: |
| |
| Drive-by fix: Only throw an error from keyRequestTimerFired() if the underlying call to |
| generateKeyRequest() returned an error, rather than just failed to create a message. |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::keyRequestTimerFired): |
| |
| Drive-by fix: Pass the CDMSessionClient into CDM::createSession() so that it is immediately available |
| in the CDMSessionPrivate constructor, rather than setting the client immediately after construction. |
| |
| * Modules/encryptedmedia/CDM.cpp: |
| (WebCore::CDM::createSession): |
| * Modules/encryptedmedia/CDM.h: |
| * Modules/encryptedmedia/CDMPrivate.h: |
| * Modules/encryptedmedia/CDMPrivateClearKey.cpp: |
| (WebCore::CDMPrivateClearKey::createSession): |
| * Modules/encryptedmedia/CDMPrivateClearKey.h: |
| * Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: |
| (WebCore::CDMPrivateMediaPlayer::createSession): |
| * Modules/encryptedmedia/CDMPrivateMediaPlayer.h: |
| * Modules/encryptedmedia/CDMSessionClearKey.cpp: |
| (WebCore::CDMSessionClearKey::CDMSessionClearKey): |
| * Modules/encryptedmedia/CDMSessionClearKey.h: |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::MediaKeySession): |
| * platform/graphics/CDMSession.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::createSession): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::createSession): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createSession): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmSession): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::keyNeeded): Deleted. |
| * testing/MockCDM.cpp: |
| (WebCore::MockCDM::createSession): |
| (WebCore::MockCDMSession::MockCDMSession): |
| * testing/MockCDM.h: |
| |
| Add new files to the project: |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/cursor-update.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151879 |
| |
| Reviewed by Oliver Hunt. |
| |
| No new tests (At least one failing test now passes). |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::IDBRequest): |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/version-change-exclusive.html fails |
| https://bugs.webkit.org/show_bug.cgi?id=151870 |
| |
| Reviewed by Alex Christensen. |
| |
| Test: storage/indexeddb/modern/double-open.html |
| storage/indexeddb/version-change-exclusive.html |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection): Delay handling open operations |
| while the first is still in progress. |
| (WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore): |
| * Modules/indexeddb/server/UniqueIDBDatabase.h: |
| |
| 2015-12-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/exceptions.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151732 |
| |
| Reviewed by Alex Christensen. |
| |
| 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: |
| |
| 2015-12-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove untested and unused Worker inspection |
| https://bugs.webkit.org/show_bug.cgi?id=151848 |
| |
| Reviewed by Brian Burg. |
| |
| * 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. |
| |
| 2015-12-03 Sergio Villar Senin <svillar@igalia.com> |
| |
| [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. |
| |
| 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): |
| |
| 2015-12-03 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/cursor-index-delete.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151847 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one failing test now passes). |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor): |
| (WebCore::IDBServer::MemoryIndexCursor::currentData): |
| |
| 2015-12-03 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| 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): |
| |
| 2015-12-03 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove the use of GraphicsContextStateSaver from RenderLayer::paintLayerByApplyingTransform |
| https://bugs.webkit.org/show_bug.cgi?id=151829 |
| |
| 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): |
| |
| 2015-12-03 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Update MediaStreamTrack.getCapabilities |
| https://bugs.webkit.org/show_bug.cgi?id=151728 |
| |
| Reviewed by Jer Noble. |
| |
| 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. |
| |
| 2015-12-03 Simon Fraser <simon.fraser@apple.com> |
| |
| 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. |
| |
| 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: |
| |
| 2015-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Remove Objective-C GC support |
| https://bugs.webkit.org/show_bug.cgi?id=151819 |
| rdar://problem/23746991 |
| |
| Reviewed by Dan Bernstein. |
| |
| * 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. |
| |
| 2015-12-03 Zalan Bujtas <zalan@apple.com> |
| |
| 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): |
| |
| 2015-12-03 Jonathan Davis <jond@apple.com> |
| |
| Add WebCrypto to status page |
| https://bugs.webkit.org/show_bug.cgi?id=151760 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * features.json: |
| |
| 2015-12-03 Keith Rollin <krollin@apple.com> |
| |
| [Win] fast/forms/HTMLOptionElement_label03.html failing on win7 |
| https://bugs.webkit.org/show_bug.cgi?id=150909 |
| rdar://problem/23539673 |
| |
| Reviewed by Darin Adler. |
| |
| 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): |
| |
| 2015-12-03 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the Windows build. |
| |
| * bindings/js/JSWorkerGlobalScopeBase.cpp: |
| (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags): |
| (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop): |
| |
| 2015-12-03 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/cursor-advance.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151731 |
| |
| Reviewed by Alex Christensen. |
| |
| 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: |
| |
| 2015-12-03 Brent Fulgham <bfulgham@apple.com> |
| |
| Allow JavaScript to iterate over plugins for local files |
| https://bugs.webkit.org/show_bug.cgi?id=151783 |
| <rdar://problem/23692113> |
| |
| 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: |
| |
| 2015-12-03 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build-fix; missing include. |
| |
| * html/HTMLVideoElement.cpp: |
| |
| 2015-12-03 Brady Eidson <beidson@apple.com> |
| |
| 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: |
| |
| 2015-12-03 Per Arne Vollan <peavo@outlook.com> |
| |
| [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): |
| |
| 2015-12-03 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Fullscreen -> PiP should resume to Fullscreen, not inline |
| https://bugs.webkit.org/show_bug.cgi?id=150906 |
| |
| Reviewed by Simon Fraser. |
| |
| 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: |
| |
| 2015-12-02 Sam Weinig <sam@webkit.org> |
| |
| Promise callbacks should be called at microtask checkpoints |
| https://bugs.webkit.org/show_bug.cgi?id=147933 |
| |
| Reviewed by Chris Dumez. |
| |
| - 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. |
| |
| 2015-12-03 Brady Eidson <beidson@apple.com> |
| |
| 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: |
| |
| 2015-12-03 Javier Fernandez <jfernandez@igalia.com> |
| |
| [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. |
| |
| 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): |
| |
| 2015-12-02 Antti Koivisto <antti@apple.com> |
| |
| Move ResourceLoadScheduler to WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=151743 |
| |
| Reviewed by Alex Christensen. |
| |
| 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): |
| |
| 2015-12-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unify font-variant-* with font-variant shorthand |
| https://bugs.webkit.org/show_bug.cgi?id=149773 |
| |
| Reviewed by Darin Adler. |
| |
| 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): |
| |
| 2015-12-02 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce size of ScriptElement |
| https://bugs.webkit.org/show_bug.cgi?id=151786 |
| |
| 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. |
| |
| 2015-12-02 Alex Christensen <achristensen@webkit.org> |
| |
| Asynchronously call onerror when a content blocker blocks ascript element's load |
| https://bugs.webkit.org/show_bug.cgi?id=151649 |
| |
| Reviewed by Brady Eidson. |
| |
| Test: http/tests/contentextensions/script-onerror.html |
| |
| * dom/ScriptElement.cpp: |
| (WebCore::ScriptElement::ScriptElement): |
| (WebCore::ScriptElement::requestScript): |
| * dom/ScriptElement.h: |
| |
| 2015-12-02 Jer Noble <jer.noble@apple.com> |
| |
| [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): |
| |
| 2015-12-02 Commit Queue <commit-queue@webkit.org> |
| |
| 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 |
| |
| 2015-12-02 Yoav Weiss <yoav@yoav.ws> |
| |
| Fix preloader issue with srcdoc documents. |
| https://bugs.webkit.org/show_bug.cgi?id=151744 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| 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): |
| |
| 2015-12-02 Jer Noble <jer.noble@apple.com> |
| |
| Add a setting and restriction which will pause invisible autoplaying video |
| https://bugs.webkit.org/show_bug.cgi?id=151412 |
| |
| Reviewed by Eric Carlson. |
| |
| 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. |
| |
| 2015-12-02 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: IDBTransaction::error is not exposed. |
| https://bugs.webkit.org/show_bug.cgi?id=151752 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (At least 3 failing tests now pass, plus changes to other faulty tests). |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::dispatchEvent): |
| (WebCore::IDBClient::IDBRequest::uncaughtExceptionInEventHandler): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::error): |
| (WebCore::IDBClient::IDBTransaction::abortDueToFailedRequest): |
| (WebCore::IDBClient::IDBTransaction::abort): |
| (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer): |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| 2015-12-02 Adenilson Cavalcanti <cavalcantii@gmail.com> |
| |
| [css border] border-image doesn't honor border-style |
| https://bugs.webkit.org/show_bug.cgi?id=99922 |
| |
| Reviewed by Simon Fraser. |
| |
| Ensure that WebKit will be compliant to css-backgrounds spec where a |
| border with an image will only be rendered if there is a style defined. |
| |
| Quote: "None: No border. Color and width are ignored (i.e., the border has width 0)". |
| Reference: http://www.w3.org/TR/css3-background/#border-style |
| |
| From W3C discussion: "The fact that these properties set the style of the border is |
| normative". Reference: https://lists.w3.org/Archives/Public/www-style/2015Nov/0260.html |
| |
| Test: fast/borders/border-image-should-not-display.html |
| |
| * rendering/style/BorderData.h: |
| (WebCore::BorderData::hasBorder): |
| (WebCore::BorderData::borderLeftWidth): |
| (WebCore::BorderData::borderRightWidth): |
| (WebCore::BorderData::borderTopWidth): |
| (WebCore::BorderData::borderBottomWidth): |
| * rendering/style/BorderValue.h: |
| (WebCore::BorderValue::nonZero): |
| (WebCore::BorderValue::isVisible): |
| |
| 2015-12-02 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Implement MediaStreamTrack.getSettings() |
| https://bugs.webkit.org/show_bug.cgi?id=151727 |
| |
| Reviewed by Jer Noble. |
| |
| MediaStreamTrack.getStates has been replaced by MediaStreamTrack.getSettings. |
| |
| Test: fast/mediastream/MediaStreamTrack-getSettings.html |
| |
| * CMakeLists.txt: MediaSourceStates.* -> MediaSourceSettings.*. |
| * DerivedSources.make: No more MediaSourceStates.idl. |
| * Modules/mediastream/CapabilityRange.cpp: MediaSourceStates.* -> MediaSourceSettings.*. |
| * Modules/mediastream/MediaSourceSettings.cpp: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.cpp. |
| (WebCore::MediaSourceSettings::create): |
| (WebCore::MediaSourceSettings::MediaSourceSettings): |
| (WebCore::MediaSourceSettings::facingMode): |
| (WebCore::MediaSourceStates::create): Deleted. |
| (WebCore::MediaSourceStates::MediaSourceStates): Deleted. |
| (WebCore::MediaSourceStates::sourceType): Deleted. |
| (WebCore::MediaSourceStates::facingMode): Deleted. |
| * Modules/mediastream/MediaSourceSettings.h: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.h. |
| |
| MediaSourceStates.* renamed to MediaSourceSettings.* and updated to new API. |
| * Modules/mediastream/MediaSourceStates.cpp: Removed. |
| * Modules/mediastream/MediaSourceStates.h: Removed. |
| * Modules/mediastream/MediaSourceStates.idl: Removed. |
| |
| * Modules/mediastream/MediaStreamCapabilities.cpp: |
| (WebCore::MediaStreamCapabilities::sourceType): Return an empty vector for now, will be fixed |
| by the changes for https://bugs.webkit.org/show_bug.cgi?id=151728. |
| (WebCore::MediaStreamCapabilities::sourceId): RealtimeMediaSourceStates -> MediaSourceSettings. |
| (WebCore::MediaStreamCapabilities::facingMode): Ditto. |
| |
| * Modules/mediastream/MediaStreamTrack.cpp: |
| (WebCore::MediaStreamTrack::getSettings): New. |
| (WebCore::MediaStreamTrack::getCapabilities): Don't modify states, just pass through whatever |
| private track returns. |
| (WebCore::MediaStreamTrack::trackSettingsChanged): |
| (WebCore::MediaStreamTrack::states): Deleted. |
| (WebCore::MediaStreamTrack::trackStatesChanged): Deleted. |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/MediaStreamTrack.idl: MediaSourceStates -> MediaSourceSettings. |
| |
| * Modules/webaudio/MediaStreamAudioSource.cpp: |
| (WebCore::MediaStreamAudioSource::settings): |
| (WebCore::MediaStreamAudioSource::states): Deleted. |
| * Modules/webaudio/MediaStreamAudioSource.h: MediaSourceStates -> MediaSourceSettings. |
| |
| * WebCore.xcodeproj/project.pbxproj: MediaSourceStates.* -> MediaSourceSettings.*. |
| |
| * bindings/js/JSMediaSourceStatesCustom.cpp: Removed. |
| * bindings/js/JSMediaStreamTrackCustom.cpp: Added. |
| (WebCore::JSMediaStreamTrack::getSettings): MediaSourceSettings is a generic dictionary so |
| it has to be generated manually. |
| |
| * platform/mediastream/MediaStreamPrivate.cpp: |
| (WebCore::MediaStreamPrivate::intrinsicSize): states -> settings. |
| (WebCore::MediaStreamPrivate::trackStatesChanged): Deleted. |
| * platform/mediastream/MediaStreamPrivate.h: |
| |
| * platform/mediastream/MediaStreamTrackPrivate.cpp: |
| (WebCore::MediaStreamTrackPrivate::settings): |
| (WebCore::MediaStreamTrackPrivate::sourceSettingsChanged): |
| (WebCore::MediaStreamTrackPrivate::states): Deleted. |
| (WebCore::MediaStreamTrackPrivate::sourceStatesChanged): Deleted. |
| * platform/mediastream/MediaStreamTrackPrivate.h: |
| |
| * platform/mediastream/RealtimeMediaSource.cpp: |
| (WebCore::RealtimeMediaSource::settingsDidChanged): |
| (WebCore::RealtimeMediaSource::statesDidChanged): Deleted. |
| * platform/mediastream/RealtimeMediaSource.h: |
| |
| * platform/mediastream/RealtimeMediaSourceCapabilities.h: |
| (WebCore::RealtimeMediaSourceCapabilities::facingModes): States -> Settings. |
| (WebCore::RealtimeMediaSourceCapabilities::addFacingMode): Ditto. |
| (WebCore::RealtimeMediaSourceCapabilities::sourceTypes): Deleted. |
| (WebCore::RealtimeMediaSourceCapabilities::setSourceType): Deleted. |
| (WebCore::RealtimeMediaSourceCapabilities::addSourceType): Deleted. |
| |
| * platform/mediastream/RealtimeMediaSourceCenter.h: States -> Settings. |
| * platform/mediastream/RealtimeMediaSourceSettings.cpp: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.cpp. |
| (WebCore::RealtimeMediaSourceSettings::facingMode): |
| (WebCore::RealtimeMediaSourceStates::facingMode): Deleted. |
| (WebCore::RealtimeMediaSourceStates::sourceType): Deleted. |
| |
| * platform/mediastream/RealtimeMediaSourceSettings.h: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.h. |
| * platform/mediastream/RealtimeMediaSourceStates.cpp: Removed. |
| |
| * platform/mediastream/RealtimeMediaSourceStates.h: Removed. |
| * platform/mediastream/mac/AVAudioCaptureSource.h: |
| * platform/mediastream/mac/AVAudioCaptureSource.mm: |
| (WebCore::AVAudioCaptureSource::updateStates): Deleted. |
| |
| * platform/mediastream/mac/AVCaptureDeviceManager.h: |
| * platform/mediastream/mac/AVCaptureDeviceManager.mm: |
| |
| * platform/mediastream/mac/AVMediaCaptureSource.h: |
| * platform/mediastream/mac/AVMediaCaptureSource.mm: |
| (WebCore::AVMediaCaptureSource::states): Deleted. |
| |
| * platform/mediastream/mac/AVVideoCaptureSource.h: |
| * platform/mediastream/mac/AVVideoCaptureSource.mm: |
| (WebCore::AVVideoCaptureSource::updateStates): Deleted. |
| |
| * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm: |
| |
| * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h: |
| |
| * platform/mock/MockRealtimeAudioSource.cpp: |
| (WebCore::MockRealtimeAudioSource::initializeSupportedConstraints): |
| (WebCore::MockRealtimeAudioSource::updateStates): Deleted. |
| * platform/mock/MockRealtimeAudioSource.h: |
| |
| * platform/mock/MockRealtimeMediaSource.cpp: |
| (WebCore::MockRealtimeMediaSource::capabilities): Minor cleanup. |
| (WebCore::MockRealtimeMediaSource::settings): |
| (WebCore::MockRealtimeMediaSource::supportedConstraints): |
| (WebCore::MockRealtimeMediaSource::states): Deleted. |
| * platform/mock/MockRealtimeMediaSource.h: |
| (WebCore::MockRealtimeMediaSource::constraints): |
| (WebCore::MockRealtimeMediaSource::currentStates): Deleted. |
| |
| * platform/mock/MockRealtimeVideoSource.cpp: |
| (WebCore::MockRealtimeVideoSource::updateSettings): |
| (WebCore::MockRealtimeVideoSource::initializeCapabilities): |
| (WebCore::MockRealtimeVideoSource::initializeSupportedConstraints): |
| (WebCore::MockRealtimeVideoSource::setFrameRate): states -> settings. |
| (WebCore::MockRealtimeVideoSource::setSize): Ditto. |
| (WebCore::MockRealtimeVideoSource::drawAnimation): Ditto. |
| (WebCore::MockRealtimeVideoSource::drawText): Ditto. |
| (WebCore::MockRealtimeVideoSource::updateStates): Deleted. |
| (WebCore::MockRealtimeVideoSource::setFacingMode): Deleted. |
| * platform/mock/MockRealtimeVideoSource.h: |
| |
| 2015-11-30 David Hyatt <hyatt@apple.com> |
| |
| Implement the picture element. |
| https://bugs.webkit.org/show_bug.cgi?id=116963 |
| |
| Reviewed by Dean Jackson. |
| |
| Added fast/picture tests. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Add HTMLPictureElement.* to the project. |
| |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate): |
| Remove the CURRENT_SRC ifdef. |
| |
| (WebCore::HTMLImageElement::bestFitSourceFromPictureElement): |
| New helper function that checks the <source> elements of a <picture> parent |
| for the best match. |
| |
| (WebCore::HTMLImageElement::selectImageSource): |
| Pull out the process of image selection into its own function so that this can |
| be called from many places (to ensure that dynamic changes are reflected as elements |
| get changed, added or removed). |
| |
| (WebCore::HTMLImageElement::parseAttribute): |
| Call selectImageSource when attributes change. |
| |
| (WebCore::HTMLImageElement::insertedInto): |
| If inserted into a picture element, make sure to update the source. |
| |
| * html/HTMLImageElement.h: |
| (WebCore::HTMLImageElement::currentSrc): |
| Remove the CURRENT_SRC ifdef. |
| |
| * html/HTMLImageElement.idl: |
| Remove the CURRENT_SRC ifdef. |
| |
| * html/HTMLPictureElement.cpp: Added. |
| (WebCore::HTMLPictureElement::HTMLPictureElement): |
| (WebCore::HTMLPictureElement::create): |
| (WebCore::HTMLPictureElement::sourcesChanged): |
| * html/HTMLPictureElement.h: Added. |
| The new picture element. Has a sourcesChanged() function that is invoked whenever anything |
| about the <source> elements changes. |
| |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::insertedInto): |
| (WebCore::HTMLSourceElement::removedFrom): |
| (WebCore::HTMLSourceElement::parseAttribute): |
| Make sure to call sourcesChanged when new sources come and go or when attributes on |
| source elements change. |
| |
| * html/HTMLSourceElement.h: |
| Added parseAttribute function so we can see when attributes change that force us to |
| do a dynamic update. |
| |
| * html/HTMLTagNames.in: |
| Add the picture element. |
| |
| * html/parser/HTMLSrcsetParser.h: |
| (WebCore::ImageCandidate::srcOrigin): |
| (WebCore::ImageCandidate::isEmpty): |
| Some helpers for picture parsing. |
| |
| 2015-12-02 Per Arne Vollan <peavo@outlook.com> |
| |
| [WinCairo][MediaFoundation] Video is not rendered correctly on some graphics cards. |
| https://bugs.webkit.org/show_bug.cgi?id=151757 |
| |
| Reviewed by Alex Christensen. |
| |
| We need to make sure we use the same bitmap format as in the Direct3D surface |
| in video memory when copying surface data and rendering with Cairo. |
| |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: |
| (WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample): |
| (WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame): |
| |
| 2015-12-02 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Get rid of IDBExceptionCode. |
| https://bugs.webkit.org/show_bug.cgi?id=151753 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (No change in behavior). |
| |
| * Modules/indexeddb/client/IDBIndexImpl.cpp: |
| (WebCore::IDBClient::IDBIndex::count): |
| (WebCore::IDBClient::IDBIndex::doCount): |
| (WebCore::IDBClient::IDBIndex::get): |
| (WebCore::IDBClient::IDBIndex::doGet): |
| (WebCore::IDBClient::IDBIndex::getKey): |
| (WebCore::IDBClient::IDBIndex::doGetKey): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::get): |
| (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/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeAbort): |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests): |
| |
| * Modules/indexeddb/server/IndexValueStore.cpp: |
| (WebCore::IDBServer::IndexValueStore::addRecord): |
| |
| * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: |
| (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction): |
| (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction): |
| (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction): |
| (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore): |
| (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore): |
| (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore): |
| (WebCore::IDBServer::MemoryIDBBackingStore::createIndex): |
| (WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex): |
| (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange): |
| (WebCore::IDBServer::MemoryIDBBackingStore::addRecord): |
| (WebCore::IDBServer::MemoryIDBBackingStore::getRecord): |
| (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord): |
| (WebCore::IDBServer::MemoryIDBBackingStore::getCount): |
| (WebCore::IDBServer::MemoryIDBBackingStore::openCursor): |
| (WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor): |
| |
| * Modules/indexeddb/server/MemoryIndex.cpp: |
| (WebCore::IDBServer::MemoryIndex::putIndexKey): |
| |
| * Modules/indexeddb/server/MemoryObjectStore.cpp: |
| (WebCore::IDBServer::MemoryObjectStore::createIndex): |
| (WebCore::IDBServer::MemoryObjectStore::deleteIndex): |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): |
| (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): |
| |
| * Modules/indexeddb/shared/IDBError.cpp: |
| (WebCore::IDBError::IDBError): |
| (WebCore::IDBError::name): |
| (WebCore::IDBError::message): |
| (WebCore::idbErrorName): Deleted. |
| (WebCore::idbErrorDescription): Deleted. |
| |
| * Modules/indexeddb/shared/IDBError.h: |
| (WebCore::IDBError::code): |
| (WebCore::IDBError::isNull): |
| |
| 2015-12-02 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Null dereference loading Blink layout test fast/loader/unload-mutation-crash.html |
| https://bugs.webkit.org/show_bug.cgi?id=149305 |
| <rdar://problem/22747892> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add an extra guard to replaceDocument() against rude JS in unload event handlers. |
| |
| Test: fast/loader/unload-mutation-crash.html |
| |
| * loader/DocumentWriter.cpp: |
| (WebCore::DocumentWriter::replaceDocument): |
| (WebCore::DocumentWriter::begin): |
| |
| 2015-12-02 Per Arne Vollan <peavo@outlook.com> |
| |
| [WinCairo] Compile error. |
| https://bugs.webkit.org/show_bug.cgi?id=151742 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| System font flag has moved from Font class to FontData class. |
| |
| * platform/graphics/win/SimpleFontDataCairoWin.cpp: |
| (WebCore::Font::platformInit): |
| |
| 2015-12-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192894 and r192904. |
| https://bugs.webkit.org/show_bug.cgi?id=151738 |
| |
| Crashes sometimes on Windows (Requested by litherum on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[Win] Web fonts with small caps have excess whitespace with |
| the complex text codepath" |
| https://bugs.webkit.org/show_bug.cgi?id=151698 |
| http://trac.webkit.org/changeset/192894 |
| |
| "Test gardening after r192894" |
| http://trac.webkit.org/changeset/192904 |
| |
| 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| |
| Reviewed by Saam Barati. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192914. |
| https://bugs.webkit.org/show_bug.cgi?id=151734 |
| |
| JSC tests for this change are failing on 32 and 64-bit bots |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "[ES6] Implement LLInt/Baseline Support for ES6 Generators and |
| enable this feature" |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| http://trac.webkit.org/changeset/192914 |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Force UnitsPerEm to 1000 |
| https://bugs.webkit.org/show_bug.cgi?id=151650 |
| |
| Reviewed by Antti Koivisto. |
| |
| According to the Adobe Type 1 Font Format: |
| |
| "Type 1 font programs generally use a 1000 to 1 scaling matrix |
| for the definition of the relationship of character space unites |
| to user space units." |
| |
| Windows actually disregards the "unitsPerEm" value in the "head" |
| table for some calculations, and hardcodes 1000 instead. In order |
| to have consistent renderings on Windows and OS X, this patch |
| forces all generated fonts to have a unitsPerEm of 1000, and |
| appropriately scales all necessary values. |
| |
| Test: svg/W3C-SVG-1.1/fonts-elem-03-b.svg |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::scaleUnitsPerEm): |
| (WebCore::SVGToOTFFontConverter::appendHEADTable): |
| (WebCore::SVGToOTFFontConverter::appendOS2Table): |
| (WebCore::SVGToOTFFontConverter::appendVORGTable): |
| (WebCore::SVGToOTFFontConverter::appendVHEATable): |
| (WebCore::SVGToOTFFontConverter::appendVMTXTable): |
| (WebCore::SVGToOTFFontConverter::addKerningPair): |
| (WebCore::CFFBuilder::CFFBuilder): |
| (WebCore::CFFBuilder::boundingBox): |
| (WebCore::CFFBuilder::updateBoundingBox): |
| (WebCore::CFFBuilder::unscaledLineTo): |
| (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): |
| (WebCore::SVGToOTFFontConverter::processGlyphElement): |
| (WebCore::SVGToOTFFontConverter::appendLigatureGlyphs): |
| (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Give a more detailed message for TypeErrors that result from EnforceRange. |
| https://bugs.webkit.org/show_bug.cgi?id=151725 |
| |
| Reviewed by Tim Horton. |
| |
| No new tests (Covered by changes to existing tests). |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::rangeErrorString): |
| (WebCore::enforceRange): |
| |
| 2015-12-01 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Abrupt transition between Fullscreen -> PiP |
| https://bugs.webkit.org/show_bug.cgi?id=151719 |
| |
| Reviewed by Eric Carlson. |
| |
| Rather than abruptly hiding the fullscreen window, explicitly exit fullscreen mode upon entering PiP. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture): |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Give String and AtomicString an existingHash() function |
| https://bugs.webkit.org/show_bug.cgi?id=151717 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::CharacterFallbackMapKeyHash::hash): |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Win] Build fix after r192895 |
| |
| Unreviewed. |
| |
| * platform/graphics/FontPlatformData.h: |
| (WebCore::FontPlatformData::isSystemFont): |
| (WebCore::FontPlatformData::setIsSystemFont): |
| * platform/graphics/win/SimpleFontDataCGWin.cpp: |
| (WebCore::Font::platformInit): |
| (WebCore::Font::platformWidthForGlyph): |
| |
| 2015-12-01 Alexey Proskuryakov <ap@apple.com> |
| |
| Update bindings test results after r192903. |
| |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::JSTestEventConstructorConstructor::construct): |
| |
| 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| |
| Reviewed by Saam Barati. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Add "RaisesExceptionWithMessage" IDL attribute. |
| https://bugs.webkit.org/show_bug.cgi?id=151720 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Covered by changes to existing bindings tests). |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| (GenerateReturnParameters): |
| (GenerateImplementationFunctionCall): |
| (GenerateConstructorDefinition): |
| |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: |
| (webkit_dom_test_obj_method_with_exception_with_message): |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.h: |
| |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage): |
| |
| * bindings/scripts/test/ObjC/DOMTestObj.h: |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: |
| (-[DOMTestObj methodWithExceptionWithMessage]): |
| |
| * bindings/scripts/test/TestObj.idl: |
| |
| 2015-12-01 Darin Adler <darin@apple.com> |
| |
| Fix anomaly where isMouseEvent returns false for wheel events |
| https://bugs.webkit.org/show_bug.cgi?id=151685 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Back three years ago when we made WheelEvent inherit from MouseEvent, |
| someone decided that isMouseEvent should return false for the wheel events. |
| An audit of all the callers of isMouseEvent indicated that in almost every |
| case, it's better to return true, so this patch does that. |
| |
| All the other call sites that were checking isMouseEvent, here and in the |
| higher levels of WebKit, benefit from getting true even for wheel events. |
| |
| * bindings/objc/DOMEvents.mm: |
| (kitClass): Use eventInterface instead of isMouseEvent to create the appropriate |
| wrapper class. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateConstructorDefinition): Eliminated a peculiar search and replace |
| mistake; "stateution" instead of "execution". |
| |
| * dom/Node.cpp: |
| (WebCore::Node::handleLocalEvents): Add an isWheelEvent check here so that we |
| will not ignore wheel events. This preserves behavior. A FIXME questions whether |
| that is the behavior we want. |
| |
| * dom/WheelEvent.cpp: |
| (WebCore::WheelEvent::isMouseEvent): Deleted. No need to override and return false. |
| * dom/WheelEvent.h: Ditto. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::defaultEventHandler): Removed unneeded checks for |
| drag events and wheel events; both are types of mouse event, and so a single |
| isMouseEvent check takes care of all three of these. |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::forwardEvent): Ditto. |
| |
| 2015-12-01 Alex Christensen <achristensen@webkit.org> |
| |
| Use Optional for matrix inverses |
| https://bugs.webkit.org/show_bug.cgi?id=151575 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| This patch should have no change in behavior. Some unnecessary checks are removed. |
| There are a few places where we are no longer multiplying by the identity matrix. |
| This should remind future coders that not all matrices are invertible. |
| |
| * css/WebKitCSSMatrix.cpp: |
| (WebCore::WebKitCSSMatrix::inverse): |
| (WebCore::WebKitCSSMatrix::translate): |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::restore): |
| (WebCore::CanvasRenderingContext2D::scale): |
| (WebCore::CanvasRenderingContext2D::rotate): |
| (WebCore::CanvasRenderingContext2D::translate): |
| (WebCore::CanvasRenderingContext2D::transform): |
| (WebCore::CanvasRenderingContext2D::setTransform): |
| (WebCore::CanvasRenderingContext2D::isPointInPathInternal): |
| (WebCore::CanvasRenderingContext2D::isPointInStrokeInternal): |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): |
| * platform/graphics/ShadowBlur.cpp: |
| (WebCore::ShadowBlur::calculateLayerBoundingRect): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): |
| * platform/graphics/cg/ImageBufferCG.cpp: |
| (WebCore::ImageBuffer::putByteArray): |
| * platform/graphics/filters/Filter.h: |
| (WebCore::Filter::setFilterScale): |
| (WebCore::Filter::absoluteTransform): |
| (WebCore::Filter::mapAbsolutePointToLocalPoint): |
| (WebCore::Filter::renderingMode): |
| (WebCore::Filter::setRenderingMode): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica): |
| (WebCore::TextureMapperLayer::replicaTransform): |
| (WebCore::TextureMapperLayer::setAnimatedFilters): |
| (WebCore::TextureMapperLayer::mapScrollOffset): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::transformedVisibleRect): |
| (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect): |
| * platform/graphics/transforms/AffineTransform.cpp: |
| (WebCore::AffineTransform::yScale): |
| (WebCore::det): |
| (WebCore::AffineTransform::isInvertible): |
| (WebCore::AffineTransform::inverse): |
| (WebCore::AffineTransform::det): Deleted. |
| * platform/graphics/transforms/AffineTransform.h: |
| * platform/graphics/transforms/TransformState.cpp: |
| (WebCore::TransformState::mappedPoint): |
| (WebCore::TransformState::mappedQuad): |
| (WebCore::TransformState::mapQuad): |
| (WebCore::TransformState::flattenWithTransform): |
| * platform/graphics/transforms/TransformationMatrix.cpp: |
| (WebCore::TransformationMatrix::isInvertible): |
| (WebCore::TransformationMatrix::inverse): |
| * platform/graphics/transforms/TransformationMatrix.h: |
| * rendering/HitTestingTransformState.cpp: |
| (WebCore::HitTestingTransformState::flattenWithTransform): |
| (WebCore::HitTestingTransformState::mappedPoint): |
| (WebCore::HitTestingTransformState::mappedQuad): |
| (WebCore::HitTestingTransformState::mappedArea): |
| (WebCore::HitTestingTransformState::boundsOfMappedArea): |
| * rendering/PaintInfo.h: |
| (WebCore::PaintInfo::applyTransform): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerByApplyingTransform): |
| (WebCore::RenderLayer::hitTestLayer): |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGImage.cpp: |
| (WebCore::RenderSVGImage::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGResourceClipper.cpp: |
| (WebCore::RenderSVGResourceClipper::hitTestClipContent): |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::RenderSVGResourceFilter::postApplyResource): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::nodeAtPoint): |
| * rendering/svg/RenderSVGShape.cpp: |
| (WebCore::RenderSVGShape::setupNonScalingStrokeContext): |
| (WebCore::RenderSVGShape::nodeAtFloatPoint): |
| (WebCore::RenderSVGShape::calculateStrokeBoundingBox): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::nodeAtFloatPoint): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::intersectRepaintRectWithShadows): |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::clipToImageBuffer): |
| * svg/SVGLocatable.cpp: |
| (WebCore::SVGLocatable::getTransformToElement): |
| * svg/SVGMatrix.h: |
| (WebCore::SVGMatrix::inverse): |
| (WebCore::SVGMatrix::rotateFromVector): |
| |
| 2015-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Remove swipe snapshot before main document load if scroll position is already restored |
| https://bugs.webkit.org/show_bug.cgi?id=151224 |
| |
| Reviewed by Darin Adler. |
| |
| * loader/FrameLoaderClient.h: |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::restoreScrollPositionAndViewState): |
| Each time we try to restore the scroll position, see if the requested |
| scroll position is something we can scroll to by going through ScrollView's |
| scroll position constraint logic. If we can scroll there, tell our client |
| (and eventually ViewGestureController) that we successfully restored the |
| scroll position! |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Adjacent emoji overlap each other |
| https://bugs.webkit.org/show_bug.cgi?id=151690 |
| <rdar://problem/23430453> |
| |
| Reviewed by Simon Fraser. |
| |
| This is a partial revert of r188737. It turns out that only CoreText gives correct |
| glyph advances for emoji. In r188737, I reverted the special iOS emoji processing, |
| but also removed the logic of using CoreText for emoji advances. This patch adds |
| the m_isEmoji boolean back, so we can tell if we need to force |
| platformWidthForGlyph() to use CoreText. |
| |
| This patch also performs a little bit of cleanup by moving Font's m_isSystemFont |
| to FontPlatformData where it belongs. |
| |
| Test: fast/text/emoji-overlap.html |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::fillGlyphPage): Removed unnecessary argument. |
| (WebCore::Font::Font): Deleted. |
| * platform/graphics/Font.h: Moved getters and booleans to FontPlatformData. |
| (WebCore::Font::hasCustomTracking): Deleted. |
| (WebCore::Font::isSystemFont): Deleted. |
| * platform/graphics/FontPlatformData.cpp: |
| (WebCore::FontPlatformData::FontPlatformData): Initialize new booleans. |
| (WebCore::FontPlatformData::operator=): Ditto. |
| * platform/graphics/FontPlatformData.h: Getters for new booleans. |
| (WebCore::FontPlatformData::isSystemFont): |
| (WebCore::FontPlatformData::hasCustomTracking): |
| (WebCore::FontPlatformData::isEmoji): |
| * platform/graphics/GlyphPage.h: Remove unnecessary argument. |
| * platform/graphics/cocoa/FontCocoa.mm: |
| (WebCore::advanceForColorBitmapFont): Return an Optional instead of using an out |
| argument. |
| (WebCore::canUseFastGlyphAdvanceGetter): Make sure that we use CoreText if we are |
| using the Emoji font. |
| (WebCore::Font::platformWidthForGlyph): |
| (WebCore::Font::platformInit): Deleted. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Deal with the new booleans. |
| (WebCore::FontPlatformData::FontPlatformData): |
| (WebCore::FontPlatformData::platformDataInit): |
| (WebCore::FontPlatformData::platformDataAssign): |
| (WebCore::FontPlatformData::setFont): |
| * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/mac/GlyphPageMac.cpp: |
| (WebCore::shouldUseCoreText): Use a reference instead of a pointer. |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/FontCGWin.cpp: |
| (WebCore::FontCascade::drawGlyphs): Update for new location of booleans. |
| * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/UniscribeController.cpp: |
| (WebCore::UniscribeController::shapeAndPlaceItem): Update for new location of |
| booleans. |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Win] Web fonts with small caps have excess whitespace with the complex text codepath |
| https://bugs.webkit.org/show_bug.cgi?id=151698 |
| |
| Reviewed by Darin Adler. |
| |
| When performing small-caps on OS X, we bake in the smaller font size into the platform's native font |
| object. On Windows, we currently don't do that; instead, we just change some ancillary data inside |
| the FontPlatformData, and our advance & drawing calculations are sensitive to this ancillary data. |
| However, in the complex text codepath, Uniscribe only takes the native font object as input, and |
| therefore operates with the wrong font size. |
| |
| The solution is to bake the smaller font size into the native platform font on Windows, similar to |
| OS X. It isn't clear why we didn't do this previously, but it seems like we weren't sure that |
| Windows would select the correct font when we provide new selection criteria. However, for web fonts, |
| we already use the same mechanism (CreateFontIndirect()) when we create the font in the first place; |
| therefore, this scaled font request will always work as well. |
| |
| Test: fast/text/small-caps-complex.html |
| |
| * platform/graphics/win/SimpleFontDataWin.cpp: |
| (WebCore::Font::platformCreateScaledFont): Deleted. |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/create-and-remove-object-store.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151704 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (At least one previously failing test now passes). |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::deleteObjectStore): |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/basics.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151694 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (At least one failing test now passes, and covered by changes to 3 previously incorrect tests). |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::versionChangeTransactionWillFinish): Set the flag determining whether |
| or not the request's transaction should be exposed to the DOM. |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::result): Throw an exception if the request is not done. |
| (WebCore::IDBClient::IDBRequest::error): Ditto. |
| (WebCore::IDBClient::IDBRequest::transaction): Only return the transaction to the DOM if the flag says so. |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abort): |
| (WebCore::IDBClient::IDBTransaction::commit): |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] ASSERTION FAILED: m_table running /webkit2/BackForwardList/navigation in Debug build |
| https://bugs.webkit.org/show_bug.cgi?id=151700 |
| |
| Reviewed by Martin Robinson. |
| |
| This happens when the frame notifies its observers that the page |
| will be detached. The m_table that asserts is the |
| FrameDestructionObserver HashSet. It happens when clearing the |
| GObject DOM cache wrappers during frame destruction, and there's a |
| Document object wrapped whose last reference is held by the DOM |
| wrapper. In that case, the Document object is destroyed while the |
| frame is being destroyed. Deleting the wrapper objects after the |
| frame destruction fixes the crash. |
| |
| * bindings/gobject/DOMObjectCache.cpp: |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] pull function of tee should call readFromReadableStreamReader directly |
| https://bugs.webkit.org/show_bug.cgi?id=151497 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by added test. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStreamPullFunction): directly calling readFromReadableStreamReader. |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] Clean-up JS built-in code using arrow functions |
| https://bugs.webkit.org/show_bug.cgi?id=151489 |
| |
| Reviewed by Darin Adler. |
| |
| Using arrow functions to remove need for _this. |
| Made errorWritableStream take two parameters to simplify code and align it with the spec. |
| |
| No change in behavior. |
| |
| * Modules/streams/ReadableStream.js: |
| (initializeReadableStream): |
| * Modules/streams/WritableStream.js: |
| (initializeWritableStream): |
| (abort): |
| (write): |
| * Modules/streams/WritableStreamInternals.js: |
| (errorWritableStream): |
| (writableStreamAdvanceQueue): |
| (closeWritableStream): |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] teeReadableStream should not directly use stream.getReader() |
| https://bugs.webkit.org/show_bug.cgi?id=151487 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by added test. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStream): Create a @ReadableStreamReader instead of calling getReader() which may be disrupted by user scripts. |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] streams should not directly use Number and related methods |
| https://bugs.webkit.org/show_bug.cgi?id=151499 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by updated test. |
| |
| Using @Number, @isFinite and @isNaN in place of Number, Number.isFinite and Number.isNaN. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (enqueueInReadableStream): |
| * Modules/streams/StreamInternals.js: |
| (validateAndNormalizeQueuingStrategy): |
| (enqueueValueWithSize): |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build after r192849. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): |
| * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: |
| (webkit_dom_test_interface_supplemental_method1): |
| (webkit_dom_test_interface_supplemental_method2): |
| (webkit_dom_test_interface_set_supplemental_str2): |
| (webkit_dom_test_interface_get_supplemental_node): |
| (webkit_dom_test_interface_set_supplemental_node): |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] Remove use of @catch for exposed promises |
| https://bugs.webkit.org/show_bug.cgi?id=151625 |
| |
| Reviewed by Darin Adler. |
| |
| Promise @catch is calling "then" which may be controlled by user scripts. |
| This patch simply replaces @catch by calling @then directly. |
| |
| Covered by modified tests. |
| |
| * Modules/streams/ReadableStream.js: |
| (pipeTo): |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStream): |
| |
| 2015-11-30 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Unreviewed, fix build after r192848 and r192849 |
| |
| - Rename canSuspendForPageCache to canSuspendForDocumentSuspension |
| - Use references instead of pointers |
| |
| * Modules/battery/BatteryManager.cpp: |
| (WebCore::BatteryManager::canSuspendForDocumentSuspension): |
| (WebCore::BatteryManager::canSuspendForPageCache): Deleted. |
| * Modules/battery/BatteryManager.h: |
| * Modules/battery/NavigatorBattery.cpp: |
| (WebCore::NavigatorBattery::webkitBattery): |
| * Modules/battery/NavigatorBattery.h: |
| * Modules/gamepad/deprecated/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::webkitGetGamepads): |
| * Modules/gamepad/deprecated/NavigatorGamepad.h: |
| * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: |
| (WebCore::NavigatorContentUtils::registerProtocolHandler): |
| (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered): |
| (WebCore::NavigatorContentUtils::unregisterProtocolHandler): |
| * Modules/navigatorcontentutils/NavigatorContentUtils.h: |
| * Modules/vibration/NavigatorVibration.cpp: |
| (WebCore::NavigatorVibration::vibrate): |
| * Modules/vibration/NavigatorVibration.h: |
| |
| 2015-11-30 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Amazon.com Additional Information links aren't clickable |
| https://bugs.webkit.org/show_bug.cgi?id=151401 |
| <rdar://problem/23454261> |
| |
| Reviewed by Darin Adler. |
| |
| The cause of this issue is that the painting order is different from the hittest order so we can end up |
| with visible but unreachable content. To fix this, the executation flow of hittest has been reordered. |
| According to the paint system, which renders the webpage from the bottom RenderLayer to the top, contents |
| are rendered before floats. Hence, for the hittest, which determines the hitted location from top RenderLayer |
| to the bottom, should do it reversedly. Now, hittest will first test floats then contents. |
| |
| Test: fast/block/float/hit-test-on-overlapping-floats.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::nodeAtPoint): |
| |
| 2015-11-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix possible crash with animated layers in reflections |
| https://bugs.webkit.org/show_bug.cgi?id=151689 |
| rdar://problem/23018612 |
| |
| Reviewed by Darin Adler. |
| |
| Reflections create additional PlatformCALayers whose owner is set to the GraphicsLayerCA. |
| Those PlatformCALayers need their owner pointer cleared out when the GraphicsLayerCA |
| is destroyed. |
| |
| Tested by compositing/reflections/nested-reflection-transition.html |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Iterating index cursors to a specific key is busted. |
| https://bugs.webkit.org/show_bug.cgi?id=151684 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (At least one failing test now passes). |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::iterate): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: ObjectStore cursors should not be able to iterate out of their range. |
| https://bugs.webkit.org/show_bug.cgi?id=151683 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (Covered by at least one failing test that now passes). |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator): |
| (WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator): |
| |
| 2015-11-30 Anders Carlsson <andersca@apple.com> |
| |
| CTTE autogenerated bindings code |
| https://bugs.webkit.org/show_bug.cgi?id=151682 |
| |
| Reviewed by Darin Adler. |
| |
| Make sure that JS bindings pass a reference to the object when calling static member functions. |
| |
| * Modules/gamepad/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::getGamepads): |
| * Modules/gamepad/NavigatorGamepad.h: |
| * Modules/geolocation/NavigatorGeolocation.cpp: |
| (WebCore::NavigatorGeolocation::geolocation): |
| * Modules/geolocation/NavigatorGeolocation.h: |
| * Modules/mediasource/AudioTrackMediaSource.h: |
| (WebCore::AudioTrackMediaSource::sourceBuffer): |
| * Modules/mediasource/TextTrackMediaSource.h: |
| (WebCore::TextTrackMediaSource::sourceBuffer): |
| * Modules/mediasource/VideoTrackMediaSource.h: |
| (WebCore::VideoTrackMediaSource::sourceBuffer): |
| * Modules/mediastream/HTMLMediaElementMediaStream.cpp: |
| (WebCore::HTMLMediaElementMediaStream::srcObject): |
| (WebCore::HTMLMediaElementMediaStream::setSrcObject): |
| * Modules/mediastream/HTMLMediaElementMediaStream.h: |
| * Modules/mediastream/NavigatorMediaDevices.cpp: |
| (WebCore::NavigatorMediaDevices::mediaDevices): |
| * Modules/mediastream/NavigatorMediaDevices.h: |
| * Modules/notifications/DOMWindowNotifications.cpp: |
| (WebCore::DOMWindowNotifications::webkitNotifications): |
| * Modules/notifications/DOMWindowNotifications.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::Notification): |
| * Modules/notifications/WorkerGlobalScopeNotifications.cpp: |
| (WebCore::WorkerGlobalScopeNotifications::webkitNotifications): |
| * Modules/notifications/WorkerGlobalScopeNotifications.h: |
| * Modules/speech/DOMWindowSpeechSynthesis.cpp: |
| (WebCore::DOMWindowSpeechSynthesis::speechSynthesis): |
| * Modules/speech/DOMWindowSpeechSynthesis.h: |
| * Modules/webdatabase/DOMWindowWebDatabase.cpp: |
| (WebCore::DOMWindowWebDatabase::openDatabase): |
| * Modules/webdatabase/DOMWindowWebDatabase.h: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| * testing/Internals.cpp: |
| (WebCore::Internals::enableMockSpeechSynthesizer): |
| |
| 2015-11-30 Katlyn Graff <kgraff@apple.com> |
| |
| Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension |
| https://bugs.webkit.org/show_bug.cgi?id=151677 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Simply a refactoring patch, so no new tests. |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::canSuspendForDocumentSuspension): |
| (WebCore::MediaKeySession::canSuspendForPageCache): Deleted. |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::canSuspendForDocumentSuspension): |
| (WebCore::Geolocation::canSuspendForPageCache): Deleted. |
| * Modules/geolocation/Geolocation.h: |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| (WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache): Deleted. |
| * Modules/indexeddb/DOMWindowIndexedDatabase.h: |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBDatabase::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBDatabaseImpl.h: |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBRequest::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBTransaction::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| * Modules/indexeddb/legacy/LegacyDatabase.cpp: |
| (WebCore::LegacyDatabase::canSuspendForDocumentSuspension): |
| (WebCore::LegacyDatabase::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyDatabase.h: |
| * Modules/indexeddb/legacy/LegacyRequest.cpp: |
| (WebCore::LegacyRequest::canSuspendForDocumentSuspension): |
| (WebCore::LegacyRequest::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyRequest.h: |
| * Modules/indexeddb/legacy/LegacyTransaction.cpp: |
| (WebCore::LegacyTransaction::canSuspendForDocumentSuspension): |
| (WebCore::LegacyTransaction::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyTransaction.h: |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::canSuspendForDocumentSuspension): |
| (WebCore::MediaSource::canSuspendForPageCache): Deleted. |
| * Modules/mediasource/MediaSource.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::canSuspendForDocumentSuspension): |
| (WebCore::SourceBuffer::canSuspendForPageCache): Deleted. |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/MediaStreamTrack.cpp: |
| (WebCore::MediaStreamTrack::canSuspendForDocumentSuspension): |
| (WebCore::MediaStreamTrack::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/RTCDTMFSender.cpp: |
| (WebCore::RTCDTMFSender::canSuspendForDocumentSuspension): |
| (WebCore::RTCDTMFSender::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/RTCDTMFSender.h: |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::canSuspendForDocumentSuspension): |
| (WebCore::RTCPeerConnection::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/notifications/DOMWindowNotifications.cpp: |
| (WebCore::DOMWindowNotifications::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowNotifications::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowNotifications::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache): Deleted. |
| * Modules/notifications/DOMWindowNotifications.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::canSuspendForDocumentSuspension): |
| (WebCore::Notification::canSuspendForPageCache): Deleted. |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::canSuspendForDocumentSuspension): |
| (WebCore::NotificationCenter::canSuspendForPageCache): Deleted. |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::canSuspendForDocumentSuspension): |
| (WebCore::AudioContext::canSuspendForPageCache): Deleted. |
| * Modules/webaudio/AudioContext.h: |
| * Modules/webdatabase/DatabaseContext.cpp: |
| (WebCore::DatabaseContext::canSuspendForDocumentSuspension): |
| (WebCore::DatabaseContext::canSuspendForPageCache): Deleted. |
| * Modules/webdatabase/DatabaseContext.h: |
| * Modules/websockets/WebSocket.cpp: |
| (WebCore::WebSocket::canSuspendForDocumentSuspension): |
| (WebCore::WebSocket::canSuspendForPageCache): Deleted. |
| * Modules/websockets/WebSocket.h: |
| * css/FontLoader.cpp: |
| (WebCore::FontLoader::canSuspendForDocumentSuspension): |
| (WebCore::FontLoader::canSuspendForPageCache): Deleted. |
| * css/FontLoader.h: |
| * dom/ActiveDOMObject.cpp: |
| (WebCore::ActiveDOMObject::canSuspendForDocumentSuspension): |
| (WebCore::ActiveDOMObject::canSuspendForPageCache): Deleted. |
| * dom/ActiveDOMObject.h: |
| * dom/Document.cpp: |
| (WebCore::Document::~Document): |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForTabSuspension): |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache): Deleted. |
| * dom/ScriptExecutionContext.h: |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::canSuspendForDocumentSuspension): |
| (WebCore::FileReader::canSuspendForPageCache): Deleted. |
| * fileapi/FileReader.h: |
| * history/CachedFrame.cpp: |
| (WebCore::CachedFrame::CachedFrame): |
| * history/PageCache.cpp: |
| (WebCore::canCacheFrame): |
| * html/HTMLMarqueeElement.cpp: |
| (WebCore::HTMLMarqueeElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLMarqueeElement::canSuspendForPageCache): Deleted. |
| * html/HTMLMarqueeElement.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLMediaElement::canSuspendForPageCache): Deleted. |
| * html/HTMLMediaElement.h: |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLSourceElement::canSuspendForPageCache): Deleted. |
| * html/HTMLSourceElement.h: |
| * html/PublicURLManager.cpp: |
| (WebCore::PublicURLManager::canSuspendForDocumentSuspension): |
| (WebCore::PublicURLManager::canSuspendForPageCache): Deleted. |
| * html/PublicURLManager.h: |
| * html/canvas/WebGLRenderingContextBase.cpp: |
| (WebCore::WebGLRenderingContextBase::canSuspendForDocumentSuspension): |
| (WebCore::WebGLRenderingContextBase::canSuspendForPageCache): Deleted. |
| * html/canvas/WebGLRenderingContextBase.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::clear): |
| (WebCore::FrameLoader::open): |
| * loader/appcache/DOMApplicationCache.cpp: |
| (WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMApplicationCache::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMApplicationCache::reconnectFrameFromPageCache): Deleted. |
| * loader/appcache/DOMApplicationCache.h: |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::DOMWindow): |
| (WebCore::DOMWindow::~DOMWindow): |
| (WebCore::DOMWindow::resetUnlessSuspendedForDocumentSuspension): |
| (WebCore::DOMWindow::suspendForDocumentSuspension): |
| (WebCore::DOMWindow::resumeFromDocumentSuspension): |
| (WebCore::DOMWindow::disconnectDOMWindowProperties): |
| (WebCore::DOMWindow::reconnectDOMWindowProperties): |
| (WebCore::DOMWindow::resetUnlessSuspendedForPageCache): Deleted. |
| (WebCore::DOMWindow::suspendForPageCache): Deleted. |
| (WebCore::DOMWindow::resumeFromPageCache): Deleted. |
| * page/DOMWindow.h: |
| * page/DOMWindowExtension.cpp: |
| (WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowExtension::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowExtension::reconnectFrameFromPageCache): Deleted. |
| * page/DOMWindowExtension.h: |
| * page/DOMWindowProperty.cpp: |
| (WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowProperty::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowProperty::reconnectFrameFromPageCache): Deleted. |
| * page/DOMWindowProperty.h: |
| * page/EventSource.cpp: |
| (WebCore::EventSource::canSuspendForDocumentSuspension): |
| (WebCore::EventSource::canSuspendForPageCache): Deleted. |
| * page/EventSource.h: |
| * page/SuspendableTimer.cpp: |
| (WebCore::SuspendableTimer::canSuspendForDocumentSuspension): |
| (WebCore::SuspendableTimer::canSuspendForPageCache): Deleted. |
| * page/SuspendableTimer.h: |
| * workers/Worker.cpp: |
| (WebCore::Worker::canSuspendForDocumentSuspension): |
| (WebCore::Worker::canSuspendForPageCache): Deleted. |
| * workers/Worker.h: |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::canSuspendForDocumentSuspension): |
| (WebCore::XMLHttpRequest::canSuspendForPageCache): Deleted. |
| * xml/XMLHttpRequest.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: "prevunique" cursors should point at the lowest primary key that matches, not the highest. |
| https://bugs.webkit.org/show_bug.cgi?id=151675. |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (Covered by at least one failing test that now passes, and updates to previously incorrect tests). |
| |
| * Modules/indexeddb/server/IndexValueEntry.cpp: |
| (WebCore::IDBServer::IndexValueEntry::reverseBegin): If CursorDuplicity is NoDuplicates, start at the lowest |
| entry instead of the highest. |
| (WebCore::IDBServer::IndexValueEntry::reverseFind): |
| * Modules/indexeddb/server/IndexValueEntry.h: |
| |
| * Modules/indexeddb/server/IndexValueStore.cpp: |
| (WebCore::IDBServer::IndexValueStore::reverseFind): |
| (WebCore::IDBServer::IndexValueStore::Iterator::Iterator): |
| (WebCore::IDBServer::IndexValueStore::Iterator::nextIndexEntry): |
| * Modules/indexeddb/server/IndexValueStore.h: |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor): |
| (WebCore::IDBServer::MemoryIndexCursor::iterate): |
| |
| * Modules/indexeddb/shared/IDBCursorInfo.cpp: |
| (WebCore::IDBCursorInfo::duplicity): |
| (WebCore::IDBCursorInfo::isDirectionNoDuplicate): Deleted. |
| * Modules/indexeddb/shared/IDBCursorInfo.h: |
| |
| 2015-11-30 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html |
| https://bugs.webkit.org/show_bug.cgi?id=149309 |
| <rdar://problem/22748363> |
| |
| Reviewed by Brent Fulgham. |
| |
| A weird order of event execution introduced by the test case will kill the webpage in a |
| subframe of the page while executing its |frame.loader().checkLoadCompleteForThisFrame()|. |
| Therefore, any frames comes after the failing subframe will have no page. Check it before |
| calling to those frames' |frame.loader().checkLoadCompleteForThisFrame()|, otherwise the |
| assertion in |frame.loader().checkLoadCompleteForThisFrame()| will fail. |
| |
| Test: http/tests/misc/detach-during-notifyDone.html |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkLoadComplete): |
| |
| 2015-11-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192819. |
| https://bugs.webkit.org/show_bug.cgi?id=151681 |
| |
| This change broke existing layout tests on Windows (Requested |
| by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Unify font-variant-* with font-variant shorthand" |
| https://bugs.webkit.org/show_bug.cgi?id=149773 |
| http://trac.webkit.org/changeset/192819 |
| |
| 2015-11-30 Darin Adler <darin@apple.com> |
| |
| Use Optional instead of isNull out argument for nullable getters |
| https://bugs.webkit.org/show_bug.cgi?id=151676 |
| |
| Reviewed by Anders Carlsson. |
| |
| No behavior change, just cleaner code. |
| |
| * Modules/geolocation/Coordinates.cpp: |
| (WebCore::Coordinates::altitude): Return an Optional. |
| (WebCore::Coordinates::altitudeAccuracy): Ditto. |
| (WebCore::Coordinates::heading): Ditto. |
| (WebCore::Coordinates::speed): Ditto. |
| * Modules/geolocation/Coordinates.h: Ditto. |
| |
| * Modules/indexeddb/IDBVersionChangeEvent.cpp: |
| (WebCore::IDBVersionChangeEvent::create): Added. The code before was calling |
| through to Event::create, which is clearly not what was wanted. Also removed |
| unneeded explicit destructor. |
| * Modules/indexeddb/IDBVersionChangeEvent.h: Changed return type of newVersion |
| to Optional and updated for above change. |
| |
| * Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp: |
| (WebCore::IDBClient::IDBVersionChangeEvent::newVersion): Changed to return |
| an Optional. |
| * Modules/indexeddb/client/IDBVersionChangeEventImpl.h: Removed unused |
| default argument values; the event type one, at least, was clearly incorrect. |
| Made more things private, got rid of unneeded destructor, marked class final |
| instead of marking all functions final. |
| |
| * Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp: |
| (WebCore::LegacyVersionChangeEvent::newVersion): Same as above. |
| * Modules/indexeddb/legacy/LegacyVersionChangeEvent.h: Ditto. |
| |
| * Modules/mediastream/MediaTrackConstraints.cpp: |
| (WebCore::MediaTrackConstraints::optional): Removed bogus bool value. If we |
| come back to finish later we will have to implement optional return values |
| for arrays in the JavaScript bindings generator, which should be straightforward. |
| * Modules/mediastream/MediaTrackConstraints.h: Ditto. |
| |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::toNullableJSNumber): Added. This function template is used for |
| return values that are nullable numbers. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): Replaced some existing bogus code to handle nullables with |
| new equally-bogus code that should be no worse and will compile. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): Removed old support for nullables. |
| (NativeToJSValue): Added new support for nullable numbers. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): Removed support for nullables. We almost certainly |
| won't need it for Objective-C bindings. |
| |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated. |
| * bindings/scripts/test/JS/JSTestObj.cpp: Updated. |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated. |
| |
| 2015-11-30 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Split platform-independent logic in AVCaptureDeviceManager out into a new class |
| https://bugs.webkit.org/show_bug.cgi?id=151388 |
| <rdar://problem/23593980> |
| |
| Reviewed by Eric Carlson. |
| |
| To prepare for creating a MockCaptureDeviceManager to be able to test |
| MediaDevices.getUserMedia, we create a platform-independent capture device manager |
| which all platforms should extend and add platform-specific logic to. |
| |
| The methods CaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints and |
| CaptureDeviceManager::captureDeviceList should be overridden by each platform |
| CaptureDeviceManager to respectively create a RealtimeMediaSource and return a list of |
| capture devices. createMediaSourceForCaptureDeviceWithConstraints attempts to create |
| a media source for a given device with some constraints; if the contraints cannot be |
| satisfied, this returns null. |
| |
| The refactored capture device manager also introduces the notion of a platform- |
| independent capture session which may be extended by platform device managers for |
| determining whether a given constraint name, value and media type is valid. |
| |
| A platform-independent CaptureDeviceInfo now represents either the video or audio |
| component of a capture device, but not both at once. This means a capture device that |
| supports both video and audio will emit two separate capture devices. |
| |
| No new tests, since there should be no behavior change. |
| |
| * Modules/mediastream/CaptureDeviceInfo.h: Added. |
| (WebCore::CaptureSessionInfo::~CaptureSessionInfo): |
| (WebCore::CaptureSessionInfo::supportsVideoSize): |
| (WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): |
| * Modules/mediastream/CaptureDeviceManager.cpp: Added. |
| (CaptureDeviceManager::~CaptureDeviceManager): |
| (CaptureDeviceManager::getSourcesInfo): |
| (CaptureDeviceManager::captureDeviceFromDeviceID): |
| (CaptureDeviceManager::verifyConstraintsForMediaType): |
| (CaptureDeviceManager::bestSourcesForTypeAndConstraints): |
| (CaptureDeviceManager::sourceWithUID): |
| (CaptureDeviceManager::bestDeviceForFacingMode): |
| (facingModeFromString): |
| (CaptureDeviceManager::sessionSupportsConstraint): |
| (CaptureDeviceManager::isSupportedFrameRate): |
| * Modules/mediastream/CaptureDeviceManager.h: Added. |
| (WebCore::CaptureDeviceManager::refreshCaptureDeviceList): |
| (WebCore::CaptureDeviceManager::defaultCaptureSession): |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Added. |
| (WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint): |
| (WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName): |
| (WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint): |
| * platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: |
| * platform/mediastream/mac/AVCaptureDeviceManager.h: |
| * platform/mediastream/mac/AVCaptureDeviceManager.mm: |
| (WebCore::AVCaptureSessionInfo::AVCaptureSessionInfo): |
| (WebCore::AVCaptureSessionInfo::supportsVideoSize): |
| (WebCore::AVCaptureSessionInfo::bestSessionPresetForVideoDimensions): |
| (WebCore::AVCaptureDeviceManager::captureDeviceList): |
| (WebCore::shouldConsiderDeviceInDeviceList): |
| (WebCore::AVCaptureDeviceManager::refreshCaptureDeviceList): |
| (WebCore::AVCaptureDeviceManager::AVCaptureDeviceManager): |
| (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints): |
| (WebCore::AVCaptureDeviceManager::sourceWithUID): |
| (WebCore::AVCaptureDeviceManager::getSourcesInfo): |
| (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType): |
| (WebCore::AVCaptureDeviceManager::defaultCaptureSession): |
| (WebCore::AVCaptureDeviceManager::sessionSupportsConstraint): |
| (WebCore::AVCaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints): |
| (WebCore::AVCaptureDeviceManager::deviceDisconnected): |
| (WebCore::AVCaptureDeviceManager::isSupportedFrameRate): |
| (WebCore::CaptureDevice:::m_enabled): Deleted. |
| (WebCore::captureDeviceList): Deleted. |
| (WebCore::captureDeviceFromDeviceID): Deleted. |
| (WebCore::refreshCaptureDeviceList): Deleted. |
| (WebCore::AVCaptureDeviceManager::bestSessionPresetForVideoSize): Deleted. |
| (WebCore::AVCaptureDeviceManager::deviceSupportsFacingMode): Deleted. |
| (WebCore::AVCaptureDeviceManager::bestDeviceForFacingMode): Deleted. |
| (WebCore::AVCaptureDeviceManager::isValidConstraint): Deleted. |
| (WebCore::AVCaptureDeviceManager::validConstraintNames): Deleted. |
| (WebCore::AVCaptureDeviceManager::validFacingModes): Deleted. |
| * platform/mediastream/mac/AVVideoCaptureSource.mm: |
| (WebCore::AVVideoCaptureSource::applyConstraints): |
| * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp: |
| (WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints): |
| (WebCore::RealtimeMediaSourceCenterMac::createMediaStream): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Set the correct source on the IDBRequest for cursor updates |
| https://bugs.webkit.org/show_bug.cgi?id=151665 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one existing failing test now passes). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::update): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): |
| * Modules/indexeddb/client/IDBObjectStoreImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::IDBRequest): |
| (WebCore::IDBClient::IDBRequest::setSource): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Get rid of the legacy TextIndicatorWindow style |
| https://bugs.webkit.org/show_bug.cgi?id=151674 |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/TextIndicator.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Deleted. |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Correct handling of cursors finishing iteration. |
| https://bugs.webkit.org/show_bug.cgi?id=151664 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one previously failing test now passes). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::setGetResult): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): |
| |
| 2015-11-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unify font-variant-* with font-variant shorthand |
| https://bugs.webkit.org/show_bug.cgi?id=149773 |
| |
| Reviewed by Darin Adler. |
| |
| 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): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: After versionchange transactions abort, fire onerror on the original IDBOpenDBRequest. |
| https://bugs.webkit.org/show_bug.cgi?id=151648 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests. Covered by at least one existing failing test which now passes, and many |
| other tests updated to fix their incorrect behavior. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| (WebCore::IDBClient::IDBDatabase::willAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didAbortTransaction): |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeAbort): |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::notifyDidAbort): |
| (WebCore::IDBClient::IDBTransaction::didAbort): |
| (WebCore::IDBClient::IDBTransaction::didCommit): |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| 2015-11-30 Chris Dumez <cdumez@apple.com> |
| |
| location.origin is undefined in a web worker |
| https://bugs.webkit.org/show_bug.cgi?id=151614 |
| |
| Reviewed by Darin Adler. |
| |
| Expose location.origin to web workers, as per: |
| https://html.spec.whatwg.org/multipage/workers.html#workerlocation |
| |
| This behavior is consistent with the behavior of Firefox and Chrome. |
| |
| Test: fast/workers/worker-location.html |
| |
| * workers/WorkerLocation.cpp: |
| (WebCore::WorkerLocation::origin): |
| * workers/WorkerLocation.h: |
| * workers/WorkerLocation.idl: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Support updating cursor values when the object store uses inline keys. |
| https://bugs.webkit.org/show_bug.cgi?id=151647 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least two previously failing tests now pass and are unskipped). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::update): Use putForCursorUpdate() instead of put() |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::add): |
| (WebCore::IDBClient::IDBObjectStore::put): |
| (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): Use the flag to skip the inline-key check. |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): Add a flag to skip the inline-key check. |
| * Modules/indexeddb/client/IDBObjectStoreImpl.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Resolve flaky GC-vs-wrapper issue with IDBOpenDBRequest. |
| https://bugs.webkit.org/show_bug.cgi?id=151645 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (Resolves flakiness with hundreds of existing IDB tests). |
| |
| Do to improper management of the m_hasPendingActivity flag on IDBRequestImpl, |
| the request wrapper for an IDBOpenDBRequest might be garbage collected in between the |
| onUpgradeNeeded event and onSuccess event. |
| |
| This manifested as flakiness in many tests, some more than others. |
| |
| I tried to write a targeted 100% reproducible case manually forcing GC, but could not get |
| the timing right. |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit): |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::dispatchEvent): |
| (WebCore::IDBClient::IDBRequest::willIterateCursor): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| (WebCore::IDBClient::IDBRequest::isOpenDBRequest): |
| |
| 2015-11-30 Per Arne Vollan <peavo@outlook.com> |
| |
| [WinCairo][MediaFoundation] Implement seek. |
| https://bugs.webkit.org/show_bug.cgi?id=151609 |
| |
| Reviewed by Alex Christensen. |
| |
| The methods maxTimeSeekable() and buffered() needs to be implemented. |
| |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: |
| (WebCore::MediaPlayerPrivateMediaFoundation::seekDouble): |
| (WebCore::MediaPlayerPrivateMediaFoundation::durationDouble): |
| (WebCore::MediaPlayerPrivateMediaFoundation::readyState): |
| (WebCore::MediaPlayerPrivateMediaFoundation::maxTimeSeekable): |
| (WebCore::MediaPlayerPrivateMediaFoundation::buffered): |
| (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress): |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::currentTime): |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::isActive): |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::maxTimeLoaded): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: openCursor() fix resulting in at least 4 more passing tests. |
| https://bugs.webkit.org/show_bug.cgi?id=151630 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least 4 failing tests now pass, and 9 other incorrect tests updated). |
| |
| * Modules/indexeddb/IDBGetResult.cpp: |
| (WebCore::IDBGetResult::isolatedCopy): |
| * Modules/indexeddb/IDBGetResult.h: |
| (WebCore::IDBGetResult::IDBGetResult): |
| (WebCore::IDBGetResult::isDefined): |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): If the IDBGetResult is undefined, |
| do not expose the cursor as the result property of the IDBRequest. |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Support keyPath injection into object store records. |
| https://bugs.webkit.org/show_bug.cgi?id=151640 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one existing failure now passes and is unskipped, |
| while many other existing failures are now closer to passing). |
| |
| * Modules/indexeddb/server/MemoryObjectStore.cpp: |
| (WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord): Use the new UniqueIDBDatabase VM/ExecState. |
| (WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords): Ditto |
| (WebCore::IDBServer::indexVM): Deleted. |
| (WebCore::IDBServer::indexGlobalExec): Deleted. |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadVM): |
| (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadExecState): |
| (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): If appropriate, inject the key that will be used into |
| the value before storing the record. |
| * Modules/indexeddb/server/UniqueIDBDatabase.h: |
| |
| Add modern JSValue/ExecState& version of some binding utilities, for use today and in preparation of getting |
| rid of the DOMRequestState and Deprecated::ScriptValue versions later: |
| * bindings/js/IDBBindingUtilities.cpp: |
| (WebCore::idbKeyToJSValue): |
| (WebCore::injectIDBKeyIntoScriptValue): |
| (WebCore::deserializeIDBValueData): |
| (WebCore::deserializeIDBValueDataToJSValue): |
| * bindings/js/IDBBindingUtilities.h: |
| |
| 2015-11-25 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Avoid creating a ContentFilter when loading the empty document |
| https://bugs.webkit.org/show_bug.cgi?id=151615 |
| |
| Reviewed by Daniel Bates. |
| |
| It's expensive to create the first ContentFilter since two frameworks must be soft-linked. There's no reason to |
| pay this cost if we're just loading the empty document. |
| |
| No new tests. It's not possible to write a test that would fail without this change since ContentFilter is not |
| notified of empty document loads. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::startLoadingMainResource): Don't initialize m_contentFilter until we know we aren't |
| loading the empty document. |
| (WebCore::DocumentLoader::DocumentLoader): |
| |
| 2015-11-29 Antoine Quint <graouts@apple.com> |
| |
| Browser does not fall back to SVG attribute value when CSS style value is invalid or not supported |
| https://bugs.webkit.org/show_bug.cgi?id=147932 |
| |
| Reviewed by Dean Jackson. |
| |
| Instead of returning an SVGPaint object of type SVG_PAINTTYPE_UNKNOWN when we encounter an SVG paint |
| value that cannot be parsed, we now return `nullptr` which will cause that value to be ignored and |
| let another paint value in the cascade be used instead. This is the same approach used for SVGColor. |
| Since we're removing the only call site for `SVGPaint::createUnknown()`, we remove that function entirely. |
| |
| Tests: svg/css/invalid-color-cascade.svg |
| svg/css/invalid-paint-cascade.svg |
| |
| * css/SVGCSSParser.cpp: |
| (WebCore::CSSParser::parseSVGPaint): |
| * svg/SVGPaint.h: |
| (WebCore::SVGPaint::createUnknown): Deleted. |
| |
| 2015-11-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Use SVGTransform::SVGTransformType instead of an unsigned short |
| https://bugs.webkit.org/show_bug.cgi?id=151637 |
| |
| Reviewed by Brady Eidson. |
| |
| Make 'type' more strongly typed. |
| |
| * svg/SVGTransformable.cpp: |
| (WebCore::SVGTransformable::parseTransformValue): |
| (WebCore::parseAndSkipType): |
| (WebCore::SVGTransformable::parseTransformType): |
| (WebCore::SVGTransformable::parseTransformAttribute): |
| * svg/SVGTransformable.h: |
| |
| 2015-11-27 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong. |
| https://bugs.webkit.org/show_bug.cgi?id=151627 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| No new tests (No change in behavior). |
| |
| * CMakeLists.txt: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| * Modules/indexeddb/IDBGetResult.cpp: Added. |
| (WebCore::IDBGetResult::dataFromBuffer): |
| (WebCore::IDBGetResult::isolatedCopy): |
| * Modules/indexeddb/IDBGetResult.h: |
| (WebCore::IDBGetResult::IDBGetResult): |
| (WebCore::IDBGetResult::valueBuffer): |
| (WebCore::IDBGetResult::keyData): |
| (WebCore::IDBGetResult::primaryKeyData): |
| (WebCore::IDBGetResult::keyPath): |
| (WebCore::IDBGetResult::setValueBuffer): |
| (WebCore::IDBGetResult::setKeyData): |
| (WebCore::IDBGetResult::setPrimaryKeyData): |
| (WebCore::IDBGetResult::setKeyPath): |
| (WebCore::IDBGetResult::dataFromBuffer): Deleted. |
| (WebCore::IDBGetResult::isolatedCopy): Deleted. |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::setGetResult): |
| * Modules/indexeddb/client/IDBCursorImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer): |
| |
| * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp: |
| (WebCore::GetOperation::perform): |
| |
| * Modules/indexeddb/server/IDBBackingStore.h: |
| |
| * Modules/indexeddb/server/MemoryCursor.h: |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::currentData): |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::currentData): |
| |
| * platform/CrossThreadCopier.h: |
| |
| 2015-11-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not use the WebCore garbage collector timer |
| https://bugs.webkit.org/show_bug.cgi?id=151623 |
| |
| Reviewed by Martin Robinson. |
| |
| Now that garbage collector timers have been implemented in |
| JavaScriptCore for glib, we don't need to use another Timer in WebCore. |
| |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::garbageCollectSoon): |
| (WebCore::GCController::garbageCollectNowIfNotDoneRecently): |
| |
| 2015-11-18 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Crash in DocumentLoader::notifyFinished() when allowing a media document to load |
| https://bugs.webkit.org/show_bug.cgi?id=151433 |
| rdar://problem/23506594 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| When the main resource of a media document commits, WebKit cancels its load since the plug-in or media engine |
| will do its own loading. If content filtering is enabled, and the filter waits allow the load until the entire |
| resource is downloaded, then ContentFilter will attempt to call DocumentLoader::notifyFinished() immediately |
| after delivering the buffered resource data to DocumentLoader. However, delivering the data will have nulled out |
| DocumentLoader's m_mainResource when the load was cancelled, leading to a crash in notifyFinished(). |
| |
| To resolve this, add a new Stopped state to ContentFilter. Set this state if DocumentLoader clears its main |
| resource or detaches from its frame. If ContentFilter is in the Stopped state after calling |
| DocumentLoader::dataReceived(), do not proceed to call DocumentLoader::notifyFinished(). |
| |
| Test: contentfiltering/allow-media-document.html |
| |
| * loader/ContentFilter.cpp: |
| (WebCore::ContentFilter::stopFilteringMainResource): Set m_state to Stopped. If m_mainResource is non-null, |
| removed ContentFilter as a client and set m_mainResource to null. |
| (WebCore::ContentFilter::notifyFinished): Stopped calling DocumentLoader::notifyFinished() if m_state is Stopped |
| after calling DocumentLoader::dataReceived(). |
| * loader/ContentFilter.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::detachFromFrame): Called ContentFilter::stopFilteringMainResource() instead of setting |
| m_contentFilter to null. |
| (WebCore::DocumentLoader::clearMainResource): Ditto. |
| |
| 2015-11-25 Pranjal Jumde <pjumde@apple.com> |
| |
| Checks for buffer-overflows when reading characters from textRun |
| https://bugs.webkit.org/show_bug.cgi?id=151055 |
| <rdar://problem/23251789> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| Prevents an off by one error when adding the last font data to the GlyphBuffer. |
| |
| * Source/WebCore/platform/graphics/WidthIterator.cpp: |
| * Source/WebCore/platform/graphics/FontCascade.cpp: |
| |
| 2015-11-24 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [Streams API] Implement pipeTo method in readable Stream |
| https://bugs.webkit.org/show_bug.cgi?id=151588 |
| |
| Reviewed by Darin Adler. |
| |
| Implemented pipeTo method according to the reference implementation in the spec as the spec is not written |
| yet. It can be found at https://github.com/whatwg/streams/blob/632b26a05f3106650b1ec91239ad5b012e6c64af/reference-implementation/lib/readable-stream.js#L75. |
| |
| Tests: streams/pipe-to.html |
| streams/reference-implementation/brand-checks.html |
| streams/reference-implementation/pipe-through.html |
| streams/reference-implementation/pipe-to.html |
| streams/reference-implementation/pipe-to-options.html |
| streams/reference-implementation/readable-stream-templated |
| |
| * Modules/streams/ReadableStream.js: |
| (doPipe): Internal function of pipeTo. |
| (closeDest): Internal function of pipeTo. |
| (abortDest): Internal function of pipeTo. |
| (pipeTo): Implemented as per spec with some other internal functions as helpers. |
| |
| 2015-11-24 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r190983): Non-element, non-text nodes should not be distributed to slots |
| https://bugs.webkit.org/show_bug.cgi?id=151566 |
| rdar://problem/23430177 |
| |
| Reviewed by Zalan Bujtas. |
| |
| We don't invalidate slot assignments except for text or element children. Fix by not |
| not assigning other nodes to slots as it is not useful. |
| |
| Test: fast/html/details-comment-crash.html |
| |
| * dom/SlotAssignment.cpp: |
| (WebCore::slotNameFromSlotAttribute): |
| (WebCore::SlotAssignment::findAssignedSlot): |
| (WebCore::SlotAssignment::assignSlots): |
| |
| 2015-11-23 David Kilzer <ddkilzer@apple.com> |
| |
| Hardening against CSSSelector double frees |
| <http://webkit.org/b/56124> |
| <rdar://problem/9119036> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add some security assertions to catch this issue if it ever |
| happens in Debug builds, and make changes in |
| CSSSelector::~CSSSelector() and |
| CSSSelectorList::deleteSelectors() to prevent obvious issues if |
| they're ever called twice in Release builds. |
| |
| No new tests because we don't know how to reproduce this. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::CSSSelector): Initialize |
| m_destructorHasBeenCalled. |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::m_destructorHasBeenCalled): Add bitfield. |
| (WebCore::CSSSelector::CSSSelector): Initialize |
| m_destructorHasBeenCalled. |
| (WebCore::CSSSelector::~CSSSelector): Add security assertion |
| that this is never called twice. Clear out any fields that |
| would have caused us to dereference an object twice. |
| |
| * css/CSSSelectorList.cpp: |
| (WebCore::CSSSelectorList::deleteSelectors): Clear |
| m_selectorArray when freeing the memory to which it was |
| pointing. This prevents re-entrancy issues or calling this |
| method twice on the same thread. Also restructure the for() |
| loop to prevent calling CSSSelector::isLastInSelectorList() |
| after CSSSelector::~CSSSelector() has been called (via CRBug |
| 241892). |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: inspector settings should not be shared between different inspection levels |
| https://bugs.webkit.org/show_bug.cgi?id=151151 |
| |
| Reviewed by Timothy Hatcher. |
| |
| InspectorController and InspectorFrontendClient should know how to compute their |
| inspection levels, so that this level can be exposed to the Inspector frontend for |
| preference disambiguation by inspection level. |
| |
| - A Page with normal web content has an inspection level of 0. |
| - The first Web Inspector has an inspection level of 1. |
| - The second Web Inspector that inspects the Inspector has an inspection level of 2. |
| - And so forth... |
| |
| For local frontend clients (WK1 and the ProtocolTestStub), the inspection level of |
| a Page computed as follows: |
| |
| - If the page's inspector controller has no frontend client, then the Page |
| is normal web content (level 0). |
| - If the page's inspector controller has a frontend client, ask for its inspection level. |
| A frontend client looks at the inspection level reported by inspected page's inspector |
| controller and increments by one to account for the crossed inspection boundary. |
| |
| No new tests, this is blocked by test infrastructure fixes (https://webkit.org/b/151573). |
| |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::inspectionLevel): Added. |
| (WebCore::InspectorController::hasInspectorFrontendClient): Deleted. |
| * inspector/InspectorController.h: |
| * inspector/InspectorFrontendClient.h: |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorFrontendClientLocal::canAttachWindow): Check inspectionLevel(). |
| (WebCore::InspectorFrontendClientLocal::inspectionLevel): Added. |
| * inspector/InspectorFrontendClientLocal.h: |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::inspectionLevel): Added. |
| * inspector/InspectorFrontendHost.h: |
| * inspector/InspectorFrontendHost.idl: |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::populate): Check inspectionLevel(). |
| |
| 2015-11-20 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: RemoteInspector should track targets and connections for remote automation |
| https://bugs.webkit.org/show_bug.cgi?id=151042 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Use the new RemoteControllableTarget API method names. |
| |
| No new tests, no behavior change. |
| |
| * page/PageDebuggable.cpp: |
| (WebCore::PageDebuggable::connect): |
| (WebCore::PageDebuggable::dispatchMessageFromRemote): |
| (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend): Deleted. |
| * page/PageDebuggable.h: |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Unskip all indexeddb/mozilla tests that pass. |
| https://bugs.webkit.org/show_bug.cgi?id=151568 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Lots of skipped existing tests now pass). |
| |
| * Modules/indexeddb/shared/IDBError.h: |
| |
| 2015-11-23 Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> |
| |
| Add WebCore namespace for generated bindings for supplemental method calls |
| https://bugs.webkit.org/show_bug.cgi?id=151431 |
| |
| Reviewed by Alex Christensen. |
| |
| Address build failures for generated supplemental method calls which are in the WebCore namespace. |
| The bindings are outside the WebCore namespace - so add WebCore namespace specifier where required. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): |
| (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): |
| (WebCore::jsTestInterfaceSupplementalStr1): |
| (WebCore::jsTestInterfaceSupplementalStr2): |
| (WebCore::jsTestInterfaceSupplementalNode): |
| (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): |
| (WebCore::setJSTestInterfaceSupplementalStr2): |
| (WebCore::setJSTestInterfaceSupplementalNode): |
| (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): |
| (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): |
| (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): |
| * bindings/scripts/test/ObjC/DOMTestInterface.mm: |
| (-[DOMTestInterface supplementalStr1]): |
| (-[DOMTestInterface supplementalStr2]): |
| (-[DOMTestInterface setSupplementalStr2:]): |
| (-[DOMTestInterface supplementalStr3]): |
| (-[DOMTestInterface setSupplementalStr3:]): |
| (-[DOMTestInterface supplementalNode]): |
| (-[DOMTestInterface setSupplementalNode:]): |
| (-[DOMTestInterface builtinAttribute]): |
| (-[DOMTestInterface setBuiltinAttribute:]): |
| (-[DOMTestInterface supplementalMethod1]): |
| (-[DOMTestInterface supplementalMethod2:objArg:]): |
| (-[DOMTestInterface supplementalMethod3]): |
| (-[DOMTestInterface supplementalMethod4]): |
| (-[DOMTestInterface builtinFunction]): |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: When a transaction is aborted, call onerror handlers for all in-progress requests. |
| https://bugs.webkit.org/show_bug.cgi?id=151550 |
| |
| Reviewed by Alex Christensen. |
| |
| Test: storage/indexeddb/modern/abort-requests-cancelled.html |
| storage/indexeddb/modern/idbtransaction-objectstore-failures.html (with changes) |
| storage/indexeddb/modern/index-5.html (with changes) |
| Various (currently skipped) legacy IDB tests. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| (WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction): |
| (WebCore::IDBClient::IDBDatabase::didStartTransaction): |
| (WebCore::IDBClient::IDBDatabase::willCommitTransaction): |
| (WebCore::IDBClient::IDBDatabase::didCommitTransaction): |
| (WebCore::IDBClient::IDBDatabase::willAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction): |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abort): |
| (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests): |
| (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer): |
| (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer): |
| (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer): |
| (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer): |
| (WebCore::IDBClient::IDBTransaction::didDeleteIndexOnServer): |
| (WebCore::IDBClient::IDBTransaction::immediateAbort): Deleted. |
| (WebCore::IDBClient::IDBTransaction::abortOnServer): Deleted. |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: |
| (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction): |
| (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction): |
| |
| * Modules/indexeddb/shared/IDBError.cpp: |
| (WebCore::idbErrorName): |
| (WebCore::idbErrorDescription): |
| * Modules/indexeddb/shared/IDBError.h: |
| |
| * Modules/indexeddb/shared/IDBResourceIdentifier.cpp: |
| (WebCore::IDBResourceIdentifier::loggingString): |
| * Modules/indexeddb/shared/IDBResourceIdentifier.h: |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Unskip storage/indexeddb/mozilla/global-data.html. |
| https://bugs.webkit.org/show_bug.cgi?id=151557 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Unskipping existing test storage/indexeddb/mozilla/global-data.html). |
| |
| - Reworking some invalid ASSERTS |
| - Actually opening pending open-database-requests after a version change transaction completes |
| - Allow starting new transactions when the version change transaction has *started* finishing, |
| but before it finishes finishing. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| * Modules/indexeddb/server/MemoryObjectStore.cpp: |
| (WebCore::IDBServer::MemoryObjectStore::~MemoryObjectStore): |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::keyAdded): Deleted. |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase): |
| (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): |
| (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction): |
| * Modules/indexeddb/server/UniqueIDBDatabase.h: |
| |
| 2015-11-23 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| Remove DOMPromiseWithCallback |
| https://bugs.webkit.org/show_bug.cgi?id=151565 |
| |
| Reviewed by Eric Carlson. |
| |
| DOMPromiseWithCallback is no longer used as WebCore JS built-ins are used to the cases where DOMPromiseWithCallback made sense. |
| |
| No change in behavior. |
| |
| * Modules/mediastream/MediaDevices.h: Moved from DOMPromiseWithCallback to DOMPromise since the API is now called by JS built-ins. |
| * bindings/js/JSDOMPromise.h: |
| (WebCore::DOMPromiseWithCallback::DOMPromiseWithCallback): Deleted. |
| (WebCore::DOMPromiseIteratorWithCallback::DOMPromiseIteratorWithCallback): Deleted. |
| (WebCore::Error>::resolve): Deleted. |
| (WebCore::Error>::reject): Deleted. |
| (WebCore::Error>::resolveEnd): Deleted. |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: when inspecting the inspector, add the inspection level to the title bar |
| https://bugs.webkit.org/show_bug.cgi?id=151555 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * English.lproj/Localizable.strings: add new localized string for alternate inspector title. |
| |
| 2015-11-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GStreamer] No need to assert the pipeline's bus presence in MediaPlayerPrivateGStreamerBase dtor |
| https://bugs.webkit.org/show_bug.cgi?id=151558 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| In the MediaPlayerPrivateGStreamerBase destructor, there's some leftover code |
| that acquires a reference to the GStreamer pipeline's bus object and then |
| just asserts that it's not null. Not very useful, so remove it. |
| |
| Also use nullptr to null out the m_player member. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: |
| (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): |
| |
| 2015-11-17 Sergio Villar Senin <svillar@igalia.com> |
| |
| ASSERTION FAILED: freeSpace >= 0 in WebCore::RenderGrid::computeTrackSizesForDirection |
| https://bugs.webkit.org/show_bug.cgi?id=151254 |
| |
| Reviewed by Darin Adler. |
| |
| When in quirks mode, abnormally huge margins could lead to |
| negative computations of available logical sizes. We could add |
| an !document.inQuirksMode() check in the assertion but since |
| negative freeSpace values are valid (i.e. the condition is not |
| really part of the contract and everything will work as |
| expected) I've decided to simply remove it. |
| |
| Test: fast/css-grid-layout/grid-quirks-mode-huge-margin-crash.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeTrackSizesForDirection): Deleted. |
| |
| 2015-11-22 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Font selection should not consult font-variant property |
| https://bugs.webkit.org/show_bug.cgi?id=151537 |
| |
| Reviewed by Simon Fraser. |
| |
| In section 4.7 of the CSS Fonts Level 3 spec, it says "[The font-variant and |
| font-feature-settings] do not affect font selection." |
| |
| All the other browsers (Chrome, Firefox, and Edge) all obey the spec here. We |
| are the only one who misbehaves. This patch aligns our behavior with the other |
| browsers. |
| |
| Test: fast/text/font-selection-font-variant.html |
| |
| * css/CSSFontSelector.cpp: |
| (WebCore::computeTraitsMask): Deleted. |
| (WebCore::compareFontFaces): Deleted. |
| (WebCore::CSSFontSelector::getFontFace): Deleted. |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::createFontFaceRule): |
| (WebCore::CSSParser::CSSParser): Deleted. |
| (WebCore::CSSParser::parseValue): Deleted. |
| (WebCore::CSSParser::parseDeclaration): Deleted. |
| (WebCore::CSSParser::clearProperties): Deleted. |
| (WebCore::CSSParser::parseFontVariant): Deleted. |
| (WebCore::CSSParser::createStyleRule): Deleted. |
| (WebCore::CSSParser::deleteFontFaceOnlyValues): Deleted. |
| * css/CSSParser.h: |
| * platform/graphics/FontDescription.cpp: |
| (WebCore::FontDescription::traitsMask): Deleted. |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::traitsInFamilyEnumProc): |
| * platform/graphics/cocoa/FontCacheCoreText.cpp: |
| (WebCore::toTraitsMask): |
| * platform/text/TextFlags.h: |
| |
| 2015-11-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed, rolling out r192727. |
| |
| It made the selections transparent again and broke |
| /webkit2/WebKitWebView/snapshot |
| |
| Reverted changeset: |
| |
| "[GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, |
| et. al. should not clobber state of cached GtkStyleContexts" |
| https://bugs.webkit.org/show_bug.cgi?id=151533 |
| http://trac.webkit.org/changeset/192727 |
| |
| 2015-11-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, et. al. should not clobber state of cached GtkStyleContexts |
| https://bugs.webkit.org/show_bug.cgi?id=151533 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| platformActiveSelectionBackgroundColor(), platformInactiveSelectionBackgroundColor(), etc. |
| are const functions intended only to return a color used for painting, but since r174929 |
| they also change the state of the cached style contexts we use for GTK_TYPE_ENTRY and |
| GTK_TYPE_TREE_VIEW. That's wrong; those style contexts should not have any state set. This |
| could cause theme colors returned by those GtkStyleContexts to change unexpectedly, |
| depending on whether the state is explicitly set before each use, or whether the theme |
| actually uses the states. |
| |
| This didn't cause any regression only because every place using these style contexts |
| explicitly sets the state of the style contexts before use. In fact, the GtkTreeView style |
| context is not used anywhere else, and the GtkEntry style context is only used in |
| paintTextField, which does set the state before use (and then reverts it using |
| save/restore), so this cannot have broken anything in practice. But it's a landmine waiting |
| for the next programmer to trip it. |
| |
| Fix this with a gtk_style_context_save()/gtk_style_context_restore() pair. |
| |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::styleColor): |
| |
| 2015-11-21 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Tiny cleanup in ComplexTextController::collectComplexTextRuns() |
| https://bugs.webkit.org/show_bug.cgi?id=151534 |
| |
| Reviewed by Zalan Bujtas. |
| |
| The isMissingGlyph boolean is completely unnecessary. Its entire |
| responsiblity is duplicated by the "font" pointer. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::collectComplexTextRuns): |
| |
| == Rolled over to ChangeLog-2015-11-21 == |