blob: 0487f323604938e3ee6c5c19dad6477e704fdf8c [file] [log] [blame]
2013-10-23 Mark Lam <mark.lam@apple.com>
Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
https://bugs.webkit.org/show_bug.cgi?id=123131.
Reviewed by Geoffrey Garen.
Test: storage/websql/open-database-expand-quota.html
If a webpage tries to create a database that exceeds the database size
quota for that security origin, the WebKit1 quota request mechanism
uses detailsForNameAndOrigin() to get the requested size of the database
(that the webpage is attempting to open) in order to determine whether
to increase the quota or not.
Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
mechanism to provide this size information. This change re-instates the
ProposedDatabase mechanism so that WebKit1 client code that relies on
this behavior will continue to work.
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
(WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseManager.h:
(WebCore::DatabaseManager::ProposedDatabase::origin):
(WebCore::DatabaseManager::ProposedDatabase::details):
2013-10-23 Tim Horton <timothy_horton@apple.com>
[cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
https://bugs.webkit.org/show_bug.cgi?id=122918
Reviewed by Anders Carlsson.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
The capitalization of kCGImageSourceSkipMetaData changed to
kCGImageSourceSkipMetadata in Mountain Lion.
2013-10-23 Brady Eidson <beidson@apple.com>
Make IDBDatabaseBackendLevelDB.cpp be cross platform
https://bugs.webkit.org/show_bug.cgi?id=123027
Attentively reviewed by Dean Jackson.
Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
Project files:
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
(WebCore::IDBFactoryBackendLevelDB::open):
(WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
* Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::create):
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
(WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2013-10-23 Daniel Bates <dabates@apple.com>
[iOS] Upstream more ARMv7s bits
https://bugs.webkit.org/show_bug.cgi?id=123052
Reviewed by Joseph Pecoraro.
Define exported symbol file for armv7s and arm64.
* Configurations/WebCore.xcconfig:
2013-10-23 Krzysztof Wolanski <k.wolanski@samsung.com>
[GTK] accessibility/self-referencing-aria-labelledby.html is failing
https://bugs.webkit.org/show_bug.cgi?id=121594
Reviewed by Mario Sanchez Prada.
According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
description of image element should be determined by alt attribute, then
if it is empty by title attributte.
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetDescription):
2013-10-15 Andreas Kling <akling@apple.com>
Tighten animation-driven restyle to operate on Element only.
<https://webkit.org/b/122820>
Text nodes are never directly animated, so we can tighten this code
to work on Element only. This happens naturally since the code was
already working with RenderElement everywhere.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
Even more PassRef<RenderStyle>!
<https://webkit.org/b/123147>
Convert more of the WebCore code to use PassRef for RenderStyle
in places where they are known to be non-null.
Re-landing this without region styling since that caused some
assertions last time.
Reviewed by Antti Koivisto.
2013-10-22 Zoltan Horvath <zoltan@webkit.org>
Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
https://bugs.webkit.org/show_bug.cgi?id=123038
Reviewed by David Hyatt.
I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004).
I mostly did the same changes, but the code is too diverged at this point to just apply that patch on our trunk. The patch
introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
performance regression. The change makes the code so much cleaner and understandable.
This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
the entire progress under http://webkit.org/b/121261 meta bug.
No new tests, covered by existing tests.
- I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineBreakRef):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::nextCharacter):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::BreakingContext::handleEndOfLine):
(WebCore::LineBreaker::nextSegmentBreak):
2013-10-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r157826.
http://trac.webkit.org/changeset/157826
https://bugs.webkit.org/show_bug.cgi?id=123197
Caused some regions tests to assert (Requested by smfr on
#webkit).
* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::styleForRenderer):
* dom/Element.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::setComputedStyle):
(WebCore::ElementRareData::resetComputedStyle):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::textWithDirection):
* page/animation/AnimationController.cpp:
(WebCore::AnimationController::updateAnimations):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::animate):
* page/animation/CompositeAnimation.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
* rendering/RenderElement.h:
(WebCore::RenderElement::setStyleInternal):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRegionObjectsRegionStyle):
(WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
(WebCore::RenderRegion::computeStyleInRegion):
(WebCore::RenderRegion::computeChildrenStyleInRegion):
(WebCore::RenderRegion::setObjectStyleInRegion):
* rendering/RenderRegion.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveLocal):
2013-10-22 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Remove HAVE_GLX macro
https://bugs.webkit.org/show_bug.cgi?id=123191
Reviewed by Gyuyoung Kim.
Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
* platform/graphics/surfaces/GraphicsSurfaceToken.h:
Replace HAVE(GLX) to USE(GLX)
2013-10-22 Mark Lam <mark.lam@apple.com>
Gardening: fix broken build on Windows.
https://bugs.webkit.org/show_bug.cgi?id=123174.
Not reviewed.
No new tests.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
2013-10-22 Brady Eidson <beidson@apple.com>
Get rid of IDBObjectStoreBackendLevelDB
https://bugs.webkit.org/show_bug.cgi?id=123174
Reviewed by Tim Horton.
This file was kind of a dumping ground.
Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
* Modules/indexeddb/IDBIndexWriter.cpp: Added.
(WebCore::IDBIndexWriter::IDBIndexWriter):
(WebCore::IDBIndexWriter::writeIndexKeys):
(WebCore::IDBIndexWriter::verifyIndexKeys):
(WebCore::IDBIndexWriter::addingKeyAllowed):
* Modules/indexeddb/IDBIndexWriter.h: Added.
(WebCore::IDBIndexWriter::create):
* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
* Modules/indexeddb/IDBMetadata.h:
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
(WebCore::IDBBackingStoreLevelDB::generateKey):
(WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
(WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::PutOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
2013-10-22 Dean Jackson <dino@apple.com>
[WebGL] Implement a software rendering option on Mac
https://bugs.webkit.org/show_bug.cgi?id=123177
Reviewed by Tim Horton.
Implement a way to force software OpenGL rendering
for WebGL, via a Setting/Preference.
No new tests. We intentionally hide the capabilities of
the renderer from the content, so you can't test for
this setting. However, manual inspection is pretty
obvious. Just go to a page with a complex shader
such as https://www.shadertoy.com/view/lss3WS.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create): If we're forcing software
rendering, mark the context attributes as such.
* page/Settings.in: New setting key.
* platform/graphics/GraphicsContext3D.h: New flag in Attributes.
(WebCore::GraphicsContext3D::Attributes::Attributes):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
algorithm that sets a pixel format. If we're forcing software rendering,
obviously we never want to create an accelerated pixel format.
* platform/graphics/filters/CustomFilterGlobalContext.cpp:
(WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
here before trying to create the context.
* platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
flag to prepareContextIfNeeded.
* rendering/FilterEffectRenderer.cpp:
(WebCore::createCustomFilterEffect): Check the Setting before creating a custom
filter context.
2013-10-22 Anders Carlsson <andersca@apple.com>
Revert r157445 since it broke certificates on Mac.
<rdar://problem/15246926&15254017&15269117>
* GNUmakefile.list.am:
* PlatformEfl.cmake:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceErrorBase.h:
* platform/network/ResourceResponseBase.h:
* platform/network/cf/CertificateInfoCFNet.cpp: Removed.
* platform/network/cf/ResourceResponse.h:
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::setCertificateChain):
(WebCore::ResourceResponse::certificateChain):
* platform/network/soup/ResourceError.h:
(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::tlsErrors):
(WebCore::ResourceError::setTLSErrors):
(WebCore::ResourceError::certificate):
(WebCore::ResourceError::setCertificate):
* platform/network/soup/ResourceErrorSoup.cpp:
(WebCore::ResourceError::tlsError):
(WebCore::ResourceError::platformCopy):
(WebCore::ResourceError::platformCompare):
* platform/network/soup/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::soupMessageCertificate):
(WebCore::ResourceResponse::setSoupMessageCertificate):
(WebCore::ResourceResponse::soupMessageTLSErrors):
(WebCore::ResourceResponse::setSoupMessageTLSErrors):
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::toSoupMessage):
(WebCore::ResourceResponse::updateFromSoupMessage):
2013-10-22 Jer Noble <jer.noble@apple.com>
[Media] Refactor supportsType() factory method to take a parameters object.
https://bugs.webkit.org/show_bug.cgi?id=122489
Reviewed by Eric Carlson.
In order to support adding new conditional properties with which to decide
what MediaPlayerPrivate subclass to create, replace the two versions of the
supportsType() factory method with a single one taking a parameters object.
At the same time, add a 'isMediaSource' parameter to that object, allowing
MediaPlayerPrivate subclasses which support the same type and codecs but
which do not both support MediaSource to be distinguised.
* platform/graphics/MediaPlayer.cpp:
(WebCore::bestMediaEngineForSupportParameters): Renamed from
bestMediaEngineForTypeAndCodecs.
(WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
(WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
(WebCore::MediaPlayer::supportsType): Pass parameter object.
(WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
* platform/graphics/MediaPlayer.h:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
extendedSupportsType method.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::supportsType): Ditto.
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
extendedSupportsType method.
(WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/wince/MediaPlayerPrivateWinCE.h:
2013-10-22 Andreas Kling <akling@apple.com>
Merge SVGRenderBlock::styleWillChange() into styleDidChange().
<https://webkit.org/b/123181>
I meant to do this one in r157787, but better late than never.
Reviewed by Geoffrey Garen.
2013-10-22 Sam Weinig <sam@webkit.org>
CTTE: Modernize RenderBlock a bit
https://bugs.webkit.org/show_bug.cgi?id=123162
Reviewed by Andreas Kling.
Start threading references through RenderBlock. While we
are here, do some selective modernization as well.
2013-10-22 Andreas Kling <akling@apple.com>
Even more PassRef<RenderStyle>!
<https://webkit.org/b/123147>
Convert the remaining WebCore code to use PassRef for RenderStyle
wherever they are known to be non-null.
Reviewed by Antti Koivisto.
2013-10-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r157819.
http://trac.webkit.org/changeset/157819
https://bugs.webkit.org/show_bug.cgi?id=123180
Broke 32-bit builds (Requested by smfr on #webkit).
* Configurations/WebCore.xcconfig:
2013-10-22 Antti Koivisto <antti@apple.com>
Rename deleteLineBoxTree to deleteLines
https://bugs.webkit.org/show_bug.cgi?id=123176
Reviewed by Andreas Kling.
RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
2013-10-22 Tim Horton <timothy_horton@apple.com>
{ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
https://bugs.webkit.org/show_bug.cgi?id=123172
Reviewed by Simon Fraser.
No new tests, just a rename.
"get" in WebCore tends to mean that the function has out arguments; these have no arguments.
Rename FilterOperation::getOperationType() to FilterOperation::type().
I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
Removed long and useless list of files.
2013-10-22 Samuel White <samuel_white@apple.com>
AX: Add paramAttrs to fetch start and end text markers in a given rect.
https://bugs.webkit.org/show_bug.cgi?id=122164
Reviewed by Chris Fleizach.
Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
like VoiceOver a way to retrieve the text markers for a specified column of page text.
Test: platform/mac/accessibility/text-marker-for-bounds.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::mainFrame):
(WebCore::AccessibilityObject::topDocument):
(WebCore::AccessibilityObject::visiblePositionForBounds):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper screenToContents:]):
(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2013-10-22 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
https://bugs.webkit.org/show_bug.cgi?id=123033
Reviewed by David Hyatt.
In Blink I made this function in a bit different way. This change modifies it
to be identical, which helps a lot in the future cross-merging patches.
No new tests, covered by existing texts.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
2013-10-22 Daniel Bates <dabates@apple.com>
[iOS] Upstream more ARMv7s bits
https://bugs.webkit.org/show_bug.cgi?id=123052
Reviewed by Joseph Pecoraro.
* Configurations/WebCore.xcconfig:
2013-10-22 Simon Fraser <simon.fraser@apple.com>
Try to fix Mavericks build; use <> for framework include.
* page/CaptionUserPreferencesMediaAF.cpp:
2013-10-22 Tim Horton <timothy_horton@apple.com>
GammaFilterOperation seems to be dead code
https://bugs.webkit.org/show_bug.cgi?id=123173
Reviewed by Simon Fraser.
* platform/graphics/filters/FilterOperation.cpp:
* platform/graphics/filters/FilterOperation.h:
Remove dead code.
2013-10-22 Antti Koivisto <antti@apple.com>
Rename some line box functions to be just about lines
https://bugs.webkit.org/show_bug.cgi?id=123168
Reviewed by Dave Hyatt.
firstLineBoxBaseline -> firstLineBaseline
hasInlineBoxChildren -> hasLines
Also use hasLines in a bunch of places where firstLineBox() was used.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
Also use hasRenderedText() instead of firstTextBox()
* rendering/RenderFullScreen.cpp:
Fix namespace.
2013-10-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
Adding Mock class to test RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=122848
Reviewed by Eric Carlson.
The following tests can be run:
RTCPeerConnection-createAnswer.html
RTCPeerConnection-createOffer.html
RTCPeerConnection-ice.html
RTCPeerConnection-localDescription.html
RTCPeerConnection-remoteDescription.html
RTCPeerConnection-state.html
Tests that require a MediaStream object, by invoking getUserMedia,
are not ready to run yet.
No new tests needed.
* CMakeLists.txt:
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(WebCore::createHandler):
* platform/mediastream/RTCPeerConnectionHandler.h:
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
* platform/mock/RTCNotifiersMock.cpp: Added.
* platform/mock/RTCNotifiersMock.h: Added.
* platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
* platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
* platform/mock/TimerEventBasedMock.h: Added.
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::enableMockRTCPeerConnectionHandler):
* testing/Internals.h:
2013-10-22 Zan Dobersek <zdobersek@igalia.com>
WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
https://bugs.webkit.org/show_bug.cgi?id=122945
Reviewed by Anders Carlsson.
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
2013-10-22 Zan Dobersek <zdobersek@igalia.com>
Simplify HRTFDatabaseLoader's load map
https://bugs.webkit.org/show_bug.cgi?id=122944
Reviewed by Eric Carlson.
* platform/audio/HRTFDatabaseLoader.cpp:
(WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
(WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
* platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
and the singleton's unused getter.
2013-10-22 Tim Horton <timothy_horton@apple.com>
Remote Layer Tree: Support hardware accelerated filters
https://bugs.webkit.org/show_bug.cgi?id=123139
Reviewed by Anders Carlsson.
* WebCore.exp.in:
Export a variety of filter-related things.
* platform/graphics/ca/PlatformCAFilters.h:
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::setFilters):
* platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
(PlatformCAFilters::setFiltersOnLayer):
setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
as its argument, because it doesn't need a PlatformCALayer, and this way
we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
and not PlatformCALayers.
2013-10-22 Brendan Long <b.long@cablelabs.com>
cue.text fails for some track element cues
https://bugs.webkit.org/show_bug.cgi?id=81123
Reviewed by Eric Carlson.
Test: media/track/track-long-captions-file.html
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
(WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
(WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
(WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
(WebCore::WebVTTParser::collectNextLine): Use buffer.
* html/track/WebVTTParser.h: Add m_buffer and Finished state.
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
2013-10-22 peavo@outlook.com <peavo@outlook.com>
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=123161
Reviewed by Brent Fulgham.
* rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
2013-10-21 Brady Eidson <beidson@apple.com>
Add a cross-platform IDBRecordIdentifier
https://bugs.webkit.org/show_bug.cgi?id=123138
Reviewed by Andreas Kling.
Add the cross-platform header:
* Modules/indexeddb/IDBRecordIdentifier.h: Added.
(WebCore::IDBRecordIdentifier::create):
(WebCore::IDBRecordIdentifier::encodedPrimaryKey):
(WebCore::IDBRecordIdentifier::version):
(WebCore::IDBRecordIdentifier::reset):
(WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:
Remove the old abstract and LevelDB classes:
* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
Use the cross-platform one everywhere:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::PutOperation::perform):
2013-10-22 Andrei Bucur <abucur@adobe.com>
[CSS Regions] Possible performance regression after r157567
https://bugs.webkit.org/show_bug.cgi?id=123016
Reviewed by Andreas Kling.
The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
try to optimize the initial patch, based on Andreas Kling's review.
The patch also adds a couple of refactorings that should make the code easier to read:
- the CSS Shapes functions are now wrapped in a single #if clause
- the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
it information about the state of the relayout children flag. If the flag is true already,
some of the steps are skipped.
Tests: no new tests.
* dom/Element.cpp:
(WebCore::Element::webkitGetRegionFlowRanges):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* rendering/RenderBlock.cpp:
(WebCore::shapeInfoRequiresRelayout):
(WebCore::RenderBlock::updateShapesBeforeBlockLayout):
(WebCore::RenderBlock::computeShapeSize):
(WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
(WebCore::RenderBlockFlow::ensureRareData):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderElement.h:
(WebCore::RenderElement::generatingElement):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
* rendering/RenderFlowThread.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* style/StyleResolveTree.cpp:
(WebCore::Style::elementInsideRegionNeedsRenderer):
2013-10-22 Andreas Kling <akling@apple.com>
CSSStyleSheet constructor functions should return PassRef.
<https://webkit.org/b/123156>
Make CSSStyleSheet::create*() return PassRef and tighten some call
sites that were using them. Most callers didn't need any tweaks to
take advantage of PassRef.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
<https://webkit.org/b/123154>
This renderer is never anonymous and always has a corresponding
MathMLInlineContainerElement. Overload element() with a tighter
return type.
Also marked the class FINAL and made most member functions private.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
FontGlyphs constructor functions should return PassRef.
<https://webkit.org/b/123159>
Made the two FontGlyphs creator functions return PassRef and tweaked
the FontGlyphsCache in Font.cpp to make more efficient use of it.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
Fix some more code to use RenderElement instead of RenderObject.
<https://webkit.org/b/123149>
Using RenderElement where possible lets us skip the isRenderElement()
branch in RenderObject::style() and generates much tighter code.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
Merge SVG renderers' styleWillChange() into styleDidChange().
<https://webkit.org/b/123108>
This work can just as well be done after setting the style.
Three more styleWillChange() overloads gone.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
CSSValueList constructor functions should return PassRef.
<https://webkit.org/b/123151>
These functions always return objects, and thus can return PassRef.
Also made CSSValueList::createFromParserValueList() take a reference
since that function is only ever called with a non-null value.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
Avoid parent style ref churn in createTextRendererIfNeeded().
<https://webkit.org/b/123148>
There's no need to take a temporary ref on the parent's RenderStyle
while creating a text renderer. It's not going away, and the text
renderer is not going to participate in ownership afterwards.
Reviewed by Antti Koivisto.
2013-10-22 Andreas Kling <akling@apple.com>
Remove some unnecessary null checks in RenderElement::setStyle().
<https://webkit.org/b/123146>
After assigning the new style to RenderElement::m_style, we know that
it'll be non-null, so remove all the checking for this.
Reviewed by Antti Koivisto.
2013-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
https://bugs.webkit.org/show_bug.cgi?id=123140
Reviewed by Andreas Kling.
As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
No new tests, no behavior changes.
* accessibility/AccessibilityList.h:
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMockObject.h:
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilitySVGRoot.h:
* accessibility/AccessibilityScrollView.h:
* accessibility/AccessibilitySpinButton.h:
* accessibility/AccessibilityTable.h:
2013-10-22 Brian Holt <brian.holt@samsung.com>
[GTK] Add WebKit2 API for TLS errors
https://bugs.webkit.org/show_bug.cgi?id=120160
Reviewed by Carlos Garcia Campos.
Added a new constructor for CertificateInfo under Soup.
* platform/network/CertificateInfo.h:
* platform/network/soup/CertificateInfoSoup.cpp:
(WebCore::CertificateInfo::CertificateInfo): New constructor using
GTlsCertificateFlags and GTlsCertificate.
2013-10-22 Mihnea Ovidenie <mihnea@adobe.com>
[CSSRegions] Use RenderStyle::hasFlowFrom when needed
https://bugs.webkit.org/show_bug.cgi?id=122543
Reviewed by David Hyatt.
Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
Use RenderStyle::hasFlowFrom() helper function instead of directly
checking the value of RenderStyle::regionThread().
No change of functionality, covered by existing tests.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::didAttachRenderers):
* dom/PseudoElement.h:
(WebCore::pseudoElementRendererIsNeeded):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
* rendering/style/RenderStyle.h:
2013-10-21 Brent Fulgham <bfulgham@apple.com>
[WIN] Properly support reverse animations without needing software fallback.
https://bugs.webkit.org/show_bug.cgi?id=85121
Reviewed by Dean Jackson.
Testing is provided by existing animation tests.
* platform/animation/TimingFunction.h:
(WebCore::CubicBezierTimingFunction::createReversed): Added.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
autoreverse animation is no longer needed.
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(toCAMediaTimingFunction): Use new reversed function.
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(toCACFTimingFunction): Ditto.
(PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
(PlatformCAAnimation::setTimingFunctions): Ditto.
2013-10-21 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=123126
Reviewed by Andreas Kling.
TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
generates plenty more helper functions for toCSSFooValue().
Additionally, this use support that toWebKitCSSFooValue, which couldn't
use CSS_VALUE_TYPE_CASTS macro.
No new tests, no behavior change.
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
* css/CSSCalculationValue.h:
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.h:
* css/CSSCursorImageValue.h:
* css/CSSFilterImageValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSFontFeatureValue.h:
* css/CSSFontValue.h:
* css/CSSFunctionValue.h:
* css/CSSGradientValue.h:
* css/CSSGridTemplateValue.h:
* css/CSSImageSetValue.h:
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.h:
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSShadowValue.h:
* css/CSSTimingFunctionValue.h:
* css/CSSUnicodeRangeValue.h:
* css/CSSValue.h:
* css/CSSValueList.h:
* css/CSSVariableValue.h:
* css/WebKitCSSArrayFunctionValue.h:
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSMatFunctionValue.h:
* css/WebKitCSSMixFunctionValue.h:
* css/WebKitCSSSVGDocumentValue.h:
* css/WebKitCSSShaderValue.h:
2013-10-21 Joone Hur <joone.hur@intel.com>
Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
https://bugs.webkit.org/show_bug.cgi?id=123013
Reviewed by Andreas Kling.
No new tests because this was reported by Google ClusterFuzz.
https://codereview.chromium.org/25713009/
There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter()
due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject
by running isBoxModelObject() before calling toRenderBoxModelObject.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
2013-10-21 Brady Eidson <beidson@apple.com>
Make IDBTransactionCoordinatorLevelDB cross platform
https://bugs.webkit.org/show_bug.cgi?id=123124
Enthusiastically reviewed by Tim Horton.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
Make more methods pure virtual in the interface:
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
* Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
(WebCore::IDBTransactionCoordinator::create):
(WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::didCreateTransaction):
(WebCore::IDBTransactionCoordinator::didStartTransaction):
(WebCore::IDBTransactionCoordinator::didFinishTransaction):
(WebCore::IDBTransactionCoordinator::isActive):
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::doScopesOverlap):
(WebCore::IDBTransactionCoordinator::canRunTransaction):
* Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
Update the name of the class elsewhere:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
(WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2013-10-21 Daniel Bates <dabates@apple.com>
[iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
https://bugs.webkit.org/show_bug.cgi?id=123045
Reviewed by Joseph Pecoraro.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
(WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
(WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
* bindings/js/JSWorkerGlobalScopeBase.h:
* loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
in a subsequent patch.
* page/ChromeClient.h: Added isStopping().
2013-10-21 Anders Carlsson <andersca@apple.com>
Navigation policy callback not called when performing the same fragment navigation twice
https://bugs.webkit.org/show_bug.cgi?id=123121
<rdar://problem/15230466>
Reviewed by Beth Dakin.
There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away
if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
the last checked request of the document loader when doing a fragment navigation.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
2013-10-21 Jer Noble <jer.noble@apple.com>
Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
* html/HTMLMediaElement.h:
2013-10-20 Mark Lam <mark.lam@apple.com>
Avoid JSC debugger overhead unless needed.
https://bugs.webkit.org/show_bug.cgi?id=123084.
Reviewed by Geoffrey Garen.
No new tests.
- If no breakpoints are set, we now avoid calling the debug hook callbacks.
- If no break on exception is set, we also avoid exception event debug callbacks.
- When we return from the ScriptDebugServer to the JSC::Debugger, we may no
longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
pointer in the ScriptDebugServer may become stale. To avoid this issue, before
returning, the ScriptDebugServer will clear its m_currentCallFrame if
needsOpDebugCallbacks() is false.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnNextStatement):
(WebCore::ScriptDebugServer::breakProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::dispatchDidContinue):
(WebCore::ScriptDebugServer::exception):
(WebCore::ScriptDebugServer::didReachBreakpoint):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::reset):
2013-10-21 Myles C. Maxfield <mmaxfield@apple.com>
Grammar markers are not updated when switching between 1x and 2x
https://bugs.webkit.org/show_bug.cgi?id=122146
Reviewed by Dean Jackson.
When running editing/spelling/grammar-markers-hidpi.html, the 2x
grammar/spelling dot resources are cached. If you then run
editing/spelling/grammar-markers.html without tearing down WebKit,
it re-uses the 2x dots. The difference between the two tests is a call
to testRunner.setBackingScaleFactor().
We create a NSColor from an NSImage, and remember it in a static
variable. However, NSColor inspects the current graphics context to
determine which resolution to use, and then remembers that decision.
Therefore, we want to recreate the NSColor whenever the device pixel
ratio changes. This patch adds a new static function to GraphicsContext
which recreates this NSColor every time the ratio changes.
Tests: editing/spelling/grammar-markers.html
editing/spelling/inline_spelling_markers.html
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::makePattern):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
2013-10-21 Simon Fraser <simon.fraser@apple.com>
Use pink layer borders for compositing layers with a contents layer
https://bugs.webkit.org/show_bug.cgi?id=123118
Reviewed by Dean Jackson.
With the existing layer border colors, it's not possible to distinguish an empty
layer from one with solid color, image or video contents. So use a pink color
for those. This makes it easier to diagnose bugs like 122784.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getDebugBorderInfo):
2013-10-21 Jer Noble <jer.noble@apple.com>
Limit use of display sleep assertion when <video> element is off-screen.
https://bugs.webkit.org/show_bug.cgi?id=123041
Reviewed by Darin Adler.
Use page visibility changes to suspend and resume the use of sleep assertions in
HTMLMediaElement.
Page will propogate the page visibility change notifications to its Documents, which
will further propogate those notifications to registered elements. Upon receiving
these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
token if necessary.
Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
the implementation in a PLATFORM(MAC) guard rather than at each call site.
* dom/Document.cpp:
(WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
(WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
(WebCore::Document::visibilityStateChanged): Call all registered clients.
* dom/Document.h:
* dom/Element.h:
(WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
by subclasses.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
current status of Document::hidden().
(WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
(WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
and call updateSleepDisabling().
(WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
* html/HTMLMediaElement.h:
* page/Page.cpp:
(WebCore::Page::setVisibilityState): Pass to every child document.
Rename updateDisableSleep() -> updateSleepDisabling():
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
(WebCore::HTMLMediaElement::mediaPlayerRateChanged):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::stop):
2013-10-21 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
MediaStreamTrack now tracks its own state
https://bugs.webkit.org/show_bug.cgi?id=123025
Reviewed by Jer Noble.
The spec says that a MediaStreamSource can be shared by different tracks,
so a track must have its own state tracking, synchronizing with its MediaStreamSource when
the underlying MediaStreamSource changes the readyState.
In the old implementation if a user invoked the stop method, its readyState method was still
returning the MediaStreamSource state, which was wrong.
This also adds a setEnabled method, which can be used to set the state of a track when a
remote peer ends it, for instance.
No new tests needed.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readyState):
(WebCore::MediaStreamTrack::setState):
(WebCore::MediaStreamTrack::stopProducingData):
(WebCore::MediaStreamTrack::ended):
(WebCore::MediaStreamTrack::sourceStateChanged):
(WebCore::MediaStreamTrack::trackDidEnd):
* Modules/mediastream/MediaStreamTrack.h:
2013-10-21 Tim Horton <timothy_horton@apple.com>
Remote Layer Tree: Clean up transaction logging
https://bugs.webkit.org/show_bug.cgi?id=123116
Reviewed by Anders Carlsson.
* WebCore.exp.in:
Export some TextStream functions.
2013-10-21 Brady Eidson <beidson@apple.com>
Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
https://bugs.webkit.org/show_bug.cgi?id=123105
Reviewed by Anders Carlsson.
Export more required headers:
* WebCore.xcodeproj/project.pbxproj:
Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
the RecordIdentifier and Cursor classes:
* Modules/indexeddb/IDBBackingStoreInterface.h:
(WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
(WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
IDBBackingStoreInterface::Cursor wherever possible:
* Modules/indexeddb/IDBFactoryBackendInterface.cpp:
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::IndexKeyCursorImpl::clone):
(WebCore::IndexCursorImpl::clone):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
(WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
(WebCore::IDBBackingStoreLevelDB::Transaction::begin):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
(WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
(WebCore::IDBCursorBackendLevelDB::create):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::create):
(WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
(WebCore::IDBDatabaseBackendLevelDB::backingStore):
(WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
(WebCore::IDBDatabaseBackendLevelDB::createTransaction):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
(WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
(WebCore::IDBObjectStoreBackendLevelDB::generateKey):
(WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::create):
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::GetOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
(WebCore::CreateObjectStoreOperation::create):
(WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
2013-10-21 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
https://bugs.webkit.org/show_bug.cgi?id=123103
Reviewed by David Hyatt.
When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutShapeInsideInfo):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
2013-10-21 Tim Horton <timothy_horton@apple.com>
Remote Layer Tree: Backing store should take contentsScale into account
https://bugs.webkit.org/show_bug.cgi?id=123106
Reviewed by Simon Fraser.
* WebCore.exp.in:
Export FloatRect::scale.
2013-10-21 Andreas Kling <akling@apple.com>
RenderScrollbarPart doesn't need styleWillChange().
<https://webkit.org/b/123113>
We will call setInline(false) in styleDidChange(), there's no need
to override styleWillChange() just to do it twice.
Reviewed by Darin Adler.
2013-10-21 Mihai Maerean <mmaerean@adobe.com>
[CSS Regions] The layers from the flow thread should be collected under the regions' layers.
https://bugs.webkit.org/show_bug.cgi?id=120457
Reviewed by David Hyatt.
This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
The composited layers inside the named flow threads are collected as part of the regions (as children of the
GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
RenderNameFlowFragment)).
When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Tests: compositing/regions/crash-transform-inside-region.html
compositing/regions/floated-region-with-transformed-child.html
compositing/regions/move-layer-from-one-region-to-another.html
compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
compositing/regions/propagate-region-box-shadow-border-padding.html
compositing/regions/region-as-layer-in-another-flowthread.html
compositing/regions/transform-transparent-positioned-video-inside-region.html
compositing/regions/transformed-layer-inside-transformed-layer.html
compositing/regions/z-index-update.html
compositing/regions/z-index.html
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
through the RenderView::styleDidChange function.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
we update all the mappings between the layers inside the flow thread and the regions where those layers will be
painted.
(WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
(WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
from a region to another since the last update.
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
* rendering/RenderFlowThread.h:
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::pushRenderFlowThread):
* rendering/RenderGeometryMap.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::enclosingFlowThreadAncestor):
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
flow threads that collect the graphics layers under the regions.
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
layers under the regions
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
its borders, paddings, outlines or box-shadows to layers inside it.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
we are going to collect the composited layers as part of regions.
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
(WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
use composited RenderRegions to render the background of the RenderFlowThread.
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
* rendering/RenderLayerCompositor.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.h:
(WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
holding the layer. The return value may be null.
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
(WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
* rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
arena under the size limit.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderRegion.h:
(WebCore::toRenderRegion):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
2013-10-21 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
Fixing mediastream debug build
https://bugs.webkit.org/show_bug.cgi?id=123104
Reviewed by Andreas Kling.
No new tests needed.
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
2013-10-21 Andreas Kling <akling@apple.com>
Merge RenderListMarker::styleWillChange() into styleDidChange().
<https://webkit.org/b/123098>
If the marker's list-style-type or list-style-position changed, we
need to dirty the layout. Move this logic to styleDidChange() so we
can get rid of one styleWillChange() overload.
Reviewed by Antti Koivisto.
2013-10-21 Mihai Maerean <mmaerean@adobe.com>
[CSS Regions] Fix WHITESPACE issues in the CSS grammar.
https://bugs.webkit.org/show_bug.cgi?id=123082
Reviewed by Andreas Kling.
This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005
Fix WHITESPACE issues in the CSS grammar.
A single WHITESPACE token consumes consecutive spaces, but does not consume
spaces separated by comments. That means S* and S+ in CSS grammars need to
accept multiple WHITESPACE tokens. Additionally, white spaces are not
mandatory to separate an @-symbol and the rest of the prelude.
Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
and @-webkit-region.
Tests: fast/css/calc-comments-allowed.html
fast/regions/webkit-region-syntax-space.html
* css/CSSGrammar.y.in:
2013-10-21 Anton Obzhirov <a.obzhirov@samsung.com>
[ATK] Use atk_object_notify_state_change instead of manually emitting signals
https://bugs.webkit.org/show_bug.cgi?id=122968
Reviewed by Mario Sanchez Prada.
Refactor emitting "state-change" event to use atk_object_notify_state_change
instead of using g_signal_emit_by_name.
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleDetach):
* editing/atk/FrameSelectionAtk.cpp:
(WebCore::maybeEmitTextFocusChange):
2013-10-21 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Make TYPE_CASTS_BASE more flexible
https://bugs.webkit.org/show_bug.cgi?id=122951
Reviewed by Andreas Kling.
TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
to be used by other type casts. For instance, CSSValue, Accessibility and so on.
This patch modifies TYPE_CASTS_BASE which can support other type casts.
Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
No new tests, no behavior changes.
* dom/Document.h:
* dom/Node.h:
2013-10-21 Santosh Mahto <santosh.ma@samsung.com>
ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
https://bugs.webkit.org/show_bug.cgi?id=122097
Reviewed by Ryosuke Niwa.
When remove format command is called we pushdown the ancestor style
down to its children. Currently applying inline style to iframe
while pushing down style which causes iframe to be reinserted in tree and
triggres again subframe loading which repeats everytime and finally
crash happens. So we should avoid applying inline style to iframe
element as it doesnot reflect in its content while pushing down style
on it.
And ASSERT call has been removed from setTextDecoration property as
the scenario is perfectly valid case.
Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
element is iframe.
* editing/EditingStyle.cpp:
(WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
2013-10-20 Sam Weinig <sam@webkit.org>
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Antti Koivisto.
- Move m_lineBoxes to RenderBlockFlow.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerTextIfTruncated):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
(WebCore::RenderBlock::paintContents):
(WebCore::blockDirectionOffset):
(WebCore::inlineDirectionOffset):
(WebCore::RenderBlock::inlineSelectionGaps):
(WebCore::RenderBlock::hitTestContents):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::inlineBlockBaseline):
(WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
(WebCore::RenderBlock::addFocusRingRects):
(WebCore::RenderBlock::showLineTreeAndMark):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::addOverflowFromInlineChildren):
(WebCore::RenderBlock::hasInlineBoxChildren):
(WebCore::RenderBlock::paintInlineChildren):
(WebCore::RenderBlock::hitTestInlineChildren):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::deleteLineBoxTree):
(WebCore::RenderBlockFlow::hitTestInlineChildren):
(WebCore::RenderBlockFlow::adjustForBorderFit):
(WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
(WebCore::RenderBlockFlow::firstLineBoxBaseline):
(WebCore::RenderBlockFlow::inlineBlockBaseline):
(WebCore::RenderBlockFlow::inlineSelectionGaps):
(WebCore::RenderBlockFlow::positionForBox):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::relayoutForPagination):
(WebCore::RenderBlockFlow::showLineTreeAndMark):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::lineBoxes):
(WebCore::RenderBlockFlow::firstLineBox):
(WebCore::RenderBlockFlow::lastLineBox):
(WebCore::RenderBlockFlow::firstRootBox):
(WebCore::RenderBlockFlow::lastRootBox):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
2013-10-20 Andreas Kling <akling@apple.com>
Avoid unnecessary vector copy in AnimationController event dispatch.
<https://webkit.org/b/122994>
Use Vector's move constructor instead of making a copy of the pending
events queue and then clearing it.
Reviewed by Simon Fraser.
2013-10-19 Brady Eidson <beidson@apple.com>
Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
https://bugs.webkit.org/show_bug.cgi?id=123074
Reviewed by Andreas Kling.
* Modules/indexeddb/IDBBackingStoreInterface.h: Added.
(WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
(WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
(WebCore::IDBBackingStoreLevelDB::Transaction::reset):
(WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::deleteFunction):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
(WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:
2013-10-20 Andreas Kling <akling@apple.com>
Use PassRef for StyleSheetContents.
<https://webkit.org/b/123083>
Let functions that return newly-constructed StyleSheetContents
objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
Updated functions that take StyleSheetContents in arguments
accordingly. And CSSStyleSheet now has a Ref internally. Woo!
Reviewed by Antti Koivisto.
2013-10-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
Removing "unused parameter" compiling warnings from WebKit2 and WebCore
https://bugs.webkit.org/show_bug.cgi?id=123075
Reviewed by Andreas Kling.
No new tests needed.
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(lineAtPositionForAtkBoundary):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
2013-10-19 Andreas Kling <akling@apple.com>
Use PassRef for constructing StyleRules.
<https://webkit.org/b/123072>
Let functions that return newly-constructed StyleRuleFoo objects
vend PassRef<StyleRuleFoo> instead of PassRefPtr.
Since StyleRuleBase::copy() has to return something, we can't rely
on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
those with CRASH(). No call sites actually handled null anyway.
Reviewed by Sam Weinig.
2013-10-19 Jer Noble <jer.noble@apple.com>
Unreviewed roll out of r157695; broke Mac builds.
* Configurations/FeatureDefines.xcconfig:
2013-10-07 Jer Noble <jer.noble@apple.com>
[MSE] [Mac] Enable MediaSource on the Mac
https://bugs.webkit.org/show_bug.cgi?id=122484
Reviewed by Darin Adler.
Enable ENABLE_MEDIA_SOURCE.
* Configurations/FeatureDefines.xcconfig:
2013-10-19 Sam Weinig <sam@webkit.org>
CTTE: Tighten up type usage around InputType::innerTextElement()
https://bugs.webkit.org/show_bug.cgi?id=123078
Reviewed by Anders Carlsson.
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement):
* html/HTMLElement.h:
(WebCore::HTMLElement::isTextControlInnerTextElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::innerTextElement):
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::innerTextElement):
* html/HTMLTextAreaElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::hasVisibleTextArea):
(WebCore::HTMLTextFormControlElement::selection):
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
* html/HTMLTextFormControlElement.h:
* html/InputType.h:
(WebCore::InputType::innerTextElement):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::innerTextElement):
* html/TextFieldInputType.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::renderer):
* html/shadow/TextControlInnerElements.h:
(WebCore::isTextControlInnerTextElement):
* rendering/RenderObject.h:
(WebCore::RenderObject::isTextControlInnerBlock):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::innerTextElement):
(WebCore::RenderTextControl::styleDidChange):
(WebCore::RenderTextControl::textBlockLogicalWidth):
(WebCore::RenderTextControl::updateFromElement):
(WebCore::RenderTextControl::computeLogicalHeight):
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::autoscroll):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextControlSingleLine.h:
(WebCore::toRenderTextControlInnerBlock):
2013-10-19 Sam Weinig <sam@webkit.org>
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Andreas Kling.
- Fix classes derived from RenderBlockFlow that were still calling
up to RenderBlock rather than RenderBlockFlow.
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::computePreferredLogicalWidths):
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::nodeAtPoint):
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::willBeDestroyed):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::styleDidChange):
(WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
(WebCore::RenderMultiColumnBlock::addChild):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateFromElement):
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsBlock::styleDidChange):
(WebCore::RenderRubyAsBlock::addChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::rubyBaseSafe):
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::textAlignmentForLine):
(WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::willBeRemovedFromTree):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::willBeRemovedFromTree):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
(WebCore::RenderTableCell::offsetFromContainer):
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::computeRectForRepaint):
(WebCore::RenderTableCell::styleDidChange):
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
(WebCore::RenderTableCell::paint):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::layoutContent):
(WebCore::RenderView::addChild):
(WebCore::RenderView::visualOverflowRect):
(WebCore::RenderView::styleDidChange):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::setStyle):
(WebCore::RenderSVGBlock::updateFromStyle):
(WebCore::RenderSVGBlock::willBeDestroyed):
(WebCore::RenderSVGBlock::styleWillChange):
(WebCore::RenderSVGBlock::styleDidChange):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::flowBoxForRenderer):
2013-10-19 Sam Weinig <sam@webkit.org>
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Andreas Kling.
- Move containsNonZeroBidiLevel to RenderBlockFlow.
* editing/Editor.cpp:
(WebCore::Editor::hasBidiSelection):
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
* rendering/RenderBlockFlow.h:
2013-10-18 Sam Weinig <sam@webkit.org>
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Antti Koivisto.
- Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::EllipsisBox):
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::markupBox):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/EllipsisBox.h:
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::shouldCheckLines):
(WebCore::RenderBlockFlow::lineAtIndex):
(WebCore::RenderBlockFlow::lineCount):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlockFlow::heightForLineCount):
(WebCore::RenderBlockFlow::clearTruncation):
* rendering/RenderBlockFlow.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::placeEllipsis):
2013-10-19 Andreas Kling <akling@apple.com>
StyleResolver should deal in PassRef<RenderStyle> where possible.
<https://webkit.org/b/123061>
Make StyleResolver functions that returned or took RenderStyles
by PassRefPtr use PassRef instead where possible.
Reviewed by Anders Carlsson.
2013-10-19 Brady Eidson <beidson@apple.com>
Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2013-10-19 peavo@outlook.com <peavo@outlook.com>
[WinCairo] Link fails.
https://bugs.webkit.org/show_bug.cgi?id=123019
Reviewed by Darin Adler.
Added empty CertificateInfo implementation for Curl.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/curl/CertificateInfoCurl.cpp: Added.
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::~CertificateInfo):
2013-10-19 Filip Pizlo <fpizlo@apple.com>
libWebCoreTestSupport should have explicit exports
https://bugs.webkit.org/show_bug.cgi?id=123053
Reviewed by Oliver Hunt.
No new tests because there is no change in behavior.
* Configurations/WebCoreTestSupport.xcconfig:
* testing/js/WebCoreTestSupport.h:
2013-10-18 Andreas Kling <akling@apple.com>
Start passing RenderStyle around with PassRef.
<https://webkit.org/b/123051>
Made the RenderStyle::create methods return PassRef<RenderStyle>
and RenderElement::setStyle take a PassRef<RenderStyle>.
Reviewed by Darin Adler.
2013-10-18 Sam Weinig <sam@webkit.org>
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Dan Bernstein.
- Make the RootInlineBox constructor take a RenderBlockFlow.
- Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
* editing/VisibleUnits.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::locationIncludingFlipping):
(WebCore::InlineBox::flipForWritingMode):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::createRootInlineBox):
(WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
(WebCore::createInlineBoxForRenderer):
(WebCore::RenderBlockFlow::createLineBoxes):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::localSelectionRect):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::localSelectionRect):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::rendererLineBoxes):
(WebCore::RootInlineBox::placeEllipsis):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::setContainingRegion):
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::beforeAnnotationsAdjustment):
(WebCore::RootInlineBox::lineSnapAdjustment):
(WebCore::RootInlineBox::lineSelectionGap):
(WebCore::RootInlineBox::computeCaretRect):
(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
(WebCore::RootInlineBox::selectionBottom):
(WebCore::RootInlineBox::blockDirectionPointInLine):
(WebCore::RootInlineBox::blockFlow):
(WebCore::RootInlineBox::closestLeafChildForPoint):
(WebCore::RootInlineBox::removeLineBoxFromRenderObject):
(WebCore::RootInlineBox::extractLineBoxFromRenderObject):
(WebCore::RootInlineBox::attachLineBoxToRenderObject):
* rendering/RootInlineBox.h:
* rendering/TrailingFloatsRootInlineBox.h:
* rendering/svg/RenderSVGText.h:
(WebCore::toRenderSVGText):
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::SVGRootInlineBox):
(WebCore::SVGRootInlineBox::renderSVGText):
(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::layoutRootBox):
* rendering/svg/SVGRootInlineBox.h:
2013-10-18 Tim Horton <timothy_horton@apple.com>
Remote Layer Tree: Double-buffering and minimization of repaints
https://bugs.webkit.org/show_bug.cgi?id=123043
Reviewed by Simon Fraser.
No new tests, not yet testable.
* WebCore.exp.in:
Export one version of drawLayerContents and Region::contains.
* WebCore.xcodeproj/project.pbxproj:
Expose WebLayer.h as a private header.
* platform/graphics/mac/WebLayer.h:
Clean up this header, and add a new drawLayerContents that can operate without a CALayer.
* platform/graphics/mac/WebLayer.mm:
(WebCore::drawLayerContents):
Split drawLayerContents into one method that acquires properties CALayer,
and one that just does the painting.
2013-10-18 Anders Carlsson <andersca@apple.com>
Try to fix the Lion build.
* bindings/objc/ObjCNodeFilterCondition.h:
2013-10-18 Daniel Bates <dabates@apple.com>
[iOS] Upstream WebSafe{GCActivityCallback, IncrementalSweeper}IOS
https://bugs.webkit.org/show_bug.cgi?id=123049
Reviewed by Mark Hahnenberg.
* WebCore.xcodeproj/project.pbxproj:
* platform/ios/WebSafeGCActivityCallbackIOS.h: Added.
* platform/ios/WebSafeIncrementalSweeperIOS.h: Added.
2013-10-18 Anders Carlsson <andersca@apple.com>
Remove spaces between template angle brackets
https://bugs.webkit.org/show_bug.cgi?id=123040
Reviewed by Andreas Kling.
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeys.h:
* Modules/geolocation/Geolocation.h:
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::errorOccurred):
* Modules/geolocation/GeolocationController.h:
* Modules/indexeddb/IDBCallbacks.h:
* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
* Modules/indexeddb/IDBEventDispatcher.cpp:
(WebCore::IDBEventDispatcher::dispatch):
* Modules/indexeddb/IDBEventDispatcher.h:
* Modules/indexeddb/IDBKey.h:
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
* Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::onSuccessWithPrefetch):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::dispatchEvent):
* Modules/indexeddb/IDBTransaction.h:
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::sortedTrackListForMenu):
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::activeRanges):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/MediaSourceBase.cpp:
(WebCore::MediaSourceBase::buffered):
* Modules/mediasource/MediaSourceBase.h:
* Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::unregisterURL):
* Modules/mediasource/MediaSourceRegistry.h:
* Modules/mediasource/SourceBufferList.h:
* Modules/mediasource/WebKitMediaSource.cpp:
(WebCore::WebKitMediaSource::activeRanges):
* Modules/mediasource/WebKitMediaSource.h:
* Modules/mediasource/WebKitSourceBufferList.h:
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::scheduledEventTimerFired):
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStreamRegistry.h:
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::scheduledEventTimerFired):
* Modules/mediastream/RTCDTMFSender.h:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::scheduledEventTimerFired):
* Modules/mediastream/RTCDataChannel.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):
* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/RTCStatsResponse.h:
(WebCore::RTCStatsResponse::result):
* Modules/notifications/Notification.h:
* Modules/notifications/NotificationCenter.h:
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::getVoices):
* Modules/speech/SpeechSynthesis.h:
* Modules/webaudio/AudioBuffer.h:
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/AudioNodeOutput.h:
* Modules/webaudio/MediaStreamAudioSource.cpp:
(WebCore::MediaStreamAudioSource::setAudioFormat):
(WebCore::MediaStreamAudioSource::consumeAudio):
* Modules/webaudio/PeriodicWave.h:
* Modules/webaudio/ScriptProcessorNode.h:
* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/DatabaseBackend.h:
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::origins):
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::origins):
* Modules/webdatabase/DatabaseServer.h:
* Modules/webdatabase/DatabaseThread.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/SQLStatementBackend.cpp:
* Modules/webdatabase/SQLTransactionBackend.cpp:
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::shutdown):
* Modules/webdatabase/SQLTransactionCoordinator.h:
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData):
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processFrame):
* Modules/websockets/WebSocketChannel.h:
* Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
* Modules/websockets/WebSocketExtensionDispatcher.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::workerGlobalScopeDidReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::ariaLabeledByText):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityText::AccessibilityText):
* bindings/js/DOMWrapperWorld.h:
* bindings/js/JSDOMBinding.h:
(WebCore::toRefPtrNativeArray):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
* bindings/js/JSMutationCallback.h:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
* bindings/js/PageScriptDebugServer.h:
* bindings/js/ScheduledAction.h:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::collectIsolatedContexts):
* bindings/js/ScriptController.h:
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* bindings/objc/ObjCNodeFilterCondition.h:
* bridge/objc/objc_class.h:
* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::invalidate):
* bridge/runtime_root.h:
* css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):
* css/CSSBasicShapes.h:
(WebCore::CSSBasicShapePolygon::values):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForFilter):
* css/CSSFontFace.h:
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::getFontFace):
(WebCore::CSSFontSelector::beginLoadTimerFired):
* css/CSSFontSelector.h:
* css/CSSGroupingRule.h:
* css/CSSImageGeneratorValue.h:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::adoptSelectorVector):
* css/CSSParserValues.h:
* css/CSSPropertySourceData.h:
* css/CSSRuleList.h:
(WebCore::StaticCSSRuleList::rules):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontLoaded):
* css/CSSSegmentedFontFace.h:
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::adoptSelectorVector):
* css/CSSSelectorList.h:
* css/CSSStyleSheet.h:
* css/CSSValue.h:
(WebCore::compareCSSValueVector):
* css/CSSValuePool.h:
* css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
* css/DocumentRuleSets.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchedRuleList):
* css/ElementRuleCollector.h:
* css/FontLoader.h:
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
(WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
* css/InspectorCSSOMWrappers.h:
* css/MediaList.cpp:
(WebCore::MediaQuerySet::parse):
(WebCore::MediaList::item):
(WebCore::reportMediaQueryWarningIfNeeded):
* css/MediaList.h:
(WebCore::MediaQuerySet::queryVector):
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::eval):
* css/MediaQueryMatcher.h:
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
* css/PropertySetCSSStyleDeclaration.h:
* css/RuleSet.cpp:
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addChildRules):
(WebCore::RuleSet::addRulesFromSheet):
* css/RuleSet.h:
* css/SelectorFilter.h:
* css/StyleInvalidationAnalysis.cpp:
(WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getLayeredShorthandValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::resolveVariables):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::loadPendingShaders):
* css/StyleResolver.h:
* css/StyleRule.cpp:
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleRegion::StyleRuleRegion):
* css/StyleRule.h:
(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleGroup::childRules):
(WebCore::StyleRuleMedia::create):
(WebCore::StyleRuleSupports::create):
(WebCore::StyleRuleRegion::create):
(WebCore::StyleRuleHost::create):
(WebCore::StyleRuleHost::StyleRuleHost):
* css/StyleScopeResolver.h:
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::childRules):
(WebCore::StyleSheetContents::importRules):
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::styleSheets):
(WebCore::StyleSheetList::item):
* css/StyleSheetList.h:
* css/WebKitCSSKeyframesRule.h:
(WebCore::StyleRuleKeyframes::keyframes):
* dom/CheckedRadioButtons.h:
* dom/ClientRectList.h:
* dom/ContainerNode.h:
(WebCore::ChildNodesLazySnapshot::nextNode):
(WebCore::ChildNodesLazySnapshot::takeSnapshot):
* dom/CrossThreadTask.h:
* dom/Document.cpp:
(WebCore::Document::webkitCancelFullScreen):
(WebCore::Document::webkitExitFullscreen):
(WebCore::Document::fullScreenChangeDelayTimerFired):
(WebCore::Document::didAssociateFormControlsTimerFired):
* dom/Document.h:
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::removeMarkers):
* dom/DocumentMarkerController.h:
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
(WebCore::styleSheetsUseRemUnits):
(WebCore::filterEnabledNonemptyCSSStyleSheets):
(WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
* dom/DocumentStyleSheetCollection.h:
* dom/Element.cpp:
(WebCore::Element::attrNodeList):
(WebCore::Element::webkitGetRegionFlowRanges):
* dom/Element.h:
* dom/EventListenerMap.h:
* dom/EventSender.h:
(WebCore::EventSender::timerFired):
* dom/IdTargetObserverRegistry.h:
* dom/MutationCallback.h:
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::takeRecords):
(WebCore::MutationObserver::deliver):
(WebCore::MutationObserver::deliverAllMutations):
* dom/MutationObserver.h:
* dom/MutationObserverRegistration.h:
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::namedFlows):
* dom/NamedFlowCollection.h:
* dom/Node.cpp:
(WebCore::Node::didMoveToNewDocument):
(WebCore::Node::mutationObserverRegistry):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::notifyMutationObserversNodeWillDetach):
* dom/Node.h:
* dom/NodeRareData.h:
* dom/Range.cpp:
(WebCore::Range::processContents):
(WebCore::Range::processNodes):
(WebCore::Range::processAncestorsAndTheirSiblings):
* dom/Range.h:
* dom/ScopedEventQueue.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
* dom/ScriptExecutionContext.h:
* dom/ScriptedAnimationController.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeChildrenInRange):
(WebCore::CompositeEditCommand::deleteInsignificantText):
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/CompositeEditCommand.h:
* editing/EditingStyle.cpp:
(WebCore::htmlElementEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
(WebCore::htmlAttributeEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
(WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
(WebCore::styleFromMatchedRulesForElement):
* editing/Editor.cpp:
(WebCore::Editor::countMatchesForText):
* editing/Editor.h:
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertParagraphSeparatorCommand.h:
* editing/MergeIdenticalElementsCommand.cpp:
(WebCore::MergeIdenticalElementsCommand::doApply):
(WebCore::MergeIdenticalElementsCommand::doUnapply):
* editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeUnrenderedNodes):
* editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::doApply):
(WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
* editing/SimplifyMarkupCommand.h:
* editing/SpellChecker.h:
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::executeApply):
(WebCore::SplitElementCommand::doUnapply):
* editing/WrapContentsInDummySpanCommand.cpp:
(WebCore::WrapContentsInDummySpanCommand::executeApply):
(WebCore::WrapContentsInDummySpanCommand::doUnapply):
* editing/mac/AlternativeTextUIController.h:
* fileapi/FileList.h:
* history/BackForwardList.h:
* history/HistoryItem.cpp:
(WebCore::HistoryItem::setRedirectURLs):
* history/HistoryItem.h:
* history/mac/HistoryItemMac.mm:
(WebCore::HistoryItem::setTransientProperty):
* html/FormController.h:
* html/HTMLAnchorElement.cpp:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::append):
* html/HTMLCollection.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::checkValidity):
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::checkValidity):
(WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
* html/HTMLFormElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::platformTextTracks):
(WebCore::HTMLMediaElement::configureTextTrackGroup):
* html/HTMLMediaElement.h:
* html/HTMLPlugInImageElement.cpp:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setLength):
* html/MediaController.cpp:
(MediaController::asyncEventTimerFired):
* html/MediaController.h:
* html/MediaFragmentURIParser.h:
* html/ValidationMessage.h:
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getAttachedShaders):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLTexture.h:
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
* html/parser/BackgroundHTMLParser.h:
(WebCore::BackgroundHTMLParser::create):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::startBackgroundParser):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLMetaCharsetParser.h:
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
* html/parser/HTMLResourcePreloader.h:
* html/parser/XSSAuditor.h:
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::ensureInsertionPointList):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
* html/shadow/MediaControlElements.h:
* html/track/InbandGenericTextTrack.h:
* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed):
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::newRegionsAvailable):
* html/track/TextTrackCueList.h:
* html/track/TextTrackList.cpp:
(TextTrackList::invalidateTrackIndexesAfterTrack):
(TextTrackList::remove):
(TextTrackList::contains):
* html/track/TextTrackList.h:
* html/track/TrackListBase.cpp:
(TrackListBase::asyncEventTimerFired):
* html/track/TrackListBase.h:
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::getNewCues):
(WebCore::WebVTTParser::getNewRegions):
* html/track/WebVTTParser.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::lineEndings):
(WebCore::ContentSearchUtils::searchInTextByLines):
* inspector/ContentSearchUtils.h:
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchNode):
(WebCore::DOMPatchSupport::diff):
(WebCore::DOMPatchSupport::innerPatchChildren):
* inspector/DOMPatchSupport.h:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::getInternalProperties):
(WebCore::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.h:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::enable):
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBaseAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::SelectorProfile::toInspectorObject):
(WebCore::UpdateRegionLayoutTask::onTimer):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::RevalidateStyleAttributeTask::onTimer):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorHistory.h:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getProfileHeaders):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorState.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::lineEndings):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
* inspector/InspectorStyleSheet.h:
* inspector/InspectorValues.cpp:
(WebCore::InspectorArrayBase::writeJSON):
* inspector/InspectorValues.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentLoader.cpp:
(WebCore::cancelAll):
(WebCore::setAllDefersLoading):
(WebCore::DocumentLoader::getSubresources):
* loader/DocumentLoader.h:
* loader/FormState.h:
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/ProgressTracker.h:
* loader/ResourceLoadScheduler.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues):
(WebCore::TextTrackLoader::getNewRegions):
* loader/TextTrackLoader.h:
* loader/WorkerThreadableLoader.cpp:
(WebCore::workerGlobalScopeDidReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::removeResource):
(WebCore::ApplicationCache::dump):
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::getOriginsWithCache):
* loader/archive/Archive.cpp:
(WebCore::Archive::clearAllSubframeArchives):
(WebCore::Archive::clearAllSubframeArchivesImpl):
* loader/archive/Archive.h:
(WebCore::Archive::subresources):
(WebCore::Archive::subframeArchives):
* loader/archive/ArchiveResourceCollection.cpp:
(WebCore::ArchiveResourceCollection::addAllResources):
* loader/archive/ArchiveResourceCollection.h:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):
* loader/archive/cf/LegacyWebArchive.h:
* loader/archive/mhtml/MHTMLParser.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.h:
* loader/cache/MemoryCache.h:
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::notifyPendingLoadDecisions):
* loader/icon/IconDatabase.h:
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
* page/CaptionUserPreferencesMediaAF.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::didAssociateFormControls):
* page/Console.h:
* page/ContentSecurityPolicy.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):
* page/DeviceController.cpp:
(WebCore::DeviceController::dispatchDeviceEvent):
(WebCore::DeviceController::fireDeviceEvent):
* page/DeviceController.h:
* page/EditorClient.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):
* page/EventHandler.h:
* page/FrameView.cpp:
(WebCore::FrameView::serviceScriptedAnimations):
* page/Page.cpp:
(WebCore::Page::findStringMatchingRanges):
* page/Page.h:
* page/PageGroup.h:
* page/Performance.cpp:
(WebCore::Performance::webkitGetEntriesByType):
(WebCore::Performance::webkitGetEntriesByName):
* page/Performance.h:
* page/PerformanceEntryList.cpp:
(WebCore::PerformanceEntryList::appendAll):
* page/PerformanceEntryList.h:
* page/SecurityOriginHash.h:
* page/SecurityPolicy.cpp:
* page/SpeechInputResult.h:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
* page/animation/AnimationControllerPrivate.h:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* page/animation/CompositeAnimation.h:
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::appendChild):
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::children):
* page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
* page/scrolling/ScrollingThread.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::appendChild):
* page/scrolling/ScrollingTreeNode.h:
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::syncChildPositions):
* platform/CrossThreadCopier.cpp:
* platform/CrossThreadCopier.h:
* platform/DragData.h:
* platform/MainThreadTask.h:
* platform/PODFreeListArena.h:
(WebCore::PODFreeListArena::freeObject):
(WebCore::PODFreeListArena::allocate):
* platform/PODIntervalTree.h:
* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::PODRedBlackTree):
* platform/PlatformSpeechSynthesizer.cpp:
(WebCore::PlatformSpeechSynthesizer::voiceList):
* platform/PlatformSpeechSynthesizer.h:
* platform/RunLoop.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::frameRectsChanged):
(WebCore::ScrollView::clipRectChanged):
(WebCore::ScrollView::setParentVisible):
(WebCore::ScrollView::show):
(WebCore::ScrollView::hide):
* platform/ScrollView.h:
* platform/SharedBuffer.h:
* platform/Supplementable.h:
(WebCore::Supplement::provideTo):
(WebCore::Supplementable::provideSupplement):
* platform/URL.cpp:
(WebCore::findHostnamesInMailToURL):
(WebCore::encodeHostnames):
* platform/audio/AudioBus.h:
* platform/audio/AudioDSPKernelProcessor.h:
* platform/audio/AudioResampler.h:
* platform/audio/DynamicsCompressor.h:
* platform/audio/DynamicsCompressorKernel.h:
* platform/audio/HRTFDatabase.h:
* platform/audio/HRTFKernel.h:
* platform/audio/MultiChannelResampler.h:
* platform/audio/Reverb.h:
* platform/audio/ReverbConvolver.h:
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::copyBufferAndClear):
(WebCore::SharedBuffer::copySomeDataFromDataArray):
* platform/graphics/FloatPolygon.cpp:
(WebCore::FloatPolygon::FloatPolygon):
* platform/graphics/FloatPolygon.h:
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::purgeInactiveFontData):
* platform/graphics/GlyphMetricsMap.h:
(WebCore::::locatePageSlowCase):
* platform/graphics/GlyphPageTreeNode.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsLayer.cpp:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/PlatformTextTrackMenu.h:
* platform/graphics/SimpleFontData.h:
* platform/graphics/WidthCache.h:
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
(WebCore::GraphicsLayerCA::fetchCloneLayers):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/LayerPool.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setValues):
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/cg/SubimageCacheWithTimer.h:
* platform/graphics/filters/CustomFilterParameterList.h:
* platform/graphics/filters/FilterEffect.h:
* platform/graphics/filters/FilterOperations.h:
(WebCore::FilterOperations::operations):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::Texture):
(WebCore::Texture::create):
* platform/graphics/gpu/Texture.h:
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::operations):
* platform/ios/PasteboardIOS.mm:
(WebCore::documentFragmentWithRTF):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
* platform/mediastream/MediaStreamDescriptor.h:
* platform/mediastream/MediaStreamSource.h:
* platform/mediastream/RTCConfiguration.h:
* platform/network/BlobRegistryImpl.h:
* platform/network/HTTPHeaderMap.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::parseCacheHeader):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::clientCerts):
(WebCore::ResourceHandle::createCFURLConnection):
* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForNullKey):
(WebCore::::createValueForKey):
(WebCore::cfLocaleCache):
* plugins/PluginMainThreadScheduler.h:
* rendering/HitTestResult.h:
* rendering/InlineFlowBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
* rendering/RenderBlock.h:
* rendering/RenderButton.h:
* rendering/RenderCounter.cpp:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::GridIterator):
* rendering/RenderGrid.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
* rendering/RenderLayer.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::getRanges):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::getRanges):
* rendering/RenderRegion.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::setSelection):
* rendering/RootInlineBox.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):
* rendering/shapes/PolygonShape.h:
(WebCore::PolygonShape::PolygonShape):
* rendering/shapes/Shape.cpp:
(WebCore::createPolygonShape):
(WebCore::Shape::createShape):
* rendering/shapes/ShapeInfo.h:
* rendering/shapes/ShapeInterval.h:
* rendering/style/QuotesData.cpp:
(WebCore::QuotesData::create):
(WebCore::QuotesData::QuotesData):
* rendering/style/QuotesData.h:
* rendering/style/RenderStyle.cpp:
(WebCore::requireTransformOrigin):
(WebCore::RenderStyle::applyTransform):
* rendering/style/StyleGridData.h:
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/SVGResourcesCache.h:
* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
* storage/StorageEventDispatcher.h:
* storage/StorageNamespaceImpl.h:
* storage/StorageThread.h:
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::origins):
* storage/StorageTracker.h:
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
* svg/SVGAnimatedTypeAnimator.cpp:
(WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
(WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
* svg/SVGAnimatedTypeAnimator.h:
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::startAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
(WebCore::SVGDocumentExtensions::addElementReferencingTarget):
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
* svg/SVGDocumentExtensions.h:
* svg/SVGFontElement.h:
* svg/SVGGlyphMap.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeAnimated):
* svg/SVGMarkerElement.h:
* svg/SVGPathSegList.h:
* svg/animation/SMILTimeContainer.h:
* svg/graphics/SVGImageCache.h:
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::addBuiltinEffects):
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::create):
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::create):
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::create):
* svg/properties/SVGAttributeToPropertyMap.cpp:
(WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
* svg/properties/SVGAttributeToPropertyMap.h:
* svg/properties/SVGStaticListPropertyTearOff.h:
(WebCore::SVGStaticListPropertyTearOff::create):
* svg/properties/SVGTransformListPropertyTearOff.h:
(WebCore::SVGTransformListPropertyTearOff::create):
(WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
(WebCore::SVGTransformListPropertyTearOff::consolidate):
* workers/DefaultSharedWorkerRepository.h:
* workers/WorkerMessagingProxy.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
* xml/XMLHttpRequestProgressEventThrottle.h:
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::sort):
(WebCore::XPath::NodeSet::traversalSort):
* xml/XSLStyleSheet.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
2013-10-18 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
Cleaning warning messages from StyleResolveTree
https://bugs.webkit.org/show_bug.cgi?id=123030
Reviewed by Andreas Kling.
No new tests needed.
* style/StyleResolveTree.cpp:
(WebCore::Style::elementInsideRegionNeedsRenderer):
(WebCore::Style::createRendererIfNeeded):
2013-10-18 Brady Eidson <beidson@apple.com>
Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
https://bugs.webkit.org/show_bug.cgi?id=123039
Reviewed by Anders Carlsson.
Add a few concepts to the interfaces to make this work:
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/IDBTransactionBackendInterface.h:
(WebCore::IDBTransactionBackendInterface::id):
(WebCore::IDBTransactionBackendInterface::IDBTransactionBackendInterface):
Adapt to using Interface ptr’s instead of LevelDB ptr’s:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::create):
(WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
(WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
(WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
(WebCore::IDBDatabaseBackendLevelDB::createIndex):
(WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
(WebCore::IDBDatabaseBackendLevelDB::get):
(WebCore::IDBDatabaseBackendLevelDB::put):
(WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
(WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
(WebCore::IDBDatabaseBackendLevelDB::openCursor):
(WebCore::IDBDatabaseBackendLevelDB::count):
(WebCore::IDBDatabaseBackendLevelDB::deleteRange):
(WebCore::IDBDatabaseBackendLevelDB::clear):
(WebCore::IDBDatabaseBackendLevelDB::transactionStarted):
(WebCore::IDBDatabaseBackendLevelDB::transactionFinished):
(WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndCompleteFired):
(WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
(WebCore::IDBTransactionBackendLevelDB::abort):
(WebCore::IDBTransactionBackendLevelDB::commit):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2013-10-18 Dean Jackson <dino@apple.com>
Unable to upload <img src="foo.svg"> as WebGL texture
https://bugs.webkit.org/show_bug.cgi?id=123035
Reviewed by Tim Horton.
If the HTMLImageElement passed to texture2D is an SVG
image, paint it first into a bitmap buffer and upload that.
Note that the SVG image still needs to have an intrinsic
or explicit size - see how the test case must set width and
height.
I also renamed the cache of ImageBuffers since it is
no longer only being used for video frames.
Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Rename m_videoCache to m_generatedImageCache.
(WebCore::WebGLRenderingContext::drawImageIntoBuffer): New method that creates an ImageBuffer
of the appropriate size and renders into that.
(WebCore::WebGLRenderingContext::texImage2D): If we see an SVG image, render it first.
(WebCore::WebGLRenderingContext::videoFrameToImage): Renamed m_generatedImageCache.
(WebCore::WebGLRenderingContext::texSubImage2D): If we see an SVG image, render it first.
* html/canvas/WebGLRenderingContext.h: Renaming.
2013-10-18 Brady Eidson <beidson@apple.com>
Move IDBTransactionBackend operations to the IDBTransactionBackend itself..
https://bugs.webkit.org/show_bug.cgi?id=123028
Reviewed by Alexey Proskuryakov.
This gets rid of a big blob of LevelDB specific code from IDBDatabaseBackendLevelDB.cpp,
bringing us much closer to having it be cross platform.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/indexeddb/IDBTransactionBackendInterface.h: Added.
(WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::perform): Update for new method signature.
(WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::perform): Ditto.
(WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::perform): Ditto.
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Move all operations into
IDBTransactionBackendLevelDBOperations, then start scheduling them using the new
IDBTransactionBackendInterface scheduling methods.
(WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
(WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
(WebCore::IDBDatabaseBackendLevelDB::createIndex):
(WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
(WebCore::IDBDatabaseBackendLevelDB::get):
(WebCore::IDBDatabaseBackendLevelDB::put):
(WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
(WebCore::IDBDatabaseBackendLevelDB::openCursor):
(WebCore::IDBDatabaseBackendLevelDB::count):
(WebCore::IDBDatabaseBackendLevelDB::deleteRange):
(WebCore::IDBDatabaseBackendLevelDB::clear):
(WebCore::IDBDatabaseBackendLevelDB::createTransaction):
(WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Move definitions of PendingOpenCall and
PendingDeleteCall to the header.
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::create):
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::callbacks):
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::databaseCallbacks):
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::version):
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::transactionId):
(WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::PendingOpenCall):
(WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::create):
(WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::callbacks):
(WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::PendingDeleteCall):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Add a newly required include.
* Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Ditto.
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Implement the new interface to
handle scheduling of operations in a cross platform manner, then rely on the new
IDBTransactionBackendLevelDBOperations classes for the actual operations.
(WebCore::IDBTransactionBackendLevelDB::create):
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
(WebCore::IDBTransactionBackendLevelDB::abort):
(WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
(WebCore::IDBTransactionBackendLevelDB::scheduleCreateObjectStoreOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleDeleteObjectStoreOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleCreateIndexOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleDeleteIndexOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleGetOperation):
(WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleSetIndexesReadyOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp: Added.
Move all the LevelDB transaction operations from IDBDatabaseBackendLevelDB to here.
(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::CreateIndexAbortOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteIndexAbortOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
(WebCore::CreateObjectStoreAbortOperation::perform):
(WebCore::DeleteObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h: Added.
(WebCore::CreateObjectStoreOperation::create):
(WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::VersionChangeOperation):
(WebCore::CreateObjectStoreAbortOperation::create):
(WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::DeleteObjectStoreAbortOperation::create):
(WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::create):
(WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::VersionChangeAbortOperation):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::CreateIndexAbortOperation::create):
(WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::DeleteIndexAbortOperation::create):
(WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(WebCore::SetIndexesReadyOperation::create):
(WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
2013-10-18 Beth Dakin <bdakin@apple.com>
Rubber-banding is often not smooth on infinitely scrolling websites
https://bugs.webkit.org/show_bug.cgi?id=122985
Reviewed by Simon Fraser.
totalContentsSize is an important part of the calculation for
maximumScrollPosition(). This function is called repeatedly throughout the curve
of a rubber-band to determine the stretch amount. To keep the rubber-band
animation smooth, it should be allowed to finish its animation using the old
totalContentsSize. This patch does that by adding a new variable,
m_totalContentsSizeForRubberBand. This value should almost always be equivalent to
m_totalContentsSize. It will only vary if m_totalContentsSize has changed in the
middle of a rubber-band, and in that case, it will stay equivalent to the old
totalContentSize value until the rubber band animation finishes.
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
2013-10-18 ChangSeok Oh <changseok.oh@collabora.com>
Unreviewed build fix for --no-svg option.
m_svgStyle of RenderStyle is guarded with the ENABLE_SVG flag.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
2013-10-17 Brady Eidson <beidson@apple.com>
Cleanup the Modules group in the WebCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=123009
Rubberstamped by Antti Koivisto.
* WebCore.xcodeproj/project.pbxproj:
2013-10-18 Denis Nomiyama <d.nomiyama@samsung.com>
[ATK] Fix invalid signal to set objects to an unknown state "layout-complete"
https://bugs.webkit.org/show_bug.cgi?id=122970
Reviewed by Mario Sanchez Prada.
Removed an invalid signal to set objects to an unknown state
layout-complete. This signal was originally generated to notify DRT
and WKTR in case of page load complete.
It was replaced by ATK:AtkDocument:load-complete, which is already sent
by AXObjectCache::frameLoadingEventPlatformNotification().
There is no new test since the changes are covered by existing ones
(e.g. accessibility/loading-iframe-sends-notification.html).
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Removed an invalid
signal to set objects to an unknown state layout-complete.
2013-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Generate API documentation for GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=121538
Reviewed by Gustavo Noronha Silva.
* bindings/gobject/GNUmakefile.am: Add a explicit rule for all
.symbols file making them depend on the corresponding header file,
since the .symbols file is generated by the bindings generator.
2013-10-18 Mario Sanchez Prada <mario.prada@samsung.com>
[ATK] Simplify implementation of atk_text_get_text
https://bugs.webkit.org/show_bug.cgi?id=122644
Reviewed by Chris Fleizach.
Simplified code so we only call textUnderElement() directly once
and only when needed. Also, moved the specific code for ColorWell
objects up to the beginning of that function, so we don't do any
additional efforts like computing text ranges in those cases.
No new tests are needed, just to make sure that the current layout
and unit tests are still passing, which they are.
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(textForObject): Fixed a issue that got detected while working on
this patch, which was causing a '\n' to be artificially appended
at the end of text controls all the time.
(webkitAccessibleTextGetText): Simplified function.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::doAXStringForRange): Removed
the check that prevents from pass ranges exceeding the limits of
the element's text, since those will be checked anyway when
calling String::substring().
2013-10-18 Brendan Long <b.long@cablelabs.com>
[GStreamer][GTK] Add GRefPtr::outPtr()
https://bugs.webkit.org/show_bug.cgi?id=122996
Reviewed by Philippe Normand.
No new tests because this is just simplifying existing code.
* platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr specialization for GstToc.
* platform/graphics/gstreamer/GRefPtrGStreamer.h: Same.
* platform/graphics/gstreamer/GStreamerGWorld.cpp: Use GRefPtr::outPtr() to simplify code.
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
(WebCore::GStreamerGWorld::removePlatformVideoSink):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Same.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Same.
(WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
* platform/network/soup/ResourceHandleSoup.cpp: Same.
(WebCore::HostTLSCertificateSet::computeCertificateHash):
2013-10-17 Alexey Proskuryakov <ap@apple.com>
Don't add an include for return type of a [Custom] function in generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=122972
Reviewed by Sam Weinig.
* bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.
2013-10-17 Andreas Kling <akling@apple.com>
CTTE: RenderMathMLSpace always has a MathMLTextElement.
<https://webkit.org/b/122992>
The renderer is never anonymous and always has a corresponding
MathMLTextElement. Overload element() with a tighter return type.
Also marked the class FINAL and made most methods private.
Reviewed by Antti Koivisto.
* rendering/mathml/RenderMathMLSpace.cpp:
(WebCore::RenderMathMLSpace::RenderMathMLSpace):
(WebCore::RenderMathMLSpace::updateFromElement):
* rendering/mathml/RenderMathMLSpace.h:
2013-10-17 Tim Horton <timothy_horton@apple.com>
PlatformCALayer constructor should take layer type as an argument
https://bugs.webkit.org/show_bug.cgi?id=122915
Reviewed by Anders Carlsson.
No new tests, just restoring old code.
Un-do part of the patch for bug 122915; we can't early-return
in the constructor, there's still more work to do.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac):
2013-10-17 Alexandru Chiculita <achicu@adobe.com>
Web Inspector: [CSS Regions] Crash when highlighting a node of a flow with no regions
https://bugs.webkit.org/show_bug.cgi?id=122993
Reviewed by Joseph Pecoraro.
Test: inspector-protocol/dom/highlight-flow-with-no-region.html
Even if a named flow has no regions the content of the flow will still have renderer objects created.
Removed the assumption that all renderers inside a RenderFlowThread will always have an enclosing RenderRegion.
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForRendererFragments):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2013-10-17 Andreas Kling <akling@apple.com>
CTTE: RenderMathMLOperator always has a MathMLElement.
<https://webkit.org/b/122988>
Reviewed by Antti Koivisto.
The renderer is never anonymous and always has a corresponding
MathMLElement. Overload element() with a tighter return type.
Also marked the class FINAL and made most methods private.
2013-10-17 Nico Weber <thakis@chromium.org>
Fix three bugs in the equals() implementations for css gradients.
https://bugs.webkit.org/show_bug.cgi?id=122987
Reviewed by Andreas Kling.
1. Linear gradients were considered equal if the first gradient has no x and y
position and the second has no x but does have y.
2. Same as 1, for radial gradients. (This doesn't happen in practice as
CSSParser::parseRadialGradient rejects such input, so no test for this case.)
3. Radial gradients without x and y position weren't considered equal even if
they were.
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::equals):
(WebCore::CSSRadialGradientValue::equals):
2013-10-17 Antoine Quint <graouts@apple.com>
Web Inspector: allow front-end to trigger the system beep sound to signal an error
https://bugs.webkit.org/show_bug.cgi?id=122955
Reviewed by Timothy Hatcher.
New beep() method exposed on InspectorFrontendHost calling into WebCore's systemBeep().
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::beep):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
2013-10-17 Anders Carlsson <andersca@apple.com>
Remove PlatformCAAnimation::supportsValueFunction()
https://bugs.webkit.org/show_bug.cgi?id=122990
Reviewed by Tim Horton.
PlatformCAAnimation::supportsValueFunction always returns true now, so there's no need for it to exist anymore.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2013-10-17 Andreas Kling <akling@apple.com>
CTTE: RenderMathMLFenced always has a MathMLInlineContainerElement.
<https://webkit.org/b/122986>
This renderer is never anonymous and always has a corresponding
MathMLInlineContainerElement. Overload element() with a tighter
return type.
Also marked the class FINAL and made most methods private.
Reviewed by Anders Carlsson.
2013-10-17 Myles C. Maxfield <mmaxfield@apple.com>
Comment AffineTransform::xScale() and yScale() to make their meanings clearer
https://bugs.webkit.org/show_bug.cgi?id=122981
Reviewed by Simon Fraser.
* platform/graphics/transforms/AffineTransform.h:
2013-10-17 Vivek Galatage <vivek.vg@samsung.com>
Remove unnecessary check for RenderLayer and rename ensureLayer to createLayer in RenderLayerModelObject.
https://bugs.webkit.org/show_bug.cgi?id=122928
Reviewed by Darin Adler.
No new tests due to code refactoring.
RenderLayerModelObject::styleDidChange invokes the ensureLayer() only in case of !layer().
Again checking for layer existence would be deemed redundant in ensureLayer.
Replacing it with an ASSERT(!m_layer) and also renaming it to createLayer.
Blink review URL: https://codereview.chromium.org/27246003/
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::createLayer):
(WebCore::RenderLayerModelObject::styleDidChange):
* rendering/RenderLayerModelObject.h:
2013-10-17 Tim Horton <timothy_horton@apple.com>
Remove PlatformCALayerMac workaround for <rdar://problem/7390716>
https://bugs.webkit.org/show_bug.cgi?id=122983
Reviewed by Simon Fraser.
Remove a workaround for a bug fixed in Lion.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::setSublayers):
(PlatformCALayerMac::removeAllSublayers):
(PlatformCALayerMac::adoptSublayers):
2013-10-17 Robert Hogan <robert@webkit.org>
"border-collapse: collapse;" for table removes part of its border (was: Border disappears when close to some elements)
https://bugs.webkit.org/show_bug.cgi?id=8914
Reviewed by David Hyatt.
The table section's side of a collapsed border won't get painted if there are no cells there to paint it. So instead
of relying solely on cells to paint the collapsed border paint the appropriate section of the border if there's no
cell to take care of it.
Tests: fast/table/paint-section-borders-without-cells-rtl.html
fast/table/paint-section-borders-without-cells-vertical-lr-rtl.html
fast/table/paint-section-borders-without-cells-vertical-lr.html
fast/table/paint-section-borders-without-cells-vertical-rl.html
fast/table/paint-section-borders-without-cells.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintRowGroupBorder):
(WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
(WebCore::RenderTableSection::offsetTopForRowGroupBorder):
(WebCore::RenderTableSection::verticalRowGroupBorderHeight):
(WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::physicalBorderForDirection):
(WebCore::RenderTableSection::paintObject):
* rendering/RenderTableSection.h:
2013-10-17 Andreas Kling <akling@apple.com>
StyleRuleFoo::mutableProperties() should return a reference.
<https://webkit.org/b/122962>
The mutableProperties() functions always return objects, so make
them return MutableStylePropertySet&.
Also tweaked the StyleRuleCSSStyleDeclaration constructor to take
references to both the properties and the owner rule since both
are required.
Reviewed by Antti Koivisto.
2013-10-17 Hans Muller <hmuller@adobe.com>
[CSS Shapes] Improve the performance of image valued shapes with large shape-margins
https://bugs.webkit.org/show_bug.cgi?id=122613
Reviewed by Andreas Kling.
The cost of computing the shape-margin boundary of an image-valued shape-outside
is now proportional to (2 * shape-margin + image.height) rather than
(2 * shape-margin * image.height). The performance improvement comes from skipping
sequences of rounded-rectangle intervals that will not contribute to the final
result. Each non-empty row in the original image contributes one rounded-rectangle
whose corner radius is shape-margin, height is 2 * shape-margin, and width is
2 * shape-margin plus the width of the limits of the intervals on the row.
Renamed private method RasterShape::getIntervals() to intervalsAt() to be a little
more consistent with WebKit naming conventions.
There are no new tests since is just an internal refactoring.
* rendering/shapes/RasterShape.cpp:
(WebCore::MarginIntervalGenerator::set): Changed the x1,x2 parameters to an IntShapeInterval.
(WebCore::RasterShapeIntervals::contains): Refactor for the getIntervals() => intervalsAt() rename.
(WebCore::RasterShapeIntervals::getIntervalX1Values): Ditto.
(WebCore::RasterShapeIntervals::getIncludedIntervals): Ditto.
(WebCore::RasterShapeIntervals::getExcludedIntervals): Ditto.
(WebCore::RasterShapeIntervals::computeShapeMarginIntervals): Performance tuning.
* rendering/shapes/RasterShape.h:
(WebCore::RasterShapeIntervals::intervalsAt): Renamed getIntervals().
(WebCore::RasterShapeIntervals::limitIntervalAt): Return the min/max limits of the intervals at Y.
* rendering/shapes/ShapeInterval.h:
(WebCore::ShapeInterval::isEmpty): Added.
2013-10-15 Philippe Normand <pnormand@igalia.com>
[GTK] Add URLMediaStream in the build
https://bugs.webkit.org/show_bug.cgi?id=122833
Reviewed by Carlos Garcia Campos.
* GNUmakefile.am: Add mediastream/gstreamer in include directories list.
* GNUmakefile.list.am: Add DOMURLMediaStream files in the build.
2013-10-17 Andreas Kling <akling@apple.com>
Use PassRef for constructing StylePropertySets.
<https://webkit.org/b/122948>
Make functions that construct StylePropertySets return PassRef
instead of PassRefPtr. Since they never return null, this gets rid
of the extra branch in ~PassRefPtr everywhere.
Also StyleRule* classes now hold a Ref<StylePropertySet>, codifying
the fact that they always have a property set.
Reviewed by Antti Koivisto.
2013-10-17 Andreas Kling <akling@apple.com>
DataRef<T> should use Ref<T> internally.
<https://webkit.org/b/122953>
DataRef is used to hold RenderStyle substructures, and due to the
way style inheritance is implemented, DataRef will always point to
a live object.
Codify this by making DataRef::m_data a Ref, and making all methods
that create substructure objects return PassRef.
Reviewed by Antti Koivisto.
2013-10-17 Mihnea Ovidenie <mihnea@adobe.com>
[CSS Regions] Anonymous nested regions
https://bugs.webkit.org/show_bug.cgi?id=119135
Reviewed by David Hyatt.
Tests: fast/regions/table-caption-as-region.html
fast/regions/table-cell-as-region.html
This patch allows any non-replaced block to behave like a region. When an element is styled with the
-webkit-flow-from property, instead of making the renderer a RenderRegion, we let the original
renderer be created the same way and we add a region as an anonymous child for the renderer.
The anonymous block child, modeled by the new RenderNamedFlowFragment class, will be responsible
for the fragmentation of the named flow thread content.
A RenderBlockFlow object will keep a reference to a RenderNamedFlowFragment(RenderRegion) inside its
rare data structures.
Contains code contributed by Catalin Badea.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Element.cpp: Changed to take the anonymous region into account.
(WebCore::Element::renderRegion):
(WebCore::Element::webkitGetRegionFlowRanges):
* dom/WebKitNamedFlow.cpp: Ditto.
(WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
* inspector/InspectorOverlay.cpp: Take into account the new model for regions, with an anonymous region inside a block.
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForElementInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeShapeSize): For a render named flow fragment, there is no need to recompute the shape inside
we can take it from the parent.
(WebCore::RenderBlock::renderName): Make the block that contains a render named flow fragment (region) report RenderRegion.
A future patch that will change this will need to rebase a lot of tests.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::insertedIntoTree): Create the anonymous region if needed (change of -webkit-flow-from determines Node reattach).
(WebCore::RenderBlockFlow::willBeDestroyed): Clean-up the anonymous region if necessary.
(WebCore::RenderBlockFlow::clearFloats): Small style change to make sure that check-webkit-style reports 0 failures on RenderBlockFlow.cpp.
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::styleDidChange): Update the style of the anonymous region too.
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded): Helper function to create the anonymous region
and to add it as a child to the block.
(WebCore::RenderBlockFlow::canHaveChildren):
(WebCore::RenderBlockFlow::canHaveGeneratedChildren):
(WebCore::RenderBlockFlow::namedFlowFragmentNeedsUpdate): Force a layout of the anonymous region if the
parent block has percentage height (similar to RenderBlock::updateBlockChildDirtyBitsBeforeLayout)
(WebCore::RenderBlockFlow::updateLogicalHeight): Update the logical height of anonymous region when the height of parent is updated.
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::renderNamedFlowFragment):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor): Remove the direct creation of RenderRegion objects since they will be
created as anonymous children of block flow objects.
* rendering/RenderElement.h:
(WebCore::RenderElement::generatingElement): Account for anonymous region if necessary.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): Take anonymous region into account
and use the anonymous region parent offset/border.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly): Check for style instead of isRenderRegion since
the parent of the anonymous region will get the layer.
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertedIntoTree): Call RenderBlockFlow method instead.
* rendering/RenderNamedFlowFragment.cpp: Added. Model the behaviour of the anonymous region.
Has RenderRegion as a base class.
(WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::~RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::setStyleForNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::shouldHaveAutoLogicalHeight):
(WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):
* rendering/RenderNamedFlowFragment.h: Added.
(WebCore::RenderNamedFlowFragment::isPseudoElementRegion):
(WebCore::RenderNamedFlowFragment::renderName):
(WebCore::toRenderNamedFlowFragment):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::isRenderNamedFlowFragmentContainer):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderNamedFlowFragment):
* rendering/RenderRegion.h:
* rendering/RenderTableCaption.cpp: Call RenderBlockFlow method instead.
(WebCore::RenderTableCaption::insertedIntoTree):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
(WebCore::writeRenderRegionList):
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::shapeSize):
* style/StyleResolveTree.cpp:
(WebCore::Style::elementInsideRegionNeedsRenderer):
2013-10-17 Krzysztof Czech <k.czech@samsung.com>
[EFL] Properly expose tables in accessibility
https://bugs.webkit.org/show_bug.cgi?id=122894
Reviewed by Chris Fleizach.
All tables should exposed as tables.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
2013-10-17 Brendan Long <b.long@cablelabs.com>
[GStreamer] Too many arguments for format in WebKitWebAudioSourceGStreamer.cpp
https://bugs.webkit.org/show_bug.cgi?id=122932
Reviewed by Philippe Normand.
No new tests because this just fixes a build warning.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop): Add another %s for the second part of the pad name.
2013-10-16 Tim Horton <timothy_horton@apple.com>
Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.
The relevant conversion doesn't happen implicitly.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
(WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
2013-10-16 Tim Horton <timothy_horton@apple.com>
Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.
Apparently some Windows code uses setFrame and I missed it.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
(WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
2013-10-16 Tim Horton <timothy_horton@apple.com>
Remote Layer Tree: Complete support for simple layer properties
https://bugs.webkit.org/show_bug.cgi?id=122933
Reviewed by Anders Carlsson.
No new tests, not yet testable.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setName):
Don't dump the CALayer pointer if we own a PlatformCALayerRemote.
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
Fix the visible tile wash (my fault!), and make it use setPosition and
setBounds instead of setFrame; while more convenient, it is the only
caller of setFrame, so we'll remove it.
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::isRemote): Added.
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(nullActionsDictionary):
(toCAFilterType):
(PlatformCALayerMac::synchronouslyDisplayTilesInRect):
(PlatformCALayerMac::playerLayer):
Remove setFrame, fix some pointer sides.
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
* platform/graphics/ca/win/PlatformCALayerWin.h:
Remove setFrame.
2013-10-16 Andreas Kling <akling@apple.com>
Take RenderObjects out of the arena.
<https://webkit.org/b/122895>
Reviewed by Antti Koivisto.
Stop arena-allocating renderers so we can move forward on improving
render tree memory management. This will also allow rendering code
to take advantage of malloc optimizations.
Line boxes and BiDi runs remain in the arena for now.
2013-10-16 Roger Fong <roger_fong@apple.com>
[Windows] Speculative fix for test, media/video-canvas-drawing-output.html.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createImageForTimeInRect):
2013-10-16 Tim Horton <timothy_horton@apple.com>
PlatformCALayer constructor should take layer type as an argument
https://bugs.webkit.org/show_bug.cgi?id=122915
Reviewed by Simon Fraser.
No new tests, just a minor refactoring.
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::PlatformCALayer):
Add a LayerType argument.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin):
Use the new LayerType argument, and early-return in the case where we
are wrapping a custom PlatformLayer.
Drive-by un-indent the switch in the Mac version.
2013-10-15 Brady Eidson <beidson@apple.com>
Flesh out the DatabaseProcess (and launch it!)
https://bugs.webkit.org/show_bug.cgi?id=122884
Reviewed by Tim Horton.
* English.lproj/Localizable.strings: Add a localizable string.
* WebCore.xcodeproj/project.pbxproj: Export some more headers.
2013-10-16 Tim Horton <timothy_horton@apple.com>
RemoteLayerTree: Add support for more layer properties and transform layers
https://bugs.webkit.org/show_bug.cgi?id=122906
Reviewed by Anders Carlsson.
No new tests, this code is not yet testable.
* WebCore.exp.in:
Export some TextStream and TransformationMatrix stuff.
2013-10-16 KyungTae Kim <ktf.kim@samsung.com>
During editing, merge inline style with overriding other author styles
https://bugs.webkit.org/show_bug.cgi?id=122874
Reviewed by Ryosuke Niwa.
Inline styles need to override other author styles even on DoNotOverrideValues mode.
So, merge and override inline styles to other author styles before merging them to m_mutableStyle.
Test: editing/deleting/merge-div-with-inline-style.html
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
2013-10-16 peavo@outlook.com <peavo@outlook.com>
Emphasis marks has wrong color.
https://bugs.webkit.org/show_bug.cgi?id=122829
Reviewed by Antti Koivisto.
Tests: fast/text/text-emphasis.html.
fast/text/text-emphasis-expected.html.
Emphasis color should be set as fill color, not stroke color.
* rendering/TextPaintStyle.cpp:
(WebCore::updateGraphicsContext):
* rendering/TextPaintStyle.h:
2013-10-16 Antti Koivisto <antti@apple.com>
Move code for finding rendered character offset to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122892
Reviewed by Andreas Kling.
* rendering/RenderText.cpp:
(WebCore::RenderText::countRenderedCharacterOffsets):
(WebCore::RenderText::containsRenderedCharacterOffset):
Renamed for consistency.
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::countCharacterOffsets):
This used to be Position::renderedPosition.
2013-10-16 Andreas Kling <akling@apple.com>
RenderElement::removeChild() should take child as a reference.
<https://webkit.org/b/122888>
We can't remove a child without a child to remove.
Reviewed by Antti Koivisto.
2013-10-16 Antti Koivisto <antti@apple.com>
Move test for contained caret offset to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122887
Reviewed by Andreas Kling.
* dom/Position.cpp:
(WebCore::Position::renderedOffset):
(WebCore::Position::isCandidate):
Remove isRenderedText, call RenderText::containsCaretOffset instead.
(WebCore::Position::isRenderedCharacter):
(WebCore::Position::rendersInDifferentPosition):
* dom/Position.h:
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::isCandidate):
* rendering/InlineTextBox.cpp:
* rendering/InlineTextBox.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::containsCharacterOffset):
(WebCore::RenderText::containsCaretOffset):
* rendering/RenderText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::containsOffset):
Combined implementations of Position::isRenderedCharacter and Position::isRenderedText.
* rendering/RenderTextLineBoxes.h:
Remove containsCaretOffset(), functionality is now in RenderTextLineBoxes::containsOffset.
2013-10-16 Andreas Kling <akling@apple.com>
RenderElement::isChildAllowed() should take const references.
<https://webkit.org/b/122870>
Reviewed by Anders Carlsson.
The isChildAllowed() functions expect non-null values to be passed,
so enforce this at compile-time.
Reordered some checks to do bit tests before virtual calls.
2013-10-15 Philippe Normand <pnormand@igalia.com>
[GStreamer] video info unset if upstream doesn't query allocation
https://bugs.webkit.org/show_bug.cgi?id=122834
Reviewed by Gustavo Noronha Silva.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkRender): If the sink didn't process any allocation
query then use the configured source pad caps and don't rely on
invalid video info.
2013-10-16 Philippe Normand <pnormand@igalia.com>
[GStreamer] move Logging.h include to GStreamerUtilities.h
https://bugs.webkit.org/show_bug.cgi?id=122886
Reviewed by Gustavo Noronha Silva.
Include Logging.h from GStreamerUtilities.h so the modules using
the LOG_MEDIA macros don't need to bother, especially for Debug builds.
* platform/graphics/gstreamer/GStreamerUtilities.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2013-10-16 Mark Rowe <mrowe@apple.com>
Fix the build after r157478.
Rubber-stamped by Tim Horton.
Due to the way WebCore.exp.in is used, it can't be used to export a differing set of symbols
for different architectures. We often work around this by tweaking code slightly to avoid
needing to export different symbols. However, in this case the symbol name itself encodes an
architecture-specific detail and there's no clear way to avoid the requirement to export it.
To deal with this case we turn to ld's support for wildcards in the symbol export list.
* WebCore.exp.in: Use wildcards in place of the number that represents by how much "this"
should be adjusted when calling through the vtable thunk. Also sort the remainder of the file.
* make-export-file-generator: Don't attempt to verify symbol names that contain wildcard characters.
2013-10-15 Tim Horton <timothy_horton@apple.com>
Two more exports for 32-bit build fix.
The duality of CGFloat means that we use a different
version of getRGBA (and the cast operator)
on 32-bit systems.
* WebCore.exp.in:
2013-10-15 Tim Horton <timothy_horton@apple.com>
Another shot at a build fix; apparently these
do need exporting for some reason, but are different
on 32-bit.
* WebCore.exp.in:
2013-10-15 Alexey Proskuryakov <ap@apple.com>
GenerateIsReachable=ImplContext is confusing
https://bugs.webkit.org/show_bug.cgi?id=122864
Reviewed by Geoffrey Garen.
Renamed to ImplWebGLRenderingContext.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/EXTTextureFilterAnisotropic.idl:
* html/canvas/OESElementIndexUint.idl:
* html/canvas/OESStandardDerivatives.idl:
* html/canvas/OESTextureFloat.idl:
* html/canvas/OESTextureHalfFloat.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLCompressedTextureATC.idl:
* html/canvas/WebGLCompressedTexturePVRTC.idl:
* html/canvas/WebGLCompressedTextureS3TC.idl:
* html/canvas/WebGLDebugRendererInfo.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLDepthTexture.idl:
* html/canvas/WebGLLoseContext.idl:
* WebCore.xcodeproj/project.pbxproj: While at it, added OESElementIndexUint.idl
to Xcode project.
2013-10-15 Tim Horton <timothy_horton@apple.com>
Unreviewed build fix; I don't know how to export.
This may not help.
* WebCore.exp.in:
2013-10-15 Dean Jackson <dino@apple.com>
Add ENABLE_WEB_ANIMATIONS flag
https://bugs.webkit.org/show_bug.cgi?id=122871
Reviewed by Tim Horton.
Eventually might be http://dev.w3.org/fxtf/web-animations/
but this is just engine-internal work at the moment.
* Configurations/FeatureDefines.xcconfig:
2013-10-15 Tim Horton <timothy_horton@apple.com>
Add a PlatformCALayer subclass that proxies its property changes across the process boundary
https://bugs.webkit.org/show_bug.cgi?id=122773
Reviewed by Anders Carlsson.
No new tests, the new drawing area is not yet testable.
* WebCore.exp.in:
Export lots of GraphicsLayerCA stuff so we can inherit from it in WebKit2.
* WebCore.xcodeproj/project.pbxproj:
Make PlatformCAFilters.h a private header.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::initialize):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::initialize):
* platform/graphics/ca/GraphicsLayerCA.h:
Defer creation of the main PlatformCALayer until just after the constructor is finished
so that GraphicsLayerCA subclasses can successfully override createPlatformCALayer.
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::platformLayer):
Make platformLayer virtual so that subclasses which don't have PlatformLayers can override.
2013-10-14 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION: Crash in XMLDocumentParser::startElementNs
https://bugs.webkit.org/show_bug.cgi?id=122817
Reviewed by Darin Adler.
Exit early in startElementNs when listeners and handlers of synchronous events such as load event
removes the inserted node inside parserAppendChild.
Test: fast/parser/xhtml-synchronous-detach-crash.html
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
2013-10-15 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove old frontend localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=122846
Reviewed by Timothy Hatcher.
* Configurations/WebCore.xcconfig:
* English.lproj/localizedStrings.js: Removed.
* WebCore.xcodeproj/project.pbxproj:
Remove the file and references to it. We no longer need to exclude
localizedString.js from some builds.
2013-10-15 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove Windows old front-end related code
https://bugs.webkit.org/show_bug.cgi?id=122845
Reviewed by Brent Fulgham.
* WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
2013-10-15 Morten Stenshorne <mstensho@opera.com>
Add support for the column-fill property
https://bugs.webkit.org/show_bug.cgi?id=117693
Reviewed by David Hyatt.
This is only supported in the (new) region based multicol implementation.
With column-fill support, a lot of multicol tests needed an update.
The old implementation behaved as if column-fill were 'auto', but the
initial value is 'balance', so now we need to be explicit about that.
For auto-height tests it doesn't really matter - such multicols are always
balanced anyway.
Tests: fast/multicol/newmulticol/fixed-height-fill-auto.html
fast/multicol/newmulticol/fixed-height-fill-balance.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnFill):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* rendering/RenderMultiColumnBlock.h:
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData):
(WebCore::StyleMultiColData::operator==):
* rendering/style/StyleMultiColData.h:
2013-10-15 Andreas Kling <akling@apple.com>
Skip unnecessary null check in RenderText::textLength().
<https://webkit.org/b/122841>
Reviewed by Antti Koivisto.
RenderText will never have a null String in m_text, so textLength()
can grab at the StringImpl directly, avoiding a null check.
2013-10-15 Andreas Kling <akling@apple.com>
FontGenericFamilies should not be ref-counted.
<https://webkit.org/b/122835>
Reviewed by Anders Carlsson.
FontGenericFamilies is singly-owned by Settings.
2013-10-15 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Move RenderBlock::layoutShapeInsideInfo into RenderBlock.cpp
http://bugs.webkit.org/show_bug.cgi?id=122843
Reviewed by Oliver Hunt.
Historically, layoutShapeInsideInfo was a static function in RenderBlockLineLayout, then it has changed to be a member of RenderBlock,
but at that time it hasn't been moved to RenderBlock.cpp. This patch moves it into RenderBlock.cpp next to the Shapes functions. I removed
an unnecessary CSS_SHAPES #ifdef as well from RenderBlock.cpp.
No new tests, no behavior change.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
(WebCore::RenderBlock::layoutShapeInsideInfo):
* rendering/RenderBlockLineLayout.cpp:
2013-10-15 peavo@outlook.com <peavo@outlook.com>
[WinCairo] Build fails.
https://bugs.webkit.org/show_bug.cgi?id=122830
Reviewed by Brent Fulgham.
* platform/network/NetworkStorageSessionStub.cpp:
(WebCore::NetworkStorageSession::createPrivateBrowsingSession): Update to new return type.
2013-10-15 Andreas Kling <akling@apple.com>
FileIconLoader should not be ref-counted.
<https://webkit.org/b/122827>
FileIconLoader is singly-owned by FileInputType.
Reviewed by Antti Koivisto.
2013-10-15 Andreas Kling <akling@apple.com>
RenderText should cache RenderStyle in locals more.
<https://webkit.org/b/122823>
Reviewed by Antti Koivisto.
Now that fetching the RenderStyle has to go through the parent,
we should avoid unnecessary loads by caching style() in a local.
2013-10-15 Ryosuke Niwa <rniwa@webkit.org>
Remove redundant Document::getElementById
https://bugs.webkit.org/show_bug.cgi?id=122813
Reviewed by Andreas Kling.
Merge https://chromium.googlesource.com/chromium/blink/+/4e8f1c5316415614b84370c602beae4a1008299f
This function simply calls virtual TreeScope::getElementById and Document inherits from TreeScope.
* WebCore.exp.in:
* dom/Document.cpp:
* dom/Document.h:
2013-10-14 Santosh Mahto <santosh.ma@samsung.com>
in safari,the background-color of input[type="search"] can't work
https://bugs.webkit.org/show_bug.cgi?id=119967
Reviewed by Ryosuke Niwa.
When input type=search is styled with css background property then
it does not change the background-color of field. Its happening becasue
search field is not counted as styled control. Thus theme ignores the
css background property. With this patch search field is also counted as
styled control so background property reflects on search field.
Test: fast/forms/search/search-field-background-color.html
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isControlStyled):Now search field is also
a styled control.
2013-10-14 Ryosuke Niwa <rniwa@webkit.org>
EventPath::updateTouchLists traverses through EventPath thrice
https://bugs.webkit.org/show_bug.cgi?id=122804
Reviewed by Benjamin Poulain.
Instead of traversing through EventPath for each TouchList, traverse through TouchList for every EventContext.
This paves our way to have one-pass traversal over EventPath, and evetually to remove EventContext altogether.
This change should also improve the cache hit rate since all Touch objects tend to be allocated at the same time
but this performance improvement is probably not observable.
* dom/EventContext.h:
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added a new constructor that takes Touch and
and TouchListType. We need to store these two values in order to update EventContext later.
(WebCore::EventRelatedNodeResolver::touch): Added,
(WebCore::EventRelatedNodeResolver::touchListType): Added.
(WebCore::addRelatedNodeResolversForTouchList): Extracted from updateTouchListsInEventPath.
(WebCore::EventPath::updateTouchLists): Moved the loop over m_path here. Notice that the outer loop iterates
over m_path instead of touchList as done in updateTouchListsInEventPath. The inner loop goes through resolvers
and adds Touch objects each EventContext as needed.
2013-10-14 Alexey Proskuryakov <ap@apple.com>
Don't generate a wasteful isObservable check in isReachableFromOpaqueRoots
https://bugs.webkit.org/show_bug.cgi?id=122802
Reviewed by Mark Hahnenberg.
* bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSreadonly.cpp:
Updated results.
2013-10-14 Samuel White <samuel_white@apple.com>
AX: fieldset should have GroupRole and legend should be description.
https://bugs.webkit.org/show_bug.cgi?id=122534
Reviewed by Chris Fleizach.
Changes fieldset to derive AXDescription from legend if one is available. Added
convenience method to AccessibilityObject to fetch element if available.
Test: accessibility/fieldset-element.html
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::alternativeText):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::element):
(WebCore::AccessibilityObject::isARIAHidden):
(WebCore::AccessibilityObject::isDOMHidden):
(WebCore::AccessibilityObject::defaultObjectInclusion):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isHidden):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::getAttribute):
(WebCore::AccessibilitySlider::valueForRange):
(WebCore::AccessibilitySlider::maxValueForRange):
(WebCore::AccessibilitySlider::minValueForRange):
(WebCore::AccessibilitySlider::setValue):
(WebCore::AccessibilitySlider::inputElement):
* accessibility/AccessibilitySlider.h:
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::legend):
* html/HTMLFieldSetElement.h:
2013-10-14 Roger Fong <roger_fong@apple.com>
Windows select element doesn't draw RTL properly.
https://bugs.webkit.org/show_bug.cgi?id=122785.
Reviewed by Brent Fulgham.
Covered by fast/text/international/pop-up-button-text-alignment-and-direction.html.
Problems include the popup items not drawing on the right hand side and
not respecting the direction or the directional override styling of the option.
The selected element (drawn in the actual select element) also doesn't respect
the style settings of the selected menu option.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
2013-10-14 Roger Fong <roger_fong@apple.com>
[Windows] Unreviewed build fix.
* WebCore.vcxproj/WebCoreCommon.props:
2013-10-14 Ryosuke Niwa <rniwa@webkit.org>
Crash in WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>::createBidiRunsForLine
https://bugs.webkit.org/show_bug.cgi?id=122776
Reviewed by Darin Adler.
Merge https://chromium.googlesource.com/chromium/blink/+/aca89bc4d984705a1f94b623dae0ab03e239a248
Fix modification of whitespace endpoints to not assume it's operating on RenderTexts
During line layout, we use midpoints to identify RenderObjects, or parts of
RenderObjects, that don't need InlineBoxes, usually because of collapsed whitespace.
Prior to actually creating BidiRuns (the precursor to InlineBoxes), we use
checkMidpoints to fix up our lineMidpointState to handle the case where we start
ignoring spaces in our line, but don't stop until somewhere on the following line.
Previously, this function assumed that the final midpoint (called an endpoint)
was a RenderText, but this assumption is wrong if we have a beginning midpoint
created by shouldSkipWhitespaceAfterStartObject (which handles inlines and list
markers) and no endpoint on that line. In that case, we'd instead adjust the
position backwards on the beginning midpoint, which would cause us to fail to
create an InlineBox for the inline or list marker. In the new test added, this
would actually trigger a crash due to an assumption when visually re-ordering
BidiRuns that a non-empty line would actually contain at least one such run.
Test: fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::checkMidpoints):
2013-10-14 Ryosuke Niwa <rniwa@webkit.org>
Assertion failure in Range::processContentsBetweenOffsets
https://bugs.webkit.org/show_bug.cgi?id=122777
Reviewed by Darin Adler.
Merge https://chromium.googlesource.com/chromium/blink/+/c15de182774c7859c20d97126eb844ae97b792a4
This patch changes ASSERT statements for checking |endOffset| inbound in Range::processContentsBetweenOffsets()
to limit |endOffset|. This is necessary when DOMNodeRemovedFromDocument event handler splits text nodes,
Range::insertNode() on text node, in the range calling Range::deleteContents().
Test: fast/dom/Range/range-delete-contents-mutation-event-crash.html
* dom/Range.cpp:
(WebCore::Range::processContentsBetweenOffsets):
2013-10-14 Alexey Proskuryakov <ap@apple.com>
Add an empty window.crypto.webkitSubtle
https://bugs.webkit.org/show_bug.cgi?id=122778
Reviewed by Mark Hahnenberg.
Tests: security/crypto-subtle-gc-2.html
security/crypto-subtle-gc-3.html
security/crypto-subtle-gc.html
* DerivedSources.make: Process SubtleCrypto.idl.
* crypto: Added.
* WebCore.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* bindings/js/JSSubtleCryptoCustom.cpp: Added. Empty for now, but we'll certainly
need custom bindings code here.
* crypto/SubtleCrypto.cpp: Added.
(WebCore::SubtleCrypto::SubtleCrypto):
(WebCore::SubtleCrypto::document):
* crypto/SubtleCrypto.h: Added.
* crypto/SubtleCrypto.idl: Added.
* page/Crypto.cpp:
(WebCore::Crypto::subtle):
* page/Crypto.h:
* page/Crypto.idl:
2013-10-14 Nick Diego Yamane <nick.yamane@openbossa.org>
Remove GestureEvent leftovers from WebCore
<https://webkit.org/b/122780>
Reviewed by Anders Carlsson.
- Removed some remaining references to PlatformGestureEvent, supposed to
be removed by r157316
- TOUCH_ADJUSTMENT should be reworked after GestureEvent feature
removal
* page/EventHandler.cpp:
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):
* page/EventHandler.h:
* platform/PlatformEvent.h:
* platform/ScrollAnimatorNone.cpp:
* platform/ScrollableArea.h:
2013-10-14 Nick Diego Yamane <nick.yamane@openbossa.org>
Build fix after r157366
http://bugs.webkit.org/show_bug.cgi?id=122783
When TOUCH_AJUSTMENT is enabled build fails due to some
refactors in TextRender functions.
Reviewed by Anders Carlsson.
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::appendContextSubtargetsForNode):
2013-10-14 Alexandru Chiculita <achicu@adobe.com>
The content of the DOM panel for iframes is not updated until the "onload" event
https://bugs.webkit.org/show_bug.cgi?id=122653
Reviewed by Darin Adler.
Test: http/tests/inspector-protocol/loading-iframe-document-node.html
Renamed InspectorDOMAgent::loadEventFired to InspectorDOMAgent::didCommitLoad and moved the call site
from InspectorInstrumentation::loadEventFiredImpl to InspectorInstrumentation::didCommitLoadImpl.
This is to make sure that it will invalidate the content of the iframe as soon as the frame navigates
to a different page. This way the new node can be retrieved as soon as the page has some content, and
not just when the page is fully loaded.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCommitLoad): Renamed from loadEventFired, as it is now called from
didCommitLoadImpl instead.
(WebCore::InspectorDOMAgent::frameDocumentUpdated): Updated comment to point to the new function name.
* inspector/InspectorDOMAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Removed call do InspectorDOMAgent.loadEventFired.
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Added call to InspectorDOMAgent.didCommitLoad.
2013-10-14 Roger Fong <roger_fong@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=122774.
<rdar://problem/6138855>.
Reviewed by Brent Fulgham.
Add a field to keep track of hovered over index.
Use index to determine whether or not to use the existing selected index on the mouse down event.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::PopupMenuWin):
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::wndProc):
* platform/win/PopupMenuWin.h:
2013-10-14 Tim Horton <timothy_horton@apple.com>
Virtualize PlatformCALayer
https://bugs.webkit.org/show_bug.cgi?id=122672
Reviewed by Anders Carlsson.
No new tests, just a refactoring.
* WebCore.exp.in:
setGeometryFlipped is on PlatformCALayerMac now.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Add PlatformCALayer.cpp, PlatformCALayerWin.h, and let VS do its
thing with some other files.
* WebCore.xcodeproj/project.pbxproj:
Add PlatformCALayer.cpp and PlatformCALayerMac.h.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::platformLayer):
Make a PlatformCALayerWin explicitly.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createPlatformCALayer):
Added. Decide whether to make a PlatformCALayer{Mac, Win} based on the platform.
Later, we will decide between other subclasses based on other things.
(WebCore::GraphicsLayerCA::filtersCanBeComposited):
Do the same thing for filtersCanBeComposited.
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToMedia):
(WebCore::GraphicsLayerCA::setContentsToCanvas):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Use createPlatformCALayer instead of PlatformCALayer::create.
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
For now, use the PlatformCALayerMac version of filtersCanBeComposited,
since this code is heavily tied to having CALayers in the Web process.
* platform/graphics/ca/GraphicsLayerCA.h:
Include PlatformCALayer.h here so we can get the LayerType enum.
(NOTE-to-be-removed: if there's a better way to do this, I'm open to
suggestions; I couldn't puzzle out nested 'enum class' stuff).
Add the createPlatformCALayers.
* platform/graphics/ca/PlatformCAAnimation.h:
Friend the subclasses too.
* platform/graphics/ca/PlatformCALayer.cpp: Added.
(WebCore::PlatformCALayer::~PlatformCALayer):
Pull the shared part of the PlatformCALayer destructor out.
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::platformLayer):
(WebCore::PlatformCALayer::setOwner):
(WebCore::PlatformCALayer::PlatformCALayer):
Virtualize all the things. Move platform specific members to their new subclasses.
* platform/graphics/ca/mac/PlatformCALayerMac.h: Added.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
Move the PLATFORM(MAC) implementations from PlatformCALayer to PlatformCALayerMac.
(PlatformCALayer::platformCALayer):
The platformCALayer lookup function is static on PlatformCALayer, so it can't
be moved to the subclasses. It might be a good idea in the future to move towards
a platform-independent mechanism for looking up PlatformCALayers from PlatformLayers,
and to avoid needing to do this as often as we do now.
* platform/graphics/ca/win/CACFLayerTreeHost.cpp:
(WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
Move the PLATFORM(WIN) implementations from PlatformCALayer to PlatformCALayerWin.
(PlatformCALayerWin::create):
(PlatformCALayer::platformCALayer):
* platform/graphics/ca/win/PlatformCALayerWin.h: Added.
* platform/graphics/win/GraphicsContext3DWin.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
Include PlatformCALayerWin.h and explicitly make PlatformCALayerWins here.
2013-10-14 Hugo Parente Lima <hugo.lima@openbossa.org>
[cmake] MediaControlsApple is used only by Efl port and is on CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=122772
Reviewed by Anders Carlsson.
* CMakeLists.txt: Removed MediaControlsApple.cpp
* PlatformEfl.cmake: Added MediaControlsApple.cpp
2013-10-14 Alexey Proskuryakov <ap@apple.com>
window.crypto doesn't preserve custom properties
https://bugs.webkit.org/show_bug.cgi?id=122770
Reviewed by Mark Hahnenberg.
Test: security/crypto-gc.html
Generate isReachableFromOpaqueRoots that makes Crypto live as long as the document
lives (because that's when it's observable through window object).
* page/Crypto.cpp:
(WebCore::Crypto::Crypto):
(WebCore::Crypto::~Crypto):
(WebCore::Crypto::document):
* page/Crypto.h:
(WebCore::Crypto::create):
Made Crypto a ContextDestructionObserver, so that it can report its document to bindings.
Removed ScriptWrappable, because it seems to have served no purpose in this class.
* page/Crypto.idl: Added GenerateIsReachable. Removed ImplementationLacksVTable,
because the class now has a vtable, and can be checked for bindings integrity.
* page/DOMWindow.cpp: (WebCore::DOMWindow::crypto): Pass a document when creating
crypto.
2013-10-14 Andreas Kling <akling@apple.com>
CTTE: NamedNodeMap always has a corresponding Element.
<https://webkit.org/b/122769>
Reviewed by Anders Carlsson.
Made NamedNodeMap::m_element a reference and remove an assertion
that it's never null.
2013-10-14 Andreas Kling <akling@apple.com>
REGRESSION(r157408): Crashes in RenderFullScreen::wrapRenderer().
Unreviewed crash fix for these two tests:
- fullscreen/full-screen-restrictions.html
- fullscreen/empty-anonymous-block-continuation-crash.html
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::wrapRenderer):
Get the RenderArena from Document like we did before this patch.
2013-10-14 Hans Muller <hmuller@adobe.com>
[CSS Shapes] Image valued shape-outside shapes should update the layout after the image has been loaded
https://bugs.webkit.org/show_bug.cgi?id=122340
Reviewed by Simon Fraser.
Ensure that the an image-valued shape-outside layout is updated after the image has
been loaded.
Test: http/tests/css/css-image-valued-shape.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::imageChanged): Added code for the shape-outside case.
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::~RenderElement): Ditto.
(WebCore::RenderElement::setStyle): Ditto.
2013-10-14 Andreas Kling <akling@apple.com>
Remove some silly null checks in Element/NamedNodeMap.
<https://webkit.org/b/122767>
Reviewed by Darin Adler.
Make shouldIgnoreAttributeCase() take a const Element&, exposing
some unnecessary null checks.
2013-10-14 Brent Fulgham <bfulgham@apple.com>
[Win] Build fix after r122737.
* dom/Node.h: Add explicit WebCore namespace to macro definition to work around
Visual Studio bug.
2013-10-14 Andreas Kling <akling@apple.com>
Pass Document directly to anonymous renderer constructors.
<https://webkit.org/b/122752>
Reviewed by Antti Koivisto.
Added separate constructors for creating anonymous renderers that
take a Document& instead of a null Element*/Text*.
Removed setDocumentForAnonymous() and all createAnonymous() helpers.
...and RenderObject::m_node is now a Node&, wohoo!
2013-10-13 Sam Weinig <sam@webkit.org>
CTTE: Add more node conversion helpers
https://bugs.webkit.org/show_bug.cgi?id=122737
Reviewed by Darin Adler.
- Factor NODE_TYPE_CASTS into TYPE_CASTS_BASE(ToClassName, FromClassName)
to allow for DOCUMENT_TYPE_CASTS.
- Replace more static_casts<>.
2013-10-14 Zan Dobersek <zdobersek@igalia.com>
Reintroduce PassRefPtr<Event> copy in ScopedEventQueue::dispatchEvent
https://bugs.webkit.org/show_bug.cgi?id=122742
Reviewed by Alexey Proskuryakov.
This is a follow-up to r157219 which introduced a workaround for the GCC's quirky behavior that
was resulting in crashes due to the PassRefPtr<Event> object passed to EventDispatcher::dispatchEvent
being copied and nullified first before retrieving the EventTarget of the Event object wrapped in that
PassRefPtr.
The implementation is now adjusted to first retrieve the pointer to the Event's EventTarget and store
it in a local variable. That variable is then passed as the first parameter to EventDispatcher::dispatchEvent,
and the PassRefPtr<Event> passed directly as the second parameter. Previously the pointer of that PassRefPtr
object was passed in, with a new PassRefPtr being created which would increase the reference count of the
ref-counted object. Passing in the original PassRefPtr avoids the unnecessary reference count increase by creating
a copy. That still nullifies the original PassRefPtr, but that's not a problem anymore.
* dom/ScopedEventQueue.cpp:
(WebCore::ScopedEventQueue::dispatchEvent):
2013-10-14 Bear Travis <betravis@adobe.com>
[CSS Shapes] Shape-Margin should be animatable
https://bugs.webkit.org/show_bug.cgi?id=122524
Reviewed by Darin Adler.
Mark content for relayout after shape-margin changes, and add shape-margin
to the list of animatable properties.
Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html
fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add
shape-margin to the map of animatable CSS properties.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Compare shape-margins,
and mark dependent content for relayout if they have changed.
2013-10-14 Arvid Nilsson <anilsson@blackberry.com>
Don't crash after OpenGL robustness reset
https://bugs.webkit.org/show_bug.cgi?id=122750
Reviewed by George Staikos.
JIRA 517132.
Just log the incident and pretend like nothing happened.
No new tests, we don't have repeatable steps to reproduce a robustness
reset.
* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::makeContextCurrent):
2013-10-14 Krzysztof Czech <k.czech@samsung.com>
[EFL] Buildfix after r157393
https://bugs.webkit.org/show_bug.cgi?id=122749
Reviewed by Andreas Kling.
Buildfix with error enumeration value 'CSS_FR' not handled in switch.
* css/CSSCalculationValue.cpp:
(WebCore::hasDoubleValue):
2013-10-14 Krzysztof Czech <k.czech@samsung.com>
[EFL] Present replaced objects with 0xFFFC character
https://bugs.webkit.org/show_bug.cgi?id=122744
Reviewed by Mario Sanchez Prada.
Replaced elements should be emitted in GTK/EFL and
marked their presence with the replacement character.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::textIteratorBehaviorForTextRange):
2013-09-16 Sergio Villar Senin <svillar@igalia.com>
[CSS Grid Layout] Implement support for <flex>
https://bugs.webkit.org/show_bug.cgi?id=115362
Reviewed by Andreas Kling.
From Blink r149134, r149480, r149532, r150287 and r156127 by <jchaffraix@chromium.org>
From Blink r157820 by <svillar@igalia.com>
Added support for flexible lengths ('fr' unit) in CSS Grid Layout
code. This requires the addition of GridLength class to
encapsulate the knowledge of <flex> to the grid layout code.
Also updated the algorithm that computes the layout. It increases
the value of 1fr based on the grid tracks' usedBreath to fraction
ratio (called normalizedFractionValue). This enables increasing
the fraction value while updating the available space to account
for processed grid tracks. The algorithm stops when we run out of
grid tracks or available space (one grid item has an intrinsic
size too big). This matches the specs to the letter for the known
available space case (both the unknown case and the interaction
with 'span' are left out of this patch).
Tests: fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html
fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html
fast/css-grid-layout/flex-content-resolution-columns.html
fast/css-grid-layout/flex-content-resolution-rows.html
* GNUmakefile.list.am: Added GridLength.h to the build system.
* Target.pri: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackBreadth): Replace Length by GridLength.
* css/CSSGrammar.y.in: Added FR support.
* css/CSSParser.cpp: Ditto.
(WebCore::CSSParser::parseGridBreadth):
(WebCore::CSSParser::detectNumberToken):
* css/CSSParserValues.cpp: Added FR support.
(WebCore::CSSParserValue::createCSSValue):
* css/CSSParserValues.h:
(WebCore::CSSParserString::operator[]):
(WebCore::CSSParserString::equalIgnoringCase):
* css/CSSPrimitiveValue.cpp: Added FR support.
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::customCSSText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore::CSSPrimitiveValue::equals):
* css/CSSPrimitiveValue.h: Added a couple of missing const.
(WebCore::CSSPrimitiveValue::isFlex):
* css/StyleResolver.cpp: Added FR support.
(WebCore::createGridTrackBreadth):
(WebCore::createGridTrackSize):
* rendering/RenderGrid.cpp:
(WebCore::GridTrackForNormalization::GridTrackForNormalization):
New helper struct to ease the computation of track breadths with
flexible lengths.
(WebCore::GridTrackForNormalization::operator=):
(WebCore::RenderGrid::computePreferredTrackWidth): Replaced Length by GridLength.
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Grow grid lines
having a fraction as the MaxTrackSizingFunction.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Replaced Length by GridLength.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
(WebCore::sortByGridNormalizedFlexValue):
(WebCore::RenderGrid::computeNormalizedFractionBreadth): Increase
the fraction value while updating the available space to account
for processed grid tracks.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::distributeSpaceToTracks): Never shrink track sizes.
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
* rendering/RenderGrid.h:
* rendering/style/GridLength.h: Added.
(WebCore::GridLength::GridLength):
(WebCore::GridLength::isLength):
(WebCore::GridLength::isFlex):
(WebCore::GridLength::length):
(WebCore::GridLength::flex):
(WebCore::GridLength::setFlex):
(WebCore::GridLength::operator==):
* rendering/style/GridTrackSize.h: Replaced Length by GridLength.
(WebCore::GridTrackSize::length):
(WebCore::GridTrackSize::setLength):
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
(WebCore::GridTrackSize::setMinMax):
(WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth):
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadth):
(WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth):
(WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth):
2013-10-14 peavo@outlook.com <peavo@outlook.com>
Broken text rendering when input field has selection.
https://bugs.webkit.org/show_bug.cgi?id=122716
Reviewed by Antti Koivisto.
Tests: fast/text/text-rendering-with-input-selection.html.
fast/text/text-rendering-with-input-selection-expected.html.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint): Check that text has selection.
2013-10-14 Zalan Bujtas <zalan@apple.com>
Unexpected word wrapping for wrapped content then raw content.
https://bugs.webkit.org/show_bug.cgi?id=121130
Reviewed by Antti Koivisto.
When deciding whether a line is considered empty, we need to check if the current
object is fully responsible for the currently uncommitted width. It helps differentiating
<span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
case when we hit the second <span> the line is still considered empty, as opposed to the
second example.
Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineBreaker::nextSegmentBreak):
2013-10-14 Andreas Kling <akling@apple.com>
Be more efficient about passing RenderStyle to attachRenderTree().
<https://webkit.org/b/122743>
Reviewed by Antti Koivisto.
Have attachRenderTree() and createRendererTreeIfNeeded() pass the
RenderStyle in a PassRefPtr to avoid churning the ref count.
2013-10-14 Sergio Villar Senin <svillar@igalia.com>
[CSS Grid Layout] 2 span positions are not resolved correctly
https://bugs.webkit.org/show_bug.cgi?id=119717
Reviewed by Andreas Kling.
From Blink r155397 by <jchaffraix@chromium.org>
Test: fast/css-grid-layout/grid-item-bad-resolution-double-span.html
Two opposite 'span' or 'auto' positions should be resolved using
the auto placement algorithm. We were only checking for the 'auto'
case. This also covers the case of other positions that, according
to the spec, should be treated as 'auto'.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::resolveGridPositionsFromStyle):
2013-10-13 Andreas Kling <akling@apple.com>
Use RenderElement instead of RenderObject in more places.
<https://webkit.org/b/122734>
Reviewed by Antti Koivisto.
Convert some sites to use RenderElement (or type inference) instead
of RenderObject for less branchy code.
2013-10-13 Darin Adler <darin@apple.com>
Deprecate or remove deleteAllValues functions; there are only a few call sites left
https://bugs.webkit.org/show_bug.cgi?id=122738
Reviewed by Anders Carlsson.
* platform/blackberry/CookieMap.cpp:
(WebCore::CookieMap::deleteAllCookiesAndDomains):
* platform/network/blackberry/rss/RSSParserBase.cpp:
(WebCore::RSSFeed::clear):
* platform/win/WCDataObject.cpp:
(WebCore::WCDataObject::~WCDataObject):
Renamed deleteAllValues to deprecatedDeleteAllValues.
2013-10-13 Sam Weinig <sam@webkit.org>
Merge NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=122735
Reviewed by Antti Koivisto.
NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS are identical. Let them become one
with one another.
2013-10-13 Andreas Kling <akling@apple.com>
Uncrashify Document::head() too. (Why am I even awake?)
2013-10-13 Andreas Kling <akling@apple.com>
REGRESSION(r157381): Make Document::body() crash less when there is no documentElement.
Unreviewed.
2013-10-13 Darin Adler <darin@apple.com>
Rewrite Document::body and Document::head in modern style, way clearer and shorter
https://bugs.webkit.org/show_bug.cgi?id=122717
Reviewed by Andreas Kling.
* dom/Document.cpp:
(WebCore::Document::body): Use iterator to make this way easier to read.
(WebCore::Document::head): Ditto.
* html/HTMLTagNames.in: Added generateTypeHelpers for body and head.
== Rolled over to ChangeLog-2013-10-13 ==