| 2015-01-23 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Implement Range Removal algorithm. |
| https://bugs.webkit.org/show_bug.cgi?id=140622. |
| |
| Reviewed by Jer Noble. |
| |
| This extract Range Removal algorithm (Editor's Draft version, bug:26316) from remove(), |
| to separate function to deal with old FIXME since bug in spec was resolved. |
| This should both guarantee good order of events, and prevent from switching to 'open' state |
| during end of stream. |
| |
| Test: media/media-source/media-source-end-of-stream-readyState.html |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::setDurationInternal): update to use rangeRemoval(), not remove() |
| (WebCore::MediaSource::streamEndedWithError): remove FIXME, brigning back correct order of events. |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::remove): comments up to spec, extract rangeRemoval algorithm. |
| (WebCore::SourceBuffer::rangeRemoval): |
| (WebCore::SourceBuffer::removeTimerFired): comments up to spec. |
| * Modules/mediasource/SourceBuffer.h: |
| |
| 2015-01-23 Enrica Casucci <enrica@apple.com> |
| |
| Hit test returns incorrect results when performed in paginated content over the page gaps. |
| https://bugs.webkit.org/show_bug.cgi?id=140837 |
| rdar://problem/17494390 |
| |
| Reviewed by Dave Hyatt. |
| |
| Tests: fast/multicol/pagination/LeftToRight-tb-hittest.html |
| fast/multicol/pagination/RightToLeft-rl-hittest.html |
| |
| When hittesting reaches the RenderView we need to check if we are |
| in paginated content and use the correct class to compute hittest results. |
| |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::updateHitTestResult): |
| |
| 2015-01-23 Andreas Kling <akling@apple.com> |
| |
| Document should be a FontSelectorClient. |
| <https://webkit.org/b/140833> |
| |
| Reviewed by Antti Koivisto. |
| |
| Make Document a FontSelectorClient so it can listen to the invalidation |
| callbacks from FontSelector instead of having code in FontSelector that |
| calls out to Document on invalidation. |
| |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): |
| * dom/Document.cpp: |
| (WebCore::Document::fontsNeedUpdate): |
| (WebCore::Document::fontSelector): |
| (WebCore::Document::clearStyleResolver): |
| * dom/Document.h: |
| |
| 2015-01-23 Chris Dumez <cdumez@apple.com> |
| |
| Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration |
| https://bugs.webkit.org/show_bug.cgi?id=140829 |
| |
| Reviewed by Andreas Kling. |
| |
| Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration |
| by calling CSSValuePool::createFontFamilyValue() to create the font |
| family CSSPrimitiveValue instead of cssValuePool().createValue(). |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::valueForFamily): |
| |
| 2015-01-23 Timothy Horton <timothy_horton@apple.com> |
| |
| QLPreviewMenuItem popovers don't close when the page scrolls |
| https://bugs.webkit.org/show_bug.cgi?id=140806 |
| <rdar://problem/19555618> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/QuickLookMacSPI.h: |
| Add some SPI. |
| |
| 2015-01-23 Andreas Kling <akling@apple.com> |
| |
| Hang CSSFontSelector off Document instead of StyleResolver. |
| <https://webkit.org/b/140820> |
| |
| Reviewed by Antti Koivisto. |
| |
| Move the CSSFontSelector from StyleResolver to Document. This is the first |
| step towards making the CSSFontSelector be able to survive full style recalc. |
| |
| Clearing a Document's StyleResolver will still nuke the CSSFontSelector, |
| though that is done in Document::clearStyleResolver() now. |
| |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::CSSFontSelector): |
| * css/CSSFontSelector.h: |
| |
| Modernize CSSFontSelector construction a bit by having create() return |
| a Ref and the constructor take a Document& instead of a Document*. |
| Also made the constructor explicit. |
| |
| (WebCore::StyleResolver::~StyleResolver): |
| * dom/Document.cpp: |
| (WebCore::Document::clearStyleResolver): |
| |
| Nuke the current CSSFontSelector in clearStyleResolver() instead of |
| in ~StyleResolver. It's a minor change, but shows the way forward. |
| Added a FIXME about how CSSFontSelector should eventually survive |
| this operation. |
| |
| (WebCore::Document::fontSelector): |
| * css/FontLoader.cpp: |
| (WebCore::FontLoader::loadFont): |
| (WebCore::FontLoader::checkFont): |
| (WebCore::FontLoader::resolveFontStyle): |
| * css/RuleSet.cpp: |
| (WebCore::RuleSet::addChildRules): |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::fontSelector): Deleted. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::appendAuthorStyleSheets): |
| (WebCore::StyleResolver::styleForElement): |
| (WebCore::StyleResolver::defaultStyleForElement): |
| (WebCore::StyleResolver::updateFont): |
| * dom/Document.h: |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::setFont): |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::updateFromElement): |
| (WebCore::RenderListBox::paintItemForeground): |
| * rendering/RenderMenuList.cpp: |
| (RenderMenuList::fontSelector): |
| * rendering/RenderSearchField.cpp: |
| (WebCore::RenderSearchField::fontSelector): |
| * rendering/TextAutoSizing.cpp: |
| (WebCore::TextAutoSizingValue::adjustNodeSizes): |
| (WebCore::TextAutoSizingValue::reset): |
| * rendering/svg/RenderSVGInlineText.cpp: |
| (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): |
| * style/StyleResolveForDocument.cpp: |
| (WebCore::Style::resolveForDocument): |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::resolveTree): |
| |
| Move CSSFontSelector ownership from StyleResolver to Document. |
| |
| 2015-01-23 Jer Noble <jer.noble@apple.com> |
| |
| Layout Test http/tests/media/track-in-band-hls-metadata.html is flaky |
| https://bugs.webkit.org/show_bug.cgi?id=140827 |
| |
| Reviewed by Eric Carlson. |
| |
| Create the m_metadataTrack by calling prepareMetadataTrack() before deref-ing it. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive): |
| |
| 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add initial database process support |
| https://bugs.webkit.org/show_bug.cgi?id=139491 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * platform/sql/SQLiteFileSystem.cpp: |
| (WebCore::SQLiteFileSystem::openDatabase): Use |
| WebCore::fileSystemRepresentation() for the database filename, |
| otherwise sqlite3_open() fails when the filename contains "%2E". |
| |
| 2015-01-23 Byeongha Cho <byeongha.cho@samsung.com> |
| |
| Initialization for some member variable of FontPlatformData |
| https://bugs.webkit.org/show_bug.cgi?id=136327 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| No new tests. There's no functional change. |
| |
| * platform/graphics/freetype/FontPlatformDataFreeType.cpp: |
| (WebCore::FontPlatformData::FontPlatformData): |
| (WebCore::FontPlatformData::operator=): |
| (WebCore::FontPlatformData::~FontPlatformData): |
| |
| 2015-01-23 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| Rename ChildNodeRemovalNotifier::m_insertionPoint to m_removalPoint |
| https://bugs.webkit.org/show_bug.cgi?id=140766 |
| |
| Reviewed by Andreas Kling. |
| |
| ChildNodeRemovalNotifier::ChildNodeRemovalNotifier(...) should take |
| a node as removal point. |
| It's probably Copy/Paste from ChildNodeInsertionNotifier::m_insertionPoint. |
| |
| No new tests. No behavior change. |
| |
| * dom/ContainerNodeAlgorithms.h: |
| (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier): |
| (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument): |
| (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree): |
| |
| 2015-01-23 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [GTK] Fix debug build after r178940 |
| https://bugs.webkit.org/show_bug.cgi?id=140814 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/graphics/opentype/OpenTypeVerticalData.cpp: |
| (WebCore::OpenTypeVerticalData::substituteWithVerticalGlyphs): |
| |
| 2015-01-22 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Move leading whitespace handling from removeTrailingWhitespace() to initializeNewLine(). |
| https://bugs.webkit.org/show_bug.cgi?id=140757 |
| |
| Reviewed by Antti Koivisto. |
| |
| Checking if overflowed pre-wrap whitespace needs to be ignored should not be part of the trailing whitespace handling. |
| Move it to initializeNewLine(). |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::preWrap): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::isLineBreak): |
| |
| 2015-01-22 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Media controls disappear when loading a HLS live stream |
| https://bugs.webkit.org/show_bug.cgi?id=140792 |
| rdar://problem/19491658 |
| |
| Reviewed by Dean Jackson. |
| |
| Overload reconnectControls to reconnect the "start playback" button |
| if the control type has been set to "StartPlaybackButton". |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.reconnectControls): |
| |
| 2015-01-22 peavo@outlook.com <peavo@outlook.com> |
| |
| [Win] No plugin content on some sites. |
| https://bugs.webkit.org/show_bug.cgi?id=140780 |
| |
| Reviewed by Anders Carlsson. |
| |
| Return script instance from ScriptController::createScriptInstanceForWidget(), |
| instead of always returning null. |
| |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::createScriptInstanceForWidget): |
| * plugins/PluginViewBase.h: |
| (WebCore::PluginViewBase::bindingInstance): |
| |
| 2015-01-22 Jer Noble <jer.noble@apple.com> |
| |
| [Mac][EME] Adopt changes to AVStreamSession class methods |
| https://bugs.webkit.org/show_bug.cgi?id=140778 |
| rdar://problem/19458200 |
| |
| Reviewed by Eric Carlson. |
| |
| AVStreamSession class methods have added a "storageDirectoryAtURL:" parameter so as to be able to |
| read and modify records stored at non-default storage locations. |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::mediaKeysStorageDirectory): Implement client method by querying document and settings. |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * platform/graphics/CDMSession.h: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): Check whether the AVStreamSession class responds to new selector before calling. |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): Ditto. |
| (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage): Ditto. |
| (WebCore::CDMSessionMediaSourceAVFObjC::storagePath): Fetch the storage path from the client. |
| |
| 2015-01-22 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (174847): can't view NHK(Japan's national public broadcasting organization)’s news pages |
| https://bugs.webkit.org/show_bug.cgi?id=140794 |
| |
| Reviewed by Anders Carlsson. |
| |
| If a document.open has been set, return it instead of always returning a new, |
| non-cached instance of jsHTMLDocumentPrototypeFunctionOpen. |
| |
| Test: js/dom/document-overwrite-open.html |
| |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): |
| |
| 2015-01-22 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Reset LineState when starting a new line. |
| https://bugs.webkit.org/show_bug.cgi?id=140789 |
| |
| Reviewed by Antti Koivisto. |
| |
| Reset LineState when starting a new line to ensure we always |
| start with a clean state. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::updateLineConstrains): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): |
| (WebCore::SimpleLineLayout::createTextRuns): |
| |
| 2015-01-22 Roger Fong <roger_fong@apple.com> |
| |
| [WebGL2] Create empty interface files for new WebGL2 objects. |
| https://bugs.webkit.org/show_bug.cgi?id=140779. |
| <rdar://problem/15002288> |
| |
| Reviewed by Dean Jackson. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * html/canvas/WebGLQuery.cpp: Added. |
| (WebCore::WebGLQuery::create): |
| (WebCore::WebGLQuery::~WebGLQuery): |
| (WebCore::WebGLQuery::WebGLQuery): |
| (WebCore::WebGLQuery::deleteObjectImpl): |
| * html/canvas/WebGLQuery.h: Added. |
| * html/canvas/WebGLQuery.idl: Added. |
| * html/canvas/WebGLSampler.cpp: Added. |
| (WebCore::WebGLSampler::create): |
| (WebCore::WebGLSampler::~WebGLSampler): |
| (WebCore::WebGLSampler::WebGLSampler): |
| (WebCore::WebGLSampler::deleteObjectImpl): |
| * html/canvas/WebGLSampler.h: Added. |
| * html/canvas/WebGLSampler.idl: Added. |
| * html/canvas/WebGLSharedObject.h: |
| (WebCore::WebGLSharedObject::isQuery): |
| (WebCore::WebGLSharedObject::isSampler): |
| (WebCore::WebGLSharedObject::isSync): |
| (WebCore::WebGLSharedObject::isTransformFeedback): |
| (WebCore::WebGLSharedObject::isVertexArrayObject): |
| * html/canvas/WebGLSync.cpp: Added. |
| (WebCore::WebGLSync::create): |
| (WebCore::WebGLSync::~WebGLSync): |
| (WebCore::WebGLSync::WebGLSync): |
| (WebCore::WebGLSync::deleteObjectImpl): |
| * html/canvas/WebGLSync.h: Added. |
| * html/canvas/WebGLSync.idl: Added. |
| * html/canvas/WebGLTransformFeedback.cpp: Added. |
| (WebCore::WebGLTransformFeedback::create): |
| (WebCore::WebGLTransformFeedback::~WebGLTransformFeedback): |
| (WebCore::WebGLTransformFeedback::WebGLTransformFeedback): |
| (WebCore::WebGLTransformFeedback::deleteObjectImpl): |
| * html/canvas/WebGLTransformFeedback.h: Added. |
| * html/canvas/WebGLTransformFeedback.idl: Added. |
| * html/canvas/WebGLVertexArrayObject.cpp: Added. |
| (WebCore::WebGLVertexArrayObject::create): |
| (WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject): |
| (WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject): |
| (WebCore::WebGLVertexArrayObject::deleteObjectImpl): |
| * html/canvas/WebGLVertexArrayObject.h: Added. |
| * html/canvas/WebGLVertexArrayObject.idl: Added. |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| Fix remaining multiple targets per rule issues in DerivedSources.make |
| https://bugs.webkit.org/show_bug.cgi?id=140790 |
| |
| Reviewed by David Kilzer. |
| |
| Fix remaining multiple target per rule issues in DerivedSources.make, |
| similarly to Bug 140784 and Bug 140756. |
| |
| This was causing us to run scripts several times to generate the same |
| files and may lead to malformed files in case of concurrency. |
| |
| * DerivedSources.make: |
| |
| 2015-01-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a build flag for ES6 class syntax |
| https://bugs.webkit.org/show_bug.cgi?id=140760 |
| |
| Reviewed by Michael Saboff. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| SVGNames.cpp and HTMLNames.cpp are sometimes malformed |
| https://bugs.webkit.org/show_bug.cgi?id=140784 |
| <rdar://problem/17701233> |
| |
| Reviewed by David Kilzer. |
| |
| Due to bad rules in DerivedSources.make, make_names.pl was called |
| several times with the same arguments during build. This is because |
| SVG/HTML/MathML each had several targets associated to the same |
| command. This would cause the command (make_names.pl) to be called |
| once per target. However, make_names.pl only needs to be executed |
| once to generate all of the files currently marked as target. |
| |
| Calling make_names.pl several times for the same files is not only |
| wasteful, but it can also lead to malformed generated files if the |
| scripts instances are executed in parallel as they will read / write |
| from / to the same files. |
| |
| This patch uses INTERMEDIATE targets instead so that we can still |
| indicate which files are generated by make_names.pl but only run |
| the script once. |
| |
| This is a similar fix as for Bug 140756. There may several other |
| similar issues in DerivedSources.make but this patch focuses on |
| make_names.pl. I will take care of other in follow-ups if needed. |
| |
| * DerivedSources.make: |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| Have Counter::create() return a Ref<Counter> |
| https://bugs.webkit.org/show_bug.cgi?id=140777 |
| |
| Reviewed by Andreas Kling. |
| |
| Have Counter::create() return a Ref<Counter> instead of a PassRefPtr. |
| |
| The CSSPrimitiveValue class needed some updates as well to support |
| constructing a CSSPrimitiveValue object from a Ref<>. |
| |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::init): |
| * css/CSSPrimitiveValue.h: |
| (WebCore::CSSPrimitiveValue::create): |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| * css/Counter.h: |
| (WebCore::Counter::create): |
| (WebCore::Counter::cloneForCSSOM): |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| Drop the legacy FeatureCounter class |
| https://bugs.webkit.org/show_bug.cgi?id=140749 |
| |
| Reviewed by Andreas Kling. |
| |
| Drop the legacy FeatureCounter class and use DiagnosticLoggingClient |
| instead. |
| |
| * CMakeLists.txt: |
| * Configurations/WebCore.xcconfig: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::willSendRequest): |
| (WebCore::SubresourceLoader::didReceiveResponse): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::mustRevalidateDueToCacheHeaders): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::logMemoryCacheResourceRequest): |
| (WebCore::CachedResourceLoader::requestResource): |
| (WebCore::CachedResourceLoader::determineRevalidationPolicy): |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::mustRevalidateIsExpiredKey): |
| (WebCore::DiagnosticLoggingKeys::playedKey): |
| (WebCore::DiagnosticLoggingKeys::noCacheKey): |
| (WebCore::DiagnosticLoggingKeys::noStoreKey): |
| (WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey): |
| (WebCore::DiagnosticLoggingKeys::mediaKey): |
| (WebCore::DiagnosticLoggingKeys::isExpiredKey): |
| (WebCore::DiagnosticLoggingKeys::loadingKey): |
| (WebCore::DiagnosticLoggingKeys::inMemoryCacheKey): |
| (WebCore::DiagnosticLoggingKeys::reasonKey): |
| (WebCore::DiagnosticLoggingKeys::audioKey): |
| (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey): |
| (WebCore::DiagnosticLoggingKeys::resourceRequestKey): |
| (WebCore::DiagnosticLoggingKeys::revalidatingKey): |
| (WebCore::DiagnosticLoggingKeys::unusedKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey): |
| (WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey): |
| (WebCore::DiagnosticLoggingKeys::usedKey): |
| (WebCore::DiagnosticLoggingKeys::userKey): |
| (WebCore::DiagnosticLoggingKeys::videoKey): |
| (WebCore::DiagnosticLoggingKeys::webViewKey): |
| (WebCore::DiagnosticLoggingKeys::zoomedKey): |
| * page/DiagnosticLoggingKeys.h: |
| * page/Settings.in: |
| * platform/FeatureCounter.cpp: Removed. |
| * platform/FeatureCounter.h: Removed. |
| * platform/FeatureCounterKeys.h: Removed. |
| * platform/ios/FeatureCounter.mm: Removed. |
| |
| 2015-01-22 Benjamin Poulain <benjamin@webkit.org> |
| |
| When extending the fallback transitions with their closure, we are modifying the Set while iterating it |
| https://bugs.webkit.org/show_bug.cgi?id=140785 |
| |
| Reviewed by Andreas Kling. |
| |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::populateTransitions): |
| Make that in two steps: accumulate the fallback transitions then add the closure |
| of every element. |
| |
| 2015-01-21 Antti Koivisto <antti@apple.com> |
| |
| Rename SimpleFontData to Font |
| https://bugs.webkit.org/show_bug.cgi?id=140496 |
| |
| Reviewed by Zalan Bujtas. |
| |
| The fallback supporting Font type was renamed FontCascade. |
| We can now rename SimpleFontData to Font matching the usual definition. |
| |
| 2015-01-22 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Make trailing whitespace handling more explicit. |
| https://bugs.webkit.org/show_bug.cgi?id=140776 |
| |
| Reviewed by Antti Koivisto. |
| |
| Differentiate between committed and uncommitted trailing whitespace. |
| This enables further cleanup in removeTrailingWhitespace(). |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::LineState::commitAndCreateRun): |
| (WebCore::SimpleLineLayout::LineState::addUncommitted): |
| (WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly): |
| (WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::LineState::LineState): Deleted. |
| (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): Deleted. |
| (WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): Deleted. |
| |
| 2015-01-22 Alexey Proskuryakov <ap@apple.com> |
| |
| Crash in URL::protocol() after appcache load fails |
| https://bugs.webkit.org/show_bug.cgi?id=140755 |
| rdar://problem/7881290 |
| |
| Reviewed by Dan Bates. |
| |
| Test: http/tests/appcache/404-resource-with-slow-main-resource.php |
| |
| Not every cache that isn't being updated is complete. It could also be in a zombie |
| state after failing to load. We get rid of the cache once the main resource finishes |
| loading, but while it's being loaded, the zombie still looks like a regular |
| candidate application cache. |
| |
| * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isComplete): |
| * loader/appcache/ApplicationCache.h: |
| Removed const from isComplete(), because otherwise we couldn't use ApplicationCacheGroup::m_caches.contains(). |
| Constness doesn't make a lot of sense for these objects anyway. |
| |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Toned down an assertion. |
| We can fail a main resource load when the document has a zombie appcache, too. |
| |
| * loader/appcache/ApplicationCacheGroup.h: |
| (WebCore::ApplicationCacheGroup::cacheIsComplete): |
| (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): Deleted. |
| These functions are only used in ApplicationCache::isComplete(). |
| |
| 2015-01-22 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| Avoid defining always empty Vector<TextCheckingResult> |
| https://bugs.webkit.org/show_bug.cgi?id=140765 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Pass an empty vector direclty instead. |
| |
| No new tests. No behavior change. |
| |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::didCheckCancel): |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| makeprop.pl script is called too many times during build |
| https://bugs.webkit.org/show_bug.cgi?id=140756 |
| <rdar://problem/19467942> |
| |
| Reviewed by David Kilzer. |
| |
| The makeprop.pl script was called 4 times (instead of once) during |
| build due to a bad Makefile rule in DerivedSources.make. makeprop.pl |
| had 4 associated targets and thus was called 4 times (with the same |
| parameter). Calling it once is sufficient to generate all 4 files |
| that were marked as target. This patch uses an INTERMEDIATE target |
| instead so that we can indicate that several files are generated |
| by the same command. |
| |
| I believe this may be the reason for the sporatic build failures |
| that look like: |
| """ |
| CSSPropertyNames.gperf: No keywords in input file! |
| calling gperf failed: 256 at WebCore/css/makeprop.pl line 1036. |
| """ |
| The makeprop.pl script is generating gperf's input file and calling the |
| gperf executable on this file. If the script is executed several times |
| in parallel, it would explain the build failures as several instances |
| of makeprop.pl may be writing / reading from the same |
| CSSPropertyNames.gperf file. |
| |
| * DerivedSources.make: |
| |
| 2015-01-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178894. |
| https://bugs.webkit.org/show_bug.cgi?id=140775 |
| |
| Broke JSC and bindings tests (Requested by ap_ on #webkit). |
| |
| Reverted changeset: |
| |
| "put_by_val_direct need to check the property is index or not |
| for using putDirect / putDirectIndex" |
| https://bugs.webkit.org/show_bug.cgi?id=140426 |
| http://trac.webkit.org/changeset/178894 |
| |
| 2015-01-22 David Kilzer <ddkilzer@apple.com> |
| |
| [iOS] Fix iphoneos SDK builds for ios-ews queue |
| <http://webkit.org/b/140748> |
| |
| Reviewed by Daniel Bates. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add new SPI headers. |
| * platform/graphics/cg/ImageBufferCG.cpp: Switch to using |
| "IOSurfaceSPI.h" from <IOSurface/IOSurface.h>. |
| * platform/graphics/cg/ImageBufferDataCG.cpp: Ditto. |
| * platform/graphics/cocoa/IOSurface.mm: Ditto. Move definitions |
| in <IOSurface/IOSurfacePrivate.h> into "IOSurfaceSPI.h". |
| * platform/spi/cg/CoreGraphicsSPI.h: Switch to |
| WTF_EXTERN_C_{BEGIN,END}. Add |
| CGContextGetFontAntialiasingStyle() and |
| CGContextSetFontAntialiasingStyle(). |
| * platform/spi/cocoa/IOPMLibSPI.h: Switch to use IOReturnSPI.h. |
| * platform/spi/cocoa/IOReturnSPI.h: Add. |
| * platform/spi/cocoa/IOSurfaceSPI.h: Add. |
| * platform/spi/cocoa/IOTypesSPI.h: Add. |
| |
| 2015-01-21 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Skip items spanning flex tracks when sizing content based tracks |
| https://bugs.webkit.org/show_bug.cgi?id=140720 |
| |
| Reviewed by David Hyatt. |
| |
| Section "11.5. Resolve Intrinsic Track Sizes" of the specs forces |
| us to ignore items spanning tracks with flex sizing functions when |
| resolving the content-based track sizing functions. Items with |
| span < 2 are not affected by this rule (as they will belong to a |
| single track). This way the algorithm ensures that min-content and |
| max-content restrictions are fulfilled before distributing the |
| extra space. |
| |
| Test: fast/css-grid-layout/flex-and-content-sized-resolution-columns.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks): |
| (WebCore::integerSpanForDirection): |
| (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): |
| * rendering/RenderGrid.h: |
| |
| 2015-01-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex |
| https://bugs.webkit.org/show_bug.cgi?id=140426 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Test: js/dfg-put-by-val-direct-with-edge-numbers.html |
| |
| * bindings/js/JSDOMWindowCustom.cpp: |
| (WebCore::JSDOMWindow::getOwnPropertySlot): |
| * bindings/js/JSHTMLAllCollectionCustom.cpp: |
| (WebCore::callHTMLAllCollection): |
| (WebCore::JSHTMLAllCollection::item): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateGetOwnPropertySlotBody): |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSFloat64Array.cpp: |
| (WebCore::JSFloat64Array::getOwnPropertySlot): |
| (WebCore::JSFloat64Array::getOwnPropertyDescriptor): |
| (WebCore::JSFloat64Array::put): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::JSTestEventTarget::getOwnPropertySlot): |
| * bridge/runtime_array.cpp: |
| (JSC::RuntimeArray::getOwnPropertySlot): |
| (JSC::RuntimeArray::put): |
| |
| 2015-01-19 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Size tracks using a list of all items sorted by span |
| https://bugs.webkit.org/show_bug.cgi?id=140615 |
| |
| Reviewed by Andreas Kling. |
| |
| In r173620 we fixed |
| RenderGrid::resolveContentBasedTrackSizingFunctions() so that it |
| now collects all items spanning content-sized tracks and process |
| them one by one after sorting them by ascending span. |
| |
| The problem is that it was incorrectly implemented, it has two |
| important bugs. First one is that the hash table that collects |
| items is regenerated after processing each track, so it's actually |
| doing nothing. Secondly we're only sorting the items on each |
| track, instead of all the items in the grid. |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): |
| |
| 2015-01-21 Daniel Bates <dabates@apple.com> |
| |
| Fix the iOS release build after <http://trac.webkit.org/changeset/178868> |
| (https://bugs.webkit.org/show_bug.cgi?id=140742) |
| |
| Substitute ASSERT_UNUSED() for ASSERT() since the parameter layer is used only in the assertion expression. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): |
| |
| 2015-01-21 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference |
| https://bugs.webkit.org/show_bug.cgi?id=140742 |
| |
| Reviewed by Simon Fraser. |
| |
| Make RenderLayerBacking::layerTreeAsText() (including internals.layerTreeAsText()) always |
| report that the main frame's RenderView layer is opaque when running iOS DumpRenderTree to |
| avoid test failures and the need to maintain for iOS WebKit1 an almost identical copy of the |
| platform-independent compositing test results. |
| |
| The main frame's RenderView layer is always transparent in iOS WebKit1 since it does |
| not make use of a tiled cache layer and defers to UIKit to handle the final compositing |
| of the web view, including applying the page scale factor. |
| |
| * platform/RuntimeApplicationChecksIOS.mm: |
| (WebCore::applicationIsDumpRenderTree): The app bundle identifier of DumpRenderTree has |
| the form org.webkit.DumpRenderTreeX where X is some non-negative integer. |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::dumpProperties): Modified to report that a layer is opaque when |
| GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack() returns true. |
| * platform/graphics/GraphicsLayerClient.h: |
| (WebCore::GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added |
| default implementation (returns false). |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added; |
| returns true when running in DumpRenderTree and the passed GraphicsLayer corresponds to the main frame's |
| RenderView layer. |
| * rendering/RenderLayerBacking.h: |
| |
| 2015-01-21 Roger Fong <roger_fong@apple.com> |
| |
| WebGL2 (spec section 3.1): Add new types to WebGL2 API. |
| https://bugs.webkit.org/show_bug.cgi?id=140741. |
| <rdar://problem/19552962> |
| |
| Reviewed by Dean Jackson. |
| |
| * html/canvas/WebGL2RenderingContext.idl: |
| |
| 2015-01-21 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Move nextTextFragment() to FlowContents class. |
| https://bugs.webkit.org/show_bug.cgi?id=140738 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to make FlowContents an iterator class. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::LineState::addUncommitted): |
| (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::TextFragment::TextFragment): Deleted. |
| (WebCore::SimpleLineLayout::TextFragment::isEmpty): Deleted. |
| (WebCore::SimpleLineLayout::nextFragment): Deleted. |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::nextTextFragment): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::TextFragment::TextFragment): |
| (WebCore::SimpleLineLayout::FlowContents::TextFragment::isEmpty): |
| |
| 2015-01-21 Andreas Kling <akling@apple.com> |
| |
| DocumentLoader::timing() should return a reference. |
| <https://webkit.org/b/128272> |
| |
| Reviewed by Antti Koivisto. |
| |
| There is always a DocumentLoadTiming object, so return it by |
| reference since it can never be null. |
| |
| * Modules/gamepad/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::from): |
| * dom/ScriptedAnimationController.cpp: |
| (WebCore::ScriptedAnimationController::serviceScriptedAnimations): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForTiming): |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::finishedLoading): |
| (WebCore::DocumentLoader::willSendRequest): |
| (WebCore::DocumentLoader::continueAfterNavigationPolicy): |
| (WebCore::DocumentLoader::startLoadingMainResource): |
| * loader/DocumentLoader.h: |
| (WebCore::DocumentLoader::timing): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::stopLoading): |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::dispatchLoadEvent): |
| * page/Performance.cpp: |
| (WebCore::Performance::now): |
| * page/PerformanceNavigation.cpp: |
| (WebCore::PerformanceNavigation::redirectCount): |
| * page/PerformanceResourceTiming.cpp: |
| (WebCore::monotonicTimeToDocumentMilliseconds): |
| (WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds): |
| * page/PerformanceTiming.cpp: |
| (WebCore::PerformanceTiming::documentLoadTiming): |
| |
| 2015-01-21 Benjamin Poulain <benjamin@webkit.org> |
| |
| Handle the transition on any character as a separate type of transition |
| https://bugs.webkit.org/show_bug.cgi?id=140711 |
| |
| Reviewed by Andreas Kling. |
| |
| Instead of considering the universal transition as 127 transitions, it is now |
| handled as a separate type of transition. |
| |
| The goal is to reduce the number of exit edge to consider for each node. Instead |
| of having 127 for any partition containing one universal transition, we have |
| as few exit edges as necessary + one universal transition. |
| |
| In the NFA, the universal transition is stored directly on NFANode in a new |
| HashSet (transitionsOnAnyCharacter). |
| The target nodes are made exclusive between "transitionsOnAnyCharacter" and "transitions" |
| by construction. That is not strictly needed but it simplify debugging at the moment. |
| |
| When converting a NFA to a DFA, we first find all the node that transition on any character. |
| Then, when we iterate over "real" transition, we also augment that set with the set on |
| any character. |
| |
| When creating the DFA node, we first consider each "real" transition, then we have a single |
| "fallback" transition for any character that has not been handled yet. |
| |
| When matching, we first search for any real transition. If there is none but a fallback exists, |
| we take the fallback. |
| |
| * contentextensions/DFA.cpp: |
| (WebCore::ContentExtensions::DFA::nextState): |
| (WebCore::ContentExtensions::printTransitions): |
| (WebCore::ContentExtensions::DFA::debugPrintDot): |
| (WebCore::ContentExtensions::printTransition): Deleted. |
| * contentextensions/DFANode.h: |
| * contentextensions/NFA.cpp: |
| (WebCore::ContentExtensions::NFA::addTransition): |
| (WebCore::ContentExtensions::NFA::addTransitionsOnAnyCharacter): |
| (WebCore::ContentExtensions::printTransitions): |
| (WebCore::ContentExtensions::NFA::debugPrintDot): |
| (WebCore::ContentExtensions::printTransition): Deleted. |
| * contentextensions/NFA.h: |
| * contentextensions/NFANode.h: |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::populateTransitions): |
| (WebCore::ContentExtensions::getOrCreateDFANode): |
| (WebCore::ContentExtensions::NFAToDFA::convert): |
| * contentextensions/URLFilterParser.cpp: |
| (WebCore::ContentExtensions::GraphBuilder::generateTransition): |
| |
| 2015-01-20 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r178180): Membuster regressed ~4% |
| https://bugs.webkit.org/show_bug.cgi?id=140495 |
| |
| Reviewed by Andreas Kling. |
| |
| After r178180 we keep system fallback fonts that are used on glyph pages alive. |
| Previously we would traverse the glyph pages and remove entries referencing system fallbacks. |
| |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::purgeInactiveFontData): |
| * platform/graphics/FontCascade.cpp: |
| (WebCore::pruneUnreferencedEntriesFromFontGlyphsCache): |
| (WebCore::pruneSystemFallbackFonts): |
| * platform/graphics/FontCascade.h: |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::pruneSystemFallbacks): |
| |
| When clearing the font cache also remove the cached glyph pages that may contain system fallback fonts |
| and release the fallbacks. |
| |
| * platform/graphics/FontGlyphs.h: |
| |
| 2015-01-21 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| first-letter pseudo-element from ancestors is not being ignored in grids and flexboxes |
| https://bugs.webkit.org/show_bug.cgi?id=138424 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Source/WebCore: |
| |
| According to the grid and flexbox specs: |
| "::first-letter pseudo-element do not apply to grid/flex containers". |
| http://dev.w3.org/csswg/css-grid/#grid-containers |
| http://dev.w3.org/csswg/css-flexbox/#flex-containers |
| |
| Check also the CSS WG mailing list discussion: |
| http://lists.w3.org/Archives/Public/www-style/2014Dec/0305.html |
| |
| This was almost working right, except in the case that an ancestor was |
| setting the ::first-letter pseudo-element. |
| |
| Added a few more cases to the current tests in order to check this |
| behavior. |
| Also created some new tests to increase coverage |
| |
| Tests: fast/css/first-letter-from-ancestors-not-apply-inline-elements.html |
| fast/css/first-letter-ignores-display-property.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::getFirstLetter): Go to the next sibling when |
| looking for the first text child if you reach a grid or flexbox. |
| |
| 2015-01-21 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix cast-align warning in Source/WebCore/platform/efl/EflScreenUtilities.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140670 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/efl/EflScreenUtilities.cpp: |
| (WebCore::createCustomCursor): |
| |
| 2015-01-21 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Remove ENABLE(INSPECTOR) ifdef guards |
| https://bugs.webkit.org/show_bug.cgi?id=140668 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebCore.exp.in: |
| * bindings/js/JSCommandLineAPIHostCustom.cpp: |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::supportsProfiling): |
| (WebCore::JSDOMWindowBase::supportsRichSourceInfo): |
| * bindings/js/JSInspectorFrontendHostCustom.cpp: |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::collectIsolatedContexts): |
| * bindings/js/ScriptController.h: |
| * bindings/js/ScriptGlobalObject.cpp: |
| (WebCore::ScriptGlobalObject::set): |
| * bindings/js/ScriptGlobalObject.h: |
| * bindings/js/WorkerScriptDebugServer.cpp: |
| * bindings/js/WorkerScriptDebugServer.h: |
| * dom/Node.cpp: |
| (WebCore::Node::inspect): |
| * inspector/CommandLineAPIHost.cpp: |
| * inspector/CommandLineAPIHost.idl: |
| * inspector/CommandLineAPIModule.cpp: |
| * inspector/CommandLineAPIModule.h: |
| * inspector/DOMEditor.cpp: |
| * inspector/DOMEditor.h: |
| * inspector/DOMPatchSupport.cpp: |
| * inspector/DOMPatchSupport.h: |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| * inspector/InspectorApplicationCacheAgent.h: |
| * inspector/InspectorCSSAgent.cpp: |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorClient.cpp: |
| * inspector/InspectorConsoleInstrumentation.h: |
| (WebCore::InspectorInstrumentation::addMessageToConsole): |
| (WebCore::InspectorInstrumentation::consoleCount): |
| (WebCore::InspectorInstrumentation::startConsoleTiming): |
| (WebCore::InspectorInstrumentation::stopConsoleTiming): |
| (WebCore::InspectorInstrumentation::consoleTimeStamp): |
| (WebCore::InspectorInstrumentation::startProfiling): |
| (WebCore::InspectorInstrumentation::stopProfiling): |
| * inspector/InspectorController.cpp: |
| * inspector/InspectorController.h: |
| * inspector/InspectorDOMAgent.cpp: |
| * inspector/InspectorDOMAgent.h: |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| * inspector/InspectorDatabaseAgent.cpp: |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorDatabaseInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didOpenDatabase): |
| * inspector/InspectorDatabaseResource.cpp: |
| * inspector/InspectorDatabaseResource.h: |
| * inspector/InspectorFrontendClientLocal.cpp: |
| * inspector/InspectorFrontendHost.cpp: |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/InspectorHistory.cpp: |
| * inspector/InspectorHistory.h: |
| * inspector/InspectorIndexedDBAgent.cpp: |
| * inspector/InspectorIndexedDBAgent.h: |
| * inspector/InspectorInstrumentation.cpp: |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld): |
| (WebCore::InspectorInstrumentation::isDebuggerPaused): |
| (WebCore::InspectorInstrumentation::willInsertDOMNode): |
| (WebCore::InspectorInstrumentation::didInsertDOMNode): |
| (WebCore::InspectorInstrumentation::willRemoveDOMNode): |
| (WebCore::InspectorInstrumentation::didRemoveDOMNode): |
| (WebCore::InspectorInstrumentation::willModifyDOMAttr): |
| (WebCore::InspectorInstrumentation::didModifyDOMAttr): |
| (WebCore::InspectorInstrumentation::didRemoveDOMAttr): |
| (WebCore::InspectorInstrumentation::didInvalidateStyleAttr): |
| (WebCore::InspectorInstrumentation::frameWindowDiscarded): |
| (WebCore::InspectorInstrumentation::mediaQueryResultChanged): |
| (WebCore::InspectorInstrumentation::didPushShadowRoot): |
| (WebCore::InspectorInstrumentation::willPopShadowRoot): |
| (WebCore::InspectorInstrumentation::didCreateNamedFlow): |
| (WebCore::InspectorInstrumentation::willRemoveNamedFlow): |
| (WebCore::InspectorInstrumentation::didChangeRegionOverset): |
| (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement): |
| (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement): |
| (WebCore::InspectorInstrumentation::mouseDidMoveOverElement): |
| (WebCore::InspectorInstrumentation::handleTouchEvent): |
| (WebCore::InspectorInstrumentation::handleMousePress): |
| (WebCore::InspectorInstrumentation::forcePseudoState): |
| (WebCore::InspectorInstrumentation::characterDataModified): |
| (WebCore::InspectorInstrumentation::willSendXMLHttpRequest): |
| (WebCore::InspectorInstrumentation::didInstallTimer): |
| (WebCore::InspectorInstrumentation::didRemoveTimer): |
| (WebCore::InspectorInstrumentation::willCallFunction): |
| (WebCore::InspectorInstrumentation::didCallFunction): |
| (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): |
| (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): |
| (WebCore::InspectorInstrumentation::willDispatchEvent): |
| (WebCore::InspectorInstrumentation::didDispatchEvent): |
| (WebCore::InspectorInstrumentation::willHandleEvent): |
| (WebCore::InspectorInstrumentation::didHandleEvent): |
| (WebCore::InspectorInstrumentation::willDispatchEventOnWindow): |
| (WebCore::InspectorInstrumentation::didDispatchEventOnWindow): |
| (WebCore::InspectorInstrumentation::willEvaluateScript): |
| (WebCore::InspectorInstrumentation::didEvaluateScript): |
| (WebCore::InspectorInstrumentation::scriptsEnabled): |
| (WebCore::InspectorInstrumentation::willFireTimer): |
| (WebCore::InspectorInstrumentation::didFireTimer): |
| (WebCore::InspectorInstrumentation::didInvalidateLayout): |
| (WebCore::InspectorInstrumentation::willLayout): |
| (WebCore::InspectorInstrumentation::didLayout): |
| (WebCore::InspectorInstrumentation::didScroll): |
| (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): |
| (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): |
| (WebCore::InspectorInstrumentation::willPaint): |
| (WebCore::InspectorInstrumentation::didPaint): |
| (WebCore::InspectorInstrumentation::willScrollLayer): |
| (WebCore::InspectorInstrumentation::didScrollLayer): |
| (WebCore::InspectorInstrumentation::willRecalculateStyle): |
| (WebCore::InspectorInstrumentation::didRecalculateStyle): |
| (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation): |
| (WebCore::InspectorInstrumentation::applyEmulatedMedia): |
| (WebCore::InspectorInstrumentation::willSendRequest): |
| (WebCore::InspectorInstrumentation::continueAfterPingLoader): |
| (WebCore::InspectorInstrumentation::markResourceAsCached): |
| (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponse): |
| (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied): |
| (WebCore::InspectorInstrumentation::continueWithPolicyDownload): |
| (WebCore::InspectorInstrumentation::continueWithPolicyIgnore): |
| (WebCore::InspectorInstrumentation::didReceiveData): |
| (WebCore::InspectorInstrumentation::didFinishLoading): |
| (WebCore::InspectorInstrumentation::didFailLoading): |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): |
| (WebCore::InspectorInstrumentation::willLoadXHR): |
| (WebCore::InspectorInstrumentation::didFailXHRLoading): |
| (WebCore::InspectorInstrumentation::didFinishXHRLoading): |
| (WebCore::InspectorInstrumentation::didReceiveXHRResponse): |
| (WebCore::InspectorInstrumentation::willLoadXHRSynchronously): |
| (WebCore::InspectorInstrumentation::didLoadXHRSynchronously): |
| (WebCore::InspectorInstrumentation::scriptImported): |
| (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP): |
| (WebCore::InspectorInstrumentation::didReceiveScriptResponse): |
| (WebCore::InspectorInstrumentation::domContentLoadedEventFired): |
| (WebCore::InspectorInstrumentation::loadEventFired): |
| (WebCore::InspectorInstrumentation::frameDetachedFromParent): |
| (WebCore::InspectorInstrumentation::didCommitLoad): |
| (WebCore::InspectorInstrumentation::frameDocumentUpdated): |
| (WebCore::InspectorInstrumentation::loaderDetachedFromFrame): |
| (WebCore::InspectorInstrumentation::frameStartedLoading): |
| (WebCore::InspectorInstrumentation::frameStoppedLoading): |
| (WebCore::InspectorInstrumentation::frameScheduledNavigation): |
| (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation): |
| (WebCore::InspectorInstrumentation::willRunJavaScriptDialog): |
| (WebCore::InspectorInstrumentation::didRunJavaScriptDialog): |
| (WebCore::InspectorInstrumentation::willDestroyCachedResource): |
| (WebCore::InspectorInstrumentation::willWriteHTML): |
| (WebCore::InspectorInstrumentation::didWriteHTML): |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent): |
| (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart): |
| (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope): |
| (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated): |
| (WebCore::InspectorInstrumentation::didCreateWebSocket): |
| (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): |
| (WebCore::InspectorInstrumentation::didCloseWebSocket): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError): |
| (WebCore::InspectorInstrumentation::didSendWebSocketFrame): |
| (WebCore::InspectorInstrumentation::sessionCreated): |
| (WebCore::InspectorInstrumentation::sessionLoaded): |
| (WebCore::InspectorInstrumentation::sessionModified): |
| (WebCore::InspectorInstrumentation::segmentCreated): |
| (WebCore::InspectorInstrumentation::segmentCompleted): |
| (WebCore::InspectorInstrumentation::segmentLoaded): |
| (WebCore::InspectorInstrumentation::segmentUnloaded): |
| (WebCore::InspectorInstrumentation::captureStarted): |
| (WebCore::InspectorInstrumentation::captureStopped): |
| (WebCore::InspectorInstrumentation::playbackStarted): |
| (WebCore::InspectorInstrumentation::playbackPaused): |
| (WebCore::InspectorInstrumentation::playbackFinished): |
| (WebCore::InspectorInstrumentation::playbackHitPosition): |
| (WebCore::InspectorInstrumentation::networkStateChanged): |
| (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): |
| (WebCore::InspectorInstrumentation::didRequestAnimationFrame): |
| (WebCore::InspectorInstrumentation::didCancelAnimationFrame): |
| (WebCore::InspectorInstrumentation::willFireAnimationFrame): |
| (WebCore::InspectorInstrumentation::didFireAnimationFrame): |
| (WebCore::InspectorInstrumentation::layerTreeDidChange): |
| (WebCore::InspectorInstrumentation::renderLayerDestroyed): |
| (WebCore::InspectorInstrumentation::pseudoElementDestroyed): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument): |
| (WebCore::InspectorInstrumentation::hasFrontends): Deleted. |
| (WebCore::InspectorInstrumentation::consoleAgentEnabled): Deleted. |
| (WebCore::InspectorInstrumentation::runtimeAgentEnabled): Deleted. |
| (WebCore::InspectorInstrumentation::timelineAgentEnabled): Deleted. |
| (WebCore::InspectorInstrumentation::replayAgentEnabled): Deleted. |
| * inspector/InspectorLayerTreeAgent.cpp: |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorOverlay.cpp: |
| * inspector/InspectorPageAgent.cpp: |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.cpp: |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorStyleSheet.cpp: |
| * inspector/InspectorStyleSheet.h: |
| * inspector/InspectorStyleTextEditor.cpp: |
| * inspector/InspectorStyleTextEditor.h: |
| * inspector/InspectorTimelineAgent.cpp: |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/InspectorWorkerAgent.cpp: |
| * inspector/InspectorWorkerResource.h: |
| * inspector/InstrumentingAgents.cpp: |
| * inspector/NetworkResourcesData.cpp: |
| * inspector/NetworkResourcesData.h: |
| * inspector/PageConsoleAgent.cpp: |
| * inspector/PageConsoleAgent.h: |
| * inspector/PageDebuggerAgent.cpp: |
| * inspector/PageDebuggerAgent.h: |
| * inspector/PageRuntimeAgent.cpp: |
| * inspector/PageRuntimeAgent.h: |
| * inspector/PageScriptDebugServer.cpp: |
| * inspector/PageScriptDebugServer.h: |
| * inspector/TimelineRecordFactory.cpp: |
| * inspector/WebConsoleAgent.cpp: |
| * inspector/WebConsoleAgent.h: |
| * inspector/WebDebuggerAgent.cpp: |
| * inspector/WebDebuggerAgent.h: |
| * inspector/WebInjectedScriptHost.cpp: |
| * inspector/WebInjectedScriptHost.h: |
| * inspector/WebInjectedScriptManager.cpp: |
| * inspector/WebInjectedScriptManager.h: |
| * inspector/WorkerConsoleAgent.cpp: |
| * inspector/WorkerConsoleAgent.h: |
| * inspector/WorkerDebuggerAgent.cpp: |
| * inspector/WorkerDebuggerAgent.h: |
| * inspector/WorkerInspectorController.cpp: |
| * inspector/WorkerInspectorController.h: |
| * inspector/WorkerRuntimeAgent.cpp: |
| * inspector/WorkerRuntimeAgent.h: |
| * loader/DocumentThreadableLoader.cpp: |
| (WebCore::DocumentThreadableLoader::didReceiveResponse): |
| (WebCore::DocumentThreadableLoader::loadRequest): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): |
| (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::createResourceHandle): |
| (WebCore::ApplicationCacheGroup::didReceiveResponse): |
| * loader/appcache/ApplicationCacheHost.cpp: |
| (WebCore::ApplicationCacheHost::applicationCacheInfo): |
| * loader/appcache/ApplicationCacheHost.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache): |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::showContextMenu): |
| (WebCore::ContextMenuController::contextMenuItemSelected): |
| (WebCore::ContextMenuController::populate): |
| (WebCore::ContextMenuController::addInspectElementItem): |
| (WebCore::ContextMenuController::checkOrEnableIfNeeded): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::sendResizeEventIfNeeded): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::~Page): |
| * page/Page.h: |
| * platform/ContextMenuItem.h: |
| * platform/efl/EflInspectorUtilities.cpp: |
| * platform/efl/EflInspectorUtilities.h: |
| * platform/network/ResourceRequestBase.h: |
| (WebCore::ResourceRequestBase::ResourceRequestBase): |
| * platform/network/cf/ResourceRequestCFNet.cpp: |
| (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): |
| * platform/network/cocoa/ResourceRequestCocoa.mm: |
| (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): |
| * testing/Internals.cpp: |
| (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend): |
| (WebCore::Internals::resetToConsistentState): |
| (WebCore::Internals::inspectorHighlightRects): |
| (WebCore::Internals::inspectorHighlightObject): |
| (WebCore::Internals::setInspectorIsUnderTest): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::WorkerGlobalScope): |
| * workers/WorkerGlobalScope.h: |
| * workers/WorkerGlobalScopeProxy.h: |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): |
| (WebCore::WorkerMessagingProxy::sendMessageToInspector): |
| (WebCore::WorkerMessagingProxy::postMessageToPageInspector): |
| * workers/WorkerMessagingProxy.h: |
| * workers/WorkerReportingProxy.h: |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThread::workerThread): |
| |
| 2015-01-20 Chris Dumez <cdumez@apple.com> |
| |
| Simplify DiagnosticLoggingClient call sites |
| https://bugs.webkit.org/show_bug.cgi?id=140701 |
| |
| Reviewed by Andreas Kling. |
| |
| Simplify DiagnosticLoggingClient call sites by: |
| - Moving the Settings::diagnosticLoggingEnabled() check inside the |
| MainFrame::diagnosticLoggingClient() getter. |
| - Having MainFrame::diagnosticLoggingClient() return a reference |
| instead of a pointer (returning a dummy client if necessary). |
| |
| Otherwise, each call site needs to both check the setting and do a |
| null-check on the client which is a bit annoying. |
| |
| * history/PageCache.cpp: |
| (WebCore::logPageCacheFailureDiagnosticMessage): |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::logCanCachePageDecision): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::logNavigation): |
| (WebCore::FrameLoader::checkLoadCompleteForThisFrame): |
| * loader/SubframeLoader.cpp: |
| (WebCore::logPluginRequest): |
| * loader/SubresourceLoader.cpp: |
| (WebCore::logResourceLoaded): |
| * page/DiagnosticLoggingClient.h: |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Deleted. |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Deleted. |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Deleted. |
| * page/MainFrame.cpp: |
| (WebCore::MainFrame::diagnosticLoggingClient): |
| * page/MainFrame.h: |
| |
| 2015-01-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Should show dynamic specificity values |
| https://bugs.webkit.org/show_bug.cgi?id=140647 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Test: inspector/css/selector-dynamic-specificity.html |
| |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::setRuleSelector): |
| (WebCore::InspectorCSSAgent::addRule): |
| (WebCore::InspectorCSSAgent::buildObjectForRule): |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| When building a response for a particular element, pass the element along. |
| |
| * inspector/InspectorStyleSheet.h: |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::hasDynamicSpecificity): |
| (WebCore::buildObjectForSelectorHelper): |
| (WebCore::selectorsFromSource): |
| (WebCore::InspectorStyleSheet::buildObjectForSelector): |
| (WebCore::InspectorStyleSheet::buildObjectForSelectorList): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::buildArrayForRuleList): |
| (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
| When building a response for a Selector, include the specificity if we know |
| the element in context. |
| |
| 2015-01-20 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Build fix after r178760. |
| |
| Windows will not accept a variable as the size declaration for an array. |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::appendGSUBTable): Make size argument a const. |
| |
| 2015-01-20 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed Windows project file gardening. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Add missing SVG files and put things in their proper |
| folders. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| |
| 2015-01-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| URLFilterParser dismisses the last atom when parsing a builtin character class |
| https://bugs.webkit.org/show_bug.cgi?id=140695 |
| |
| Reviewed by Andreas Kling. |
| |
| The pending atom was not sunk before creating the new atom. |
| |
| * contentextensions/URLFilterParser.cpp: |
| (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass): |
| |
| 2015-01-20 Andreas Kling <akling@apple.com> |
| |
| Fast path for casting JSValue to JSDocument*. |
| <https://webkit.org/b/134655> |
| |
| Add a custom JSType bit for JSDocument so we can quickly cast to it |
| from JSValue in the DocumentPrototype functions. This removes a bunch |
| of grunt work and branches from common functions like getElementById. |
| |
| Also removed GetCastingHelperForBaseObject and replace it with |
| simple jsCasts since we don't need dynamic type checks for the base. |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSDOMWrapper.h: |
| * bindings/js/JSDocumentCustom.h: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| (GetCastingHelperForThisObject): |
| (GenerateImplementation): |
| (GetCastingHelperForBaseObject): Deleted. |
| * dom/Document.idl: |
| |
| 2015-01-20 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178751. |
| https://bugs.webkit.org/show_bug.cgi?id=140694 |
| |
| Caused 32-bit JSC test failures (Requested by JoePeck on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "put_by_val_direct need to check the property is index or not |
| for using putDirect / putDirectIndex" |
| https://bugs.webkit.org/show_bug.cgi?id=140426 |
| http://trac.webkit.org/changeset/178751 |
| |
| 2015-01-20 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Use FlowContents::Segment::text instead of renderer when possible. |
| https://bugs.webkit.org/show_bug.cgi?id=140692 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| |
| 2015-01-20 David Kilzer <ddkilzer@apple.com> |
| |
| Switch to comparing PLATFORM_NAME in terms of macosx |
| <http://webkit.org/b/139516> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * bindings/scripts/preprocessor.pm: |
| (applyPreprocessor): |
| * generate-export-file: |
| (preprocessorMacros): |
| |
| 2015-01-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| Attempt to fix 32bits builds after r178743 |
| |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL): |
| |
| 2015-01-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex |
| https://bugs.webkit.org/show_bug.cgi?id=140426 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Test: js/dfg-put-by-val-direct-with-edge-numbers.html |
| |
| * bindings/js/JSDOMWindowCustom.cpp: |
| (WebCore::JSDOMWindow::getOwnPropertySlot): |
| * bindings/js/JSHTMLAllCollectionCustom.cpp: |
| (WebCore::callHTMLAllCollection): |
| (WebCore::JSHTMLAllCollection::item): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateGetOwnPropertySlotBody): |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSFloat64Array.cpp: |
| (WebCore::JSFloat64Array::getOwnPropertySlot): |
| (WebCore::JSFloat64Array::getOwnPropertyDescriptor): |
| (WebCore::JSFloat64Array::put): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::JSTestEventTarget::getOwnPropertySlot): |
| * bridge/runtime_array.cpp: |
| (JSC::RuntimeArray::getOwnPropertySlot): |
| (JSC::RuntimeArray::put): |
| |
| 2015-01-20 Chris Dumez <cdumez@apple.com> |
| |
| Drop width / height shorthands code from StylePropertyShorthand.* |
| https://bugs.webkit.org/show_bug.cgi?id=140686 |
| |
| Reviewed by Andreas Kling. |
| |
| Drop width / height shorthands code from StylePropertyShorthand.*. |
| width / height are not shorthands for min-width/max-width and |
| min-height/max-height. Also, only matchingCustomShorthandsForLonghand() |
| treats these as shorthands. For e.g, the reverse method |
| (indexOfShorthandForLonghand()) does not. |
| |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::widthShorthand): Deleted. |
| (WebCore::heightShorthand): Deleted. |
| * css/StylePropertyShorthand.h: |
| (WebCore::matchingCustomShorthandsForLonghand): |
| |
| 2015-01-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add a mechanism to ignore previous content extension rules |
| https://bugs.webkit.org/show_bug.cgi?id=140663 |
| |
| Reviewed by Andreas Kling. |
| |
| * contentextensions/ContentExtensionRule.h: |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL): |
| * contentextensions/ContentExtensionsManager.cpp: |
| (WebCore::ContentExtensions::ExtensionsManager::loadAction): |
| |
| 2015-01-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| Resolve the epsilon transitions for each state upfront instead of dynamically |
| https://bugs.webkit.org/show_bug.cgi?id=140654 |
| |
| Reviewed by Andreas Kling. |
| |
| Instead of recomputing the epsilon-closure for each set, we compute the closure |
| of every element at the beginning of the transformation. |
| |
| We then remove the epsilon transitions from the NFA to simplify populateTransitions(). |
| The epsilon transitions are still there, but they are now in a separate graph we use |
| in parallel. |
| |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::epsilonClosureExcludingSelf): |
| (WebCore::ContentExtensions::resolveEpsilonClosures): |
| (WebCore::ContentExtensions::extendSetWithClosure): |
| (WebCore::ContentExtensions::populateTransitions): |
| (WebCore::ContentExtensions::NFAToDFA::convert): |
| (WebCore::ContentExtensions::epsilonClosure): Deleted. |
| (WebCore::ContentExtensions::populateTransitionsExcludingEpsilon): Deleted. |
| * contentextensions/NFAToDFA.h: |
| |
| 2015-01-20 Chris Dumez <cdumez@apple.com> |
| |
| Log types of resources being loaded using DiagnosticLoggingClient |
| https://bugs.webkit.org/show_bug.cgi?id=140682 |
| |
| Reviewed by Andreas Kling. |
| |
| Log types of resources being loaded using DiagnosticLoggingClient |
| instead of the legacy FeatureCounter. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::logResourceLoaded): |
| (WebCore::SubresourceLoader::didFinishLoading): |
| (WebCore::logResourceLoadedUsingFeatureCounter): Deleted. |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::otherKey): |
| (WebCore::DiagnosticLoggingKeys::mainResourceKey): |
| (WebCore::DiagnosticLoggingKeys::loadedKey): |
| (WebCore::DiagnosticLoggingKeys::imageKey): |
| (WebCore::DiagnosticLoggingKeys::rawKey): |
| (WebCore::DiagnosticLoggingKeys::resourceKey): |
| (WebCore::DiagnosticLoggingKeys::scriptKey): |
| (WebCore::DiagnosticLoggingKeys::styleSheetKey): |
| (WebCore::DiagnosticLoggingKeys::svgDocumentKey): |
| (WebCore::DiagnosticLoggingKeys::fontKey): |
| * page/DiagnosticLoggingKeys.h: |
| * platform/FeatureCounterKeys.h: |
| |
| 2015-01-20 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Remove redundant style.preserveNewline check when collapsing trailing whitespace. |
| https://bugs.webkit.org/show_bug.cgi?id=140684 |
| |
| Reviewed by Antti Koivisto. |
| |
| FlowContents::isLineBreak() checks whether we are at a hard newline. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| |
| 2015-01-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a way to collect scrolling performance data (viewport tile coverage) with UI-side compositing |
| https://bugs.webkit.org/show_bug.cgi?id=140474 |
| |
| Reviewed by Tim Horton. |
| |
| Add accessors for standard names for container CALayer for each of the tile grids, |
| and when tile grids are swapped, update those names as appropriate. |
| |
| * WebCore.exp.in: |
| * platform/graphics/ca/TileController.cpp: |
| (WebCore::TileController::tileGridContainerLayerName): |
| (WebCore::TileController::zoomedOutTileGridContainerLayerName): |
| (WebCore::TileController::setContentsScale): |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/ca/TileGrid.cpp: |
| (WebCore::TileGrid::TileGrid): |
| (WebCore::TileGrid::setIsZoomedOutTileGrid): |
| * platform/graphics/ca/TileGrid.h: |
| |
| 2015-01-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix unused-private-field warning in IconEfl.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140676 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/graphics/Icon.h: |
| * platform/graphics/efl/IconEfl.cpp: |
| (WebCore::Icon::Icon): Deleted. |
| |
| 2015-01-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix unused-private-field warning in FontCustomPlatformDataFreeType.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140677 |
| |
| Reviewed by Martin Robinson. |
| |
| * platform/graphics/cairo/FontCustomPlatformData.h: |
| * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: |
| (WebCore::FontCustomPlatformData::FontCustomPlatformData): |
| (WebCore::FontCustomPlatformData::~FontCustomPlatformData): |
| |
| 2015-01-20 peavo@outlook.com <peavo@outlook.com> |
| |
| Plugin content not loaded. |
| https://bugs.webkit.org/show_bug.cgi?id=140672 |
| |
| Reviewed by Brent Fulgham. |
| |
| It seems this is caused by a std::unique_ptr in CClass::methodNamed being moved, |
| resetting its raw pointer. The raw pointer, which now is null, is then returned |
| from the method. |
| |
| * bridge/c/c_class.cpp: |
| (JSC::Bindings::CClass::methodNamed): |
| (JSC::Bindings::CClass::fieldNamed): |
| |
| 2015-01-20 Darin Adler <darin@apple.com> |
| |
| Remove SVGElementInstanceList, m_instanceUnderMouse, DUMP_INSTANCE_TREE, DUMP_SHADOW_TREE |
| https://bugs.webkit.org/show_bug.cgi?id=140679 |
| |
| Reviewed by Anders Carlsson. |
| |
| First step in removing the SVG instance tree. |
| All based on redoing the same excellent work Rob Buis did to remove this in Blink in crbug.com/313438. |
| |
| * CMakeLists.txt: Removed the source files. |
| * DerivedSources.cpp: Ditto. |
| * DerivedSources.make: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::clear): Removed code to set unused m_instanceUnderMouse. |
| (WebCore::EventHandler::updateMouseEventTargetNode): Ditto. |
| * page/EventHandler.h: Removed m_instanceUnderMouse. |
| |
| * svg/SVGAllInOne.cpp: Removed the source files. |
| * svg/SVGElementInstance.cpp: |
| (WebCore::SVGElementInstance::childNodes): Deleted. |
| * svg/SVGElementInstance.h: Removed childNodes. |
| * svg/SVGElementInstance.idl: Ditto. |
| * svg/SVGElementInstanceList.cpp: Removed. |
| * svg/SVGElementInstanceList.h: Removed. |
| * svg/SVGElementInstanceList.idl: Removed. |
| * svg/SVGUseElement.cpp: |
| (WebCore::dumpInstanceTree): Deleted. |
| (WebCore::SVGUseElement::buildShadowAndInstanceTree): Removed DUMP_INSTANCE_TREE and |
| DUMP_SHADOW_TREE code. |
| |
| 2015-01-19 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Replay: code generator should take supplemental specifications and allow cross-framework references |
| https://bugs.webkit.org/show_bug.cgi?id=136312 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Changes covered by existing input generator tests. |
| |
| * DerivedSources.make: Add JSInputs.json as supplemental specification. |
| * replay/WebInputs.json: Moved common types to JSInputs.json. |
| |
| 2015-01-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix unused-const-variable warning in RenderLayerCompositor.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140678 |
| |
| Reviewed by Simon Fraser. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| |
| 2015-01-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [gstreamer] Fix expression result unused warning in GRefPtrGStreamer.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140671 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: |
| (WTF::refGPtr<GstToc>): |
| |
| 2015-01-19 Dean Jackson <dino@apple.com> |
| |
| Support "plus-darker" in mix-blend mode |
| https://bugs.webkit.org/show_bug.cgi?id=140646 |
| <rdar://problem/19523370> |
| |
| Reviewed by Simon Fraser. |
| |
| Support the "plus-darker" blending mode to CSS. |
| See: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html |
| |
| Test: css3/blending/svg-blend-plus-darker.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept |
| the new keyword. |
| * css/CSSPrimitiveValueMappings.h: Add the mappings. |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator BlendMode): |
| * platform/graphics/GraphicsTypes.cpp: Add the new GraphicsType. |
| * platform/graphics/GraphicsTypes.h: |
| * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA compositing filter. |
| (PlatformCAFilters::setBlendingFiltersOnLayer): |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG blending flag. |
| |
| 2015-01-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix 'register' storage class specifier is deprecated warning |
| https://bugs.webkit.org/show_bug.cgi?id=140669 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (webKitWebAudioSrcLoop): |
| |
| 2015-01-20 Chris Dumez <cdumez@apple.com> |
| |
| Use DiagnosticLoggingClient to log page cache failures |
| https://bugs.webkit.org/show_bug.cgi?id=140650 |
| |
| Reviewed by Andreas Kling. |
| |
| Use DiagnosticLoggingClient to log page cache failures instead of the |
| legacy FeatureCounter. |
| |
| * history/PageCache.cpp: |
| (WebCore::logPageCacheFailureDiagnosticMessage): |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::logCanCachePageDecision): |
| (WebCore::PageCache::canCache): |
| (WebCore::pruningReasonToDiagnosticLoggingKey): |
| (WebCore::PageCache::take): |
| (WebCore::PageCache::get): |
| (WebCore::pruningReasonToFeatureCounterKey): Deleted. |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::successKey): |
| (WebCore::DiagnosticLoggingKeys::failureKey): |
| (WebCore::DiagnosticLoggingKeys::pageLoadedKey): |
| (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey): |
| (WebCore::DiagnosticLoggingKeys::navigationKey): |
| (WebCore::DiagnosticLoggingKeys::pageCacheKey): |
| (WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey): |
| (WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey): |
| (WebCore::DiagnosticLoggingKeys::isErrorPageKey): |
| (WebCore::DiagnosticLoggingKeys::hasPluginsKey): |
| (WebCore::DiagnosticLoggingKeys::httpsNoStoreKey): |
| (WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey): |
| (WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey): |
| (WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey): |
| (WebCore::DiagnosticLoggingKeys::loadingAPISenseKey): |
| (WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey): |
| (WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey): |
| (WebCore::DiagnosticLoggingKeys::applicationCacheKey): |
| (WebCore::DiagnosticLoggingKeys::deniedByClientKey): |
| (WebCore::DiagnosticLoggingKeys::deviceMotionKey): |
| (WebCore::DiagnosticLoggingKeys::deviceOrientationKey): |
| (WebCore::DiagnosticLoggingKeys::deviceProximityKey): |
| (WebCore::DiagnosticLoggingKeys::reloadKey): |
| (WebCore::DiagnosticLoggingKeys::reloadFromOriginKey): |
| (WebCore::DiagnosticLoggingKeys::sameLoadKey): |
| (WebCore::DiagnosticLoggingKeys::expiredKey): |
| (WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey): |
| (WebCore::DiagnosticLoggingKeys::prunedDueToCapacityReached): |
| (WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended): |
| (WebCore::DiagnosticLoggingKeys::passKey): Deleted. |
| (WebCore::DiagnosticLoggingKeys::failKey): Deleted. |
| (WebCore::DiagnosticLoggingKeys::noopKey): Deleted. |
| * page/DiagnosticLoggingKeys.h: |
| * platform/FeatureCounterKeys.h: |
| |
| 2015-01-19 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Wrong arguments passed to computeNormalizedFractionBreadth |
| https://bugs.webkit.org/show_bug.cgi?id=139058 |
| |
| Reviewed by Andreas Kling. |
| |
| The method RenderGrid::computeNormalizedFractionBreadth() is |
| supposed to get as fourth argument either the grid element's |
| content box size or the max-size of a particular grid item. For |
| the former we were incorrectly passing the free space after |
| distributing the available space to tracks. |
| |
| Apart from that, that method has a bug in its implementation. As |
| we were using the free space instead of the grid element's content |
| box size, we didn't have to subtract the usedBreadth of grid |
| tracks from the passed in value. That did not work for the case of |
| the caller passing the max-size of a particular item. |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): |
| (WebCore::RenderGrid::computeNormalizedFractionBreadth): |
| |
| 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Flip the switch on |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178683. |
| https://bugs.webkit.org/show_bug.cgi?id=140657 |
| |
| Lots of asserts in tests. (Requested by JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "LayoutState and subtree layout code should use |
| RenderElement." |
| https://bugs.webkit.org/show_bug.cgi?id=126878 |
| http://trac.webkit.org/changeset/178683 |
| |
| 2015-01-19 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed gardening. |
| |
| Avoid compiling files twice when they are included in an 'AllInOne.cpp' file. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Mark several files as 'not to be built', since |
| they are also build as part of an 'AllInOne.cpp' file. |
| |
| 2015-01-19 Chris Dumez <cdumez@apple.com> |
| |
| Stop using FeatureCounter to log navigation types |
| https://bugs.webkit.org/show_bug.cgi?id=140642 |
| |
| Reviewed by Andreas Kling. |
| |
| Stop using FeatureCounter to log navigation types now that |
| DiagnosticLoggingClient is working on iOS. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::logNavigation): |
| * platform/FeatureCounterKeys.h: |
| |
| 2015-01-19 Andreas Kling <akling@apple.com> |
| |
| LayoutState and subtree layout code should use RenderElement. |
| <https://webkit.org/b/126878> |
| |
| Subtree layout will never begin at a RenderText, so tighten up |
| the code to operate on RenderElements instead of RenderObjects. |
| |
| Reviewed by Antti Koivisto. |
| |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::willLayout): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layoutRoot): |
| (WebCore::FrameView::layout): |
| * page/FrameView.h: |
| |
| Make FrameView::layoutRoot() return RenderElement*. |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::willBeDestroyed): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::willBeDestroyed): |
| * rendering/RenderObject.h: |
| |
| Move subtree layout root clearing logic in willBeDestroyed() |
| from RenderObject to RenderElement. |
| |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/LayoutState.h: |
| * rendering/RenderView.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::pushLayoutState): |
| (WebCore::RenderView::pushLayoutStateForCurrentFlowThread): |
| |
| Make all of these functions take RenderElement instead of |
| RenderObject since layout never starts from a RenderText. |
| |
| (WebCore::RenderView::shouldDisableLayoutStateForSubtree): |
| |
| Tweak loop since it's never null on first iteration. |
| |
| 2015-01-19 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/NSViewSPI.h: |
| |
| 2015-01-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Adjust naming of action menu SPI |
| https://bugs.webkit.org/show_bug.cgi?id=140644 |
| <rdar://problem/19448129> |
| |
| Reviewed by Brian Weinstein. |
| |
| * platform/spi/mac/NSViewSPI.h: |
| Add an underscore. |
| |
| 2015-01-19 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Canonicalization of :lang() should preserve the :lang()'s arguments representations |
| https://bugs.webkit.org/show_bug.cgi?id=139928 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Preserve the representation of IDENT and STRING when serializing the |
| :lang(). For example, :lang(foo,"bar", baz) should be serialize as |
| :lang(foo, "bar", baz) instead of :lang(foo, bar, baz). |
| |
| Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList |
| and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList, |
| CSSSelector::setLangArgumentList and CSSSelector::langArgumentList |
| respectively, since those methods are being exclusively used in respect |
| with :lang(). |
| |
| Update the test of serializing :lang() with IDENT and STRING arguments. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::setLangArgumentList): |
| (WebCore::CSSParserSelector::setArgumentList): Deleted. |
| * css/CSSParserValues.h: |
| (WebCore::CSSParserString::tokenType): |
| (WebCore::CSSParserString::setTokenType): |
| * css/CSSSelector.cpp: |
| (WebCore::appendLangArgumentList): |
| (WebCore::CSSSelector::selectorText): |
| (WebCore::CSSSelector::setLangArgumentList): |
| (WebCore::appendArgumentList): Deleted. |
| (WebCore::CSSSelector::setArgumentList): Deleted. |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::langArgumentList): |
| (WebCore::CSSSelector::argumentList): Deleted. |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::matchesLangPseudoClass): |
| |
| 2015-01-16 Roger Fong <roger_fong@apple.com> |
| |
| WebGL2: Support webgl2 context creation. |
| https://bugs.webkit.org/show_bug.cgi?id=126408 |
| <rdar://problem/15002170> |
| |
| Reviewed by Dean Jackson. |
| |
| Tests covered by existing Khronos tests for WebGL 1.0 conformance. |
| |
| Create a WebGLRenderingContextBase class that extends to a WebGLRenderingContext and WebGL2RenderingContext. |
| Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now. |
| As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSBindingsAllInOne.cpp: |
| * bindings/js/JSCanvasRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * bindings/js/JSDocumentCustom.cpp: |
| * bindings/js/JSHTMLCanvasElementCustom.cpp: |
| * bindings/js/JSWebGL2RenderingContextCustom.cpp: Added. |
| (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren): |
| * bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added. |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: Move code to JSWebGLRenderingContextBaseCustom.cpp. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::getContext): |
| (WebCore::HTMLCanvasElement::reset): |
| (WebCore::HTMLCanvasElement::paint): |
| (WebCore::HTMLCanvasElement::getImageData): |
| * html/canvas/ANGLEInstancedArrays.cpp: |
| (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays): |
| (WebCore::ANGLEInstancedArrays::supported): |
| * html/canvas/ANGLEInstancedArrays.h: |
| * html/canvas/CanvasRenderingContext.h: |
| (WebCore::CanvasRenderingContext::isWebGL1): |
| (WebCore::CanvasRenderingContext::isWebGL2): |
| (WebCore::CanvasRenderingContext::is3d): |
| * html/canvas/EXTBlendMinMax.cpp: |
| (WebCore::EXTBlendMinMax::EXTBlendMinMax): |
| * html/canvas/EXTBlendMinMax.h: |
| * html/canvas/EXTFragDepth.cpp: |
| (WebCore::EXTFragDepth::EXTFragDepth): |
| * html/canvas/EXTFragDepth.h: |
| * html/canvas/EXTShaderTextureLOD.cpp: |
| (WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD): |
| * html/canvas/EXTShaderTextureLOD.h: |
| * html/canvas/EXTTextureFilterAnisotropic.cpp: |
| (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic): |
| * html/canvas/EXTTextureFilterAnisotropic.h: |
| * html/canvas/EXTsRGB.cpp: |
| (WebCore::EXTsRGB::EXTsRGB): |
| * html/canvas/EXTsRGB.h: |
| * html/canvas/OESElementIndexUint.cpp: |
| (WebCore::OESElementIndexUint::OESElementIndexUint): |
| * html/canvas/OESElementIndexUint.h: |
| * html/canvas/OESStandardDerivatives.cpp: |
| (WebCore::OESStandardDerivatives::OESStandardDerivatives): |
| * html/canvas/OESStandardDerivatives.h: |
| * html/canvas/OESTextureFloat.cpp: |
| (WebCore::OESTextureFloat::OESTextureFloat): |
| * html/canvas/OESTextureFloat.h: |
| * html/canvas/OESTextureFloatLinear.cpp: |
| (WebCore::OESTextureFloatLinear::OESTextureFloatLinear): |
| * html/canvas/OESTextureFloatLinear.h: |
| * html/canvas/OESTextureHalfFloat.cpp: |
| (WebCore::OESTextureHalfFloat::OESTextureHalfFloat): |
| * html/canvas/OESTextureHalfFloat.h: |
| * html/canvas/OESTextureHalfFloatLinear.cpp: |
| (WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear): |
| * html/canvas/OESTextureHalfFloatLinear.h: |
| * html/canvas/OESVertexArrayObject.cpp: |
| (WebCore::OESVertexArrayObject::OESVertexArrayObject): |
| * html/canvas/OESVertexArrayObject.h: |
| * html/canvas/WebGL2RenderingContext.cpp: Added. |
| (WebCore::WebGL2RenderingContext::WebGL2RenderingContext): |
| * html/canvas/WebGL2RenderingContext.h: Added. |
| * html/canvas/WebGL2RenderingContext.idl: Added. |
| * html/canvas/WebGLBuffer.cpp: |
| (WebCore::WebGLBuffer::create): |
| (WebCore::WebGLBuffer::WebGLBuffer): |
| * html/canvas/WebGLBuffer.h: |
| * html/canvas/WebGLCompressedTextureATC.cpp: |
| (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC): |
| (WebCore::WebGLCompressedTextureATC::supported): |
| * html/canvas/WebGLCompressedTextureATC.h: |
| * html/canvas/WebGLCompressedTexturePVRTC.cpp: |
| (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC): |
| (WebCore::WebGLCompressedTexturePVRTC::supported): |
| * html/canvas/WebGLCompressedTexturePVRTC.h: |
| * html/canvas/WebGLCompressedTextureS3TC.cpp: |
| (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC): |
| (WebCore::WebGLCompressedTextureS3TC::supported): |
| * html/canvas/WebGLCompressedTextureS3TC.h: |
| * html/canvas/WebGLContextGroup.cpp: |
| (WebCore::WebGLContextGroup::getAGraphicsContext3D): |
| (WebCore::WebGLContextGroup::addContext): |
| (WebCore::WebGLContextGroup::removeContext): |
| (WebCore::WebGLContextGroup::loseContextGroup): |
| * html/canvas/WebGLContextGroup.h: |
| * html/canvas/WebGLContextObject.cpp: |
| (WebCore::WebGLContextObject::WebGLContextObject): |
| * html/canvas/WebGLContextObject.h: |
| (WebCore::WebGLContextObject::context): |
| * html/canvas/WebGLDebugRendererInfo.cpp: |
| (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo): |
| * html/canvas/WebGLDebugRendererInfo.h: |
| * html/canvas/WebGLDebugShaders.cpp: |
| (WebCore::WebGLDebugShaders::WebGLDebugShaders): |
| * html/canvas/WebGLDebugShaders.h: |
| * html/canvas/WebGLDepthTexture.cpp: |
| (WebCore::WebGLDepthTexture::WebGLDepthTexture): |
| * html/canvas/WebGLDepthTexture.h: |
| * html/canvas/WebGLDrawBuffers.cpp: |
| (WebCore::WebGLDrawBuffers::WebGLDrawBuffers): |
| (WebCore::WebGLDrawBuffers::supported): |
| (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements): |
| * html/canvas/WebGLDrawBuffers.h: |
| * html/canvas/WebGLExtension.cpp: |
| (WebCore::WebGLExtension::WebGLExtension): |
| * html/canvas/WebGLExtension.h: |
| (WebCore::WebGLExtension::context): |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::create): |
| (WebCore::WebGLFramebuffer::WebGLFramebuffer): |
| * html/canvas/WebGLFramebuffer.h: |
| * html/canvas/WebGLLoseContext.cpp: |
| (WebCore::WebGLLoseContext::WebGLLoseContext): |
| (WebCore::WebGLLoseContext::loseContext): |
| * html/canvas/WebGLLoseContext.h: |
| * html/canvas/WebGLObject.cpp: |
| (WebCore::WebGLObject::WebGLObject): |
| * html/canvas/WebGLObject.h: |
| * html/canvas/WebGLProgram.cpp: |
| (WebCore::WebGLProgram::create): |
| (WebCore::WebGLProgram::WebGLProgram): |
| * html/canvas/WebGLProgram.h: |
| * html/canvas/WebGLRenderbuffer.cpp: |
| (WebCore::WebGLRenderbuffer::create): |
| (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): |
| * html/canvas/WebGLRenderbuffer.h: |
| * html/canvas/WebGLRenderingContext.cpp: Move implementation to WebGLRenderingContextBase.cpp. |
| * html/canvas/WebGLRenderingContext.h: Move implementation to WebGLRenderingContextBase.h. |
| * html/canvas/WebGLRenderingContext.idl: Move implementation to WebGLRenderingContextBase.idl. |
| * html/canvas/WebGLRenderingContextBase.cpp: Added. |
| * html/canvas/WebGLRenderingContextBase.h: Added. |
| * html/canvas/WebGLRenderingContextBase.idl: Added. |
| * html/canvas/WebGLShader.cpp: |
| (WebCore::WebGLShader::create): |
| (WebCore::WebGLShader::WebGLShader): |
| * html/canvas/WebGLShader.h: |
| * html/canvas/WebGLSharedObject.cpp: |
| (WebCore::WebGLSharedObject::WebGLSharedObject): |
| * html/canvas/WebGLSharedObject.h: |
| * html/canvas/WebGLTexture.cpp: |
| (WebCore::WebGLTexture::create): |
| (WebCore::WebGLTexture::WebGLTexture): |
| * html/canvas/WebGLTexture.h: |
| * html/canvas/WebGLVertexArrayObjectOES.cpp: |
| (WebCore::WebGLVertexArrayObjectOES::create): |
| (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES): |
| * html/canvas/WebGLVertexArrayObjectOES.h: |
| |
| 2015-01-19 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r178250): ~2% PLT regression |
| https://bugs.webkit.org/show_bug.cgi?id=140640 |
| |
| Reviewed by Andreas Kling. |
| |
| * platform/graphics/FontCache.cpp: |
| |
| The patch accidentally contained a change to reduce the size of the cache (to verify that purgin works). |
| Restore it back to the original value. |
| |
| 2015-01-19 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo][Video] Windows Media Foundation implementation is not completed. |
| https://bugs.webkit.org/show_bug.cgi?id=140337 |
| |
| Reviewed by Alex Christensen. |
| |
| This patch aims to complete some of the methods which are not implemented. |
| Currently, only MP4 is supported. |
| Video is rendered in a child window of the main window. |
| We should eventually render the video directly in the main window, |
| by reading and painting individual video frames from the stream. |
| |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: |
| (WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation): |
| (WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation): |
| (WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes): |
| (WebCore::MediaPlayerPrivateMediaFoundation::supportsType): |
| (WebCore::MediaPlayerPrivateMediaFoundation::load): |
| (WebCore::MediaPlayerPrivateMediaFoundation::play): |
| (WebCore::MediaPlayerPrivateMediaFoundation::pause): |
| (WebCore::MediaPlayerPrivateMediaFoundation::naturalSize): |
| (WebCore::MediaPlayerPrivateMediaFoundation::hasVideo): |
| (WebCore::MediaPlayerPrivateMediaFoundation::hasAudio): |
| (WebCore::MediaPlayerPrivateMediaFoundation::setVisible): |
| (WebCore::MediaPlayerPrivateMediaFoundation::paused): |
| (WebCore::MediaPlayerPrivateMediaFoundation::readyState): |
| (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress): |
| (WebCore::MediaPlayerPrivateMediaFoundation::setSize): |
| (WebCore::MediaPlayerPrivateMediaFoundation::paint): |
| (WebCore::MediaPlayerPrivateMediaFoundation::createSession): |
| (WebCore::MediaPlayerPrivateMediaFoundation::endSession): |
| (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource): |
| (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource): |
| (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent): |
| (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource): |
| (WebCore::MediaPlayerPrivateMediaFoundation::addBranchToPartialTopology): |
| (WebCore::MediaPlayerPrivateMediaFoundation::VideoViewWndProc): |
| (WebCore::MediaPlayerPrivateMediaFoundation::registerVideoWindowClass): |
| (WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow): |
| (WebCore::MediaPlayerPrivateMediaFoundation::destroyVideoWindow): |
| (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode): |
| (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode): |
| (WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource): |
| (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters): |
| (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke): |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: |
| |
| 2015-01-19 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Replay: convert to is<T> and downcast<T> for decoding replay inputs |
| https://bugs.webkit.org/show_bug.cgi?id=140512 |
| |
| Reviewed by Chris Dumez. |
| |
| No new tests, no behavior changed. |
| |
| * replay/EventLoopInput.h: Make overridden methods public. |
| * replay/MemoizedDOMResult.h: Add type trait specialization here. It is |
| special-cased because the input type parameter doesn't work with macros. |
| * replay/SerializationMethods.cpp: |
| (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue): |
| Use is() and downcast() when dispatching to encoders based on type. |
| |
| 2015-01-19 Zan Dobersek <zdobersek@igalia.com> |
| |
| Replace use of WTF::bind() in MemoryPressureHandlerLinux.cpp with a C++ lambda |
| https://bugs.webkit.org/show_bug.cgi?id=140614 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Use a C++ lambda instead of WTF::bind() in the MemoryPressureHandler |
| implementation for Linux. |
| |
| * platform/linux/MemoryPressureHandlerLinux.cpp: |
| (WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): |
| |
| 2015-01-19 Zan Dobersek <zdobersek@igalia.com> |
| |
| Replace uses of WTF::bind() in MockMediaPlayerMediaSource with C++ lambdas |
| https://bugs.webkit.org/show_bug.cgi?id=140612 |
| |
| Reviewed by Philippe Normand. |
| |
| Use C++ lambdas in place of WTF::bind() in the MockMediaPlayerMediaSource class. |
| |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: |
| (WebCore::MockMediaPlayerMediaSource::play): |
| (WebCore::MockMediaPlayerMediaSource::seekWithTolerance): |
| (WebCore::MockMediaPlayerMediaSource::seekCompleted): |
| |
| 2015-01-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178653. |
| https://bugs.webkit.org/show_bug.cgi?id=140634 |
| |
| Broke multiple SVG tests on Mountain Lion (Requested by ap on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[SVG -> OTF Converter] Flip the switch on" |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| http://trac.webkit.org/changeset/178653 |
| |
| 2015-01-19 Brent Fulgham <bfulgham@apple.com> |
| |
| Layers need to be already updated before we call adjustViewSize |
| https://bugs.webkit.org/show_bug.cgi?id=135514 |
| |
| Reviewed by Simon Fraser. |
| |
| Tested by 'fast/dynamic/layer-no-longer-paginated.html' |
| |
| Defer painting operations until we have finished layout. This |
| has a couple of benefits: |
| (1) We do not attempt to modify render layers during layout. |
| (2) In WK1 we do not attempt to paint during layout. |
| |
| Add a new virtual predicate to ScrollView indicating when we are in |
| layout so that calls to setContentsSize do not attempt |
| to adjust scrollbars. |
| |
| Modify FrameView to set its ScrollView state to block paint |
| operations during layout. Also add a post-layout handler to |
| complete the scrollbar updates after layout is finished. |
| |
| * WebCore.exp.in: Move linker symbol to ScrollView (from FrameView). |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added. |
| (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed). |
| (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed) |
| (WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment. |
| * page/FrameView.h: |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer |
| painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not. |
| (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added. |
| (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added. |
| (WebCore::ScrollView::scrollTo): If we should defer painting, cache the |
| the scroll delta and apply it after the layout is complete. |
| (WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method |
| so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange. |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added. |
| |
| 2015-01-16 Ada Chan <adachan@apple.com> |
| |
| HTMLMediaElement::isPlayingAudio() should return false if the element is explicitly muted by script. |
| https://bugs.webkit.org/show_bug.cgi?id=140524 |
| |
| Reviewed by Andreas Kling. |
| |
| Test: media/muted-video-is-playing-audio.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::setMuted): |
| Call Document::updateIsPlayingAudio() to recalculate the overall audio playing state. |
| (WebCore::HTMLMediaElement::isPlayingAudio): |
| HTMLMediaElement::isPlayingAudio() should return false if the media element is explicitly muted. |
| |
| 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Flip the switch on |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-16 Alexey Proskuryakov <ap@apple.com> |
| |
| Console log sometimes prefixed with line number |
| https://bugs.webkit.org/show_bug.cgi?id=105280 |
| |
| Reviewed by Darin Adler. |
| |
| Improve the logic for determining whether a console message should be associated |
| with a source code location. |
| |
| * dom/ScriptableDocumentParser.h: |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition): |
| * html/parser/HTMLDocumentParser.h: |
| * page/PageConsoleClient.cpp: |
| (WebCore::getParserLocationForConsoleMessage): |
| (WebCore::PageConsoleClient::addMessage): |
| * xml/parser/XMLDocumentParser.cpp: |
| (WebCore::XMLDocumentParser::pauseParsing): |
| * xml/parser/XMLDocumentParser.h: |
| * xml/parser/XMLDocumentParserLibxml2.cpp: |
| (WebCore::XMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition): |
| |
| 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Glyphs get clipped weirdly |
| https://bugs.webkit.org/show_bug.cgi?id=137095 |
| |
| Reviewed by Antti Koivisto. |
| |
| The Adobe CFF spec doesn't actually tell you how to serialize a |
| "FontBBox." After trial and error, it seems to be (x, y, width, |
| height). |
| |
| Test: svg/text/kerning.svg |
| svg/W3C-SVG-1.1/fonts-kern-01-t.svg |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::appendHEADTable): |
| (WebCore::SVGToOTFFontConverter::appendCFFTable): |
| (WebCore::SVGToOTFFontConverter::appendVHEATable): |
| (WebCore::CFFBuilder::CFFBuilder): |
| (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): |
| (WebCore::SVGToOTFFontConverter::processGlyphElement): |
| |
| 2015-01-19 Csaba Osztrogonác <ossy@webkit.org> |
| |
| REGRESSION(r178486): It broke the !ENABLE(VIDEO) build |
| https://bugs.webkit.org/show_bug.cgi?id=140611 |
| |
| Reviewed by Eric Carlson. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::elementIsBlockingDisplaySleep): |
| * testing/Internals.h: |
| |
| 2015-01-19 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space |
| https://bugs.webkit.org/show_bug.cgi?id=139059 |
| |
| Reviewed by David Hyatt. |
| |
| Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): |
| |
| 2015-01-18 Alexey Proskuryakov <ap@apple.com> |
| |
| Update bindings generation test results after <https://trac.webkit.org/changeset/178633>. |
| |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener): |
| (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::jsTestObjPrototypeFunctionAddEventListener): |
| (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): |
| |
| 2015-01-18 Chris Dumez <cdumez@apple.com> |
| |
| Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in |
| https://bugs.webkit.org/show_bug.cgi?id=140599 |
| |
| Reviewed by Antti Koivisto. |
| |
| Generate matchingShorthandsForLonghand() implementation from |
| CSSPropertyNames.in. We already have all the information we need in |
| CSSPropertyNames.in to generate the big switch() in |
| matchingShorthandsForLonghand(). |
| |
| A few shorthands still aren't generated. I will look into getting rid |
| of the custom code in a follow-up patch. |
| |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::makeVector): Deleted. |
| (WebCore::matchingShorthandsForLonghand): Deleted. |
| * css/StylePropertyShorthand.h: |
| (WebCore::matchingCustomShorthandsForLonghand): |
| * css/makeprop.pl: |
| (constructShorthandsVector): |
| |
| 2015-01-18 Dean Jackson <dino@apple.com> |
| |
| Out of bounds write in canvas.toDataURL |
| https://bugs.webkit.org/show_bug.cgi?id=140594 |
| <rdar://problem/19449135> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In the case where we have a canvas object that does |
| not have premultiplied alpha (an option you can select |
| when using WebGL) we have to multiply out the alpha when |
| converting to JPEG via toDataURL. |
| |
| For this we created a buffer, but were not accurately |
| resizing it before flattening the alpha. |
| |
| Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html |
| |
| * platform/graphics/cg/ImageBufferCG.cpp: |
| (WebCore::ImageDataToDataURL): Call resize once we've |
| determined we have enough space. |
| |
| 2015-01-17 Sam Weinig <sam@webkit.org> |
| |
| Add initial experimental user content filtering API |
| https://bugs.webkit.org/show_bug.cgi?id=140584 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Change content extensions to be managed through the UserContentController. |
| |
| * WebCore.exp.in: |
| Update exports. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Update for removed files. |
| |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists): |
| (WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted. |
| * contentextensions/ContentExtensionsBackend.h: |
| Remove concept of a shared instance and add a removeAllRuleLists() function. |
| |
| * contentextensions/ContentExtensionsInterface.cpp: Removed. |
| * contentextensions/ContentExtensionsInterface.h: Removed. |
| Since there is no shared instance anymore, checking if a URL should be blocked |
| now has to go directly to the backend. |
| |
| * contentextensions/ContentExtensionsManager.cpp: |
| (WebCore::ContentExtensions::ExtensionsManager::createRuleList): |
| (WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted. |
| * contentextensions/ContentExtensionsManager.h: |
| Update interface to accommodate the lack of a shared instance. Now, all this |
| file does is take a serialized rule list and outputs the Vector of ContentExtensionRules |
| |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestResource): |
| Check with the UserContentController to see if the URL should be blocked. |
| |
| * page/UserContentController.cpp: |
| (WebCore::UserContentController::addUserContentFilter): |
| (WebCore::UserContentController::removeAllUserContentFilters): |
| (WebCore::UserContentController::contentFilterBlocksURL): |
| * page/UserContentController.h: |
| Add single point of interaction for both the WebKit level to add and remove |
| content filters and WebCore to check to see if URLs should be blocked. |
| |
| 2015-01-18 Darin Adler <darin@apple.com> |
| |
| REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=132148 |
| |
| Reviewed by Anders Carlsson. |
| |
| Test: svg/custom/use-instanceRoot-event-listeners.xhtml |
| |
| * bindings/js/JSDOMWindowCustom.cpp: |
| (WebCore::JSDOMWindow::addEventListener): Updated for the new return type |
| of JSListener::create. For the event type, use JSString::toAtomicString instead of |
| calling JSString::value and then converting to an AtomicString. |
| (WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener. |
| |
| * bindings/js/JSEventListener.cpp: |
| (WebCore::forwardsEventListeners): Added. Helper to detect the special case needed |
| for SVGElementInstance. In the future, for better encapsulation, we could use virtual |
| functions, but for now hard coding this single class seems fine. |
| (WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners |
| returns true, to find out where event listeners will be forwarded. |
| (WebCore::createJSEventListenerForAttribute): Added. Replaces the old function |
| createJSAttributeEventListener, for SVGElementInstance attributes only. |
| (WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated |
| generated code in the addElementListener bindings other than the DOMWindow one. |
| |
| * bindings/js/JSEventListener.h: |
| (WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr. |
| (WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener, |
| changed to return a RefPtr instead of a PassRefPtr and to take references rather than |
| pointers for non-null things. |
| (WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls |
| createJSEventListenerForAdd since they are currently identical. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance |
| and updated to call the new createJSEventListenerForAttribute. The special case for |
| SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to |
| keep the generated code simpler if possible. |
| (GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This |
| has been dead code since the explicit definition of add/removeEventListener was removed |
| from SVGElementInstance.idl, and was also a problem if someone were to use the |
| addEventListener function from EventTarget on an SVGElementInstance object. The function |
| needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above. |
| Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove. |
| Those new functions properly handle SVGElementInstance. |
| (GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall |
| or GenerateEventListenerCall any more. |
| (GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling |
| JSString::value and then converting to AtomicString. |
| |
| 2015-01-17 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: highlight data for overlay should use protocol type builders |
| https://bugs.webkit.org/show_bug.cgi?id=129441 |
| |
| Reviewed by Timothy Hatcher. |
| |
| As a first step towards cleaning up the inspector overlay, convert highlight |
| data construction to use protocol type builders. It's now really obvious what |
| data is being sent to the inspector overlay page. |
| |
| This change paves the way towards using inspector protocol commands and events |
| if we want to support more interactive functionality in the inspector overlay. |
| |
| This patch makes a few style cleanups, such as standardizing variable names, |
| using default member initializers, passing by reference, and fixing casts. |
| |
| No new tests, no behavior changed. |
| |
| * WebCore.exp.in: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::getHighlight): |
| (WebCore::InspectorController::buildObjectForHighlightedNode): |
| (WebCore::InspectorController::inspect): Deleted. |
| * inspector/InspectorController.h: |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildRendererHighlight): |
| (WebCore::buildNodeHighlight): |
| (WebCore::buildQuadHighlight): |
| (WebCore::InspectorOverlay::InspectorOverlay): |
| (WebCore::InspectorOverlay::getHighlight): |
| (WebCore::buildObjectForPoint): |
| (WebCore::buildObjectForRect): |
| (WebCore::buildArrayForQuad): |
| (WebCore::buildObjectForHighlight): |
| (WebCore::buildObjectForRegion): |
| (WebCore::buildObjectForFlowRegions): |
| (WebCore::buildObjectForSize): |
| (WebCore::buildQuadObjectForCSSRegionContentClip): |
| Simplify how the clipping area is encoded. It's now 'regionClippingArea' |
| stored on a FragmentHighlightData instance. |
| |
| (WebCore::InspectorOverlay::updatePaintRectsTimerFired): |
| (WebCore::InspectorOverlay::drawPaintRects): |
| (WebCore::buildArrayForRendererFragments): |
| (WebCore::appendPathCommandAndPoints): |
| (WebCore::appendPathSegment): |
| (WebCore::buildObjectForShapeOutside): |
| (WebCore::buildObjectForElementData): |
| (WebCore::InspectorOverlay::buildObjectForHighlightedNode): |
| (WebCore::InspectorOverlay::drawNodeHighlight): |
| (WebCore::InspectorOverlay::drawQuadHighlight): |
| (WebCore::InspectorOverlay::reset): |
| (WebCore::buildObjectForRegionHighlight): Deleted. |
| (WebCore::buildObjectForCSSRegionsHighlight): Deleted. |
| (WebCore::buildObjectForCSSRegionContentClip): Deleted. |
| (WebCore::buildObjectForRendererFragments): Deleted. |
| (WebCore::buildObjectForElementInfo): Deleted. |
| * inspector/InspectorOverlay.h: |
| (WebCore::Highlight::Highlight): |
| * inspector/InspectorOverlayPage.js: |
| (_createElementTitle): |
| (_drawElementTitle): |
| (_drawFragmentHighlight): |
| (drawNodeHighlight): |
| * testing/Internals.cpp: |
| (WebCore::Internals::inspectorHighlightRects): |
| (WebCore::Internals::inspectorHighlightObject): |
| |
| 2015-01-17 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Crashes when SVG font is invalid |
| https://bugs.webkit.org/show_bug.cgi?id=140378 |
| |
| Reviewed by Antti Koivisto. |
| |
| Because CachedSVGFonts are cached, they have to be able to be used |
| in subsequent documents regardless how the first document left it. |
| |
| Tests: fast/css/font-face-svg-decoding-error.html |
| svg/custom/svg-fonts-in-html.html |
| svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html |
| |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::ensureCustomFontData): |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedSVGFont.cpp: |
| (WebCore::CachedSVGFont::getFontData): |
| (WebCore::CachedSVGFont::ensureCustomFontData): |
| (WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement): |
| * loader/cache/CachedSVGFont.h: |
| |
| 2015-01-17 Chris Dumez <cdumez@apple.com> |
| |
| Converting time, angle and frequency units in CSS calc() function |
| https://bugs.webkit.org/show_bug.cgi?id=138356 |
| |
| Reviewed by Darin Adler. |
| |
| Update CSSPrimitiveValue::primitiveType() to actually query the |
| primitiveType of the CSSCalcValue instead of assuming a given |
| type based on its category (e.g. If category is CalcTime, then |
| assume type is CSS_MS, even though it would be CSS_S as well). |
| |
| This would like to calculation errors such as: |
| calc(4s + 1s) -> 5ms |
| |
| Because we would assume the unit is CSS_MS without actually |
| checking. |
| |
| This patch is inspired by the following Blink revision |
| by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit |
| patch from <tmeszaros.u-szeged@partner.samsung.com>: |
| https://src.chromium.org/viewvc/blink?view=rev&revision=179101 |
| |
| Test: fast/css/calc-with-angle-time-frequency.html |
| |
| * css/CSSCalculationValue.h: |
| (WebCore::CSSCalcValue::primitiveType): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::primitiveType): |
| |
| 2015-01-17 Chris Dumez <cdumez@apple.com> |
| |
| Generate shorthandForProperty() implementation from CSSPropertyNames.in |
| https://bugs.webkit.org/show_bug.cgi?id=140556 |
| |
| Reviewed by Darin Adler. |
| |
| Generate shorthandForProperty() implementation from CSSPropertyNames.in. |
| This is just a big switch() statement calling the right |
| StylePropertyShorthand factory function for a given CSSPropertyID. |
| |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::shorthandForProperty): Deleted. |
| * css/StylePropertyShorthand.h: |
| * css/makeprop.pl: |
| |
| 2015-01-16 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac |
| https://bugs.webkit.org/show_bug.cgi?id=140564 |
| <rdar://problem/19386426. |
| |
| Reviewed by Dean Jackson. |
| |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment |
| back into the loop! |
| |
| 2015-01-16 Zalan Bujtas <zalan@apple.com> |
| |
| When border-radius is present, inset/outset/groove/ridge border color changes. |
| https://bugs.webkit.org/show_bug.cgi?id=140551 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch applies the same color lighten/darken adjustment on the radius borders |
| that we use for non-radius border. |
| |
| Test: fast/borders/wrong-border-color-when-radius-is-present.html |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::drawBoxSideFromPath): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::calculateBorderStyleColor): |
| * rendering/RenderObject.h: |
| |
| 2015-01-16 Pratik Solanki <psolanki@apple.com> |
| |
| Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in |
| -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:] |
| https://bugs.webkit.org/show_bug.cgi?id=140470 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK |
| because NSURLConnection callbacks were always being scheduled on the main thread. |
| |
| Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main |
| thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were |
| always being scheduled on the main thread regardless of whether we were using the NetworkProcess |
| (since the WebThread is only started when using WebKit1). This led to an assertion failure. |
| Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the |
| NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when |
| using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1. |
| |
| * platform/network/mac/ResourceHandleMac.mm: |
| (WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use |
| of this code for iOS WebKit2 with the NetworkProcess. |
| (WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally |
| schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks() |
| is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(), |
| which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without |
| the NetworkProcess, respectively. |
| |
| 2015-01-16 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Replay: purge remaining PassRefPtr uses and minor cleanup |
| https://bugs.webkit.org/show_bug.cgi?id=140456 |
| |
| Reviewed by Andreas Kling. |
| |
| Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change |
| uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument. |
| |
| Remove mistaken uses of AtomicString that were not removed as part of r174113. |
| |
| No new tests, no behavior changed. |
| |
| * inspector/InspectorReplayAgent.cpp: |
| (WebCore::SerializeInputToJSONFunctor::operator()): |
| (WebCore::SerializeInputToJSONFunctor::returnValue): |
| (WebCore::InspectorReplayAgent::sessionCreated): |
| (WebCore::InspectorReplayAgent::sessionModified): |
| (WebCore::InspectorReplayAgent::sessionLoaded): |
| (WebCore::InspectorReplayAgent::segmentCreated): |
| (WebCore::InspectorReplayAgent::segmentCompleted): |
| (WebCore::InspectorReplayAgent::segmentLoaded): |
| (WebCore::InspectorReplayAgent::switchSession): |
| (WebCore::InspectorReplayAgent::insertSessionSegment): |
| (WebCore::InspectorReplayAgent::removeSessionSegment): |
| (WebCore::InspectorReplayAgent::findSession): |
| (WebCore::InspectorReplayAgent::findSegment): |
| * inspector/InspectorReplayAgent.h: |
| * replay/CapturingInputCursor.cpp: |
| (WebCore::CapturingInputCursor::CapturingInputCursor): |
| (WebCore::CapturingInputCursor::create): |
| (WebCore::CapturingInputCursor::loadInput): |
| * replay/CapturingInputCursor.h: |
| * replay/EventLoopInputDispatcher.cpp: |
| (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher): |
| * replay/EventLoopInputDispatcher.h: |
| * replay/FunctorInputCursor.h: |
| (WebCore::FunctorInputCursor::FunctorInputCursor): |
| (WebCore::FunctorInputCursor::loadInput): |
| * replay/ReplayController.cpp: |
| (WebCore::ReplayController::ReplayController): |
| (WebCore::ReplayController::setForceDeterministicSettings): |
| (WebCore::ReplayController::setSessionState): |
| (WebCore::ReplayController::setSegmentState): |
| (WebCore::ReplayController::switchSession): |
| (WebCore::ReplayController::createSegment): |
| (WebCore::ReplayController::completeSegment): |
| (WebCore::ReplayController::loadSegmentAtIndex): |
| (WebCore::ReplayController::unloadSegment): |
| (WebCore::ReplayController::frameNavigated): |
| (WebCore::ReplayController::loadedSession): |
| (WebCore::ReplayController::loadedSegment): |
| (WebCore::ReplayController::activeInputCursor): |
| (WebCore::ReplayController::dispatcher): |
| * replay/ReplayController.h: |
| * replay/ReplaySession.cpp: |
| (WebCore::ReplaySession::create): |
| (WebCore::ReplaySession::at): |
| (WebCore::ReplaySession::appendSegment): |
| (WebCore::ReplaySession::insertSegment): |
| (WebCore::ReplaySession::removeSegment): |
| * replay/ReplaySession.h: |
| * replay/ReplaySessionSegment.cpp: |
| (WebCore::ReplaySessionSegment::create): |
| (WebCore::ReplaySessionSegment::ReplaySessionSegment): |
| * replay/ReplaySessionSegment.h: |
| * replay/ReplayingInputCursor.cpp: |
| (WebCore::ReplayingInputCursor::ReplayingInputCursor): |
| (WebCore::ReplayingInputCursor::create): |
| (WebCore::ReplayingInputCursor::loadInput): |
| * replay/ReplayingInputCursor.h: |
| * replay/SegmentedInputStorage.cpp: |
| (WebCore::SegmentedInputStorage::store): |
| (WebCore::SegmentedInputStorage::queue): |
| (WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted. |
| * replay/SegmentedInputStorage.h: |
| |
| 2015-01-16 Andreas Kling <akling@apple.com> |
| |
| Remove assertion that Page::m_editorClient is non-null. |
| |
| Unreviewed debug build fix. (It's a reference, it won't be null.) |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| |
| 2015-01-16 Andreas Kling <akling@apple.com> |
| |
| Page::editorClient() should return a reference. |
| <https://webkit.org/b/140552> |
| |
| Reviewed by Chris Dumez. |
| |
| Page always has an EditorClient, so make editorClient() return a reference. |
| |
| * editing/AlternativeTextController.cpp: |
| (WebCore::AlternativeTextController::editorClient): |
| (WebCore::AlternativeTextController::textChecker): |
| * editing/Editor.cpp: |
| (WebCore::Editor::client): |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::client): |
| * page/FocusController.cpp: |
| (WebCore::FocusController::setFocusedElement): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::~Page): |
| (WebCore::Page::clearUndoRedoOperations): |
| * page/Page.h: |
| (WebCore::Page::editorClient): |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): |
| |
| 2015-01-16 Benjamin Poulain <benjamin@webkit.org> |
| |
| Make URL filters case-insensitive by default |
| https://bugs.webkit.org/show_bug.cgi?id=140531 |
| |
| Reviewed by Andreas Kling. |
| |
| Safari's filters were case-insensitive. Adopt that convention in the engine, |
| and add a flag in case someone ever need a case-sensitive filter. |
| |
| * contentextensions/ContentExtensionRule.h: |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): |
| * contentextensions/ContentExtensionsManager.cpp: |
| (WebCore::ContentExtensions::ExtensionsManager::loadTrigger): |
| * contentextensions/URLFilterParser.cpp: |
| (WebCore::ContentExtensions::trivialAtomFromASCIICharacter): |
| (WebCore::ContentExtensions::GraphBuilder::GraphBuilder): |
| (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter): |
| (WebCore::ContentExtensions::GraphBuilder::generateTransition): |
| (WebCore::ContentExtensions::URLFilterParser::addPattern): |
| * contentextensions/URLFilterParser.h: |
| |
| 2015-01-16 Benjamin Poulain <bpoulain@apple.com> |
| |
| Add the alternative syntax for CSS Selector's descendant combinator (">>") |
| https://bugs.webkit.org/show_bug.cgi?id=140525 |
| |
| Reviewed by Antti Koivisto. |
| |
| The latest Selector spec introduces the combinator ">>" as an alias for the descendant |
| relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators |
| |
| This patch implements that combinator as an alias of the existing one. For CSSOM's selector |
| serialization, I use one bit of CSSSelector to store if that alternative syntax was used. |
| |
| Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html |
| fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html |
| fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html |
| fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html |
| fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::appendTagHistory): |
| * css/CSSParserValues.h: |
| (WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax): |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::setDescendantUseDoubleChildSyntax): |
| (WebCore::CSSSelector::CSSSelector): |
| |
| 2015-01-16 Chris Dumez <cdumez@apple.com> |
| |
| Generate StylePropertyShorthand.* from CSSPropertyNames.in |
| https://bugs.webkit.org/show_bug.cgi?id=140501 |
| |
| Reviewed by Darin Adler. |
| |
| Add initial support for having makeprop.pl generate most of |
| StylePropertyShorthand.* from CSSPropertyNames.in. |
| |
| This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a |
| more descriptive [Longhands=property1|property2|...] parameter. With |
| this information, makeprop.pl is now able to generate the |
| StylePropertyShorthand factories for all CSS shorthand properties |
| in a new StylePropertyShorthandFunctions.h header. |
| |
| The switches in StylePropertyShorthand.cpp could also be generated |
| but this will be taken care of in follow-up patches to reduce patch |
| size. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPropertyNames.in: |
| * css/StyleProperties.cpp: |
| (WebCore::StyleProperties::getPropertyValue): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::shorthandForProperty): |
| (WebCore::matchingShorthandsForLonghand): |
| (WebCore::backgroundShorthand): Deleted. |
| (WebCore::backgroundPositionShorthand): Deleted. |
| (WebCore::backgroundRepeatShorthand): Deleted. |
| (WebCore::borderShorthand): Deleted. |
| (WebCore::borderBottomShorthand): Deleted. |
| (WebCore::borderColorShorthand): Deleted. |
| (WebCore::borderImageShorthand): Deleted. |
| (WebCore::borderLeftShorthand): Deleted. |
| (WebCore::borderRadiusShorthand): Deleted. |
| (WebCore::webkitBorderRadiusShorthand): Deleted. |
| (WebCore::borderRightShorthand): Deleted. |
| (WebCore::borderSpacingShorthand): Deleted. |
| (WebCore::borderStyleShorthand): Deleted. |
| (WebCore::borderTopShorthand): Deleted. |
| (WebCore::borderWidthShorthand): Deleted. |
| (WebCore::listStyleShorthand): Deleted. |
| (WebCore::marginShorthand): Deleted. |
| (WebCore::markerShorthand): Deleted. |
| (WebCore::outlineShorthand): Deleted. |
| (WebCore::overflowShorthand): Deleted. |
| (WebCore::paddingShorthand): Deleted. |
| (WebCore::transitionShorthand): Deleted. |
| (WebCore::animationShorthand): Deleted. |
| (WebCore::webkitAnimationShorthand): Deleted. |
| (WebCore::webkitBorderAfterShorthand): Deleted. |
| (WebCore::webkitBorderBeforeShorthand): Deleted. |
| (WebCore::webkitBorderEndShorthand): Deleted. |
| (WebCore::webkitBorderStartShorthand): Deleted. |
| (WebCore::webkitColumnsShorthand): Deleted. |
| (WebCore::webkitColumnRuleShorthand): Deleted. |
| (WebCore::flexFlowShorthand): Deleted. |
| (WebCore::flexShorthand): Deleted. |
| (WebCore::webkitMarginCollapseShorthand): Deleted. |
| (WebCore::webkitGridShorthand): Deleted. |
| (WebCore::webkitGridTemplateShorthand): Deleted. |
| (WebCore::webkitGridAreaShorthand): Deleted. |
| (WebCore::webkitGridColumnShorthand): Deleted. |
| (WebCore::webkitGridRowShorthand): Deleted. |
| (WebCore::webkitMarqueeShorthand): Deleted. |
| (WebCore::webkitMaskShorthand): Deleted. |
| (WebCore::webkitMaskPositionShorthand): Deleted. |
| (WebCore::webkitMaskRepeatShorthand): Deleted. |
| (WebCore::webkitTextDecorationShorthand): Deleted. |
| (WebCore::webkitTextEmphasisShorthand): Deleted. |
| (WebCore::webkitTextStrokeShorthand): Deleted. |
| (WebCore::webkitTransitionShorthand): Deleted. |
| (WebCore::webkitPerspectiveOriginShorthand): Deleted. |
| (WebCore::webkitTransformOriginShorthand): Deleted. |
| * css/StylePropertyShorthand.h: |
| * css/makeprop.pl: |
| |
| 2015-01-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178532. |
| https://bugs.webkit.org/show_bug.cgi?id=140548 |
| |
| Broke fast/css/parsing-css-lang.html on some bots (Requested |
| by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Canonicalization of :lang() should preserve the :lang()'s |
| arguments representations" |
| https://bugs.webkit.org/show_bug.cgi?id=139928 |
| http://trac.webkit.org/changeset/178532 |
| |
| 2015-01-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178577. |
| https://bugs.webkit.org/show_bug.cgi?id=140546 |
| |
| Broke fast/css-grid-layout/grid-content-sized-columns- |
| resolution.html (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "[CSS Grid Layout] Tracks shrink sometimes with indefinite |
| remaining space" |
| https://bugs.webkit.org/show_bug.cgi?id=139059 |
| http://trac.webkit.org/changeset/178577 |
| |
| 2015-01-16 Andreas Kling <akling@apple.com> |
| |
| Some improvements to RuleSet shrinking. |
| <https://webkit.org/b/140534> |
| |
| Reviewed by Antti Koivisto. |
| |
| Give an inline capacity (1) to the RuleData Vectors in RuleSet. |
| The vast majority of Vectors have only a single entry, and this |
| avoids having to allocate a separate Vector backing store for them. |
| |
| Also make sure to shrink some Vectors that we weren't already, |
| like those in RuleFeatureSet. |
| |
| * css/ElementRuleCollector.cpp: |
| (WebCore::ElementRuleCollector::collectMatchingRulesForList): |
| * css/ElementRuleCollector.h: |
| * css/RuleFeature.cpp: |
| (WebCore::RuleFeatureSet::shrinkToFit): |
| * css/RuleFeature.h: |
| * css/RuleSet.cpp: |
| (WebCore::RuleSet::addToRuleSet): |
| (WebCore::rulesCountForName): |
| (WebCore::shrinkMapVectorsToFit): |
| (WebCore::RuleSet::shrinkToFit): |
| * css/RuleSet.h: |
| (WebCore::RuleSet::idRules): |
| (WebCore::RuleSet::classRules): |
| (WebCore::RuleSet::tagRules): |
| (WebCore::RuleSet::shadowPseudoElementRules): |
| (WebCore::RuleSet::linkPseudoClassRules): |
| (WebCore::RuleSet::cuePseudoRules): |
| (WebCore::RuleSet::focusPseudoClassRules): |
| (WebCore::RuleSet::universalRules): |
| |
| 2015-01-16 Antti Koivisto <antti@apple.com> |
| |
| Correct naming for FontCascade implementation files |
| https://bugs.webkit.org/show_bug.cgi?id=140544 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Also reduce their number. |
| |
| Merge FontFastPath.cpp into FontCascade.cpp |
| Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/FontCascade.cpp: |
| (WebCore::FontCascade::getEmphasisMarkGlyphData): |
| (WebCore::FontCascade::emphasisMarkAscent): |
| (WebCore::FontCascade::emphasisMarkDescent): |
| (WebCore::FontCascade::emphasisMarkHeight): |
| (WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText): |
| (WebCore::FontCascade::drawSimpleText): |
| (WebCore::FontCascade::drawEmphasisMarksForSimpleText): |
| (WebCore::FontCascade::drawGlyphBuffer): |
| (WebCore::offsetToMiddleOfGlyph): |
| (WebCore::offsetToMiddleOfGlyphAtIndex): |
| (WebCore::FontCascade::drawEmphasisMarks): |
| (WebCore::FontCascade::floatWidthForSimpleText): |
| (WebCore::FontCascade::adjustSelectionRectForSimpleText): |
| (WebCore::FontCascade::offsetForPositionForSimpleText): |
| * platform/graphics/FontFastPath.cpp: Removed. |
| * platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm. |
| (WebCore::FontCascade::drawGlyphs): |
| (WebCore::FontCascade::adjustSelectionRectForComplexText): |
| (WebCore::FontCascade::getGlyphsAndAdvancesForComplexText): |
| (WebCore::FontCascade::drawComplexText): |
| (WebCore::FontCascade::drawEmphasisMarksForComplexText): |
| (WebCore::FontCascade::floatWidthForComplexText): |
| (WebCore::FontCascade::offsetForPositionForComplexText): |
| (WebCore::FontCascade::fontDataForCombiningCharacterSequence): |
| * platform/graphics/mac/FontComplexTextMac.cpp: Removed. |
| * platform/graphics/mac/FontMac.mm: Removed. |
| |
| 2014-11-26 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space |
| https://bugs.webkit.org/show_bug.cgi?id=139059 |
| |
| Reviewed by David Hyatt. |
| |
| Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): |
| |
| 2015-01-15 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Remove ENABLE(SQL_DATABASE) guards |
| https://bugs.webkit.org/show_bug.cgi?id=140434 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Modules/webdatabase/AbstractDatabaseServer.h: |
| * Modules/webdatabase/ChangeVersionData.h: |
| * Modules/webdatabase/ChangeVersionWrapper.cpp: |
| * Modules/webdatabase/ChangeVersionWrapper.h: |
| * Modules/webdatabase/DOMWindowWebDatabase.cpp: |
| * Modules/webdatabase/DOMWindowWebDatabase.h: |
| * Modules/webdatabase/DOMWindowWebDatabase.idl: |
| * Modules/webdatabase/Database.cpp: |
| * Modules/webdatabase/Database.h: |
| * Modules/webdatabase/Database.idl: |
| * Modules/webdatabase/DatabaseBackend.cpp: |
| * Modules/webdatabase/DatabaseBackend.h: |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| * Modules/webdatabase/DatabaseBasicTypes.h: |
| * Modules/webdatabase/DatabaseCallback.h: |
| * Modules/webdatabase/DatabaseCallback.idl: |
| * Modules/webdatabase/DatabaseContext.cpp: |
| * Modules/webdatabase/DatabaseContext.h: |
| * Modules/webdatabase/DatabaseDetails.h: |
| * Modules/webdatabase/DatabaseError.h: |
| * Modules/webdatabase/DatabaseManager.cpp: |
| * Modules/webdatabase/DatabaseManager.h: |
| * Modules/webdatabase/DatabaseManagerClient.h: |
| * Modules/webdatabase/DatabaseServer.cpp: |
| * Modules/webdatabase/DatabaseServer.h: |
| * Modules/webdatabase/DatabaseTask.cpp: |
| * Modules/webdatabase/DatabaseTask.h: |
| * Modules/webdatabase/DatabaseThread.cpp: |
| * Modules/webdatabase/DatabaseThread.h: |
| * Modules/webdatabase/DatabaseTracker.cpp: |
| * Modules/webdatabase/DatabaseTracker.h: |
| * Modules/webdatabase/OriginLock.cpp: |
| * Modules/webdatabase/OriginLock.h: |
| * Modules/webdatabase/SQLCallbackWrapper.h: |
| * Modules/webdatabase/SQLError.h: |
| * Modules/webdatabase/SQLError.idl: |
| * Modules/webdatabase/SQLException.cpp: |
| * Modules/webdatabase/SQLException.h: |
| * Modules/webdatabase/SQLException.idl: |
| * Modules/webdatabase/SQLResultSet.cpp: |
| * Modules/webdatabase/SQLResultSet.h: |
| * Modules/webdatabase/SQLResultSet.idl: |
| * Modules/webdatabase/SQLResultSetRowList.cpp: |
| * Modules/webdatabase/SQLResultSetRowList.h: |
| * Modules/webdatabase/SQLResultSetRowList.idl: |
| * Modules/webdatabase/SQLStatement.cpp: |
| * Modules/webdatabase/SQLStatement.h: |
| * Modules/webdatabase/SQLStatementBackend.cpp: |
| * Modules/webdatabase/SQLStatementBackend.h: |
| * Modules/webdatabase/SQLStatementCallback.h: |
| * Modules/webdatabase/SQLStatementCallback.idl: |
| * Modules/webdatabase/SQLStatementErrorCallback.h: |
| * Modules/webdatabase/SQLStatementErrorCallback.idl: |
| * Modules/webdatabase/SQLTransaction.cpp: |
| * Modules/webdatabase/SQLTransaction.h: |
| * Modules/webdatabase/SQLTransaction.idl: |
| * Modules/webdatabase/SQLTransactionBackend.cpp: |
| * Modules/webdatabase/SQLTransactionBackend.h: |
| * Modules/webdatabase/SQLTransactionCallback.h: |
| * Modules/webdatabase/SQLTransactionCallback.idl: |
| * Modules/webdatabase/SQLTransactionClient.cpp: |
| * Modules/webdatabase/SQLTransactionClient.h: |
| * Modules/webdatabase/SQLTransactionCoordinator.cpp: |
| * Modules/webdatabase/SQLTransactionCoordinator.h: |
| * Modules/webdatabase/SQLTransactionErrorCallback.h: |
| * Modules/webdatabase/SQLTransactionErrorCallback.idl: |
| * Modules/webdatabase/SQLTransactionState.h: |
| * Modules/webdatabase/SQLTransactionStateMachine.cpp: |
| * Modules/webdatabase/SQLTransactionStateMachine.h: |
| * bindings/js/JSCommandLineAPIHostCustom.cpp: |
| (WebCore::JSCommandLineAPIHost::databaseId): |
| * bindings/js/JSCustomSQLStatementErrorCallback.cpp: |
| * bindings/js/JSExceptionBase.cpp: |
| (WebCore::toExceptionBase): |
| * bindings/js/JSSQLResultSetRowListCustom.cpp: |
| * bindings/js/JSSQLTransactionCustom.cpp: |
| * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: |
| (webkit_dom_test_callback_finalize): |
| (webkit_dom_test_callback_constructor): |
| (webkit_dom_test_callback_callback_with_no_param): |
| (webkit_dom_test_callback_callback_with_array_param): |
| (webkit_dom_test_callback_callback_with_serialized_script_value_param): |
| (webkit_dom_test_callback_callback_with_non_bool_return_type): |
| (webkit_dom_test_callback_callback_with_string_list): |
| (webkit_dom_test_callback_callback_with_boolean): |
| (webkit_dom_test_callback_callback_requires_this_to_pass): |
| * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: |
| * bindings/scripts/test/JS/JSTestCallback.cpp: |
| * bindings/scripts/test/JS/JSTestCallback.h: |
| * bindings/scripts/test/ObjC/DOMTestCallback.mm: |
| * bindings/scripts/test/TestCallback.idl: |
| * dom/DOMExceptions.in: |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::setDatabaseContext): |
| * dom/ScriptExecutionContext.h: |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::PageCache::canCachePageContainingThisFrame): |
| * inspector/CommandLineAPIHost.cpp: |
| (WebCore::CommandLineAPIHost::CommandLineAPIHost): |
| (WebCore::CommandLineAPIHost::disconnect): |
| (WebCore::CommandLineAPIHost::databaseIdImpl): |
| * inspector/CommandLineAPIHost.h: |
| (WebCore::CommandLineAPIHost::init): |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/InspectorDatabaseAgent.cpp: |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorDatabaseInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didOpenDatabase): |
| * inspector/InspectorDatabaseResource.cpp: |
| * inspector/InspectorDatabaseResource.h: |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::didCommitLoadImpl): |
| (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): |
| * inspector/InspectorInstrumentation.h: |
| * inspector/InstrumentingAgents.cpp: |
| (WebCore::InstrumentingAgents::InstrumentingAgents): |
| (WebCore::InstrumentingAgents::reset): |
| * inspector/InstrumentingAgents.h: |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::stopLoading): |
| * page/ChromeClient.h: |
| * platform/FeatureCounterKeys.h: |
| |
| 2015-01-15 Zalan Bujtas <zalan@apple.com> |
| |
| Element appears correctly but does not receive event with a large translation. |
| https://bugs.webkit.org/show_bug.cgi?id=139815 |
| |
| Reviewed by Simon Fraser. |
| |
| When the hit point gets translated beyond the min/max value of LayoutRect (infiniteRect()), |
| we fail to find the corresponding layer. |
| When there's no clipping on a layer, we use min/max values to represent infiniteness. |
| However it does not work well across types. With IntPoint(hittest) we can address a point that's outside |
| of LayoutRect's boundary(clipping). |
| This patch addresses the immediate issue of not being able to hittest transformed layers properly. |
| Fixing the representation of infiniteness is tracked here: webkit.org/b/140533 |
| |
| Test: transforms/hittest-translated-content-off-to-infinity-and-back.html |
| |
| * rendering/ClipRect.cpp: |
| (WebCore::ClipRect::intersects): |
| |
| 2015-01-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| tables/mozilla/bugs/bug10633.html is flakey on Yosemite |
| https://bugs.webkit.org/show_bug.cgi?id=140487 |
| |
| Reviewed by Simon Fraser. |
| |
| The workaround in https://bugs.webkit.org/show_bug.cgi?id=140253 works |
| on both OSes. |
| |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2015-01-15 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged |
| https://bugs.webkit.org/show_bug.cgi?id=140523 |
| <rdar://problem/19464329> |
| |
| Reviewed by Chris Dumez. |
| |
| The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to |
| unset selfOrAncestorHasDirAutoAttribute flag while removing a child element. |
| |
| Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since |
| we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0". |
| |
| See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp. |
| |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged): |
| |
| 2015-01-15 Brent Fulgham <bfulgham@apple.com> |
| |
| RenderLayerCompositor: Strange comparison of opacity (float) to boolean. |
| https://bugs.webkit.org/show_bug.cgi?id=140477. |
| |
| Reviewed by Simon Fraser. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::styleChangeRequiresLayerRebuild): Add a cast to make the meaning of this |
| code clearer. |
| |
| 2015-01-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed, rolling out r178531. |
| |
| Caused LayoutTest ASSERTs/CRASHs on Debug Yosemite build-bot. |
| |
| Reverted changeset: |
| |
| "Layers need to be already updated before we call adjustViewSize." |
| https://bugs.webkit.org/show_bug.cgi?id=135514 |
| http://trac.webkit.org/changeset/178531 |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::updateCompositingLayersAfterScrolling): |
| (WebCore::FrameView::paintContents): |
| (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted. |
| * page/FrameView.h: |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::scrollTo): |
| (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Deleted. |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted. |
| |
| 2015-01-15 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Wire diagnostic logging messages through the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=140486 |
| |
| Reviewed by Sam Weinig. |
| |
| Wire diagnostic logging messages through the UIProcess. |
| Eventually, the corresponding bundle API should go away. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| Add page/DiagnosticLoggingResultType.h to Windows project. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Add page/DiagnosticLoggingResultType.h to XCode project. |
| |
| * html/HTMLMediaElement.cpp: |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| * page/DiagnosticLoggingClient.h: |
| * page/DiagnosticLoggingResultType.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h. |
| Use new DiagnosticLoggingResultType enum instead of old |
| DiagnosticLoggingClient::LogType one. |
| |
| 2015-01-15 Zalan Bujtas <zalan@apple.com> |
| |
| Reduce LayoutRect::infiniteRect() usage. |
| https://bugs.webkit.org/show_bug.cgi?id=140511 |
| |
| Reviewed by Simon Fraser. |
| |
| This is in preparation to get rid of LayoutRect/FloatRect::infiniteRect(). |
| |
| No change in functionality. |
| |
| * platform/graphics/LayoutRect.h: |
| (WebCore::LayoutRect::isInfinite): |
| * rendering/ClipRect.h: |
| (WebCore::ClipRect::reset): |
| (WebCore::ClipRect::isEmpty): |
| (WebCore::ClipRect::isInfinite): |
| (WebCore::ClipRect::setRect): Deleted. |
| * rendering/PaintInfo.h: |
| (WebCore::PaintInfo::applyTransform): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRects::reset): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGeometry): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::clippedByAncestor): |
| |
| 2015-01-15 Chris Dumez <cdumez@apple.com> |
| |
| Intermittent WebCore build failures - CSSPropertyNames.gperf: No keywords in input file! calling gperf failed: 256 at WebCore/css/makeprop.pl line 901 |
| https://bugs.webkit.org/show_bug.cgi?id=140521 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Close the CSSPropertyNames.gperf file before calling gperf on it |
| to make sure the content we wrote was flushed. This was causing |
| intermittent build failures. |
| |
| * css/makeprop.pl: |
| |
| 2015-01-15 Zalan Bujtas <zalan@apple.com> |
| |
| LayerFragment should be able to intersect with ClipRect. |
| https://bugs.webkit.org/show_bug.cgi?id=140498 |
| |
| Reviewed by Simon Fraser. |
| |
| No change in functionality. |
| |
| * rendering/LayerFragment.h: |
| (WebCore::LayerFragment::intersect): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::collectFragments): |
| |
| 2015-01-15 Zalan Bujtas <zalan@apple.com> |
| |
| Move ClipRects and ClipRectsCache classes to RenderLayer.cpp. |
| https://bugs.webkit.org/show_bug.cgi?id=140461 |
| |
| Reviewed by Simon Fraser. |
| |
| Move classes only used by RenderLayer to RenderLayer.cpp. |
| |
| No change in functionality. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::ClipRects::create): |
| (WebCore::ClipRects::reset): |
| (WebCore::ClipRects::overflowClipRect): |
| (WebCore::ClipRects::setOverflowClipRect): |
| (WebCore::ClipRects::fixedClipRect): |
| (WebCore::ClipRects::setFixedClipRect): |
| (WebCore::ClipRects::posClipRect): |
| (WebCore::ClipRects::setPosClipRect): |
| (WebCore::ClipRects::fixed): |
| (WebCore::ClipRects::setFixed): |
| (WebCore::ClipRects::ref): |
| (WebCore::ClipRects::deref): |
| (WebCore::ClipRects::operator==): |
| (WebCore::ClipRects::operator=): |
| (WebCore::ClipRects::ClipRects): |
| (WebCore::ClipRectsCache::ClipRectsCache): |
| (WebCore::ClipRectsCache::getClipRects): |
| (WebCore::ClipRectsCache::setClipRects): |
| (WebCore::ClipRectsCache::getIndex): |
| (WebCore::RenderLayer::clipRects): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRects::create): Deleted. |
| (WebCore::ClipRects::ClipRects): Deleted. |
| (WebCore::ClipRects::reset): Deleted. |
| (WebCore::ClipRects::overflowClipRect): Deleted. |
| (WebCore::ClipRects::setOverflowClipRect): Deleted. |
| (WebCore::ClipRects::fixedClipRect): Deleted. |
| (WebCore::ClipRects::setFixedClipRect): Deleted. |
| (WebCore::ClipRects::posClipRect): Deleted. |
| (WebCore::ClipRects::setPosClipRect): Deleted. |
| (WebCore::ClipRects::fixed): Deleted. |
| (WebCore::ClipRects::setFixed): Deleted. |
| (WebCore::ClipRects::ref): Deleted. |
| (WebCore::ClipRects::deref): Deleted. |
| (WebCore::ClipRects::operator==): Deleted. |
| (WebCore::ClipRects::operator=): Deleted. |
| (WebCore::ClipRectsCache::ClipRectsCache): Deleted. |
| (WebCore::ClipRectsCache::getClipRects): Deleted. |
| (WebCore::ClipRectsCache::setClipRects): Deleted. |
| (WebCore::ClipRectsCache::getIndex): Deleted. |
| |
| 2015-01-15 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Canonicalization of :lang() should preserve the :lang()'s arguments representations |
| https://bugs.webkit.org/show_bug.cgi?id=139928 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Preserve the representation of IDENT and STRING when serializing the |
| :lang(). For example, :lang(foo,"bar" ,baz) should be serialized as |
| :lang(foo, "bar", baz) instead of :lang(foo, bar, baz). |
| |
| Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList |
| and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList, |
| CSSSelector::setLangArgumentList and CSSSelector::langArgumentList |
| respectively, since those methods are being exclusively used in respect |
| with :lang(). |
| |
| Update the test of serializing :lang() with IDENT and STRING arguments. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::setLangArgumentList): |
| (WebCore::CSSParserSelector::setArgumentList): Deleted. |
| * css/CSSParserValues.h: |
| (WebCore::CSSParserString::init): |
| (WebCore::CSSParserString::clear): |
| (WebCore::CSSParserString::isParsedFromString): |
| (WebCore::CSSParserString::setParsedFromString): |
| * css/CSSSelector.cpp: |
| (WebCore::appendLangArgumentList): |
| (WebCore::CSSSelector::selectorText): |
| (WebCore::CSSSelector::setLangArgumentList): |
| (WebCore::appendArgumentList): Deleted. |
| (WebCore::CSSSelector::setArgumentList): Deleted. |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::langArgumentList): |
| (WebCore::CSSSelector::langArgumentParsedFromStringFlagList): |
| (WebCore::CSSSelector::argumentList): Deleted. |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| |
| 2015-01-15 Brent Fulgham <bfulgham@apple.com> |
| |
| Layers need to be already updated before we call adjustViewSize |
| https://bugs.webkit.org/show_bug.cgi?id=135514 |
| |
| Reviewed by Simon Fraser. |
| |
| Tested by 'fast/dynamic/layer-no-longer-paginated.html' |
| |
| Defer updating scrollbars until we have finished layout. This |
| has a couple of benefits: |
| (1) We do not attempt to modify render layers during layout. |
| (2) In WK1 we do not attempt to paint during layout. |
| |
| Add a new virtual predicate to ScrollView indicating when we are in |
| layout so that calls to setContentsSize do not attempt |
| to adjust scrollbars. |
| |
| Modify FrameView to set its ScrollView state to block drawing |
| scrollbar updates during layout. Also add a post-layout |
| handler to complete the scrollbar updates after layout is |
| finished. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added. |
| * page/FrameView.h: |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added. |
| (WebCore::ScrollView::scrollTo): If we should defer painting, cache the |
| the scroll delta and apply it after the layout is complete. |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added. |
| |
| 2015-01-15 Benjamin Poulain <benjamin@webkit.org> |
| |
| When building the NFA of the global disjunction, share the prefix subgraph of existing subpatterns |
| https://bugs.webkit.org/show_bug.cgi?id=140465 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch updates the parser to produce smaller graphs when multiple patterns |
| of the rule list share a common prefix. |
| |
| Previously, GraphBuilder would generate subgraph in place of each parsed |
| atom. We now only create subgraph if an atom does not appear in the prefix tree. |
| |
| We accumulate the parsing information into small uint16_t named TrivialAtom. |
| When generating the subgraph for an new atom, we first check if the prefix tree already |
| has a corresponding subgraph for that atom. If it does, we do not generate anything and we extend the existing |
| graph. If there is no existing prefix, we create the subgraph and extend the prefix tree. |
| |
| Sharing prefix subtrees slows down the subtree generation a bit but the resulting graph is much |
| simpler for many kind of inputs. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): |
| The URLFilterParser now maintains states (the prefix tree) between patterns. |
| |
| * contentextensions/DFA.cpp: |
| (WebCore::ContentExtensions::DFA::debugPrintDot): |
| * contentextensions/DFANode.h: |
| Fix a typo :) |
| |
| * contentextensions/NFA.cpp: |
| (WebCore::ContentExtensions::NFA::createNode): |
| (WebCore::ContentExtensions::NFA::setFinal): |
| (WebCore::ContentExtensions::NFA::restoreToGraphSize): |
| (WebCore::ContentExtensions::NFA::addRuleId): |
| (WebCore::ContentExtensions::NFA::debugPrintDot): |
| * contentextensions/NFA.h: |
| (WebCore::ContentExtensions::NFA::addRuleId): |
| * contentextensions/NFANode.cpp: Removed. |
| * contentextensions/NFANode.h: |
| NFA nodes from two patterns are now "merged" by construction, thus we need |
| to keep track of multiple rules per node. |
| |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate): |
| * contentextensions/URLFilterParser.cpp: |
| (WebCore::ContentExtensions::trivialAtomFromAsciiCharacter): |
| (WebCore::ContentExtensions::quantifyTrivialAtom): |
| (WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin): |
| (WebCore::ContentExtensions::GraphBuilder::GraphBuilder): |
| (WebCore::ContentExtensions::GraphBuilder::m_LastPrefixTreeEntry): |
| (WebCore::ContentExtensions::GraphBuilder::finalize): |
| (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter): |
| (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass): |
| (WebCore::ContentExtensions::GraphBuilder::quantifyAtom): |
| (WebCore::ContentExtensions::GraphBuilder::fail): |
| (WebCore::ContentExtensions::GraphBuilder::generateTransition): |
| (WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom): |
| (WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary): |
| (WebCore::ContentExtensions::URLFilterParser::URLFilterParser): |
| (WebCore::ContentExtensions::URLFilterParser::addPattern): |
| (WebCore::ContentExtensions::GraphBuilder::m_lastAtom): Deleted. |
| (WebCore::ContentExtensions::URLFilterParser::parse): Deleted. |
| * contentextensions/URLFilterParser.h: |
| (WebCore::ContentExtensions::URLFilterParser::hasError): Deleted. |
| (WebCore::ContentExtensions::URLFilterParser::errorMessage): Deleted. |
| |
| 2015-01-14 Alexey Proskuryakov <ap@apple.com> |
| |
| Web Inspector and regular console use different source code locations for messages |
| https://bugs.webkit.org/show_bug.cgi?id=140478 |
| |
| Reviewed by Brian Burg. |
| |
| We now create a ConsoleMessage object in a place where we can look at it and use |
| the source location it computed in a client call. |
| |
| * inspector/InspectorConsoleInstrumentation.h: |
| (WebCore::InspectorInstrumentation::addMessageToConsole): |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): |
| * inspector/InspectorInstrumentation.h: |
| * inspector/WebConsoleAgent.cpp: |
| (WebCore::WebConsoleAgent::didFinishXHRLoading): |
| (WebCore::WebConsoleAgent::didReceiveResponse): |
| (WebCore::WebConsoleAgent::didFailLoading): |
| * page/PageConsoleClient.cpp: |
| (WebCore::PageConsoleClient::addMessage): |
| (WebCore::PageConsoleClient::messageWithTypeAndLevel): |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::addMessageToWorkerConsole): |
| |
| 2015-01-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed Windows build fix. |
| |
| More missing Font->FontCascade changes. |
| |
| * platform/win/WebCoreTextRenderer.cpp: |
| (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): |
| (WebCore::WebCoreAlwaysUsesComplexTextCodePath): |
| |
| 2015-01-15 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r178133): Membuster regressed ~4% |
| https://bugs.webkit.org/show_bug.cgi?id=140495 |
| |
| Reviewed by Andreas Kling. |
| |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::purgeInactiveFontData): |
| |
| Fonts may ref other fonts. Keep clearing until there are no changes. |
| |
| 2015-01-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix. |
| |
| * platform/graphics/win/FontCacheWin.cpp: |
| * platform/win/DragImageWin.cpp: |
| * platform/win/WebCoreTextRenderer.h: |
| |
| 2015-01-15 Antti Koivisto <antti@apple.com> |
| |
| Try to fix windows build. |
| |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (PlatformCALayerWinInternal::displayCallback): |
| * platform/win/DragImageWin.cpp: |
| (WebCore::dragLabelFont): |
| (WebCore::createDragImageForLink): |
| * platform/win/PopupMenuWin.cpp: |
| (WebCore::PopupMenuWin::calculatePositionAndSize): |
| (WebCore::PopupMenuWin::paint): |
| * platform/win/WebCoreTextRenderer.cpp: |
| (WebCore::doDrawTextAtPoint): |
| (WebCore::WebCoreDrawDoubledTextAtPoint): |
| (WebCore::WebCoreTextFloatWidth): |
| (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): |
| (WebCore::WebCoreAlwaysUsesComplexTextCodePath): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::setFontFromControlSize): |
| |
| 2015-01-15 Antti Koivisto <antti@apple.com> |
| |
| Unreviewed, rolling out r178518. |
| |
| Didn't mean to commit some of this |
| |
| Reverted changeset: |
| |
| "Try to fix windows build." |
| http://trac.webkit.org/changeset/178518 |
| |
| 2015-01-15 Antti Koivisto <antti@apple.com> |
| |
| Try to fix windows build. |
| |
| * platform/graphics/Font.cpp: Copied from Source/WebCore/platform/graphics/SimpleFontData.cpp. |
| * platform/graphics/Font.h: Copied from Source/WebCore/platform/graphics/SimpleFontData.h. |
| * platform/graphics/FontCascadeFastPath.cpp: Copied from Source/WebCore/platform/graphics/FontFastPath.cpp. |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (PlatformCALayerWinInternal::displayCallback): |
| * platform/graphics/ios/FontIOS.mm: Copied from Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm. |
| * platform/graphics/mac/FontCascadeComplexTextMac.cpp: Copied from Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp. |
| * platform/graphics/mac/FontCascadeMac.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm. |
| * platform/graphics/mac/FontCoreText.cpp: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp. |
| * platform/graphics/mac/FontMac.mm: Replaced with Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm. |
| * platform/win/DragImageWin.cpp: |
| (WebCore::dragLabelFont): |
| (WebCore::createDragImageForLink): |
| * platform/win/PopupMenuWin.cpp: |
| (WebCore::PopupMenuWin::calculatePositionAndSize): |
| (WebCore::PopupMenuWin::paint): |
| * platform/win/WebCoreTextRenderer.cpp: |
| (WebCore::doDrawTextAtPoint): |
| (WebCore::WebCoreDrawDoubledTextAtPoint): |
| (WebCore::WebCoreTextFloatWidth): |
| (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): |
| (WebCore::WebCoreAlwaysUsesComplexTextCodePath): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::setFontFromControlSize): |
| |
| 2015-01-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| http/tests/misc/acid3.html is flakey on Mavericks |
| https://bugs.webkit.org/show_bug.cgi?id=140253 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font |
| if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We |
| often create typesetters in the complex code path, so it's not obvious when this bug |
| might present itself. This patch simply makes a dummy invocation of |
| CTFontTransformGlyphs() when creating a SimpleFontData. |
| |
| No new tests because this is covered by http/tests/misc/acid3.html. |
| |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2015-01-15 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of custom StyleBuilder code for 'line-height' CSS property |
| https://bugs.webkit.org/show_bug.cgi?id=140462 |
| |
| Reviewed by Antti Koivisto. |
| |
| Get rid of custom StyleBuilder code for 'line-height' CSS property by |
| using a conditional converter. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertLineHeight): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueLineHeight): |
| (WebCore::StyleBuilderCustom::convertLineHeight): Deleted. |
| |
| 2015-01-15 Antti Koivisto <antti@apple.com> |
| |
| Rename Font to FontCascade |
| https://bugs.webkit.org/show_bug.cgi?id=140442 |
| |
| Reviewed by Darin Adler. |
| |
| We can then rename SimpleFontData to Font. This will match the usual definition of a "font". |
| |
| 2015-01-15 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info |
| https://bugs.webkit.org/show_bug.cgi?id=140441 |
| |
| Reviewed by Andrei Bucur. |
| |
| When showing the render tree debug information for an element inside a flow thread, |
| we will display the region range information for all the render boxes. To avoid |
| computation of flow thread containing block in these situations, we will use |
| only the cached flow thread containing block information. |
| |
| No new tests as this code path is only touched when using showRenderTree* methods. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::flowThreadContainingBlockFromRenderer): |
| (WebCore::RenderObject::showRegionsInformation): |
| |
| 2015-01-14 Simon Fraser <simon.fraser@apple.com> |
| |
| Graphics corruption after Find on some pages |
| https://bugs.webkit.org/show_bug.cgi?id=140489 |
| |
| Reviewed by Zalan Bujtas. |
| |
| After doing a Find on http://shop.outlier.cc/shop/retail/chino.html, |
| garbage could appear on some parts of the page. This is caused by creating |
| a compositing layer which is marked as opaque, yet failing to paint the entire |
| layer contents. |
| |
| This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured() |
| logic. On the page in question, doing a Find could cause overflow:hidden sections |
| to get scrolled (since Find can reveal the selection by scrolling overflow). |
| However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect() |
| fails to take overflow scrolling into account, so gives the wrong answer |
| in some content configurations. As a result, we'd think that the background |
| is obscured, and never paint it. |
| |
| Conservative fix is to have isCandidateForOpaquenessTest() return false |
| when the content has any non-zero scroll offset. |
| |
| Tests: compositing/contents-opaque/opaque-with-scrolled.html |
| fast/backgrounds/opaque-scrolled-paint-background.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::isCandidateForOpaquenessTest): |
| |
| 2015-01-14 Jer Noble <jer.noble@apple.com> |
| |
| [Mac][MSE] Stalled YouTube playback does not allow display to sleep. |
| https://bugs.webkit.org/show_bug.cgi?id=140468 |
| rdar://problem/19171162 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/media-source/media-source-stalled-holds-sleep-assertion.html |
| |
| The unstated convention of MediaPlayerPrivate::paused() is that implementations should |
| return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC |
| was returning 'false' if it was supposed to be playing, regardless of the actual rate. |
| This caused a check in HTMLMediaElement of whether to release the sleep assertion token |
| to fail, thinking the media engine was still playing. |
| |
| Add some testing infrastructure to allow us to test whether the media element is disabling |
| display sleep from within layout tests. |
| |
| * html/HTMLMediaElement.h: |
| (WebCore::HTMLMediaElement::isDisablingSleep): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused): |
| * testing/Internals.cpp: |
| (WebCore::Internals::elementIsBlockingDisplaySleep): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2015-01-14 Zalan Bujtas <zalan@apple.com> |
| |
| Move LayoutFragment and ClipRect to their own files. |
| https://bugs.webkit.org/show_bug.cgi?id=140457 |
| |
| Reviewed by Simon Fraser. |
| |
| Move these classes to their own files to to make RenderLayer.h less heavy. |
| |
| No change in functionality. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * rendering/ClipRect.cpp: Added. |
| (WebCore::ClipRect::intersects): |
| * rendering/ClipRect.h: Added. |
| (WebCore::ClipRect::ClipRect): |
| (WebCore::ClipRect::rect): |
| (WebCore::ClipRect::setRect): |
| (WebCore::ClipRect::affectedByRadius): |
| (WebCore::ClipRect::setAffectedByRadius): |
| (WebCore::ClipRect::operator==): |
| (WebCore::ClipRect::operator!=): |
| (WebCore::ClipRect::intersect): |
| (WebCore::ClipRect::move): |
| (WebCore::ClipRect::moveBy): |
| (WebCore::ClipRect::isEmpty): |
| (WebCore::ClipRect::intersects): |
| (WebCore::ClipRect::inflateX): |
| (WebCore::ClipRect::inflateY): |
| (WebCore::ClipRect::inflate): |
| (WebCore::intersection): |
| * rendering/LayerFragment.h: Added. |
| (WebCore::LayerFragment::setRects): |
| (WebCore::LayerFragment::moveBy): |
| (WebCore::LayerFragment::intersect): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::ClipRect::intersects): Deleted. |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRect::ClipRect): Deleted. |
| (WebCore::ClipRect::rect): Deleted. |
| (WebCore::ClipRect::setRect): Deleted. |
| (WebCore::ClipRect::affectedByRadius): Deleted. |
| (WebCore::ClipRect::setAffectedByRadius): Deleted. |
| (WebCore::ClipRect::operator==): Deleted. |
| (WebCore::ClipRect::operator!=): Deleted. |
| (WebCore::ClipRect::intersect): Deleted. |
| (WebCore::ClipRect::move): Deleted. |
| (WebCore::ClipRect::moveBy): Deleted. |
| (WebCore::ClipRect::isEmpty): Deleted. |
| (WebCore::ClipRect::intersects): Deleted. |
| (WebCore::ClipRect::inflateX): Deleted. |
| (WebCore::ClipRect::inflateY): Deleted. |
| (WebCore::ClipRect::inflate): Deleted. |
| (WebCore::intersection): Deleted. |
| (WebCore::LayerFragment::LayerFragment): Deleted. |
| (WebCore::LayerFragment::setRects): Deleted. |
| (WebCore::LayerFragment::moveBy): Deleted. |
| (WebCore::LayerFragment::intersect): Deleted. |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderRegion.h: |
| * rendering/RenderTreeAsText.cpp: |
| |
| 2015-01-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178438. |
| https://bugs.webkit.org/show_bug.cgi?id=140484 |
| |
| Broke a few MediaSource tests (Requested by JoePeck on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[MSE] Implement per TrackBuffer buffered." |
| https://bugs.webkit.org/show_bug.cgi?id=139813 |
| http://trac.webkit.org/changeset/178438 |
| |
| 2015-01-14 Enrica Casucci <enrica@apple.com> |
| |
| REGRESSION (r165385): Crash when applying autocorrection exceeds maximum text area length. |
| https://bugs.webkit.org/show_bug.cgi?id=137902 |
| rdar://problem/18568864 |
| |
| Reviewed by Darin Adler. |
| |
| Test: editing/text-iterator/invalid-subrange.html |
| |
| characterSubrange should check the iterator position after each advance. |
| This changed adds a new method to the Internals object to be able to test this. |
| |
| * editing/TextIterator.cpp: |
| (WebCore::characterSubrange): |
| (WebCore::TextIterator::subrange): |
| (WebCore::findPlainText): |
| * testing/Internals.cpp: |
| (WebCore::Internals::subrange): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2015-01-14 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| REGRESSION (r154769): Wrong <title> taken as a tooltip for SVG element. |
| https://bugs.webkit.org/show_bug.cgi?id=139690. |
| |
| Reviewed by Daniel Bates. |
| |
| Before r154769, we were calling Traversal<SVGTitleElement>::firstWithin(), which returns |
| the first immediate SVGTitleElement child. In r154769, Traversal<SVGTitleElement>::firstWithin() |
| was replaced by descendantsOfType<SVGTitleElement> which returns all descendants SVGTitleElements. |
| Then we were returning the first element of these descendants, which may not be an immediate |
| child of the element, as the title of the SVGElement. This was the reason of this bug. The |
| fix is to use childrenOfType<SVGTitleElement>() instead, which returns the immediate SVGTitleElement |
| children of an SVGElement. |
| |
| Also we were not following exactly the specs for the rootmost SVG element's title value. |
| According to the W3C specs, for stand-alone SVG documents only, the rootmost SVG element |
| should not return a title. But we were not returning a title for the rootmost SVG element |
| always. The fix is to return a empty title for the rootmost SVG element only if topDocument() |
| of the element isSVGDocument(). |
| |
| NOTE: The main SVG specs http://www.w3.org/TR/SVG/interact.html#hit-testing (W3C Recommendation |
| 16 August 2011) and http://www.w3.org/TR/SVG/struct.html#DescriptionAndTitleElements (W3C |
| Recommendation 16 August 2011) do not say how the tooltip of an SVG element is calculated. But |
| the SVG tiny specs http://www.w3.org/TR/SVGTiny12/struct.html#uiTitleDescBehavior (W3C |
| Recommendation 22 December 2008) however explains well the tooltip calculation for the embedded |
| and the stand-alone SVG cases. And it seems this what we should rely on. |
| |
| Test: svg/hittest/svg-standalone-tooltip.svg |
| svg/hittest/svg-embedded-tooltip.html |
| |
| * WebCore.exp.in: |
| * rendering/HitTestResult.h: |
| Make HitTestResult::setInnerNode be WEBCORE_EXPORT |
| |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::title): |
| Replace descendantsOfType<SVGTitleElement>() by childrenOfType<SVGTitleElement>(). |
| Fix the title value of the rootmost SVG element. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::toolTipFromElement): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| Add a new internal function toolTipFromElement() which returns the tooltip text for a |
| given element. |
| |
| 2015-01-14 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Buildfix after r178434 |
| https://bugs.webkit.org/show_bug.cgi?id=140467 |
| |
| Reviewed by Chris Dumez. |
| |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertPerspective): |
| |
| 2015-01-14 Benjamin Poulain <bpoulain@apple.com> |
| |
| Build fix for NFAToDFA on ARM |
| |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue): |
| |
| 2015-01-14 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Implement per TrackBuffer buffered. |
| https://bugs.webkit.org/show_bug.cgi?id=139813. |
| |
| Reviewed by Jer Noble. |
| |
| Added implementation of SourceBuffer buffered() algorithm as per specification, |
| and caching mechanism called when samples are added, removed, or MediaSource |
| readyState is changed. |
| |
| Tests: media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html |
| media/media-source/media-source-multiple-trackBuffers-buffered.html |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::setReadyState): |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): |
| (WebCore::SourceBuffer::SourceBuffer): |
| (WebCore::SourceBuffer::buffered): |
| (WebCore::SourceBuffer::invalidateBuffered): |
| (WebCore::SourceBuffer::recalculateBuffered): |
| (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): |
| (WebCore::SourceBuffer::removeCodedFrames): |
| (WebCore::SourceBuffer::evictCodedFrames): |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): |
| (WebCore::SourceBuffer::bufferedAccountingForEndOfStream): |
| (WebCore::SourceBuffer::hasCurrentTime): |
| * Modules/mediasource/SourceBuffer.h: |
| |
| 2015-01-14 Benjamin Poulain <benjamin@webkit.org> |
| |
| Do not create new set for every sub-operation when converting a NFA to DFA |
| https://bugs.webkit.org/show_bug.cgi?id=140380 |
| |
| Reviewed by Andreas Kling. |
| |
| This is the first step toward making the NFA-to-DFA conversion more scalable: instead |
| of creating new sets for each step of the algorithm, we use two kinds of sets |
| and never do any copy. |
| |
| The first new tool to do that is UniqueNodeIdSetImpl. It represents a set of NFA state corresponding to a DFA |
| state. It is unique per DFA state. |
| |
| HashableNodeIdSet is a helper tool storing a UniqueNodeIdSetImpl. |
| |
| The creation of new sets now goes like this: |
| 1) Get a NodeIdSet for each possible transition. |
| 2) For each transition: |
| 2a) Extend the NodeIdSet in place with its epsilon closure. |
| 2b) Get the UniqueNodeIdSetImpl corresponding to the new set we discovered. |
| 2c) If the UniqueNodeIdSetImpl is new, queue it for processing. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * contentextensions/ContentExtensionsDebugging.h: Copied from Source/WebCore/contentextensions/DFANode.h. |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): |
| * contentextensions/ContentExtensionsManager.cpp: |
| (WebCore::ContentExtensions::ExtensionsManager::loadExtension): |
| Added some logging to inspect more easily what the clients are sending. |
| |
| * contentextensions/DFA.cpp: |
| * contentextensions/DFA.h: |
| * contentextensions/DFANode.h: |
| * contentextensions/NFA.cpp: |
| * contentextensions/NFA.h: |
| * contentextensions/NFAToDFA.cpp: |
| |
| (WebCore::ContentExtensions::epsilonClosure): |
| Instead of returning a new HashSet, extend the input HashSet. |
| |
| (WebCore::ContentExtensions::UniqueNodeIdSetImpl::buffer): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::operator=): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::~UniqueNodeIdSet): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::operator==): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::impl): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::hash): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::isEmptyValue): |
| (WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue): |
| (WebCore::ContentExtensions::UniqueNodeIdSetHash::hash): |
| (WebCore::ContentExtensions::UniqueNodeIdSetHash::equal): |
| UniqueNodeIdSetImpl is a compact representation of a NodeIdSet corresponding to a DFA node. |
| |
| It is never built directly, it is only built on demand through NodeIdSetToUniqueNodeIdSetTranslator |
| from a NodeIdSet. |
| |
| (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource): |
| (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::hash): |
| (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::equal): |
| (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate): |
| (WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::operator[]): |
| (WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::size): |
| (WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::begin): |
| (WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::end): |
| (WebCore::ContentExtensions::populateTransitionsExcludingEpsilon): |
| (WebCore::ContentExtensions::NFAToDFA::convert): |
| (WebCore::ContentExtensions::setTransitionsExcludingEpsilon): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSet::operator=): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSetHash::hash): Deleted. |
| (WebCore::ContentExtensions::HashableNodeIdSetHash::equal): Deleted. |
| (WebCore::ContentExtensions::addDFAState): Deleted. |
| |
| 2015-01-14 Chris Dumez <cdumez@apple.com> |
| |
| Make 'TypeName' parameter unnecessary in CSSPropertyNames.in |
| https://bugs.webkit.org/show_bug.cgi?id=140347 |
| |
| Reviewed by Darin Adler. |
| |
| Make 'TypeName' parameter unnecessary in CSSPropertyNames.in by: |
| - Removing the static_cast to the destination type in the generated |
| StyleBuilder code and let compiler implicitly convert the |
| CSSPrimitiveValue to the setter's argument type. |
| - Updating conditional converters to return a WTF::Optional<> |
| instead of returning a boolean and having an output argument |
| passed by reference. This way, we can use "auto" in the generated |
| StyleBuilder code to deduce the return type. |
| |
| * css/CSSPropertyNames.in: |
| Drop TypeName parameter from all properties as it is no longer needed. |
| |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertGridTrackSize): |
| (WebCore::StyleBuilderConverter::convertGridPosition): |
| (WebCore::StyleBuilderConverter::convertWordSpacing): |
| (WebCore::StyleBuilderConverter::convertPerspective): |
| (WebCore::StyleBuilderConverter::convertMarqueeIncrement): |
| (WebCore::StyleBuilderConverter::convertFilterOperations): |
| (WebCore::StyleBuilderConverter::convertMaskImageOperations): |
| Update conditional converters to return an Optional<>. |
| |
| * css/makeprop.pl: |
| (generateValueSetter): |
| Drop support for TypeName, stop using static_cast to destination |
| type and update the generated code now that the conditional |
| converters return an Optional. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::systemFont): |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::Font): |
| * platform/graphics/FontDescription.h: |
| (WebCore::FontDescription::setIsItalic): |
| (WebCore::FontDescription::setIsSmallCaps): |
| (WebCore::FontDescription::setItalic): Deleted. |
| (WebCore::FontDescription::setSmallCaps): Deleted. |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::RenderThemeGtk::systemFont): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::systemFont): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::systemFont): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::systemFont): |
| * rendering/RenderThemeWin.cpp: |
| (WebCore::fillFontDescription): |
| * rendering/mathml/RenderMathMLToken.cpp: |
| (WebCore::RenderMathMLToken::updateStyle): |
| Now that we call the RenderStyle setters with a CSSPrimitiveValue |
| and let it be implicitly converted to the right type, instead of |
| doing an explicit static_cast, two setters on FontDescription |
| were ambiguous: setItalic() / setSmallCaps(). Rename the overloads |
| taking a boolean in argument to setIsItalic() / setIsSmallCaps() |
| to resolve the ambiguity. |
| |
| 2015-01-14 Jer Noble <jer.noble@apple.com> |
| |
| Null-deref crash when seeking immediately before looping. |
| https://bugs.webkit.org/show_bug.cgi?id=140394 |
| |
| Reviewed by Eric Carlson. |
| |
| It is possible for finishSeek() to be called when a seek() has caused a pending seek task |
| to be scheduled, but before that pending seek task is run. In this case, if a seek request |
| is issued, the existing pending seek task will not be cancelled, which will cause a crash |
| when the pending seek task is run. |
| |
| When checking whether an existing seek task needs to be cancelled, check the actual timer, |
| rather than the m_seeking boolean, so that this case is covered. |
| |
| Test: media/video-ended-seek-crash.html |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::seekWithTolerance): |
| |
| 2015-01-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=140425 |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/win/CursorWin.cpp: |
| (WebCore::createSharedCursor): Return nullptr when operating system |
| cannot support the requested icon specification. |
| (WebCore::Cursor::ensurePlatformCursor): Check for 'createSharedCursor' |
| returning nullptr, and fall back to the default icon construction. |
| |
| 2015-01-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r178367): [GStreamer] Several media tests time out after r178367 |
| https://bugs.webkit.org/show_bug.cgi?id=140437 |
| |
| Reviewed by Philippe Normand. |
| |
| Add implementation for MediaPlayerPrivate::rate() to GStreamer |
| media backend. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::rate): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| |
| 2015-01-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178390, r178392, r178398, r178400, |
| r178402, and r178410. |
| https://bugs.webkit.org/show_bug.cgi?id=140431 |
| |
| Way too many failures to skip (Requested by ap_ on #webkit). |
| |
| Reverted changesets: |
| |
| "WebGL2: Support webgl2 context creation." |
| https://bugs.webkit.org/show_bug.cgi?id=126408 |
| http://trac.webkit.org/changeset/178390 |
| |
| "Unreviewed iOS build fix after r178390." |
| http://trac.webkit.org/changeset/178392 |
| |
| "[Unreviewed] Windows build fix after r178390." |
| http://trac.webkit.org/changeset/178398 |
| |
| "[Unreviewed] Speculative test fix after r178390." |
| http://trac.webkit.org/changeset/178400 |
| |
| "[Unreviewed] Skip webgl tests for temporarily." |
| https://bugs.webkit.org/show_bug.cgi?id=140423 |
| http://trac.webkit.org/changeset/178402 |
| |
| "[EFL] Fix build after r178390" |
| https://bugs.webkit.org/show_bug.cgi?id=140424 |
| http://trac.webkit.org/changeset/178410 |
| |
| 2015-01-13 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] Fix build after r178390 |
| https://bugs.webkit.org/show_bug.cgi?id=140424 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * CMakeLists.txt: |
| |
| 2015-01-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Refactor TextFragment class. |
| https://bugs.webkit.org/show_bug.cgi?id=140417 |
| |
| Reviewed by Andreas Kling. |
| |
| Introduce text fragment type and use class member initializers. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::TextFragment::TextFragment): |
| (WebCore::SimpleLineLayout::LineState::addUncommitted): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::nextFragment): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| |
| 2015-01-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178400. |
| https://bugs.webkit.org/show_bug.cgi?id=140422 |
| |
| Test fix breaks build (Requested by rfong on #webkit). |
| |
| Reverted changeset: |
| |
| "[Unreviewed] Speculative test fix after r178390." |
| http://trac.webkit.org/changeset/178400 |
| |
| 2015-01-13 Roger Fong <roger_fong@apple.com> |
| |
| [Unreviewed] Speculative test fix after r178390. |
| |
| * html/canvas/WebGL1RenderingContext.idl: |
| |
| 2015-01-13 Roger Fong <roger_fong@apple.com> |
| |
| [Unreviewed] Windows build fix after r178390. |
| |
| * DerivedSources.cpp: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * bindings/js/JSBindingsAllInOne.cpp: |
| * html/canvas/WebGLRenderingContextBase.cpp: |
| (WebCore::WebGLRenderingContextBase::create): |
| |
| 2015-01-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| NSButtonCell leak allocated under WebCore::paintToggleButton |
| https://bugs.webkit.org/show_bug.cgi?id=137014 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * platform/mac/ThemeMac.mm: |
| (WebCore::createToggleButtonCell): |
| Immediately adopt the NSButtonCell allocation. |
| |
| (WebCore::sharedRadioCell): |
| (WebCore::sharedCheckboxCell): |
| Move from the RetainPtr into the static variable. |
| |
| (WebCore::paintToggleButton): |
| Use RetainPtr logic to better manage lifetimes. |
| |
| 2015-01-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Refactor SimpleLineLayout::nextFragment(). |
| https://bugs.webkit.org/show_bug.cgi?id=140407 |
| |
| Reviewed by Andreas Kling. |
| |
| Simplify the code by using content specific branches with early returns. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::nextFragment): |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after r178390. |
| |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): |
| m_type is undeclared. |
| |
| * html/canvas/WebGLContextGroup.h: |
| Fix bad include. |
| |
| 2015-01-13 Roger Fong <roger_fong@apple.com> |
| |
| WebGL2: Support webgl2 context creation. |
| https://bugs.webkit.org/show_bug.cgi?id=126408 |
| <rdar://problem/15002170> |
| |
| Reviewed by Dean Jackson. |
| |
| Tests covered by existing Khronos tests for WebGL 1.0 conformance. |
| |
| Create a WebGLRenderingContextBase class that extends to a WebGL1RenderingContext and WebGL2RenderingContext. |
| Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now. |
| As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSCanvasRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * bindings/js/JSDocumentCustom.cpp: |
| * bindings/js/JSHTMLCanvasElementCustom.cpp: |
| * bindings/js/JSWebGL1RenderingContextCustom.cpp: Copied from Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp. |
| * bindings/js/JSWebGL2RenderingContextCustom.cpp: Added. |
| (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren): |
| * bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added. |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: Removed. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::getContext): |
| (WebCore::HTMLCanvasElement::is3dType): |
| (WebCore::HTMLCanvasElement::reset): |
| (WebCore::HTMLCanvasElement::paint): |
| (WebCore::HTMLCanvasElement::getImageData): |
| * html/canvas/ANGLEInstancedArrays.cpp: |
| (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays): |
| (WebCore::ANGLEInstancedArrays::supported): |
| * html/canvas/ANGLEInstancedArrays.h: |
| * html/canvas/CanvasRenderingContext.h: |
| (WebCore::CanvasRenderingContext::type): |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): |
| * html/canvas/EXTBlendMinMax.cpp: |
| (WebCore::EXTBlendMinMax::EXTBlendMinMax): |
| * html/canvas/EXTBlendMinMax.h: |
| * html/canvas/EXTFragDepth.cpp: |
| (WebCore::EXTFragDepth::EXTFragDepth): |
| * html/canvas/EXTFragDepth.h: |
| * html/canvas/EXTShaderTextureLOD.cpp: |
| (WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD): |
| * html/canvas/EXTShaderTextureLOD.h: |
| * html/canvas/EXTTextureFilterAnisotropic.cpp: |
| (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic): |
| * html/canvas/EXTTextureFilterAnisotropic.h: |
| * html/canvas/EXTsRGB.cpp: |
| (WebCore::EXTsRGB::EXTsRGB): |
| * html/canvas/EXTsRGB.h: |
| * html/canvas/OESElementIndexUint.cpp: |
| (WebCore::OESElementIndexUint::OESElementIndexUint): |
| * html/canvas/OESElementIndexUint.h: |
| * html/canvas/OESStandardDerivatives.cpp: |
| (WebCore::OESStandardDerivatives::OESStandardDerivatives): |
| * html/canvas/OESStandardDerivatives.h: |
| * html/canvas/OESTextureFloat.cpp: |
| (WebCore::OESTextureFloat::OESTextureFloat): |
| * html/canvas/OESTextureFloat.h: |
| * html/canvas/OESTextureFloatLinear.cpp: |
| (WebCore::OESTextureFloatLinear::OESTextureFloatLinear): |
| * html/canvas/OESTextureFloatLinear.h: |
| * html/canvas/OESTextureHalfFloat.cpp: |
| (WebCore::OESTextureHalfFloat::OESTextureHalfFloat): |
| * html/canvas/OESTextureHalfFloat.h: |
| * html/canvas/OESTextureHalfFloatLinear.cpp: |
| (WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear): |
| * html/canvas/OESTextureHalfFloatLinear.h: |
| * html/canvas/OESVertexArrayObject.cpp: |
| (WebCore::OESVertexArrayObject::OESVertexArrayObject): |
| * html/canvas/OESVertexArrayObject.h: |
| * html/canvas/WebGL1RenderingContext.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.cpp. |
| * html/canvas/WebGL1RenderingContext.h: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.h. |
| * html/canvas/WebGL1RenderingContext.idl: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.idl. |
| * html/canvas/WebGL2RenderingContext.cpp: Added. |
| (WebCore::WebGL2RenderingContext::WebGL2RenderingContext): |
| * html/canvas/WebGL2RenderingContext.h: Added. |
| * html/canvas/WebGL2RenderingContext.idl: Added. |
| * html/canvas/WebGLBuffer.cpp: |
| (WebCore::WebGLBuffer::create): |
| (WebCore::WebGLBuffer::WebGLBuffer): |
| * html/canvas/WebGLBuffer.h: |
| * html/canvas/WebGLCompressedTextureATC.cpp: |
| (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC): |
| (WebCore::WebGLCompressedTextureATC::supported): |
| * html/canvas/WebGLCompressedTextureATC.h: |
| * html/canvas/WebGLCompressedTexturePVRTC.cpp: |
| (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC): |
| (WebCore::WebGLCompressedTexturePVRTC::supported): |
| * html/canvas/WebGLCompressedTexturePVRTC.h: |
| * html/canvas/WebGLCompressedTextureS3TC.cpp: |
| (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC): |
| (WebCore::WebGLCompressedTextureS3TC::supported): |
| * html/canvas/WebGLCompressedTextureS3TC.h: |
| * html/canvas/WebGLContextGroup.cpp: |
| (WebCore::WebGLContextGroup::getAGraphicsContext3D): |
| (WebCore::WebGLContextGroup::addContext): |
| (WebCore::WebGLContextGroup::removeContext): |
| (WebCore::WebGLContextGroup::loseContextGroup): |
| * html/canvas/WebGLContextGroup.h: |
| * html/canvas/WebGLContextObject.cpp: |
| (WebCore::WebGLContextObject::WebGLContextObject): |
| * html/canvas/WebGLContextObject.h: |
| (WebCore::WebGLContextObject::context): |
| * html/canvas/WebGLDebugRendererInfo.cpp: |
| (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo): |
| * html/canvas/WebGLDebugRendererInfo.h: |
| * html/canvas/WebGLDebugShaders.cpp: |
| (WebCore::WebGLDebugShaders::WebGLDebugShaders): |
| * html/canvas/WebGLDebugShaders.h: |
| * html/canvas/WebGLDepthTexture.cpp: |
| (WebCore::WebGLDepthTexture::WebGLDepthTexture): |
| * html/canvas/WebGLDepthTexture.h: |
| * html/canvas/WebGLDrawBuffers.cpp: |
| (WebCore::WebGLDrawBuffers::WebGLDrawBuffers): |
| (WebCore::WebGLDrawBuffers::supported): |
| (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements): |
| * html/canvas/WebGLDrawBuffers.h: |
| * html/canvas/WebGLExtension.cpp: |
| (WebCore::WebGLExtension::WebGLExtension): |
| * html/canvas/WebGLExtension.h: |
| (WebCore::WebGLExtension::context): |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::create): |
| (WebCore::WebGLFramebuffer::WebGLFramebuffer): |
| * html/canvas/WebGLFramebuffer.h: |
| * html/canvas/WebGLLoseContext.cpp: |
| (WebCore::WebGLLoseContext::WebGLLoseContext): |
| (WebCore::WebGLLoseContext::loseContext): |
| * html/canvas/WebGLLoseContext.h: |
| * html/canvas/WebGLObject.cpp: |
| (WebCore::WebGLObject::WebGLObject): |
| * html/canvas/WebGLObject.h: |
| * html/canvas/WebGLProgram.cpp: |
| (WebCore::WebGLProgram::create): |
| (WebCore::WebGLProgram::WebGLProgram): |
| * html/canvas/WebGLProgram.h: |
| * html/canvas/WebGLRenderbuffer.cpp: |
| (WebCore::WebGLRenderbuffer::create): |
| (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): |
| * html/canvas/WebGLRenderbuffer.h: |
| * html/canvas/WebGLRenderingContext.cpp: Removed. |
| * html/canvas/WebGLRenderingContext.h: Removed. |
| * html/canvas/WebGLRenderingContext.idl: Removed. |
| * html/canvas/WebGLRenderingContextBase.cpp: Added. |
| * html/canvas/WebGLRenderingContextBase.h: Added. |
| * html/canvas/WebGLRenderingContextBase.idl: Added. |
| * html/canvas/WebGLShader.cpp: |
| (WebCore::WebGLShader::create): |
| (WebCore::WebGLShader::WebGLShader): |
| * html/canvas/WebGLShader.h: |
| * html/canvas/WebGLSharedObject.cpp: |
| (WebCore::WebGLSharedObject::WebGLSharedObject): |
| * html/canvas/WebGLSharedObject.h: |
| * html/canvas/WebGLTexture.cpp: |
| (WebCore::WebGLTexture::create): |
| (WebCore::WebGLTexture::WebGLTexture): |
| * html/canvas/WebGLTexture.h: |
| * html/canvas/WebGLVertexArrayObjectOES.cpp: |
| (WebCore::WebGLVertexArrayObjectOES::create): |
| (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES): |
| * html/canvas/WebGLVertexArrayObjectOES.h: |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, fix Mac build after r178388 |
| |
| FontRanges::isEmpty() -> FontRanges::isNull(). |
| |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::fontDataForCombiningCharacterSequence): |
| |
| 2015-01-13 Antti Koivisto <antti@apple.com> |
| |
| Devirtualize FontData |
| https://bugs.webkit.org/show_bug.cgi?id=140390 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch removes the FontData base class and turns SegmentedFontData into a non-virtual FontRanges type. |
| |
| SimpleFontData remains as is (without the base) and it can be renamed later to something more sensible. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::fontRangesForFamily): |
| (WebCore::CSSFontSelector::fallbackFontDataAt): |
| (WebCore::CSSFontSelector::getFontData): Deleted. |
| (WebCore::CSSFontSelector::getFallbackFontData): Deleted. |
| * css/CSSFontSelector.h: |
| * css/CSSSegmentedFontFace.cpp: |
| (WebCore::CSSSegmentedFontFace::pruneTable): |
| (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): |
| (WebCore::CSSSegmentedFontFace::fontRanges): |
| (WebCore::CSSSegmentedFontFace::loadFont): |
| (WebCore::CSSSegmentedFontFace::getFontData): Deleted. |
| * css/CSSSegmentedFontFace.h: |
| * platform/graphics/Font.h: |
| (WebCore::Font::fallbackRangesAt): |
| (WebCore::Font::fontDataAt): Deleted. |
| * platform/graphics/FontData.cpp: Removed. |
| * platform/graphics/FontData.h: Removed. |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::FontGlyphs): |
| (WebCore::FontGlyphs::determinePitch): |
| (WebCore::FontGlyphs::isLoadingCustomFonts): |
| (WebCore::realizeNextFallback): |
| (WebCore::FontGlyphs::realizeFallbackRangesAt): |
| (WebCore::FontGlyphs::glyphDataForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForNormalVariant): |
| (WebCore::glyphPageFromFontRanges): |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| (WebCore::realizeNextFamily): Deleted. |
| (WebCore::FontGlyphs::realizeFontDataAt): Deleted. |
| (WebCore::glyphPageFromFontData): Deleted. |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::primarySimpleFontData): |
| * platform/graphics/FontRanges.cpp: Copied from Source/WebCore/platform/graphics/SegmentedFontData.cpp. |
| (WebCore::FontRanges::FontRanges): |
| (WebCore::FontRanges::~FontRanges): |
| (WebCore::FontRanges::fontDataForCharacter): |
| (WebCore::FontRanges::fontDataForFirstRange): |
| (WebCore::FontRanges::isLoading): |
| (WebCore::SegmentedFontData::SegmentedFontData): Deleted. |
| (WebCore::SegmentedFontData::~SegmentedFontData): Deleted. |
| (WebCore::SegmentedFontData::simpleFontDataForCharacter): Deleted. |
| (WebCore::SegmentedFontData::simpleFontDataForFirstRange): Deleted. |
| (WebCore::SegmentedFontData::isCustomFont): Deleted. |
| (WebCore::SegmentedFontData::isLoading): Deleted. |
| (WebCore::SegmentedFontData::isSegmented): Deleted. |
| (WebCore::SegmentedFontData::description): Deleted. |
| * platform/graphics/FontRanges.h: Copied from Source/WebCore/platform/graphics/SegmentedFontData.h. |
| (WebCore::FontRanges::Range::Range): |
| (WebCore::FontRanges::Range::from): |
| (WebCore::FontRanges::Range::to): |
| (WebCore::FontRanges::Range::fontData): |
| (WebCore::FontRanges::isEmpty): |
| (WebCore::FontRanges::appendRange): |
| (WebCore::FontRanges::size): |
| (WebCore::FontRanges::rangeAt): |
| (WebCore::FontDataRange::FontDataRange): Deleted. |
| (WebCore::FontDataRange::from): Deleted. |
| (WebCore::FontDataRange::to): Deleted. |
| (WebCore::FontDataRange::fontData): Deleted. |
| (WebCore::SegmentedFontData::create): Deleted. |
| (WebCore::SegmentedFontData::appendRange): Deleted. |
| (WebCore::SegmentedFontData::numRanges): Deleted. |
| (WebCore::SegmentedFontData::rangeAt): Deleted. |
| (isType): Deleted. |
| * platform/graphics/FontSelector.h: |
| * platform/graphics/SegmentedFontData.cpp: Removed. |
| * platform/graphics/SegmentedFontData.h: Removed. |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::simpleFontDataForCharacter): Deleted. |
| (WebCore::SimpleFontData::simpleFontDataForFirstRange): Deleted. |
| (WebCore::SimpleFontData::isSegmented): Deleted. |
| * platform/graphics/SimpleFontData.h: |
| (WebCore::SimpleFontData::isCustomFont): |
| (WebCore::SimpleFontData::isLoading): |
| (isType): Deleted. |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (-[WebCascadeList initWithFont:character:]): |
| (-[WebCascadeList objectAtIndex:]): |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::fontDataForCombiningCharacterSequence): |
| |
| 2015-01-13 Dean Jackson <dino@apple.com> |
| |
| Filters aren't applied to elements in columns after the first |
| https://bugs.webkit.org/show_bug.cgi?id=140331 |
| |
| Reviewed by Simon Fraser. |
| |
| The important bits of this change came from Simon. |
| |
| Filters and clipping were not taking columns into |
| account when using their offset rectangles. The fix |
| is to recalculate the rects if you're in such a |
| situation. |
| |
| Tests: fast/multicol/clip-in-columns.html |
| fast/multicol/filter-in-columns.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::hasFilterThatIsPainting): New method used |
| to check if we're about to paint a filter. |
| (WebCore::RenderLayer::setupFilters): Use the new helper if possible. |
| (WebCore::RenderLayer::paintLayerContents): If we're in columns, |
| and we either have a clip or a filter, recalculate the offset rectangles. |
| * rendering/RenderLayer.h: |
| |
| 2015-01-13 Beth Dakin <bdakin@apple.com> |
| |
| Should disable immediate actions for iTunes |
| https://bugs.webkit.org/show_bug.cgi?id=140405 |
| -and corresponding- |
| rdar://problem/19461358 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| |
| 2015-01-13 Anders Carlsson <andersca@apple.com> |
| |
| Remove pure virtual functions from DatabaseBackendBase |
| https://bugs.webkit.org/show_bug.cgi?id=140402 |
| |
| Reviewed by Sam Weinig. |
| |
| Also change DatabaseBackendBase to Database in a couple of places. |
| |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| (WebCore::DatabaseBackendBase::closeDatabase): |
| (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller): |
| (WebCore::DatabaseBackendBase::performOpenAndVerify): |
| (WebCore::DatabaseBackendBase::maximumSize): |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| * Modules/webdatabase/DatabaseServer.cpp: |
| (WebCore::DatabaseServer::createDatabase): |
| * Modules/webdatabase/DatabaseTracker.cpp: |
| (WebCore::DatabaseTracker::getMaxSizeForDatabase): |
| (WebCore::DatabaseTracker::doneCreatingDatabase): |
| (WebCore::DatabaseTracker::addOpenDatabase): |
| (WebCore::DatabaseTracker::removeOpenDatabase): |
| (WebCore::DatabaseTracker::getOpenDatabases): |
| (WebCore::DatabaseTracker::deleteDatabaseFile): |
| * Modules/webdatabase/DatabaseTracker.h: |
| |
| 2015-01-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unused ResizeImage and DecodeImageData timeline events |
| https://bugs.webkit.org/show_bug.cgi?id=140404 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::toProtocol): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createDecodeImageData): Deleted. |
| (WebCore::TimelineRecordFactory::createResizeImageData): Deleted. |
| * inspector/TimelineRecordFactory.h: |
| |
| 2015-01-13 Jer Noble <jer.noble@apple.com> |
| |
| defaultPlaybackRate not respected when set before source is loaded |
| https://bugs.webkit.org/show_bug.cgi?id=140282 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/video-defaultplaybackrate-before-load.html |
| |
| When the HTMLMediaElement is notified that the media player's rate has changed, it asks |
| for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate |
| from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or |
| 1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned |
| value. So the end result is that the value from defaultPlaybackRate is overwritten by |
| the default value of 1 in MediaPlayer. |
| |
| Rather than caching the requested rate in MediaPlayer, cache the value reported by |
| MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback |
| rate from HTMLMediaElement.playbackRate, just return the last value set. The reported |
| value is still used for estimating the current time during playback. |
| |
| Add MediaPlayerPrivate interface method to return the current playback rate. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate. |
| (WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead |
| of effectivePlaybackRate(); |
| (WebCore::HTMLMediaElement::ended): Ditto. |
| (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto. |
| (WebCore::HTMLMediaElement::endedPlayback): Ditto. |
| (WebCore::HTMLMediaElement::updatePlayState): Ditto. |
| (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto. |
| (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return |
| requestedPlaybackRate() if playing and 0 if not. |
| * html/HTMLMediaElement.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::MediaPlayer): Removed m_rate. |
| (WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate. |
| (WebCore::MediaPlayer::setRate): Do not cache the rate. |
| (WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added. |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::rate): Added. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| Do not cache the requested rate. |
| (WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer. |
| (WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate. |
| (WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player. |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie. |
| |
| 2015-01-13 Andreas Kling <akling@apple.com> |
| |
| Element::normalizeAttributes() needs to handle arbitrary JS executing between loop iterations. |
| <https://webkit.org/b/140379> |
| <rdar://problem/19446901> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Since DOM mutation events may arise below the call to Node::normalize(), |
| have the loop in Element::normalizeAttributes() make a copy of the Attr nodes |
| beforehand, to guard against mutations. |
| |
| Based on a patch by Chris "Chris Dumez" Dumez. |
| |
| Test: fast/dom/Element/normalize-crash2.html |
| |
| * dom/Element.cpp: |
| (WebCore::Element::normalizeAttributes): |
| |
| 2015-01-13 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix Debug Build Error in Webcore module. |
| https://bugs.webkit.org/show_bug.cgi?id=140383 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| No new tests because there is no visible behavior change. |
| |
| * platform/linux/MemoryPressureHandlerLinux.cpp: |
| (WebCore::MemoryPressureHandler::ReliefLogger::platformLog): |
| |
| 2015-01-12 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix a typo in r178313 |
| |
| * contentextensions/URLFilterParser.cpp: |
| (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter): |
| |
| 2015-01-12 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add basic pattern matching support to the url filters |
| https://bugs.webkit.org/show_bug.cgi?id=140283 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch adds some basic generic pattern support for the url filters |
| of ContentExtensions. |
| |
| Instead of writting a new parser, I re-used Gavin's parser for JavaScript |
| RegExp. |
| |
| This patch only implements the very basic stuffs: transition on any character |
| and repetition. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * contentextensions/ContentExtensionsBackend.cpp: |
| (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): |
| Use the new parser. |
| |
| * contentextensions/DFA.cpp: |
| (WebCore::ContentExtensions::DFA::DFA): |
| (WebCore::ContentExtensions::printRange): |
| (WebCore::ContentExtensions::printTransition): |
| (WebCore::ContentExtensions::DFA::debugPrintDot): |
| * contentextensions/NFA.cpp: |
| (WebCore::ContentExtensions::printRange): |
| (WebCore::ContentExtensions::printTransition): |
| (WebCore::ContentExtensions::NFA::debugPrintDot): |
| The graphs generated with the extended patterns are vastly more complicated |
| than the old prefix matcher. |
| I changed the debug output to have a single link between any two nodes |
| instead of one per transition. This makes the graph a little more manageable. |
| |
| * contentextensions/NFA.cpp: |
| (WebCore::ContentExtensions::NFA::addTransition): |
| (WebCore::ContentExtensions::NFA::addEpsilonTransition): |
| (WebCore::ContentExtensions::NFA::graphSize): |
| (WebCore::ContentExtensions::NFA::restoreToGraphSize): |
| * contentextensions/NFA.h: |
| * contentextensions/NFANode.h: |
| (WebCore::ContentExtensions::epsilonClosure): |
| The new parser can generate transitions back to the root node of index zero. |
| All the hash structures had to be updated to support this kind of key. |
| |
| * contentextensions/NFAToDFA.cpp: |
| (WebCore::ContentExtensions::HashableNodeIdSetHash::hash): |
| Two tiny improvements: |
| -Don't hash zero to zero, it causes more conflicts that needed. |
| -The hash operation must use a commutative operation, otherwise the order |
| of elements can affect the hash, which is undesired for a set. |
| I'll improve this further later. |
| |
| (WebCore::ContentExtensions::NFAToDFA::convert): |
| |
| * contentextensions/URLFilterParser.cpp: Added. |
| (WebCore::ContentExtensions::GraphBuilder::GraphBuilder): |
| (WebCore::ContentExtensions::GraphBuilder::m_lastAtom): |
| (WebCore::ContentExtensions::GraphBuilder::finalize): |
| (WebCore::ContentExtensions::GraphBuilder::errorMessage): |
| (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter): |
| (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass): |
| (WebCore::ContentExtensions::GraphBuilder::quantifyAtom): |
| (WebCore::ContentExtensions::GraphBuilder::atomBackReference): |
| (WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom): |
| (WebCore::ContentExtensions::GraphBuilder::assertionBOL): |
| (WebCore::ContentExtensions::GraphBuilder::assertionEOL): |
| (WebCore::ContentExtensions::GraphBuilder::assertionWordBoundary): |
| (WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBegin): |
| (WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange): |
| (WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBuiltIn): |
| (WebCore::ContentExtensions::GraphBuilder::atomCharacterClassEnd): |
| (WebCore::ContentExtensions::GraphBuilder::atomParenthesesSubpatternBegin): |
| (WebCore::ContentExtensions::GraphBuilder::atomParentheticalAssertionBegin): |
| (WebCore::ContentExtensions::GraphBuilder::atomParenthesesEnd): |
| (WebCore::ContentExtensions::GraphBuilder::disjunction): |
| (WebCore::ContentExtensions::GraphBuilder::hasError): |
| (WebCore::ContentExtensions::GraphBuilder::fail): |
| (WebCore::ContentExtensions::URLFilterParser::parse): |
| * contentextensions/URLFilterParser.h: |
| (WebCore::ContentExtensions::URLFilterParser::hasError): |
| (WebCore::ContentExtensions::URLFilterParser::errorMessage): |
| |
| 2015-01-11 Sam Weinig <sam@webkit.org> |
| |
| Remove support for SharedWorkers |
| https://bugs.webkit.org/show_bug.cgi?id=140344 |
| |
| Reviewed by Anders Carlsson. |
| |
| * CMakeLists.txt: |
| * Configurations/FeatureDefines.xcconfig: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * PlatformGTK.cmake: |
| * PlatformMac.cmake: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/generic/RuntimeEnabledFeatures.cpp: |
| (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled): Deleted. |
| * bindings/generic/RuntimeEnabledFeatures.h: |
| * bindings/js/JSBindingsAllInOne.cpp: |
| * bindings/js/JSDOMWindowCustom.cpp: |
| * bindings/js/JSSharedWorkerCustom.cpp: Removed. |
| * bindings/js/JSWorkerGlobalScopeBase.cpp: |
| (WebCore::toJSWorkerGlobalScope): |
| (WebCore::toJSSharedWorkerGlobalScope): Deleted. |
| * bindings/js/JSWorkerGlobalScopeBase.h: |
| * bindings/js/WorkerScriptController.cpp: |
| (WebCore::WorkerScriptController::initScript): |
| * bindings/scripts/IDLAttributes.txt: |
| * bindings/scripts/preprocess-idls.pl: |
| * dom/Document.cpp: |
| (WebCore::Document::prepareForDestruction): |
| * dom/EventTarget.h: |
| * dom/EventTargetFactory.in: |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::PageCache::canCachePageContainingThisFrame): |
| * loader/FrameLoader.cpp: |
| * page/SecurityOrigin.h: |
| (WebCore::SecurityOrigin::canAccessLocalStorage): |
| (WebCore::SecurityOrigin::canAccessSharedWorkers): Deleted. |
| * platform/FeatureCounterKeys.h: |
| * platform/PlatformStrategies.h: |
| (WebCore::PlatformStrategies::PlatformStrategies): |
| (WebCore::PlatformStrategies::sharedWorkerStrategy): Deleted. |
| * workers/DefaultSharedWorkerRepository.cpp: Removed. |
| * workers/DefaultSharedWorkerRepository.h: Removed. |
| * workers/SharedWorker.cpp: Removed. |
| * workers/SharedWorker.h: Removed. |
| * workers/SharedWorker.idl: Removed. |
| * workers/SharedWorkerGlobalScope.cpp: Removed. |
| * workers/SharedWorkerGlobalScope.h: Removed. |
| * workers/SharedWorkerGlobalScope.idl: Removed. |
| * workers/SharedWorkerRepository.cpp: Removed. |
| * workers/SharedWorkerRepository.h: Removed. |
| * workers/SharedWorkerStrategy.h: Removed. |
| * workers/SharedWorkerThread.cpp: Removed. |
| * workers/SharedWorkerThread.h: Removed. |
| * workers/WorkerGlobalScope.h: |
| (WebCore::WorkerGlobalScope::isSharedWorkerGlobalScope): Deleted. |
| |
| 2015-01-12 Byungseon Shin <sun.shin@lge.com> |
| |
| REGRESSION(r178029): [GTK][EFL] Caused no-backing-for-clip-overlap test failures |
| https://bugs.webkit.org/show_bug.cgi?id=140336 |
| |
| Reviewed by Simon Fraser. |
| |
| Avoid creating childClippingMaskLayer when renderer has not border radius nor clip path. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateChildClippingStrategy): |
| |
| 2015-01-12 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Apple] Squelch stderr log regarding negative stroke thickness |
| https://bugs.webkit.org/show_bug.cgi?id=140372 |
| <rdar://problem/19426485> |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests because there is no visible behavior change. |
| |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::setPlatformStrokeThickness): |
| |
| 2015-01-12 Timothy Horton <timothy_horton@apple.com> |
| |
| Get rid of unnecessary reimplementations of CGFloor/Ceiling |
| https://bugs.webkit.org/show_bug.cgi?id=140375 |
| |
| Reviewed by Simon Fraser. |
| |
| * platform/mac/DragImageMac.mm: |
| (WebCore::widthWithFont): |
| (WebCore::drawAtPoint): |
| (WebCore::webkit_CGCeiling): Deleted. |
| * platform/mac/WebVideoFullscreenHUDWindowController.mm: |
| (-[WebVideoFullscreenHUDWindowController windowDidLoad]): |
| (webkit_CGFloor): Deleted. |
| Delete unnecessary code, use the real CGFloor/Ceiling instead. |
| |
| 2015-01-12 Timothy Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r177656): Text in find-in-page yellow bouncy rectangle is not crisp |
| https://bugs.webkit.org/show_bug.cgi?id=140373 |
| <rdar://problem/19447156> |
| |
| Reviewed by Simon Fraser. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| Expand the window margin to the nearest integer. |
| The window was already being pixel-snapped, but then we'd translate by |
| the non-integral margin when building up the layer tree. |
| It's OK to do this on 2x because it's fine to have the margin be bigger |
| than needed. |
| |
| * platform/spi/cg/CoreGraphicsSPI.h: |
| Add a CGCeiling to match CGFloor. |
| |
| 2015-01-12 Andreas Kling <akling@apple.com> |
| |
| Guard web thread stuff with USE(WEB_THREAD) instead of PLATFORM(IOS). |
| |
| Dan pointed out that we should guard WebThreadIsLockedOrDisabled() with |
| USE(WEB_THREAD) to communicate our ambitions to someday have an iOS |
| build of WebKit that doesn't need any of that. |
| |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::resume): |
| |
| 2015-01-12 Andreas Kling <akling@apple.com> |
| |
| Fix build for non-iOS platforms. :| |
| |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::resume): |
| |
| 2015-01-12 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [Freetype] Don't use non-scalable fonts. |
| https://bugs.webkit.org/show_bug.cgi?id=31931 |
| |
| Reviewed by Martin Robinson. |
| |
| No new tests needed. |
| |
| * platform/graphics/freetype/FontCacheFreeType.cpp: |
| (WebCore::FontCache::createFontPlatformData): Prefer scalable fonts. |
| |
| 2015-01-12 Andreas Kling <akling@apple.com> |
| |
| Geolocation objects shouldn't prevent page caching. |
| <https://webkit.org/b/140369> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Enable the code for suspend/resume of Geolocation objects on all platforms |
| instead of just iOS. This allows pages using geolocation to use page cache |
| instead of reloading on back/forward navigation. |
| |
| Test: fast/history/page-cache-geolocation.html |
| |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::Geolocation): |
| (WebCore::Geolocation::resetAllGeolocationPermission): |
| (WebCore::Geolocation::stop): |
| (WebCore::Geolocation::setIsAllowed): |
| (WebCore::Geolocation::positionChanged): |
| (WebCore::Geolocation::setError): |
| * Modules/geolocation/Geolocation.h: |
| |
| 2015-01-12 Chris Dumez <cdumez@apple.com> |
| |
| Log navigation types using DiagnosticLoggingClient |
| https://bugs.webkit.org/show_bug.cgi?id=140323 |
| |
| Reviewed by Darin Adler. |
| |
| Log navigation types using DiagnosticLoggingClient to help us understand |
| what types of navigations are common and give us an estimate on the |
| total number of navigations. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::logNavigation): |
| (WebCore::FrameLoader::loadWithDocumentLoader): |
| (WebCore::logNavigationWithFeatureCounter): Deleted. |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::navigationKey): |
| * page/DiagnosticLoggingKeys.h: |
| |
| 2015-01-12 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource |
| https://bugs.webkit.org/show_bug.cgi?id=140367 |
| |
| Reviewed by Andreas Kling. |
| |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::loadResource): use copyRef() instead of move(), |
| since we check the callback after giving it to the loader client. |
| |
| 2015-01-12 Anders Carlsson <andersca@apple.com> |
| |
| Move DatabaseBackend functions back to Database |
| https://bugs.webkit.org/show_bug.cgi?id=140368 |
| |
| Reviewed by Sam Weinig. |
| |
| * Modules/webdatabase/Database.cpp: |
| (WebCore::Database::openAndVerifyVersion): |
| (WebCore::Database::close): |
| (WebCore::Database::performOpenAndVerify): |
| (WebCore::Database::scheduleTransaction): |
| (WebCore::Database::runTransaction): |
| (WebCore::Database::scheduleTransactionStep): |
| (WebCore::Database::inProgressTransactionCompleted): |
| (WebCore::Database::transactionClient): |
| (WebCore::Database::transactionCoordinator): |
| * Modules/webdatabase/Database.h: |
| * Modules/webdatabase/DatabaseBackend.cpp: |
| (WebCore::DatabaseBackend::openAndVerifyVersion): Deleted. |
| (WebCore::DatabaseBackend::performOpenAndVerify): Deleted. |
| (WebCore::DatabaseBackend::close): Deleted. |
| (WebCore::DatabaseBackend::runTransaction): Deleted. |
| (WebCore::DatabaseBackend::inProgressTransactionCompleted): Deleted. |
| (WebCore::DatabaseBackend::scheduleTransaction): Deleted. |
| (WebCore::DatabaseBackend::scheduleTransactionStep): Deleted. |
| (WebCore::DatabaseBackend::transactionClient): Deleted. |
| (WebCore::DatabaseBackend::transactionCoordinator): Deleted. |
| * Modules/webdatabase/DatabaseBackend.h: |
| * Modules/webdatabase/DatabaseThread.cpp: |
| (WebCore::DatabaseThread::recordDatabaseOpen): |
| (WebCore::DatabaseThread::recordDatabaseClosed): |
| (WebCore::SameDatabasePredicate::SameDatabasePredicate): |
| (WebCore::DatabaseThread::unscheduleDatabaseTasks): |
| * Modules/webdatabase/DatabaseThread.h: |
| * Modules/webdatabase/SQLTransactionBackend.cpp: |
| (WebCore::SQLTransactionBackend::create): |
| (WebCore::SQLTransactionBackend::SQLTransactionBackend): |
| * Modules/webdatabase/SQLTransactionBackend.h: |
| (WebCore::SQLTransactionBackend::database): |
| |
| 2015-01-12 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Addressing post-review comment after r178292 |
| https://bugs.webkit.org/show_bug.cgi?id=136769 |
| |
| Unreviewed. |
| |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::ensureCustomFontData): |
| |
| 2015-01-12 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Allow targetting the SVG->OTF font converter with ENABLE(SVG_OTF_CONVERTER) |
| https://bugs.webkit.org/show_bug.cgi?id=136769 |
| |
| Reviewed by Antti Koivisto. |
| |
| If ENABLE(SVG_OTF_CONVERTER) is defined, use the converter. It can be defined at the same |
| time as ENABLE(SVG_FONTS) but, if so, the SVG font code will be dead code. |
| |
| No new tests because the define is off by default. Tests will come soon, I promise. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): When creating a font, if the ENABLE is on, |
| do the transcode and take the non-SVG path. |
| (WebCore::CSSFontFaceSource::ensureFontData): Pass extra arguments to |
| CachedFont::ensureCustomFontData() |
| * css/CSSFontFaceSource.h: For the case of in-document SVG fonts, keep the transcoded |
| bytes around. |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::ensureCustomFontData): For out-of-document SVG fonts, do the |
| transcode if the ENABLE is on, then treat as if the font is any old webfont. |
| (WebCore::CachedFont::getSVGFontById): This function looks up the relevant <font> |
| element. Modify it to take a pointer to a (possibly external) document within which |
| to search. |
| * loader/cache/CachedFont.h: Extra arguments to CachedFont::ensureCustomFontData() |
| and CachedFont::getSVGFontById() |
| |
| 2015-01-12 Zan Dobersek <zdobersek@igalia.com> |
| |
| Clean up FrameTree::traverseNext() traversals of main frames |
| https://bugs.webkit.org/show_bug.cgi?id=140338 |
| |
| Reviewed by Andreas Kling. |
| |
| There's no reason to pass the main frame as the stayWithin parameter |
| to FrameTree::traverseNext() when traversing over that same main frame. |
| |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests): |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::getCookies): |
| (WebCore::InspectorPageAgent::deleteCookie): |
| (WebCore::InspectorPageAgent::searchInResources): |
| * replay/SerializationMethods.cpp: |
| (WebCore::frameIndexFromFrame): |
| (WebCore::frameFromFrameIndex): |
| |
| 2015-01-12 Timothy Horton <timothy_horton@apple.com> |
| |
| Multi-rect TextIndicators are vertically flipped in WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=140350 |
| <rdar://problem/19441243> |
| |
| Reviewed by Beth Dakin. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::createWithSelectionInFrame): |
| (WebCore::TextIndicator::TextIndicator): |
| * page/TextIndicator.h: |
| (WebCore::TextIndicator::selectionRectInRootViewCoordinates): |
| (WebCore::TextIndicator::textBoundingRectInRootViewCoordinates): |
| (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted. |
| (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted. |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| Compute, store, and use TextIndicator's selectionRect and textBoundingRect |
| in root view coordinates instead of window coordinates; this way, each |
| WebKit can do the conversion itself, and the rootView vs. window flipping |
| isn't wrongly factored into textRectsInBoundingRectCoordinates. |
| |
| 2015-01-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178281. |
| https://bugs.webkit.org/show_bug.cgi?id=140366 |
| |
| Broke many media tests (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "defaultPlaybackRate not respected when set before source is |
| loaded" |
| https://bugs.webkit.org/show_bug.cgi?id=140282 |
| http://trac.webkit.org/changeset/178281 |
| |
| 2015-01-12 Anders Carlsson <andersca@apple.com> |
| |
| Merge DatabaseBackendContext into DatabaseContext |
| https://bugs.webkit.org/show_bug.cgi?id=140365 |
| |
| Reviewed by Antti Koivisto. |
| |
| * CMakeLists.txt: |
| * Modules/webdatabase/AbstractDatabaseServer.h: |
| * Modules/webdatabase/Database.cpp: |
| (WebCore::Database::Database): |
| * Modules/webdatabase/Database.h: |
| * Modules/webdatabase/DatabaseBackend.cpp: |
| (WebCore::DatabaseBackend::DatabaseBackend): |
| * Modules/webdatabase/DatabaseBackend.h: |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| (WebCore::DatabaseBackendBase::DatabaseBackendBase): |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| (WebCore::DatabaseBackendBase::databaseContext): |
| * Modules/webdatabase/DatabaseBackendContext.cpp: Removed. |
| * Modules/webdatabase/DatabaseBackendContext.h: Removed. |
| * Modules/webdatabase/DatabaseContext.cpp: |
| (WebCore::DatabaseContext::securityOrigin): |
| (WebCore::DatabaseContext::isContextThread): |
| (WebCore::DatabaseContext::backend): Deleted. |
| * Modules/webdatabase/DatabaseContext.h: |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabaseBackend): |
| (WebCore::DatabaseManager::interruptAllDatabasesForContext): |
| * Modules/webdatabase/DatabaseServer.cpp: |
| (WebCore::DatabaseServer::interruptAllDatabasesForContext): |
| (WebCore::DatabaseServer::openDatabase): |
| (WebCore::DatabaseServer::createDatabase): |
| * Modules/webdatabase/DatabaseServer.h: |
| * Modules/webdatabase/DatabaseTracker.cpp: |
| (WebCore::DatabaseTracker::canEstablishDatabase): |
| (WebCore::DatabaseTracker::retryCanEstablishDatabase): |
| (WebCore::DatabaseTracker::interruptAllDatabasesForContext): |
| * Modules/webdatabase/DatabaseTracker.h: |
| * Modules/webdatabase/SQLTransactionBackend.cpp: |
| * Modules/webdatabase/SQLTransactionClient.cpp: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-12 Jer Noble <jer.noble@apple.com> |
| |
| defaultPlaybackRate not respected when set before source is loaded |
| https://bugs.webkit.org/show_bug.cgi?id=140282 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/video-defaultplaybackrate-before-load.html |
| |
| When the HTMLMediaElement is notified that the media player's rate has changed, it asks |
| for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate |
| from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or |
| 1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned |
| value. So the end result is that the value from defaultPlaybackRate is overwritten by |
| the default value of 1 in MediaPlayer. |
| |
| Rather than caching the requested rate in MediaPlayer, cache the value reported by |
| MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback |
| rate from HTMLMediaElement.playbackRate, just return the last value set. The reported |
| value is still used for estimating the current time during playback. |
| |
| Add MediaPlayerPrivate interface method to return the current playback rate. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate. |
| (WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead |
| of effectivePlaybackRate(); |
| (WebCore::HTMLMediaElement::ended): Ditto. |
| (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto. |
| (WebCore::HTMLMediaElement::endedPlayback): Ditto. |
| (WebCore::HTMLMediaElement::updatePlayState): Ditto. |
| (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate. |
| (WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return |
| requestedPlaybackRate() if playing and 0 if not. |
| * html/HTMLMediaElement.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::MediaPlayer): Removed m_rate. |
| (WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate. |
| (WebCore::MediaPlayer::setRate): Do not cache the rate. |
| (WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added. |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::rate): Added. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
| Do not cache the requested rate. |
| (WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer. |
| (WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate. |
| (WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player. |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie. |
| |
| 2015-01-11 Anders Carlsson <andersca@apple.com> |
| |
| Merge DatabaseBase into Database |
| https://bugs.webkit.org/show_bug.cgi?id=140345 |
| |
| Reviewed by Antti Koivisto. |
| |
| * CMakeLists.txt: |
| * Modules/webdatabase/Database.cpp: |
| (WebCore::Database::Database): |
| (WebCore::Database::runTransaction): |
| (WebCore::Database::logErrorMessage): |
| * Modules/webdatabase/Database.h: |
| (WebCore::Database::scriptExecutionContext): |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| (WebCore::DatabaseBackendBase::setFrontend): |
| * Modules/webdatabase/DatabaseBase.cpp: Removed. |
| * Modules/webdatabase/DatabaseBase.h: Removed. |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-12 Darin Adler <darin@apple.com> |
| |
| Modernize and streamline HTMLTokenizer |
| https://bugs.webkit.org/show_bug.cgi?id=140166 |
| |
| Reviewed by Sam Weinig. |
| |
| * html/parser/AtomicHTMLToken.h: |
| (WebCore::AtomicHTMLToken::initializeAttributes): Removed unneeded assertions |
| based on fields I removed. |
| |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::HTMLDocumentParser): Change to use updateStateFor |
| to set the initial state when parsing a fragment, since it implements the same |
| rule taht the tokenizerStateForContextElement function did. |
| (WebCore::HTMLDocumentParser::pumpTokenizer): Updated to use the revised |
| interfaces for HTMLSourceTracker and HTMLTokenizer. |
| (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Changed to take a |
| TokenPtr instead of an HTMLToken, so we can clear out the TokenPtr earlier |
| for non-character tokens, and let them get cleared later for character tokens. |
| (WebCore::HTMLDocumentParser::insert): Pass references. |
| (WebCore::HTMLDocumentParser::append): Ditto. |
| (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): Ditto. |
| |
| * html/parser/HTMLDocumentParser.h: Updated argument type for constructTreeFromHTMLToken |
| and removed now-unneeded m_token data members. |
| |
| * html/parser/HTMLEntityParser.cpp: Removed unneeded uses of the inline keyword. |
| (WebCore::HTMLEntityParser::consumeNamedEntity): Replaced two uses of |
| advanceAndASSERT with just plain advance; there's really no need to assert the |
| character is the one we just got out of the string. |
| |
| * html/parser/HTMLInputStream.h: Moved the include of TextPosition.h here from |
| its old location since this class has two data members that are OrdinalNumber. |
| |
| * html/parser/HTMLMetaCharsetParser.cpp: |
| (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): Removed most of the |
| initialization, since it's now done by defaults. |
| (WebCore::extractCharset): Rewrote this to be a non-member function, and to |
| use a for loop, and to handle quote marks in a simpler way. Also changed it |
| to return a StringView so we don't have to allocate a new string. |
| (WebCore::HTMLMetaCharsetParser::processMeta): Use a modern for loop, and |
| also take a token argument since it's no longer a data member. |
| (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Use a modern for |
| loop, StringView instead of string, and don't bother naming the local enum. |
| (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Updated for the new |
| way of getting tokens from the tokenizer. |
| |
| * html/parser/HTMLMetaCharsetParser.h: Got rid of some data members and |
| tightened up the formatting a little. Don't bother allocating the tokenizer |
| on the heap. |
| |
| * html/parser/HTMLPreloadScanner.cpp: |
| (WebCore::TokenPreloadScanner::TokenPreloadScanner): Removed unneeded |
| initialization. |
| (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Ditto. |
| (WebCore::HTMLPreloadScanner::scan): Changed to take a reference. |
| |
| * html/parser/HTMLPreloadScanner.h: Removed unneeded includes, typedefs, |
| and forward declarations. Removed explicit declaration of the destructor, |
| since the default one works. Removed unused createCheckpoint and rewindTo |
| functions. Gave initial values for various data members. Marked the device |
| scale factor const beacuse it's set in the constructor and never changed. |
| Also removed the unneeded isSafeToSendToAnotherThread. |
| |
| * html/parser/HTMLResourcePreloader.cpp: |
| (WebCore::PreloadRequest::isSafeToSendToAnotherThread): Deleted. |
| |
| * html/parser/HTMLResourcePreloader.h: |
| (WebCore::PreloadRequest::PreloadRequest): Removed unneeded calls to |
| isolatedCopy. Also removed isSafeToSendToAnotherThread. |
| |
| * html/parser/HTMLSourceTracker.cpp: |
| (WebCore::HTMLSourceTracker::startToken): Renamed. Changed to keep state |
| in the source tracker itself, not the token. |
| (WebCore::HTMLSourceTracker::endToken): Ditto. |
| (WebCore::HTMLSourceTracker::source): Renamed. Changed to use the state |
| from the source tracker. |
| |
| * html/parser/HTMLSourceTracker.h: Removed unneeded include of HTMLToken.h. |
| Renamed functions, removed now-unneeded comment. |
| |
| * html/parser/HTMLToken.h: Cut down on the fields used by the source tracker. |
| It only needs to know the start and end of each attribute, not each part of |
| each attribute. Removed setBaseOffset, setEndOffset, length, addNewAttribute, |
| beginAttributeName, endAttributeName, beginAttributeValue, endAttributeValue, |
| m_baseOffset and m_length. Added beginAttribute and endAttribute. |
| (WebCore::HTMLToken::clear): No need to zero m_length or m_baseOffset any more. |
| (WebCore::HTMLToken::length): Deleted. |
| (WebCore::HTMLToken::setBaseOffset): Deleted. |
| (WebCore::HTMLToken::setEndOffset): Deleted. |
| (WebCore::HTMLToken::beginStartTag): Only null out m_currentAttribute if we |
| are compiling in assertions. |
| (WebCore::HTMLToken::beginEndTag): Ditto. |
| (WebCore::HTMLToken::addNewAttribute): Deleted. |
| (WebCore::HTMLToken::beginAttribute): Moved the code from addNewAttribute in |
| here and set the start offset. |
| (WebCore::HTMLToken::beginAttributeName): Deleted. |
| (WebCore::HTMLToken::endAttributeName): Deleted. |
| (WebCore::HTMLToken::beginAttributeValue): Deleted. |
| (WebCore::HTMLToken::endAttributeValue): Deleted. |
| |
| * html/parser/HTMLTokenizer.cpp: |
| (WebCore::HTMLToken::endAttribute): Added. Sets the end offset. |
| (WebCore::HTMLToken::appendToAttributeName): Updated assertion. |
| (WebCore::HTMLToken::appendToAttributeValue): Ditto. |
| (WebCore::convertASCIIAlphaToLower): Renamed from toLowerCase and changed |
| so it's legal to call on lower case letters too. |
| (WebCore::vectorEqualsString): Changed to take a string literal rather than |
| a WTF::String. |
| (WebCore::HTMLTokenizer::inEndTagBufferingState): Made this a member function. |
| (WebCore::HTMLTokenizer::HTMLTokenizer): Updated for data member changes. |
| (WebCore::HTMLTokenizer::bufferASCIICharacter): Added. Optimized version of |
| bufferCharacter for the common case where we know the character is ASCII. |
| (WebCore::HTMLTokenizer::bufferCharacter): Moved this function here from the |
| header since it's only used inside the class. |
| (WebCore::HTMLTokenizer::emitAndResumeInDataState): Moved this here, renamed |
| it and removed the state argument. |
| (WebCore::HTMLTokenizer::emitAndReconsumeInDataState): Ditto. |
| (WebCore::HTMLTokenizer::emitEndOfFile): More of the same. |
| (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded): Ditto. |
| (WebCore::HTMLTokenizer::haveBufferedCharacterToken): Ditto. |
| (WebCore::HTMLTokenizer::flushBufferedEndTag): Updated since m_token is now |
| the actual token, not just a pointer. |
| (WebCore::HTMLTokenizer::flushEmitAndResumeInDataState): Renamed this and |
| removed the state argument. |
| (WebCore::HTMLTokenizer::processToken): This function, formerly nextToken, |
| is now the internal function used by nextToken. Updated its contents to use |
| simpler macros, changed code to set m_state when returning, rather than |
| constantly setting it when cycling through states, switched style to use |
| early return/goto rather than lots of else statements, took out unneeded |
| braces now that BEGIN/END_STATE handles the braces, collapsed upper and |
| lower case letter handling in many states, changed lookAhead call sites to |
| use the new advancePast function instead. |
| (WebCore::HTMLTokenizer::updateStateFor): Set m_state directly instead of |
| calling a setstate function. |
| (WebCore::HTMLTokenizer::appendToTemporaryBuffer): Moved here from header. |
| (WebCore::HTMLTokenizer::temporaryBufferIs): Changed argument type to |
| a literal instead of a WTF::String. |
| (WebCore::HTMLTokenizer::appendToPossibleEndTag): Renamed and changed type |
| to be a UChar instead of LChar, although all characters will be ASCII. |
| (WebCore::HTMLTokenizer::isAppropriateEndTag): Marked const, and changed |
| type from size_t to unsigned. |
| |
| * html/parser/HTMLTokenizer.h: Changed interface of nextToken so it returns |
| a TokenPtr so code doesn't have to understand special rules about when to |
| work with an HTMLToken and when to clear it. Made most functions private, |
| and made the State enum private as well. Replaced the state and setState |
| functions with more specific functions for the few states we need to deal |
| with outside the class. Moved function bodies outside the class definition |
| so it's easier to read the class definition. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to use the |
| new set state functions instead of setState. |
| (WebCore::HTMLTreeBuilder::processEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto. |
| |
| * html/parser/InputStreamPreprocessor.h: Marked the constructor explicit, |
| and mde it take a reference rather than a pointer. |
| |
| * html/parser/TextDocumentParser.cpp: |
| (WebCore::TextDocumentParser::insertFakePreElement): Updated to use the |
| new set state functions instead of setState. |
| |
| * html/parser/XSSAuditor.cpp: |
| (WebCore::XSSAuditor::decodedSnippetForName): Updated for name change. |
| (WebCore::XSSAuditor::decodedSnippetForAttribute): Updated for changes to |
| attribute range tracking. |
| (WebCore::XSSAuditor::decodedSnippetForJavaScript): Updated for name change. |
| (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Deleted. |
| |
| * html/parser/XSSAuditor.h: Deleted isSafeToSendToAnotherThread. |
| |
| * html/track/WebVTTTokenizer.cpp: Removed the local state variable from |
| WEBVTT_ADVANCE_TO; there is no need for it. |
| (WebCore::WebVTTTokenizer::WebVTTTokenizer): Use a reference instead of a |
| pointer for the preprocessor. |
| (WebCore::WebVTTTokenizer::nextToken): Ditto. Also removed the state local |
| variable and the switch statement, replacing with labels instead since we |
| go between states with goto. |
| |
| * platform/text/SegmentedString.cpp: |
| (WebCore::SegmentedString::operator=): Changed the return type to be non-const |
| to match normal C++ design rules. |
| (WebCore::SegmentedString::pushBack): Renamed from prepend since this is not a |
| general purpose prepend function. Also fixed assertions to not use the strangely |
| named "escaped" function, since we are deleting it. |
| (WebCore::SegmentedString::append): Ditto. |
| (WebCore::SegmentedString::advancePastNonNewlines): Renamed from advance, since |
| the function only works for non-newlines. |
| (WebCore::SegmentedString::currentColumn): Got rid of unneeded local variable. |
| (WebCore::SegmentedString::advancePastSlowCase): Moved here from header and |
| renamed. This function now consumes the characters if they match. |
| |
| * platform/text/SegmentedString.h: Made the changes mentioned above. |
| (WebCore::SegmentedString::excludeLineNumbers): Deleted. |
| (WebCore::SegmentedString::advancePast): Renamed from lookAhead. Also changed |
| behavior so the characters are consumed. |
| (WebCore::SegmentedString::advancePastIgnoringCase): Ditto. |
| (WebCore::SegmentedString::advanceAndASSERT): Deleted. |
| (WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Deleted. |
| (WebCore::SegmentedString::escaped): Deleted. |
| |
| * xml/parser/CharacterReferenceParserInlines.h: |
| (WebCore::isHexDigit): Deleted. |
| (WebCore::unconsumeCharacters): Updated for name change. |
| (WebCore::consumeCharacterReference): Removed unneeded name for local enum, |
| renamed local variable "cc" to character. Changed code to use helpers like |
| isASCIIAlpha and toASCIIHexValue. Removed unneeded use of advanceAndASSERT, |
| since we don't really need to assert the character we just extracted. |
| |
| * xml/parser/MarkupTokenizerInlines.h: |
| (WebCore::isTokenizerWhitespace): Renamed argument to character. |
| (WebCore::advanceStringAndASSERTIgnoringCase): Deleted. |
| (WebCore::advanceStringAndASSERT): Deleted. |
| Changed all the macro implementations so they set m_state only when |
| returning from the function and just use goto inside the state machine. |
| |
| 2015-01-11 Andreas Kling <akling@apple.com> |
| |
| Enable Vector bounds checking for ElementDescendantIterator. |
| <https://webkit.org/b/140346> |
| |
| Reviewed by Sam Weinig. |
| |
| I had originally disabled Vector bounds checking for |
| ElementDescendantIterator's internal ancestor stack, but upon |
| re-running performance benchmarks, it appears to have little-to-no |
| measurable benefit. |
| |
| This change adds back the bounds checking. |
| |
| * dom/ElementDescendantIterator.h: |
| |
| 2015-01-11 Chris Dumez <cdumez@apple.com> |
| |
| Drop legacy SVGCSSStyleSelector.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140342 |
| |
| Reviewed by Antti Koivisto. |
| |
| Drop legacy SVGCSSStyleSelector.cpp by porting the remaining SVG CSS |
| properties to the generated StyleBuilder. This patch also removes |
| support for the "LegacyStyleBuilder" option in CSSPropertyNames.in |
| as all properties have now been ported over. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| Drop SVGCSSStyleSelector.cpp file as it was removed. |
| |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSStyleSelector.cpp: Removed. |
| * css/StyleBuilder.h: |
| StyleBuilder::applyProperty() no longer need to return a boolean as |
| it now handles ALL CSS properties. |
| |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueBaselineShift): |
| (WebCore::StyleBuilderCustom::applyInitialFill): |
| (WebCore::StyleBuilderCustom::applyInheritFill): |
| (WebCore::StyleBuilderCustom::applyValueFill): |
| (WebCore::StyleBuilderCustom::applyInitialStroke): |
| (WebCore::StyleBuilderCustom::applyInheritStroke): |
| (WebCore::StyleBuilderCustom::applyValueStroke): |
| (WebCore::StyleBuilderCustom::applyInitialWebkitSvgShadow): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitSvgShadow): |
| (WebCore::StyleBuilderCustom::applyValueWebkitSvgShadow): |
| Move 'fill', 'stroke' and '-webkit-svg-shadow' to the new |
| StyleBuilder. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * css/makeprop.pl: |
| |
| 2015-01-11 Antti Koivisto <antti@apple.com> |
| |
| Remove FontCachePurgePreventer |
| https://bugs.webkit.org/show_bug.cgi?id=139628 |
| |
| Reviewed by Anders Carlsson. |
| |
| This stack type is bug prone and invasive. A missing FontCachePurgePreventer in a code that touches fonts is always |
| a hard-to-detect bug and there are many places that need it. Instead purge the font cache on top of the runloop. |
| |
| The purge timer could in principle fire in a nested runloop. However we should never have unreferenced |
| SimpleFontData objects in the stack in such case (GlyphData objects don't currently ref the font) because those |
| only occur during layout and painting. Layout and painting can't trigger a nested runloops as there would be |
| bigger problems. |
| |
| Purging may also be triggered synchronously by a memory notification. That case won't have any GlyphDatas in the stack either. |
| |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::measureText): |
| (WebCore::CanvasRenderingContext2D::drawTextInternal): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::paintContents): |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::FontCache): |
| (WebCore::FontCache::fontForFamily): |
| (WebCore::FontCache::purgeTimerFired): |
| (WebCore::FontCache::purgeInactiveFontData): |
| * platform/graphics/FontCache.h: |
| (WebCore::FontCache::disablePurging): Deleted. |
| (WebCore::FontCache::enablePurging): Deleted. |
| (WebCore::FontCachePurgePreventer::FontCachePurgePreventer): Deleted. |
| (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer): Deleted. |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::emphasisMarkAscent): |
| (WebCore::Font::emphasisMarkDescent): |
| (WebCore::Font::emphasisMarkHeight): |
| (WebCore::Font::drawEmphasisMarks): |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (PlatformCALayerWinInternal::displayCallback): |
| * platform/mac/DragImageMac.mm: |
| (WebCore::widthWithFont): |
| (WebCore::drawAtPoint): |
| (WebCore::createDragImageForLink): |
| * platform/win/DragImageWin.cpp: |
| (WebCore::createDragImageForLink): |
| * platform/win/WebCoreTextRenderer.cpp: |
| (WebCore::doDrawTextAtPoint): |
| (WebCore::WebCoreTextFloatWidth): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::localSelectionRect): |
| (WebCore::InlineTextBox::offsetForPosition): |
| (WebCore::InlineTextBox::positionForOffset): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::setImageSizeForAltText): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::paintIntoLayer): |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::updateFromElement): |
| (WebCore::RenderListBox::paintItemForeground): |
| * rendering/RenderMenuList.cpp: |
| (RenderMenuList::updateOptionsWidth): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::adjustInputElementButtonStyle): |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::updateStyle): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::subtreeChildWasAdded): |
| (WebCore::RenderSVGText::subtreeStyleDidChange): |
| (WebCore::RenderSVGText::subtreeTextDidChange): |
| (WebCore::RenderSVGText::removeChild): |
| * rendering/svg/SVGInlineTextBox.cpp: |
| (WebCore::SVGInlineTextBox::selectionRectForTextFragment): |
| |
| 2015-01-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Implement ligatures |
| https://bugs.webkit.org/show_bug.cgi?id=137094 |
| |
| Reviewed by Dan Bernstein. |
| |
| Use the "liga" OpenType feature to implement ligatures inside the GSUB table. |
| |
| Tests: svg/W3C-SVG-1.1/fonts-glyph-04-t.svg |
| svg/W3C-SVG-1.1/text-text-06-t.svg |
| svg/text/kerning.svg |
| svg/text/multichar-glyph.svg |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::grow): |
| (WebCore::SVGToOTFFontConverter::appendCMAPTable): Use StringView::codePoints(). |
| (WebCore::SVGToOTFFontConverter::firstGlyph): Returns the first element of the input |
| vector, along with some ASSERTs. |
| (WebCore::SVGToOTFFontConverter::appendLigatureSubtable): |
| (WebCore::SVGToOTFFontConverter::appendScriptSubtable): Used inside appendGSUBTable. |
| (WebCore::SVGToOTFFontConverter::appendGSUBTable): Updating for ligatures. |
| (WebCore::codepointToString): Wrapper around U16_APPEND(). |
| (WebCore::SVGToOTFFontConverter::glyphsForCodepoint): Call codepointToString and look |
| in internal map. |
| (WebCore::SVGToOTFFontConverter::addCodepointRanges): Use glyphsForCodepoint(). |
| (WebCore::SVGToOTFFontConverter::appendLigatureGlyphs): Ligatures are implemented as |
| mapping a sequence of glyphs to another glyph inside OpenType. However, SVG models |
| ligatures as mapping a sequence of codepoints to a glyph. This function makes dummy |
| glyphs for all the codepoints that we don't have glyphs for and appends them to |
| m_glyphs. |
| (WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically): |
| (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Use appendEmptyGlyph() and |
| call appendLigatureGlyphs(). |
| |
| 2015-01-11 Chris Dumez <cdumez@apple.com> |
| |
| Move more SVG CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140340 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move more SVG CSS properties to the new StyleBuilder by introducing |
| the necessary converters in StyleBuilderConverter. |
| |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSStyleSelector.cpp: |
| (WebCore::StyleResolver::applySVGProperty): |
| (WebCore::roundToNearestGlyphOrientationAngle): Deleted. |
| (WebCore::angleToGlyphOrientation): Deleted. |
| (WebCore::colorFromSVGColorCSSValue): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertNumber): |
| (WebCore::StyleBuilderConverter::convertNumberOrAuto): |
| (WebCore::StyleBuilderConverter::convertOpacity): |
| (WebCore::StyleBuilderConverter::convertSVGURIReference): |
| (WebCore::StyleBuilderConverter::convertSVGColor): |
| (WebCore::StyleBuilderConverter::convertGlyphOrientation): |
| (WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto): |
| * rendering/style/RenderStyle.h: |
| |
| 2015-01-10 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed buildfix for !ENABLE(INSPECTOR) builds after r178201. |
| |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
| |
| 2015-01-10 Chris Dumez <cdumez@apple.com> |
| |
| Move 'kerning' / 'paint-order' / 'stroke-dasharray' SVG CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140327 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'kerning' / 'paint-order' / 'stroke-dasharray' SVG CSS properties |
| to the new StyleBuilder by introducing the necessary converters in |
| StyleBuilderConverter. |
| |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSStyleSelector.cpp: |
| (WebCore::StyleResolver::applySVGProperty): |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertSVGLength): |
| (WebCore::StyleBuilderConverter::convertSVGLengthVector): |
| (WebCore::StyleBuilderConverter::convertStrokeDashArray): |
| (WebCore::StyleBuilderConverter::convertPaintOrder): |
| * svg/SVGLength.cpp: |
| (WebCore::SVGLength::fromCSSPrimitiveValue): |
| * svg/SVGLength.h: |
| |
| 2015-01-09 Andreas Kling <akling@apple.com> |
| |
| CTTE: GeolocationController always has a client. |
| <https://webkit.org/b/140330> |
| |
| Reviewed by Anders Carlsson. |
| |
| Change GeolocationController::m_client to be a reference and remove |
| a whole bunch of unnecessary null checks. |
| |
| * Modules/geolocation/GeolocationController.cpp: |
| (WebCore::GeolocationController::GeolocationController): |
| (WebCore::GeolocationController::~GeolocationController): |
| (WebCore::GeolocationController::addObserver): |
| (WebCore::GeolocationController::removeObserver): |
| (WebCore::GeolocationController::requestPermission): |
| (WebCore::GeolocationController::cancelPermissionRequest): |
| (WebCore::GeolocationController::lastPosition): |
| (WebCore::GeolocationController::viewStateDidChange): |
| (WebCore::provideGeolocationTo): |
| * Modules/geolocation/GeolocationController.h: |
| (WebCore::GeolocationController::client): |
| |
| 2015-01-09 Zalan Bujtas <zalan@apple.com> |
| |
| Calling clearSelection on a detached RenderObject leads to segfault. |
| https://bugs.webkit.org/show_bug.cgi?id=140275 |
| |
| Reviewed by Simon Fraser. |
| |
| We collect selection rects and compute selection gaps in order to |
| paint/clear selection. With certain content, we need to be able |
| to walk the tree up to a particular container to compute the selection rect. |
| However this container might not be available when the selection is part of a detached tree. |
| This is a null-check fix to ensure we don't crash in such cases, but in the long run |
| selection gaps and rect should be cached between two layouts so that we don't need to |
| keep collecting/recomputing them. Tracked here: webkit.org/b/140321 |
| |
| Test: editing/selection/clearselection-on-detached-subtree-crash.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::containingBlockLogicalWidthForContent): |
| (WebCore::RenderBox::containingBlockLogicalHeightForContent): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::clearSelection): |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Remove more sync database code |
| https://bugs.webkit.org/show_bug.cgi?id=140328 |
| |
| Reviewed by Sam Weinig. |
| |
| * Modules/webdatabase/AbstractDatabaseServer.h: |
| * Modules/webdatabase/DatabaseBackend.cpp: |
| (WebCore::DatabaseBackend::DatabaseBackend): |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| (WebCore::DatabaseBackendBase::DatabaseBackendBase): |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| (WebCore::DatabaseBackendBase::isSyncDatabase): Deleted. |
| * Modules/webdatabase/DatabaseBasicTypes.h: |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabaseBackend): |
| (WebCore::DatabaseManager::openDatabase): |
| * Modules/webdatabase/DatabaseManager.h: |
| * Modules/webdatabase/DatabaseServer.cpp: |
| (WebCore::DatabaseServer::openDatabase): |
| (WebCore::DatabaseServer::createDatabase): |
| * Modules/webdatabase/DatabaseServer.h: |
| |
| 2015-01-09 Daniel Bates <dabates@apple.com> |
| |
| Fix the iOS build after <http://trac.webkit.org/changeset/178213> |
| (https://bugs.webkit.org/show_bug.cgi?id=140310) |
| |
| * platform/spi/cocoa/CoreTextSPI.h: |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::systemFont): |
| |
| 2015-01-09 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of legacy StyleBuilder switch in StyleResolver.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140315 |
| |
| Reviewed by Sam Weinig. |
| |
| Get rid of legacy StyleBuilder switch in StyleResolver.cpp now that most |
| properties have been ported to the new generated StyleBuilder in previous |
| patches. The properties that remained in this switch were shorthand |
| properties or other properties that do not require any handling in the |
| StyleBuilder. |
| |
| To achieve this, this patch introduces 2 parameters in |
| CSSPropertyNames.in: |
| - SkipBuilder: Indicates that no StyleBuilder code should be generated |
| for this property. |
| - Shorthand: Indicates that this is a shorthand property, which therefore |
| does not use the StyleBuilder. makeprop.pl will merely generate |
| assertions for such properties, to validate that this is a shorthand |
| property and that the StyleBuilder code is never reached. |
| |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSStyleSelector.cpp: |
| (WebCore::StyleResolver::applySVGProperty): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * css/makeprop.pl: |
| |
| 2015-01-09 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Build fix after r178219. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Remove PaintHooks.asm references in project file. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| |
| 2015-01-09 Andreas Kling <akling@apple.com> |
| |
| Log which ActiveDOMObject(s) can't be suspended for PageCache. |
| <https://webkit.org/b/139697> |
| |
| Reviewed by Chris Dumez. |
| |
| Give ActiveDOMObject a pure virtual activeDOMObjectName() so we can |
| find their names. |
| |
| Dump the names of all the ActiveDOMObjects that fail to suspend when |
| we're trying to put a page into PageCache. |
| |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/geolocation/Geolocation.h: |
| * Modules/indexeddb/IDBDatabase.h: |
| * Modules/indexeddb/IDBRequest.h: |
| * Modules/indexeddb/IDBTransaction.h: |
| * Modules/mediasource/MediaSource.h: |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/RTCDTMFSender.h: |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: |
| * Modules/mediastream/RTCStatsRequestImpl.h: |
| * Modules/mediastream/RTCVoidRequestImpl.h: |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/webaudio/AudioContext.h: |
| * Modules/webdatabase/DatabaseContext.h: |
| * Modules/websockets/WebSocket.h: |
| * WebCore.exp.in: |
| * css/FontLoader.h: |
| * dom/ActiveDOMObject.h: |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): |
| * dom/ScriptExecutionContext.h: |
| * fileapi/FileReader.h: |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| * html/HTMLMarqueeElement.h: |
| * html/HTMLMediaElement.h: |
| * html/PublicURLManager.h: |
| * html/canvas/WebGLRenderingContext.h: |
| * page/EventSource.h: |
| * page/SuspendableTimer.h: |
| * workers/AbstractWorker.h: |
| * xml/XMLHttpRequest.h: |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the database strategy |
| https://bugs.webkit.org/show_bug.cgi?id=140322 |
| |
| Reviewed by Sam Weinig. |
| |
| * CMakeLists.txt: |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase): |
| (WebCore::DatabaseManager::DatabaseManager): |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/DatabaseStrategy.cpp: Removed. |
| * platform/DatabaseStrategy.h: Removed. |
| * platform/PlatformStrategies.h: |
| (WebCore::PlatformStrategies::PlatformStrategies): |
| (WebCore::PlatformStrategies::databaseStrategy): Deleted. |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Move the Windows only plug-in code to WebKit/win |
| https://bugs.webkit.org/show_bug.cgi?id=140133 |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Another Windows build fix. |
| |
| * DerivedSources.cpp: |
| |
| 2015-01-09 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Support additional text styles. |
| https://bugs.webkit.org/show_bug.cgi?id=140310 |
| rdar://problem/18568864 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add support for three new text styles. |
| |
| * css/CSSValueKeywords.in: |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::systemFont): |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Fix Windows build. |
| |
| * bindings/js/JSBindingsAllInOne.cpp: |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Remove more worker database code |
| https://bugs.webkit.org/show_bug.cgi?id=140320 |
| |
| Reviewed by Tim Horton. |
| |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThread::stop): |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Remove more sync database code |
| https://bugs.webkit.org/show_bug.cgi?id=140318 |
| |
| Reviewed by Sam Weinig. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * Modules/webdatabase/DatabaseBackendSync.cpp: Removed. |
| * Modules/webdatabase/DatabaseBackendSync.h: Removed. |
| * Modules/webdatabase/DatabaseCallback.h: |
| * Modules/webdatabase/DatabaseCallback.idl: |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabaseSync): Deleted. |
| * Modules/webdatabase/DatabaseManager.h: |
| * Modules/webdatabase/DatabaseServer.cpp: |
| (WebCore::DatabaseServer::createDatabase): |
| * Modules/webdatabase/DatabaseSync.cpp: Removed. |
| * Modules/webdatabase/DatabaseSync.h: Removed. |
| * Modules/webdatabase/DatabaseSync.idl: Removed. |
| * Modules/webdatabase/SQLStatementSync.cpp: Removed. |
| * Modules/webdatabase/SQLStatementSync.h: Removed. |
| * Modules/webdatabase/SQLTransactionBackendSync.cpp: Removed. |
| * Modules/webdatabase/SQLTransactionBackendSync.h: Removed. |
| * Modules/webdatabase/SQLTransactionSync.cpp: Removed. |
| * Modules/webdatabase/SQLTransactionSync.h: Removed. |
| * Modules/webdatabase/SQLTransactionSync.idl: Removed. |
| * Modules/webdatabase/SQLTransactionSyncCallback.h: Removed. |
| * Modules/webdatabase/SQLTransactionSyncCallback.idl: Removed. |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSSQLTransactionSyncCustom.cpp: Removed. |
| |
| 2015-01-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove or use TimelineAgent Resource related event types |
| https://bugs.webkit.org/show_bug.cgi?id=140155 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove unused timeline events. The frontend was ignoring these events |
| and was often already getting nearly identical data from the Network domain. |
| |
| * WebCore.exp.in: |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::willSendRequestImpl): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): |
| (WebCore::InspectorInstrumentation::didFinishLoadingImpl): |
| (WebCore::InspectorInstrumentation::didFailLoadingImpl): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl): Deleted. |
| (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl): Deleted. |
| (WebCore::InspectorInstrumentation::didReceiveResourceDataImpl): Deleted. |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequest): Deleted. |
| (WebCore::InspectorInstrumentation::willReceiveResourceData): Deleted. |
| (WebCore::InspectorInstrumentation::didReceiveResourceData): Deleted. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::toProtocol): |
| (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): Deleted. |
| (WebCore::InspectorTimelineAgent::willSendResourceRequest): Deleted. |
| (WebCore::InspectorTimelineAgent::willReceiveResourceData): Deleted. |
| (WebCore::InspectorTimelineAgent::didReceiveResourceData): Deleted. |
| (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): Deleted. |
| (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): Deleted. |
| (WebCore::InspectorTimelineAgent::didFinishLoadingResource): Deleted. |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): Deleted. |
| (WebCore::TimelineRecordFactory::createResourceSendRequestData): Deleted. |
| (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): Deleted. |
| (WebCore::TimelineRecordFactory::createResourceFinishData): Deleted. |
| (WebCore::TimelineRecordFactory::createReceiveResourceData): Deleted. |
| * inspector/TimelineRecordFactory.h: |
| * loader/DocumentThreadableLoader.cpp: |
| (WebCore::DocumentThreadableLoader::didReceiveResponse): |
| * loader/ResourceLoadNotifier.cpp: |
| (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): |
| * loader/ResourceLoadScheduler.cpp: |
| (WebCore::ResourceLoadScheduler::scheduleLoad): |
| (WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest): Deleted. |
| * loader/ResourceLoadScheduler.h: |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::didReceiveData): |
| (WebCore::ResourceLoader::didReceiveBuffer): |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::didReceiveResponse): |
| * loader/mac/ResourceLoaderMac.mm: |
| (WebCore::ResourceLoader::didReceiveDataArray): |
| |
| 2015-01-09 Benjamin Poulain <bpoulain@apple.com> |
| |
| Update r177745, one of the review comments was not integrated |
| |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::matchesLangPseudoClass): |
| I cq+ before Dhi could make an update and this was left out. |
| |
| 2015-01-09 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix error handling of ContentExtensionsManager when the top level input is unusable |
| https://bugs.webkit.org/show_bug.cgi?id=140284 |
| |
| Reviewed by Andreas Kling. |
| |
| There are a couple of ways the WebProcess would crash if the input |
| is really really bad: |
| -If the JSON is unreadable, we can have an exception or decodedRules can be null. |
| -On any of the error, we cannot return immediately or we will skip vm.clear(). |
| |
| This patch adds a branch to fix the first issue. |
| |
| For the second issue, a new function, loadEncodedRules(), encapsulate all the early |
| returns to make sure we execute the end of loadExtension(). |
| |
| * contentextensions/ContentExtensionsManager.cpp: |
| (WebCore::ContentExtensions::ExtensionsManager::loadEncodedRules): |
| (WebCore::ContentExtensions::ExtensionsManager::loadExtension): |
| |
| 2015-01-09 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| Simplify LineWidth::wrapNextToShapeOutside() |
| https://bugs.webkit.org/show_bug.cgi?id=140304 |
| |
| Reviewed by Zoltan Horvath. |
| |
| This function used to manually check to see if the entire height of |
| the line would have enough space next to the float. However, the code |
| to compute the offsets will do this automatically (and probably a lot |
| faster), if the line height is passed in. This patch does just that. |
| |
| No new tests, no behavior change. |
| |
| * rendering/line/LineWidth.cpp: |
| (WebCore::availableWidthAtOffset): Remove now unused override, allow |
| passing in lineHeight. |
| (WebCore::LineWidth::wrapNextToShapeOutside): Pass the lineHeight |
| when computing the available width, so we don't need to check |
| isWholeLineFit anymore. |
| (WebCore::isWholeLineFit): Deleted. |
| |
| 2015-01-09 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Shapes] content inside second shape area when two floats interact |
| https://bugs.webkit.org/show_bug.cgi?id=137702 |
| |
| Reviewed by Zalan Bujtas. |
| |
| If a float has a shape-outside, we cannot assume that it has a uniform |
| width for the height of the float, so we cannot use simple line |
| layout. |
| |
| Test: fast/shapes/shape-outside-floats/shape-outside-text-overlap-float.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): Don't use simple line layout |
| if we have shape-outside. Also, rename floatRenderer to |
| floatingObject, since the variable doesn't contain a renderer. |
| |
| 2015-01-09 Chris Dumez <cdumez@apple.com> |
| |
| Allow HTTPS + 'Cache-control: no-store' sub-frames into the page cache |
| https://bugs.webkit.org/show_bug.cgi?id=140302 |
| |
| Reviewed by Andreas Kling. |
| |
| Allow HTTPS + 'Cache-control: no-store' sub-frames into the page cache. |
| We already restore 'no-store' sub-resources on history navigation from |
| the memory cache so there is no reason for our page cache policy to be |
| more restrictive. |
| |
| We should align our memory cache / history navigation policy with our |
| page cache policy. |
| |
| For now, 'no-store' main resources are not restored from either cache |
| (memory cache / page cache) on history navigation though. This behavior |
| does not change. |
| |
| Test: http/tests/navigation/https-no-store-subframe-in-page-cache.html |
| |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::PageCache::canCachePageContainingThisFrame): |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Try to trigger a rebuild of generated JS bindings. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| |
| 2015-01-09 Chris Dumez <cdumez@apple.com> |
| |
| Add support for SVG CSS Properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140277 |
| |
| Reviewed by Andreas Kling. |
| |
| Update the new StyleBuilder generator to add support for SVG CSS |
| Properties whose methods are on SVGRenderStyle instead of RenderStyle. |
| |
| A new "SVG" parameter is now supported by makeprop.pl to correctly |
| generate such properties. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSPropertyNames.in: Removed. |
| Merged SVG CSS properties into CSSPropertyNames.in. I personally don't |
| think having a separate file for SVG CSS properties is really helpful. |
| |
| * css/SVGCSSStyleSelector.cpp: |
| (WebCore::StyleResolver::applySVGProperty): |
| Drop legacy StyleBuilder code for several SVG properties and generate |
| them instead. Those are trivial and do not require any custom code or |
| converter. |
| |
| * css/StyleResolver.cpp: |
| Update the id of the first low-priority property. |
| |
| * css/makeprop.pl: |
| Add support for SVG CSS Properties whose methods are on SVGRenderStyle |
| instead of RenderStyle. |
| |
| 2015-01-08 Anders Carlsson <andersca@apple.com> |
| |
| Start removing Web Database support from workers |
| https://bugs.webkit.org/show_bug.cgi?id=140271 |
| |
| Reviewed by Sam Weinig. |
| |
| Remove WorkerGlobalScopeWebDatabase which is the entry point for web database in workers. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp: Removed. |
| * Modules/webdatabase/WorkerGlobalScopeWebDatabase.h: Removed. |
| * Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl: Removed. |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-09 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Layout Test fast/canvas/canvas-path-addPath.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=140303 |
| <rdar://problem/19428865> |
| |
| Reviewed by Simon Fraser. |
| |
| Although the code clearly states that CG doesn't allow adding a path to itself, |
| and branches to handle this case, it simply uses the branch to try adding the |
| path to itself (ignoring the copy it just made)! |
| |
| Fix this copy/paste bug so that we use the copy and avoid violating the CG |
| API contract. |
| |
| * platform/graphics/cg/PathCG.cpp: |
| (WebCore::Path::addPath): Fix path used. |
| |
| 2015-01-09 Andreas Kling <akling@apple.com> |
| |
| [Cocoa] Make decoded image data purgeable ASAP. |
| <https://webkit.org/b/140298> |
| |
| Reviewed by Antti Koivisto. |
| |
| Mark decoded images as "transient" which makes CoreGraphics mark |
| the backing stores as purgeable shortly after they're used. |
| |
| The decoded representation will remain in CoreGraphics's caches |
| indefinitely unless the kernel gets starved and needs the pages. |
| |
| Most resources will now reach a state where the encoded data is |
| mmap'ed from disk cache (once the entire resource is downloaded) |
| and the decoded data is purgeable. |
| |
| This also has the side effect of making the MemoryCache more |
| palatial since the decoded data cost can be deducted for images, |
| allowing us to cache more resources. |
| |
| Note that the worst case for this new behavior would be something |
| like hovering below 100% memory utilization and constantly having |
| to drop and re-decode images. While churny, it still beats |
| crashing the process, plus there's tiling to remove many of the |
| reasons we'd need the decoded data. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::ImageSource::createFrameAtIndex): |
| |
| 2015-01-09 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| Rename GraphicsLayerAnimation to TextureMapperAnimation |
| https://bugs.webkit.org/show_bug.cgi?id=140296 |
| |
| Reviewed by Martin Robinson. |
| |
| GraphicsLayerAnimation is only used by TextureMapper and CoordinatedGraphics. |
| This should be placed in the platform/graphics/texmap. |
| And this patch also changes its name to TextureMapperAnimation to remove ambiguity. |
| |
| No new tests because this is a simply refactoring. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::addAnimation): |
| (WebCore::GraphicsLayerTextureMapper::setAnimations): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| * platform/graphics/texmap/TextureMapperAnimation.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp. |
| * platform/graphics/texmap/TextureMapperAnimation.h: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.h. |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::setAnimations): |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::addAnimation): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: |
| |
| 2015-01-09 Antti Koivisto <antti@apple.com> |
| |
| FontCache should only deal with SimpleFontData |
| https://bugs.webkit.org/show_bug.cgi?id=140293 |
| |
| Reviewed by Andreas Kling. |
| |
| FontCache::fontForFamilyAtIndex hands out FontData objects and calls to FontSelector. That sort |
| of code does not belong to the cache layer. Move the functionality up to FontGlyphs. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::operator==): |
| (WebCore::Font::drawText): |
| (WebCore::Font::drawEmphasisMarks): |
| (WebCore::Font::isLoadingCustomFonts): |
| * platform/graphics/Font.h: |
| (WebCore::Font::loadingCustomFonts): Deleted. |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::similarFontPlatformData): |
| |
| Generic null implementation to reduce #ifs. |
| |
| (WebCore::FontCache::fontForFamilyAtIndex): Deleted. |
| * platform/graphics/FontCache.h: |
| |
| Unfriend FontGlyphs. |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::FontGlyphs): |
| (WebCore::FontGlyphs::isLoadingCustomFonts): |
| |
| We can figure thus out cheaply without caching a bit. |
| |
| (WebCore::realizeNextFamily): |
| (WebCore::FontGlyphs::realizeFontDataAt): |
| |
| Reorganize a bit to make the logic clearer. |
| Get rid of the strange cAllFamiliesScanned constant. |
| |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForNormalVariant): |
| |
| Loop until null, that always works. |
| |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::loadingCustomFonts): Deleted. |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::similarFontPlatformData): |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::similarFontPlatformData): |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::dashesForIntersectionsWithRect): |
| |
| 2015-01-09 Csaba Osztrogonác <ossy@webkit.org> |
| |
| REGRESSION(r177925): It broke the !ENABLE(INSPECTOR) build |
| https://bugs.webkit.org/show_bug.cgi?id=140098 |
| |
| Reviewed by Brian Burg. |
| |
| * inspector/InspectorInstrumentationCookie.cpp: Removed ENABLE(INSPECTOR) guard, |
| becaue InspectorInstrumentationCookie is used everywhere unconditionally. |
| * inspector/InspectorInstrumentationCookie.h: Removed ENABLE(INSPECTOR) guard. |
| * loader/appcache/ApplicationCacheGroup.h: Removed ENABLE(INSPECTOR) guard around |
| m_currentResourceIdentifier, because it is used unconditionally in the cpp. |
| |
| 2015-01-09 Byungseon Shin <sun.shin@lge.com> |
| |
| [EFL] Fix crash introduced in r178029 |
| https://bugs.webkit.org/show_bug.cgi?id=140289 |
| |
| Reviewed by Martin Robinson. |
| |
| Clearing childClippingMaskLayer of CoordinatedGraphics should be called |
| before clearing childClippingLayer. |
| |
| No new tests, covered by existing tests. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::~RenderLayerBacking): |
| |
| 2015-01-08 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Cannot paste an image URL in a plain text field in a page. |
| https://bugs.webkit.org/show_bug.cgi?id=140274 |
| rdar://problem/18590809 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| When we want to get plain text from the pasteboard, we |
| should also try kUTTypeURL if there is no kUTTypeText available. |
| |
| * WebCore.exp.in: |
| * platform/ios/PasteboardIOS.mm: |
| (WebCore::Pasteboard::read): |
| * platform/ios/PlatformPasteboardIOS.mm: |
| (WebCore::PlatformPasteboard::readString): |
| |
| 2015-01-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178154, r178163, and r178164. |
| https://bugs.webkit.org/show_bug.cgi?id=140292 |
| |
| Still multiple assertion failures on tests (Requested by ap on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "Modernize and streamline HTMLTokenizer" |
| https://bugs.webkit.org/show_bug.cgi?id=140166 |
| http://trac.webkit.org/changeset/178154 |
| |
| "Unreviewed speculative buildfix after r178154." |
| http://trac.webkit.org/changeset/178163 |
| |
| "One more unreviewed speculative buildfix after r178154." |
| http://trac.webkit.org/changeset/178164 |
| |
| 2015-01-09 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Implement Append Window support. |
| https://bugs.webkit.org/show_bug.cgi?id=139861 |
| |
| Reviewed by Jer Noble. |
| |
| Implement Append Windows support for SourceBuffer as per spec. |
| Also change order in idl to match spec order. |
| |
| Test: media/media-source/media-source-append-buffer-with-append-window.html |
| |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::SourceBuffer): |
| (WebCore::SourceBuffer::appendWindowStart): |
| (WebCore::SourceBuffer::setAppendWindowStart): |
| (WebCore::SourceBuffer::appendWindowEnd): |
| (WebCore::SourceBuffer::setAppendWindowEnd): |
| (WebCore::SourceBuffer::abort): |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediasource/SourceBuffer.idl: |
| |
| 2015-01-09 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Crash at -[WebAccessibilityObjectWrapperBase accessibilityTitle] + 31 |
| https://bugs.webkit.org/show_bug.cgi?id=140286 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| This is crashing because AppKit is checking if certain method names like "accessibilityTitle" exist, |
| and then it bypasses accessibilityAttributeValue: to call directly into those methods. |
| |
| That bypasses are safety checks. I think a safe way to avoid this is rename our methods. |
| |
| No new tests, problem only occurs when triggered through AppKit. |
| |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityLabel]): |
| (-[WebAccessibilityObjectWrapper accessibilityHint]): |
| * accessibility/mac/WebAccessibilityObjectWrapperBase.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: |
| (-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]): |
| (-[WebAccessibilityObjectWrapperBase baseAccessibilityDescription]): |
| (-[WebAccessibilityObjectWrapperBase baseAccessibilityHelpText]): |
| (-[WebAccessibilityObjectWrapperBase accessibilityTitle]): Deleted. |
| (-[WebAccessibilityObjectWrapperBase accessibilityDescription]): Deleted. |
| (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]): Deleted. |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| |
| 2015-01-06 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer][MSE] ASSERT in MediaSourceClientGStreamer::addSourceBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=140119 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: |
| (WebCore::MediaSourceClientGStreamer::addSourceBuffer): Use a raw |
| pointer for the ghost pad, its reference is then taken once attached |
| to the parent element. |
| |
| 2015-01-09 Zan Dobersek <zdobersek@igalia.com> |
| |
| After r178166, ANGLE's EGL/GLES/GLES2 headers are included before the |
| system-default headers because the Source/ThirdParty/ANGLE/include |
| directory is searched through. This shouldn't be the case for ports |
| which want to use system-default headers and are searching for them |
| explicitly. To avoid that, OPENGL_INCLUDE_DIR or OPENGLES2_INCLUDE_DIR |
| should be added to WebCore_INCLUDE_DIRECTORIES before ANGLE directories. |
| |
| Rubber-stamped by Carlos Garcia Campos. |
| |
| * CMakeLists.txt: |
| |
| 2015-01-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Use angle-bracket form to include external headers in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=140288 |
| |
| Reviewed by Žan Doberšek. |
| |
| * CMakeLists.txt: |
| * platform/graphics/GraphicsContext.cpp: |
| * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
| * platform/graphics/harfbuzz/HarfBuzzFace.cpp: |
| * platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp: |
| * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: |
| * platform/graphics/mac/GraphicsContext3DMac.mm: |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| * platform/graphics/win/GraphicsContext3DWin.cpp: |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| * platform/image-decoders/png/PNGImageDecoder.cpp: |
| * platform/image-decoders/webp/WEBPImageDecoder.cpp: |
| * platform/image-encoders/JPEGImageEncoder.cpp: |
| * platform/image-encoders/PNGImageEncoder.cpp: |
| * platform/text/TextEncodingDetectorICU.cpp: |
| |
| 2015-01-09 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more unreviewed speculative buildfix after r178154. |
| |
| * xml/parser/CharacterReferenceParserInlines.h: |
| (WebCore::consumeCharacterReference): Remove highestValidCharacter too, it became unused after r178163. |
| |
| 2015-01-08 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r178154. |
| |
| * xml/parser/CharacterReferenceParserInlines.h: |
| (WebCore::consumeCharacterReference): Remove unused overflow variable. |
| |
| 2015-01-08 Darin Adler <darin@apple.com> |
| |
| Remove strange CharacterData::dataImpl function |
| https://bugs.webkit.org/show_bug.cgi?id=140115 |
| |
| Reviewed by Anders Carlsson. |
| |
| Every call site could just use the data function instead. |
| |
| * dom/CharacterData.h: |
| (WebCore::CharacterData::dataImpl): Deleted. |
| |
| * dom/Text.cpp: |
| (WebCore::Text::splitText): Use data instead of dataImpl. |
| (WebCore::Text::createTextRenderer): Ditto. |
| |
| * rendering/RenderCombineText.cpp: |
| (WebCore::RenderCombineText::RenderCombineText): Updated to take |
| const String&. We missed this class when RenderText changed. |
| * rendering/RenderCombineText.h: Ditto. |
| |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::updateTextRendererAfterContentChange): Use data. |
| |
| 2015-01-08 Chris Dumez <cdumez@apple.com> |
| |
| ASSERTION FAILED: !valueWithCalculation.calculation() in WebCore::CSSParser::validateCalculationUnit |
| https://bugs.webkit.org/show_bug.cgi?id=140251 |
| |
| Reviewed by Darin Adler. |
| |
| Using a calculated value for text-shadow's blur-radius was hitting an |
| assertion in CSSParser::validateCalculationUnit() because validUnit() |
| is called twice, first with 'FLength' unit, then more stricly with |
| 'FLength|FNonNeg' if parsing the blur-radius as it cannot be negative |
| as per the specification: |
| - http://dev.w3.org/csswg/css-text-decor-3/#text-shadow-property |
| - http://dev.w3.org/csswg/css-backgrounds-3/#shadow |
| |
| On the second call, the ValueWithCalculation's m_calculation member |
| was already initialized and the code did not handle this. This patch |
| updates validateCalculationUnit() to teach it to reuse the previously |
| parsed calculation in this case. All it needs to do is to update the |
| existing CSSCalcValue's range to allow negative values or not. |
| |
| When writing the layout test for this, I also noticed that the CSS |
| parser was not rejecting negative calculated values for blur-radius |
| (only negative non-calculated ones). This is because |
| validateCalculationUnit() was ignoring FNonNeg if the calculated |
| value is a Length. This patch also addresses the issue. |
| |
| Test: fast/css/text-shadow-calc-value.html |
| |
| * css/CSSCalculationValue.h: |
| (WebCore::CSSCalcValue::setPermittedValueRange): |
| Add a setter to update the CSSCalculationValue's permitted value range |
| so that the CSS parser does not need to fully reparse the calculation |
| only to update the permitted value range. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validateCalculationUnit): |
| - Teach the code to reuse the previously parsed calculation value. |
| - Do the FNonNeg check for Length calculations as well. |
| |
| 2015-01-08 Darin Adler <darin@apple.com> |
| |
| Modernize and streamline HTMLTokenizer |
| https://bugs.webkit.org/show_bug.cgi?id=140166 |
| |
| Reviewed by Sam Weinig. |
| |
| * html/parser/AtomicHTMLToken.h: |
| (WebCore::AtomicHTMLToken::initializeAttributes): Removed unneeded assertions |
| based on fields I removed. |
| |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::HTMLDocumentParser): Change to use updateStateFor |
| to set the initial state when parsing a fragment, since it implements the same |
| rule taht the tokenizerStateForContextElement function did. |
| (WebCore::HTMLDocumentParser::pumpTokenizer): Updated to use the revised |
| interfaces for HTMLSourceTracker and HTMLTokenizer. |
| (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Changed to take a |
| TokenPtr instead of an HTMLToken, so we can clear out the TokenPtr earlier |
| for non-character tokens, and let them get cleared later for character tokens. |
| (WebCore::HTMLDocumentParser::insert): Pass references. |
| (WebCore::HTMLDocumentParser::append): Ditto. |
| (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): Ditto. |
| |
| * html/parser/HTMLDocumentParser.h: Updated argument type for constructTreeFromHTMLToken |
| and removed now-unneeded m_token data members. |
| |
| * html/parser/HTMLEntityParser.cpp: Removed unneeded uses of the inline keyword. |
| (WebCore::HTMLEntityParser::consumeNamedEntity): Replaced two uses of |
| advanceAndASSERT with just plain advance; there's really no need to assert the |
| character is the one we just got out of the string. |
| |
| * html/parser/HTMLInputStream.h: Moved the include of TextPosition.h here from |
| its old location since this class has two data members that are OrdinalNumber. |
| |
| * html/parser/HTMLMetaCharsetParser.cpp: |
| (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): Removed most of the |
| initialization, since it's now done by defaults. |
| (WebCore::extractCharset): Rewrote this to be a non-member function, and to |
| use a for loop, and to handle quote marks in a simpler way. Also changed it |
| to return a StringView so we don't have to allocate a new string. |
| (WebCore::HTMLMetaCharsetParser::processMeta): Use a modern for loop, and |
| also take a token argument since it's no longer a data member. |
| (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Use a modern for |
| loop, StringView instead of string, and don't bother naming the local enum. |
| (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Updated for the new |
| way of getting tokens from the tokenizer. |
| |
| * html/parser/HTMLMetaCharsetParser.h: Got rid of some data members and |
| tightened up the formatting a little. Don't bother allocating the tokenizer |
| on the heap. |
| |
| * html/parser/HTMLPreloadScanner.cpp: |
| (WebCore::TokenPreloadScanner::TokenPreloadScanner): Removed unneeded |
| initialization. |
| (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Ditto. |
| (WebCore::HTMLPreloadScanner::scan): Changed to take a reference. |
| |
| * html/parser/HTMLPreloadScanner.h: Removed unneeded includes, typedefs, |
| and forward declarations. Removed explicit declaration of the destructor, |
| since the default one works. Removed unused createCheckpoint and rewindTo |
| functions. Gave initial values for various data members. Marked the device |
| scale factor const beacuse it's set in the constructor and never changed. |
| Also removed the unneeded isSafeToSendToAnotherThread. |
| |
| * html/parser/HTMLResourcePreloader.cpp: |
| (WebCore::PreloadRequest::isSafeToSendToAnotherThread): Deleted. |
| |
| * html/parser/HTMLResourcePreloader.h: |
| (WebCore::PreloadRequest::PreloadRequest): Removed unneeded calls to |
| isolatedCopy. Also removed isSafeToSendToAnotherThread. |
| |
| * html/parser/HTMLSourceTracker.cpp: |
| (WebCore::HTMLSourceTracker::startToken): Renamed. Changed to keep state |
| in the source tracker itself, not the token. |
| (WebCore::HTMLSourceTracker::endToken): Ditto. |
| (WebCore::HTMLSourceTracker::source): Renamed. Changed to use the state |
| from the source tracker. |
| |
| * html/parser/HTMLSourceTracker.h: Removed unneeded include of HTMLToken.h. |
| Renamed functions, removed now-unneeded comment. |
| |
| * html/parser/HTMLToken.h: Cut down on the fields used by the source tracker. |
| It only needs to know the start and end of each attribute, not each part of |
| each attribute. Removed setBaseOffset, setEndOffset, length, addNewAttribute, |
| beginAttributeName, endAttributeName, beginAttributeValue, endAttributeValue, |
| m_baseOffset and m_length. Added beginAttribute and endAttribute. |
| (WebCore::HTMLToken::clear): No need to zero m_length or m_baseOffset any more. |
| (WebCore::HTMLToken::length): Deleted. |
| (WebCore::HTMLToken::setBaseOffset): Deleted. |
| (WebCore::HTMLToken::setEndOffset): Deleted. |
| (WebCore::HTMLToken::beginStartTag): Only null out m_currentAttribute if we |
| are compiling in assertions. |
| (WebCore::HTMLToken::beginEndTag): Ditto. |
| (WebCore::HTMLToken::addNewAttribute): Deleted. |
| (WebCore::HTMLToken::beginAttribute): Moved the code from addNewAttribute in |
| here and set the start offset. |
| (WebCore::HTMLToken::beginAttributeName): Deleted. |
| (WebCore::HTMLToken::endAttributeName): Deleted. |
| (WebCore::HTMLToken::beginAttributeValue): Deleted. |
| (WebCore::HTMLToken::endAttributeValue): Deleted. |
| |
| * html/parser/HTMLTokenizer.cpp: |
| (WebCore::HTMLToken::endAttribute): Added. Sets the end offset. |
| (WebCore::HTMLToken::appendToAttributeName): Updated assertion. |
| (WebCore::HTMLToken::appendToAttributeValue): Ditto. |
| (WebCore::convertASCIIAlphaToLower): Renamed from toLowerCase and changed |
| so it's legal to call on lower case letters too. |
| (WebCore::vectorEqualsString): Changed to take a string literal rather than |
| a WTF::String. |
| (WebCore::HTMLTokenizer::inEndTagBufferingState): Made this a member function. |
| (WebCore::HTMLTokenizer::HTMLTokenizer): Updated for data member changes. |
| (WebCore::HTMLTokenizer::bufferASCIICharacter): Added. Optimized version of |
| bufferCharacter for the common case where we know the character is ASCII. |
| (WebCore::HTMLTokenizer::bufferCharacter): Moved this function here from the |
| header since it's only used inside the class. |
| (WebCore::HTMLTokenizer::emitAndResumeInDataState): Moved this here, renamed |
| it and removed the state argument. |
| (WebCore::HTMLTokenizer::emitAndReconsumeInDataState): Ditto. |
| (WebCore::HTMLTokenizer::emitEndOfFile): More of the same. |
| (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded): Ditto. |
| (WebCore::HTMLTokenizer::haveBufferedCharacterToken): Ditto. |
| (WebCore::HTMLTokenizer::flushBufferedEndTag): Updated since m_token is now |
| the actual token, not just a pointer. |
| (WebCore::HTMLTokenizer::flushEmitAndResumeInDataState): Renamed this and |
| removed the state argument. |
| (WebCore::HTMLTokenizer::processToken): This function, formerly nextToken, |
| is now the internal function used by nextToken. Updated its contents to use |
| simpler macros, changed code to set m_state when returning, rather than |
| constantly setting it when cycling through states, switched style to use |
| early return/goto rather than lots of else statements, took out unneeded |
| braces now that BEGIN/END_STATE handles the braces, collapsed upper and |
| lower case letter handling in many states, changed lookAhead call sites to |
| use the new advancePast function instead. |
| (WebCore::HTMLTokenizer::updateStateFor): Set m_state directly instead of |
| calling a setstate function. |
| (WebCore::HTMLTokenizer::appendToTemporaryBuffer): Moved here from header. |
| (WebCore::HTMLTokenizer::temporaryBufferIs): Changed argument type to |
| a literal instead of a WTF::String. |
| (WebCore::HTMLTokenizer::appendToPossibleEndTag): Renamed and changed type |
| to be a UChar instead of LChar, although all characters will be ASCII. |
| (WebCore::HTMLTokenizer::isAppropriateEndTag): Marked const, and changed |
| type from size_t to unsigned. |
| |
| * html/parser/HTMLTokenizer.h: Changed interface of nextToken so it returns |
| a TokenPtr so code doesn't have to understand special rules about when to |
| work with an HTMLToken and when to clear it. Made most functions private, |
| and made the State enum private as well. Replaced the state and setState |
| functions with more specific functions for the few states we need to deal |
| with outside the class. Moved function bodies outside the class definition |
| so it's easier to read the class definition. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to use the |
| new set state functions instead of setState. |
| (WebCore::HTMLTreeBuilder::processEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto. |
| |
| * html/parser/InputStreamPreprocessor.h: Marked the constructor explicit, |
| and mde it take a reference rather than a pointer. |
| |
| * html/parser/TextDocumentParser.cpp: |
| (WebCore::TextDocumentParser::insertFakePreElement): Updated to use the |
| new set state functions instead of setState. |
| |
| * html/parser/XSSAuditor.cpp: |
| (WebCore::XSSAuditor::decodedSnippetForName): Updated for name change. |
| (WebCore::XSSAuditor::decodedSnippetForAttribute): Updated for changes to |
| attribute range tracking. |
| (WebCore::XSSAuditor::decodedSnippetForJavaScript): Updated for name change. |
| (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Deleted. |
| |
| * html/parser/XSSAuditor.h: Deleted isSafeToSendToAnotherThread. |
| |
| * html/track/WebVTTTokenizer.cpp: Removed the local state variable from |
| WEBVTT_ADVANCE_TO; there is no need for it. |
| (WebCore::WebVTTTokenizer::WebVTTTokenizer): Use a reference instead of a |
| pointer for the preprocessor. |
| (WebCore::WebVTTTokenizer::nextToken): Ditto. Also removed the state local |
| variable and the switch statement, replacing with labels instead since we |
| go between states with goto. |
| |
| * platform/text/SegmentedString.cpp: |
| (WebCore::SegmentedString::operator=): Changed the return type to be non-const |
| to match normal C++ design rules. |
| (WebCore::SegmentedString::pushBack): Renamed from prepend since this is not a |
| general purpose prepend function. Also fixed assertions to not use the strangely |
| named "escaped" function, since we are deleting it. |
| (WebCore::SegmentedString::append): Ditto. |
| (WebCore::SegmentedString::advancePastNonNewlines): Renamed from advance, since |
| the function only works for non-newlines. |
| (WebCore::SegmentedString::currentColumn): Got rid of unneeded local variable. |
| (WebCore::SegmentedString::advancePastSlowCase): Moved here from header and |
| renamed. This function now consumes the characters if they match. |
| |
| * platform/text/SegmentedString.h: Made the changes mentioned above. |
| (WebCore::SegmentedString::excludeLineNumbers): Deleted. |
| (WebCore::SegmentedString::advancePast): Renamed from lookAhead. Also changed |
| behavior so the characters are consumed. |
| (WebCore::SegmentedString::advancePastIgnoringCase): Ditto. |
| (WebCore::SegmentedString::advanceAndASSERT): Deleted. |
| (WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Deleted. |
| (WebCore::SegmentedString::escaped): Deleted. |
| |
| * xml/parser/CharacterReferenceParserInlines.h: |
| (WebCore::isHexDigit): Deleted. |
| (WebCore::unconsumeCharacters): Updated for name change. |
| (WebCore::consumeCharacterReference): Removed unneeded name for local enum, |
| renamed local variable "cc" to character. Changed code to use helpers like |
| isASCIIAlpha and toASCIIHexValue. Removed unneeded use of advanceAndASSERT, |
| since we don't really need to assert the character we just extracted. |
| |
| * xml/parser/MarkupTokenizerInlines.h: |
| (WebCore::isTokenizerWhitespace): Renamed argument to character. |
| (WebCore::advanceStringAndASSERTIgnoringCase): Deleted. |
| (WebCore::advanceStringAndASSERT): Deleted. |
| Changed all the macro implementations so they set m_state only when |
| returning from the function and just use goto inside the state machine. |
| |
| 2015-01-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| Build fix after r178151 |
| |
| * contentextensions/DFA.cpp: |
| (WebCore::ContentExtensions::DFA::actions): |
| |
| 2015-01-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| [WK2] Start a prototype for declarative site specific extensions |
| https://bugs.webkit.org/show_bug.cgi?id=140160 |
| |
| Reviewed by Andreas Kling. |
| |
| Currently, clients have various ways to execute custom code for certain URLs. |
| Each of those mechanism implies messaging the UIProcess, executing some code |
| calling back to the WebProcess, then actually load the resource. |
| All this back and forth introduces delays before we actually load resources. |
| |
| Since the set of actions is done per site is actually simple and limited, |
| it may be possible to do everything in WebCore and shortcut the defered loading. |
| |
| This patch provides the starting point for this idea. The "rules" (currently just blocking) |
| are be passed to WebCore in a JSON format. In WebCore, we create a state |
| machine to match the rules and we execute the action when the state machine tells |
| us to. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * contentextensions/ContentExtensionRule.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::ContentExtensionRule::ContentExtensionRule): |
| * contentextensions/ContentExtensionRule.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::ContentExtensionRule::trigger): |
| (WebCore::ContentExtensions::ContentExtensionRule::action): |
| * contentextensions/ContentExtensionsBackend.cpp: Added. |
| (WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): |
| (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): |
| (WebCore::ContentExtensions::ContentExtensionsBackend::removeRuleList): |
| (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL): |
| * contentextensions/ContentExtensionsBackend.h: Added. |
| * contentextensions/ContentExtensionsInterface.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::shouldBlockURL): |
| * contentextensions/ContentExtensionsInterface.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| * contentextensions/ContentExtensionsManager.cpp: Added. |
| (WebCore::ContentExtensions::ExtensionsManager::loadTrigger): |
| (WebCore::ContentExtensions::ExtensionsManager::loadAction): |
| (WebCore::ContentExtensions::ExtensionsManager::loadRule): |
| (WebCore::ContentExtensions::ExtensionsManager::loadExtension): |
| * contentextensions/ContentExtensionsManager.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| * contentextensions/DFA.cpp: Added. |
| (WebCore::ContentExtensions::DFA::DFA): |
| (WebCore::ContentExtensions::DFA::operator=): |
| (WebCore::ContentExtensions::DFA::nextState): |
| (WebCore::ContentExtensions::DFA::actions): |
| (WebCore::ContentExtensions::DFA::debugPrintDot): |
| * contentextensions/DFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::DFA::root): |
| * contentextensions/DFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| * contentextensions/NFA.cpp: Added. |
| (WebCore::ContentExtensions::NFA::NFA): |
| (WebCore::ContentExtensions::NFA::createNode): |
| (WebCore::ContentExtensions::NFA::addTransition): |
| (WebCore::ContentExtensions::NFA::addEpsilonTransition): |
| (WebCore::ContentExtensions::NFA::setFinal): |
| (WebCore::ContentExtensions::NFA::debugPrintDot): |
| * contentextensions/NFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::NFA::root): |
| * contentextensions/NFANode.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| (WebCore::ContentExtensions::NFANode::NFANode): |
| * contentextensions/NFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| * contentextensions/NFAToDFA.cpp: Added. |
| (WebCore::ContentExtensions::epsilonClosure): |
| (WebCore::ContentExtensions::setTransitionsExcludingEpsilon): |
| (WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet): |
| (WebCore::ContentExtensions::HashableNodeIdSet::operator=): |
| (WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue): |
| (WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue): |
| (WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet): |
| (WebCore::ContentExtensions::HashableNodeIdSetHash::hash): |
| (WebCore::ContentExtensions::HashableNodeIdSetHash::equal): |
| (WebCore::ContentExtensions::addDFAState): |
| (WebCore::ContentExtensions::NFAToDFA::convert): |
| * contentextensions/NFAToDFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h. |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestResource): |
| |
| 2015-01-08 Benjamin Poulain <bpoulain@apple.com> |
| |
| Make better use of the stack when compiling selectors |
| https://bugs.webkit.org/show_bug.cgi?id=139615 |
| rdar://problem/19226482 |
| |
| Reviewed by Andreas Kling. |
| |
| Selectors used to be only on one level. To avoid memory allocations, we were allocating |
| a lot of stack upfront and we were using that to create all the intermediary objects |
| used by the code generator. |
| |
| Then, selectors became multilevel. We now support arbitrary nesting of selector lists. |
| |
| We did not adapt any of the structures and the creation of the intermediary object is recursive. |
| This resulted in over 1k of stack allocation at every level, quickly accumulating to unreasonable |
| numbers. |
| |
| This patch fixes this problem by making each stack frame of the recursion much lighter. |
| We no longer allocate the big objects (SelectorFragment and SelectorFragmentList) on the stack. |
| |
| In each case where we would have used a Stack allocated SelectorFragment or SelectorFragmentList, |
| we now allocate the memory directly into the target vector. |
| |
| In the cases where the object should not be on the vector, we simply remove it. Those are uncommon |
| cases so that should not be too bad. |
| |
| Tests: fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html |
| fast/selectors/not-selector-list-ending-with-never-matching-selectors.html |
| fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors.html |
| fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| SelectorFragmentList is also used for nested lists. Keeping 32 SelectorFragment preallocated |
| for each nested list is way too big. |
| |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| There are three cases of nested selector lists supported by the compiler: :matches(), :not() |
| and :nth-child(). For those 3 cases, use the target vector memory instead of the stack. |
| |
| (WebCore::SelectorCompiler::constructFragmentsInternal): |
| (WebCore::SelectorCompiler::constructFragments): |
| Make sure we do not modify the input list on failure since it may be reused. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass): |
| I changed the handling of :nth-child(An+B of selectorList) to not generate empty filters. |
| With that we can generalize the assertion to generateElementMatchesSelectorList() and simplify |
| the flow of selector lists a bit. |
| |
| 2015-01-08 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-font-feature-settings' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140267 |
| |
| Reviewed by Andreas Kling. |
| |
| Move '-webkit-font-feature-settings' CSS property to the new |
| StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertFontFeatureSettings): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialWebkitFontFeatureSettings): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitFontFeatureSettings): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * platform/graphics/FontDescription.cpp: |
| (WebCore::FontDescription::makeNormalFeatureSettings): Deleted. |
| * platform/graphics/FontDescription.h: |
| |
| 2015-01-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Build fix after r178133. |
| |
| * platform/graphics/FontCache.h: Correct declaration of fontDataFromDescriptionAndLogFont |
| * platform/graphics/SimpleFontData.h: We still need 'platformDestroy' |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformDestroy): Add stub back to prevent build break. |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::FontCache::fontDataFromDescriptionAndLogFont): Correct signature. |
| (WebCore::FontCache::lastResortFallbackFont): Correct '::' syntax. |
| (WebCore::FontCache:lastResortFallbackFont): Deleted. |
| |
| 2015-01-08 Antti Koivisto <antti@apple.com> |
| |
| Remove the concept of "retained" font |
| https://bugs.webkit.org/show_bug.cgi?id=140246 |
| |
| Reviewed by Darin Adler. |
| |
| FontCache currently maintains a secondary refcount for SimpleFontDatas. This is used to decide whether |
| a font is considered inactive and is eligible for purging. This is confusing and complex. |
| |
| The new scheme in this patch considers fonts in font cache inactive if their refcount is 1 (they are |
| owned by the cache only). This simplifies the code and gives similar behavior. Types that "retained" the |
| font this way always also ref it. |
| |
| We also avoid unnecessarily removing fonts that wouldn't get deleted from the cache. |
| |
| Also modernized some names and code. |
| |
| * WebCore.exp.in: |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::getFontData): |
| (WebCore::CSSFontSelector::getFallbackFontData): |
| * platform/graphics/FontCache.cpp: |
| (WebCore::fontPlatformDataCache): |
| (WebCore::FontCache::getCachedFontPlatformData): |
| (WebCore::cachedFonts): |
| (WebCore::FontCache::fontForFamily): |
| (WebCore::FontCache::fontDataForPlatformData): |
| (WebCore::FontCache::purgeInactiveFontDataIfNeeded): |
| (WebCore::FontCache::purgeInactiveFontData): |
| (WebCore::FontCache::fontDataCount): |
| (WebCore::FontCache::inactiveFontDataCount): |
| (WebCore::FontCache::fontForFamilyAtIndex): |
| (WebCore::FontCache::invalidate): |
| (WebCore::FontCache::getCachedFontData): Deleted. |
| (WebCore::FontCache::getNonRetainedLastResortFallbackFont): Deleted. |
| (WebCore::FontCache::releaseFontData): Deleted. |
| (WebCore::FontCache::getFontData): Deleted. |
| * platform/graphics/FontCache.h: |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::FontGlyphs): |
| (WebCore::FontGlyphs::~FontGlyphs): |
| (WebCore::FontGlyphs::realizeFontDataAt): |
| (WebCore::FontGlyphs::releaseFontData): Deleted. |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::~FontGlyphs): Deleted. |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::~SimpleFontData): |
| * platform/graphics/SimpleFontData.h: |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: |
| (WebCore::SimpleFontData::platformDestroy): Deleted. |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::systemFallbackForCharacters): |
| (WebCore::FontCache::similarFontPlatformData): |
| (WebCore::FontCache::lastResortFallbackFont): |
| (WebCore::FontCache::getLastResortFallbackFont): Deleted. |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformCreateScaledFontData): |
| (WebCore::SimpleFontData::platformDestroy): Deleted. |
| |
| 2015-01-08 Anders Carlsson <andersca@apple.com> |
| |
| Remove AbstractSQLTransaction |
| https://bugs.webkit.org/show_bug.cgi?id=140265 |
| |
| Reviewed by Tim Horton. |
| |
| * Modules/webdatabase/AbstractSQLTransaction.h: Removed. |
| * Modules/webdatabase/DatabaseBackend.cpp: |
| * Modules/webdatabase/SQLTransaction.cpp: |
| (WebCore::SQLTransaction::~SQLTransaction): |
| * Modules/webdatabase/SQLTransaction.h: |
| * Modules/webdatabase/SQLTransactionBackend.cpp: |
| (WebCore::SQLTransactionBackend::create): |
| (WebCore::SQLTransactionBackend::SQLTransactionBackend): |
| * Modules/webdatabase/SQLTransactionBackend.h: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r178124. |
| |
| Remove uses of the removed applicationChromeMode method. |
| |
| * rendering/RenderThemeWin.cpp: |
| (WebCore::RenderThemeWin::getThemeData): |
| (WebCore::RenderThemeWin::paintMenuList): |
| |
| 2015-01-08 Anders Carlsson <andersca@apple.com> |
| |
| Remove AbstractSQLTransactionBackend |
| https://bugs.webkit.org/show_bug.cgi?id=140227 |
| |
| Reviewed by Darin Adler. |
| |
| * Modules/webdatabase/AbstractSQLTransaction.h: |
| * Modules/webdatabase/AbstractSQLTransactionBackend.h: Removed. |
| * Modules/webdatabase/SQLStatementBackend.cpp: |
| * Modules/webdatabase/SQLTransaction.cpp: |
| (WebCore::SQLTransaction::setBackend): |
| * Modules/webdatabase/SQLTransaction.h: |
| * Modules/webdatabase/SQLTransactionBackend.h: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-08 Darin Adler <darin@apple.com> |
| |
| ASSERTION FAILED: character != kEndOfFileMarker in WebCore::HTMLTokenizer::bufferCharacter |
| https://bugs.webkit.org/show_bug.cgi?id=140179 |
| |
| Reviewed by Anders Carlsson. |
| |
| Test: fast/parser/numeric-entities.html |
| |
| * html/parser/HTMLEntityParser.cpp: |
| (WebCore::HTMLEntityParser::legalEntityFor): Merged adjustEntity logic in here. |
| Since the type UChar32 is a signed integer, need to check for <= 0, not just 0. |
| This <= change alone would have fixed the bug. |
| |
| * xml/parser/CharacterReferenceParserInlines.h: |
| (WebCore::consumeCharacterReference): Added overflow checking when parsing hex |
| and decimal character references. This change alone would also have fixed the |
| bug, but in addition it makes overflow cases reliably generate replacement |
| characters rather than ignoring the overflow and producing seemingly random |
| characters. Test cases cover the original reported bug and other overflow cases. |
| |
| 2015-01-08 Dean Jackson <dino@apple.com> |
| |
| Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page |
| https://bugs.webkit.org/show_bug.cgi?id=140232 |
| <rdar://problem/19371010> |
| |
| Reviewed by Anders Carlsson. |
| |
| We need to support default button styling even when application chrome |
| mode is not enabled (it was a bit weird that this was exposed as a Setting |
| anyway). We should render as a default button whenever content sets |
| the proprietary -webkit-appearance. This means we don't need the |
| applicationChromeMode setting. |
| |
| For normal Web content there should be no change in behavior. |
| |
| * page/Settings.in: Remove applicationChromeMode |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::isDefault): Don't test for the setting. |
| |
| 2015-01-08 Chris Dumez <cdumez@apple.com> |
| |
| Unfriend StyleResolver and StyleBuilderCustom |
| https://bugs.webkit.org/show_bug.cgi?id=140247 |
| |
| Reviewed by Darin Adler. |
| |
| Stop marking StyleBuilderCustom as a friend of StyleResolver by |
| refactoring the code a bit. |
| |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueFont): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyFont): |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::documentSettings): |
| |
| 2015-01-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed |
| https://bugs.webkit.org/show_bug.cgi?id=140244 |
| |
| Reviewed by Martin Robinson. |
| |
| CompositingCoordinator::setVisibleContentsRect already knows whether the |
| rect has been changed. Therefore, there is no need to call |
| FrameView::setFixedVisibleContentRect every time. |
| |
| No new tests, covered by existing tests. |
| |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: |
| (WebCore::CompositingCoordinator::setVisibleContentsRect): |
| |
| 2015-01-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24 layout tests crashes/failures |
| https://bugs.webkit.org/show_bug.cgi?id=139905 |
| |
| Reviewed by Antti Koivisto. |
| |
| * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Fallback to |
| primary font data for missing glyphs. |
| |
| 2015-01-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Borders inside box-decoration-break: clone after a br do not contribute to line breaking |
| https://bugs.webkit.org/show_bug.cgi?id=140238 |
| |
| Reviewed by Darin Adler. |
| |
| When we iterate through renderers for line breaking, we determine which of the renderers |
| is responsible for inserting its parent's border width. However, this determination didn't |
| take a <br> and box-decoration-break: clone into account. |
| |
| Test: fast/box-decoration-break/box-decoration-break-clone-line-break.html |
| |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::shouldAddBorderPaddingMargin): |
| (WebCore::previousInFlowSibling): Clean up to use a do / while block. |
| |
| 2015-01-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Seperate updateBackingStore from flushCompositingState. |
| https://bugs.webkit.org/show_bug.cgi?id=136887 |
| |
| Reviewed by Žan Doberšek. |
| |
| When LayerTreeHostGtk flushes pending layer changes, it updates backing |
| stores using same loop. This makes requesting layer flush during |
| flushing in certain condition which causes a assertion failure. |
| |
| Animated GIF's animations are drived by the painting cycle, |
| GraphicsLayerTextureMapper::updateBackingStoreIfNeeded would request |
| scheduleLayerFlush during flushing layers, if animated GIF needs to |
| advance its frame immediately. It doesn't mean the advanced frame should |
| be painted in this painting phase. This frame advancing happens after |
| painting a current frame to the backing store. It means the advanced |
| frame should be painted ASAP without using its frame timer. |
| |
| This patch seperates updateBackingStore from flushCompositingState |
| to avoid above behavior. |
| |
| No new tests. The bug is timing-dependent. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly): |
| (WebCore::toGraphicsLayerTextureMapper): |
| (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| |
| 2015-01-07 Chris Dumez <cdumez@apple.com> |
| |
| Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140219 |
| |
| Reviewed by Darin Adler. |
| |
| Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / |
| -webkit-touch-callout to the new StyleBuilder. |
| |
| * css/CSSGradientValue.cpp: |
| (WebCore::CSSGradientValue::gradientWithStylesResolved): |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSStyleSelector.cpp: |
| (WebCore::StyleResolver::applySVGProperty): |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertTouchCallout): |
| (WebCore::StyleBuilderConverter::convertTapHighlightColor): |
| (WebCore::StyleBuilderConverter::convertOverflowScrolling): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement): |
| (WebCore::StyleResolver::colorFromPrimitiveValue): |
| (WebCore::StyleResolver::createFilterOperations): |
| * css/StyleResolver.h: |
| |
| 2015-01-07 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: Editing Inline Styles Not Working |
| https://bugs.webkit.org/show_bug.cgi?id=140239 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Fix a regression introduced in r178060, where we no longer set |
| m_ordinal in InspectorCSSId. The original refactoring should have |
| passed m_ordinal. Fix this and introduce a sensible default value. |
| |
| * inspector/InspectorStyleSheet.h: |
| (WebCore::InspectorCSSId::InspectorCSSId): |
| |
| 2015-01-07 Chris Dumez <cdumez@apple.com> |
| |
| Assert should never be reached hit in WebCore::CSSCalcPrimitiveValue::doubleValue |
| https://bugs.webkit.org/show_bug.cgi?id=140180 |
| |
| Reviewed by Darin Adler. |
| |
| Add support for using floating-point angles with 'turn' unit, as per the |
| specification: |
| http://dev.w3.org/csswg/css-values-3/#angles |
| |
| Previously, we only supported integer values for the 'turn' unit even |
| though other angle units (e.g. 'deg') handle floating-point values just |
| fine. Trying to use a floating-point value with 'turn' unit would cause |
| us to hit an assertion in CSSCalcPrimitiveValue::doubleValue(). |
| |
| Also fix the support for angles in calc(). |
| CSSPrimitiveValue::computeDegrees() was accessing m_primitiveUnitType |
| member directly, which would be incorrect in the case of calculated |
| values. This patch switches to calling CSSPrimitiveValue::primitiveType() |
| which handles calculated values. |
| |
| Test: fast/css/turn-angle-double.html |
| |
| * css/CSSCalculationValue.cpp: |
| (WebCore::hasDoubleValue): |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::computeDegrees): |
| |
| 2015-01-07 Chris Dumez <cdumez@apple.com> |
| |
| Move 'font' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140181 |
| |
| Reviewed by Darin Adler. |
| |
| Move 'font' CSS property to the new StyleBuilder. |
| |
| 2015-01-07 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-dashboard-region' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140204 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-dashboard-region' CSS property to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::convertToIntLength): |
| (WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::convertToIntLength): Deleted. |
| |
| 2015-01-07 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| The ASCII decoding for non ASCII character is incorrect if this character comes after going through the fast decoding code path and before the end of the text by less than a machine word size of characters. |
| https://bugs.webkit.org/show_bug.cgi?id=140173. |
| |
| Reviewed by Darin Adler. |
| |
| Tests: fast/encoding/char-after-fast-path-ascii-decoding.html. |
| |
| * platform/text/TextCodecLatin1.cpp: |
| (WebCore::TextCodecLatin1::decode): |
| This function has a bug when it goes through the fast decoding code path. After copying |
| one or more all ASCII MachineWords from source to the destination, the following byte |
| is copied as is from the source to the destination even if it is non ASCII byte. This |
| causes the decoded bytes to be incorrect. The fix is to ensure that the current byte |
| is still ASCII after exiting the fast decoding code path. |
| |
| 2015-01-07 Shivakumar JM <shiva.jm@samsung.com> |
| |
| HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument. |
| https://bugs.webkit.org/show_bug.cgi?id=139179 |
| |
| Reviewed by Darin Adler. |
| |
| HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument as per specification |
| http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element. |
| Also this matches the behavior of Chrome and FireFox. |
| |
| Tests: fast/dom/HTMLSelectElement/add.html |
| fast/dom/HTMLSelectElement/options-collection-add.html |
| |
| * bindings/js/JSHTMLOptionsCollectionCustom.cpp: |
| (WebCore::JSHTMLOptionsCollection::add): Deleted. |
| * html/HTMLOptionsCollection.cpp: |
| (WebCore::HTMLOptionsCollection::add): |
| * html/HTMLOptionsCollection.h: |
| * html/HTMLOptionsCollection.idl: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::add): |
| * html/HTMLSelectElement.h: |
| * html/HTMLSelectElement.idl: |
| |
| 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK][ThreadedCompositor] Add support for threaded compositor. |
| https://bugs.webkit.org/show_bug.cgi?id=118265 |
| |
| Reviewed by Martin Robinson. |
| |
| * PlatformGTK.cmake: |
| Adds CoodinatedGraphics and threaded compositor related classes to |
| support threaded compositor |
| |
| * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: |
| * platform/graphics/texmap/coordinated/CoordinatedTile.h: |
| This class should be guarded by COORDINATED_GRAPHICS instead of |
| TILED_BACKING_STORE |
| |
| 2015-01-07 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| |
| Reviewed by David Kilzer. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/GraphicsServicesSPI.h: Added. |
| * platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque. |
| * platform/spi/cocoa/ServersSPI.h: Added. |
| 2015-01-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178068. |
| https://bugs.webkit.org/show_bug.cgi?id=140235 |
| |
| Breaks the iOS build (Requested by enrica on #webkit). |
| |
| Reverted changeset: |
| |
| "[iOS] Make WebKit2 build with public iOS SDK and more build |
| fixes for DRT" |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| http://trac.webkit.org/changeset/178068 |
| |
| 2015-01-07 Enrica Casucci <enrica@apple.com> |
| |
| Can't copy URL for images and paste it into plain text fields. |
| https://bugs.webkit.org/show_bug.cgi?id=140230 |
| rdar://problem/18736680 |
| |
| Reviewed by Dan Bernstein. |
| |
| The incorrect objective C type was being written to the pasteboard. |
| |
| * platform/ios/PlatformPasteboardIOS.mm: |
| (WebCore::PlatformPasteboard::write): |
| |
| 2015-01-07 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| * Modules/webdatabase/SQLStatementBackend.cpp: |
| |
| 2015-01-07 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| |
| Reviewed by David Kilzer. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/GraphicsServicesSPI.h: Added. |
| * platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque. |
| * platform/spi/cocoa/ServersSPI.h: Added. |
| 2015-01-07 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| ASSERTION FAILED: !lengthOrPercentageValue.isUndefined() in WebCore::ApplyPropertyTextIndent::applyValue |
| https://bugs.webkit.org/show_bug.cgi?id=130341 |
| |
| Reviewed by Chris Dumez. |
| |
| Replace ASSERT() with 'if' statement because 'ex' unit length in <title> is not defined. |
| |
| Test: fast/css3-text/css3-text-indent/text-indent-crash-in-title.html |
| |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueTextIndent): Change ASSERT() to 'if' statement. |
| |
| 2015-01-07 Anders Carlsson <andersca@apple.com> |
| |
| Remove AbstractSQLStatement |
| https://bugs.webkit.org/show_bug.cgi?id=140223 |
| |
| Reviewed by Sam Weinig. |
| |
| * Modules/webdatabase/AbstractSQLStatement.h: Removed. |
| * Modules/webdatabase/AbstractSQLTransactionBackend.h: |
| * Modules/webdatabase/SQLStatement.h: |
| * Modules/webdatabase/SQLStatementBackend.cpp: |
| (WebCore::SQLStatementBackend::create): |
| (WebCore::SQLStatementBackend::SQLStatementBackend): |
| (WebCore::SQLStatementBackend::frontend): |
| * Modules/webdatabase/SQLStatementBackend.h: |
| * Modules/webdatabase/SQLTransaction.cpp: |
| (WebCore::SQLTransaction::deliverStatementCallback): |
| * Modules/webdatabase/SQLTransactionBackend.cpp: |
| (WebCore::SQLTransactionBackend::currentStatement): |
| (WebCore::SQLTransactionBackend::executeSQL): |
| * Modules/webdatabase/SQLTransactionBackend.h: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-07 Timothy Horton <timothy_horton@apple.com> |
| |
| Manually-animated TextIndicator fades out blue selection if you click inside it |
| https://bugs.webkit.org/show_bug.cgi?id=140224 |
| <rdar://problem/19317526> |
| |
| Reviewed by Beth Dakin. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView hasCompletedAnimation]): |
| (WebCore::TextIndicatorWindow::~TextIndicatorWindow): |
| Avoid fading out the TextIndicator if the animation hadn't completed. |
| Also, use wantsManualAnimation instead of duplicating the switch here. |
| |
| 2015-01-07 Anders Carlsson <andersca@apple.com> |
| |
| Remove AbstractSQLStatementBackend |
| https://bugs.webkit.org/show_bug.cgi?id=140222 |
| |
| Reviewed by Sam Weinig. |
| |
| We're unlikely to fully take advantage of the SQL implementation being abstract anyway, so let's just simplify the code instead. |
| |
| * Modules/webdatabase/AbstractSQLStatement.h: |
| * Modules/webdatabase/AbstractSQLStatementBackend.h: Removed. |
| * Modules/webdatabase/SQLStatement.cpp: |
| (WebCore::SQLStatement::setBackend): |
| * Modules/webdatabase/SQLStatement.h: |
| * Modules/webdatabase/SQLStatementBackend.cpp: |
| (WebCore::SQLStatementBackend::~SQLStatementBackend): |
| * Modules/webdatabase/SQLStatementBackend.h: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2015-01-07 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects |
| https://bugs.webkit.org/show_bug.cgi?id=140053 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code |
| related to Web Inspector. It also converts many uses of RefPtr to Ref where |
| references are always non-null. These two refactorings have been combined since |
| they tend to require similar changes to the code. |
| |
| No new tests, no behavior changed. |
| |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabase): |
| * dom/Document.cpp: |
| (WebCore::Document::logExceptionToConsole): |
| (WebCore::Document::addMessage): |
| * dom/Document.h: |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::reportException): |
| * dom/ScriptExecutionContext.h: |
| * html/parser/XSSAuditorDelegate.cpp: |
| (WebCore::XSSAuditorDelegate::generateViolationReport): |
| * inspector/CommandLineAPIHost.cpp: |
| (WebCore::CommandLineAPIHost::inspectImpl): |
| * inspector/CommandLineAPIHost.h: |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests): |
| (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache): |
| (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources): |
| (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource): |
| * inspector/InspectorApplicationCacheAgent.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::getMatchedStylesForNode): |
| (WebCore::InspectorCSSAgent::getComputedStyleForNode): |
| (WebCore::InspectorCSSAgent::setStyleText): |
| (WebCore::InspectorCSSAgent::setPropertyText): |
| (WebCore::InspectorCSSAgent::toggleProperty): |
| (WebCore::InspectorCSSAgent::setRuleSelector): |
| (WebCore::InspectorCSSAgent::getSupportedCSSProperties): |
| (WebCore::InspectorCSSAgent::forcePseudoState): |
| (WebCore::InspectorCSSAgent::getNamedFlowCollection): |
| (WebCore::InspectorCSSAgent::detectOrigin): |
| (WebCore::InspectorCSSAgent::buildObjectForRule): |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle): |
| (WebCore::InspectorCSSAgent::buildArrayForRegions): |
| (WebCore::InspectorCSSAgent::buildObjectForNamedFlow): |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorConsoleInstrumentation.h: |
| (WebCore::InspectorInstrumentation::addMessageToConsole): |
| (WebCore::InspectorInstrumentation::consoleCount): |
| (WebCore::InspectorInstrumentation::stopConsoleTiming): |
| (WebCore::InspectorInstrumentation::consoleTimeStamp): |
| (WebCore::InspectorInstrumentation::stopProfiling): |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::buildObjectForHighlightedNode): |
| (WebCore::InspectorController::executionStopwatch): |
| * inspector/InspectorController.h: |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::parseColor): |
| (WebCore::parseConfigColor): |
| (WebCore::InspectorDOMAgent::pushNodePathToFrontend): |
| (WebCore::InspectorDOMAgent::performSearch): |
| (WebCore::InspectorDOMAgent::setInspectModeEnabled): |
| (WebCore::InspectorDOMAgent::highlightRect): |
| (WebCore::InspectorDOMAgent::highlightQuad): |
| (WebCore::InspectorDOMAgent::innerHighlightQuad): |
| (WebCore::InspectorDOMAgent::highlightNode): |
| (WebCore::InspectorDOMAgent::highlightFrame): |
| (WebCore::InspectorDOMAgent::buildObjectForNode): |
| (WebCore::InspectorDOMAgent::buildArrayForElementAttributes): |
| (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): |
| (WebCore::InspectorDOMAgent::buildObjectForEventListener): |
| (WebCore::InspectorDOMAgent::processAccessibilityChildren): |
| (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): |
| (WebCore::InspectorDOMAgent::didCommitLoad): |
| (WebCore::InspectorDOMAgent::didInsertDOMNode): |
| (WebCore::InspectorDOMAgent::styleAttributeInvalidated): |
| (WebCore::InspectorDOMAgent::resolveNode): |
| * inspector/InspectorDOMAgent.h: |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr): |
| (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr): |
| (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent): |
| (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded): |
| (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::getDOMStorageItems): |
| (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): |
| (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): |
| (WebCore::InspectorDOMStorageAgent::storageId): |
| (WebCore::InspectorDOMStorageAgent::findStorageArea): |
| * inspector/InspectorDOMStorageAgent.h: |
| * inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are |
| not nullable. |
| (WebCore::InspectorDatabaseAgent::executeSQL): |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorDatabaseInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didOpenDatabase): |
| * inspector/InspectorDatabaseResource.cpp: |
| (WebCore::InspectorDatabaseResource::create): |
| (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): |
| (WebCore::InspectorDatabaseResource::bind): |
| * inspector/InspectorDatabaseResource.h: |
| (WebCore::InspectorDatabaseResource::setDatabase): |
| * inspector/InspectorFrontendHost.h: |
| (WebCore::InspectorFrontendHost::create): |
| * inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are |
| not nullable. |
| (WebCore::InspectorIndexedDBAgent::requestDatabaseNames): |
| (WebCore::InspectorIndexedDBAgent::requestDatabase): |
| (WebCore::InspectorIndexedDBAgent::requestData): |
| (WebCore::ClearObjectStoreListener::create): |
| (WebCore::ClearObjectStoreListener::ClearObjectStoreListener): |
| (WebCore::ClearObjectStore::create): |
| (WebCore::ClearObjectStore::ClearObjectStore): |
| (WebCore::InspectorIndexedDBAgent::clearObjectStore): |
| * inspector/InspectorIndexedDBAgent.h: |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::willLoadXHRImpl): |
| (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): |
| (WebCore::InspectorInstrumentation::consoleCountImpl): |
| (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::consoleTimeStampImpl): |
| (WebCore::InspectorInstrumentation::stopProfilingImpl): |
| (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): |
| (WebCore::InspectorInstrumentation::sessionCreatedImpl): |
| (WebCore::InspectorInstrumentation::sessionLoadedImpl): |
| (WebCore::InspectorInstrumentation::sessionModifiedImpl): |
| (WebCore::InspectorInstrumentation::segmentCreatedImpl): |
| (WebCore::InspectorInstrumentation::segmentCompletedImpl): |
| (WebCore::InspectorInstrumentation::segmentLoadedImpl): |
| (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted. |
| (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted. |
| (WebCore::InspectorInstrumentation::startProfilingImpl): Deleted. |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted. |
| (WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted. |
| (WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted. |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::willLoadXHR): |
| (WebCore::InspectorInstrumentation::sessionCreated): |
| (WebCore::InspectorInstrumentation::sessionLoaded): |
| (WebCore::InspectorInstrumentation::sessionModified): |
| (WebCore::InspectorInstrumentation::segmentCreated): |
| (WebCore::InspectorInstrumentation::segmentCompleted): |
| (WebCore::InspectorInstrumentation::segmentLoaded): |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted. |
| (WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted. |
| * inspector/InspectorLayerTreeAgent.cpp: |
| (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): |
| (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect): |
| (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForPoint): |
| (WebCore::buildObjectForRect): |
| (WebCore::buildArrayForQuad): |
| (WebCore::buildObjectForHighlight): |
| (WebCore::buildObjectForRegionHighlight): |
| (WebCore::buildObjectForCSSRegionsHighlight): |
| (WebCore::buildObjectForSize): |
| (WebCore::buildObjectForCSSRegionContentClip): |
| (WebCore::InspectorOverlay::drawPaintRects): |
| (WebCore::buildObjectForRendererFragments): |
| (WebCore::buildObjectForShapeOutside): |
| (WebCore::buildObjectForElementInfo): |
| (WebCore::InspectorOverlay::buildObjectForHighlightedNode): |
| (WebCore::InspectorOverlay::reset): |
| (WebCore::InspectorOverlay::evaluateInOverlay): |
| * inspector/InspectorOverlay.h: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::createXHRTextDecoder): |
| (WebCore::buildObjectForCookie): |
| (WebCore::buildArrayForCookies): |
| (WebCore::buildObjectForSearchResult): |
| (WebCore::InspectorPageAgent::buildObjectForFrame): |
| (WebCore::InspectorPageAgent::buildObjectForFrameTree): |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.cpp: |
| (WebCore::buildInspectorObjectForPosition): |
| (WebCore::buildInspectorObjectForInput): |
| (WebCore::buildInspectorObjectForSession): |
| (WebCore::buildInspectorObjectForSegment): |
| (WebCore::InspectorReplayAgent::replayToPosition): |
| (WebCore::InspectorReplayAgent::getSessionData): |
| (WebCore::InspectorReplayAgent::getSegmentData): |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForHeaders): |
| (WebCore::buildObjectForTiming): |
| (WebCore::buildObjectForResourceRequest): |
| (WebCore::buildObjectForResourceResponse): |
| (WebCore::buildObjectForCachedResource): |
| (WebCore::InspectorResourceAgent::willLoadXHR): |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame): |
| (WebCore::InspectorResourceAgent::didSendWebSocketFrame): |
| (WebCore::InspectorResourceAgent::setExtraHTTPHeaders): |
| (WebCore::InspectorResourceAgent::loadResource): |
| (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted. |
| (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted. |
| (WebCore::InspectorResourceAgent::disable): Deleted. |
| (WebCore::InspectorResourceAgent::setCacheDisabled): Deleted. |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorStyleSheet.cpp: |
| (ParsedStyleSheet::ruleSourceDataAt): |
| (WebCore::buildSourceRangeObject): |
| (WebCore::buildMediaObject): |
| (WebCore::asCSSRuleList): |
| (WebCore::fillMediaListChain): |
| (WebCore::InspectorStyle::create): |
| (WebCore::InspectorStyle::InspectorStyle): |
| (WebCore::InspectorStyle::buildObjectForStyle): |
| (WebCore::InspectorStyle::buildArrayForComputedStyle): |
| (WebCore::InspectorStyle::styleWithProperties): |
| (WebCore::InspectorStyle::extractSourceData): |
| (WebCore::InspectorStyleSheet::create): |
| (WebCore::InspectorStyleSheet::InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): |
| (WebCore::buildObjectForSelectorHelper): |
| (WebCore::selectorsFromSource): |
| (WebCore::InspectorStyleSheet::buildObjectForSelector): |
| (WebCore::InspectorStyleSheet::buildObjectForSelectorList): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::buildObjectForStyle): |
| (WebCore::InspectorStyleSheet::toggleProperty): |
| (WebCore::InspectorStyleSheet::inspectorStyleForId): |
| (WebCore::InspectorStyleSheet::rememberInspectorStyle): |
| (WebCore::InspectorStyleSheet::buildArrayForRuleList): |
| (WebCore::InspectorStyleSheet::collectFlatRules): |
| (WebCore::InspectorStyleSheetForInlineStyle::create): |
| (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
| (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId): |
| * inspector/InspectorStyleSheet.h: |
| (WebCore::InspectorCSSId::InspectorCSSId): |
| (WebCore::InspectorCSSId::asProtocolValue): |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::startFromConsole): |
| (WebCore::InspectorTimelineAgent::stopFromConsole): |
| (WebCore::InspectorTimelineAgent::addRecordToTimeline): |
| (WebCore::InspectorTimelineAgent::didCompleteRecordEntry): |
| (WebCore::InspectorTimelineAgent::appendRecord): |
| (WebCore::InspectorTimelineAgent::sendEvent): |
| (WebCore::InspectorTimelineAgent::createRecordEntry): |
| (WebCore::InspectorTimelineAgent::pushCurrentRecord): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/InspectorWorkerAgent.cpp: |
| (WebCore::InspectorWorkerAgent::sendMessageToWorker): |
| * inspector/InspectorWorkerAgent.h: |
| * inspector/NetworkResourcesData.cpp: |
| (WebCore::XHRReplayData::create): |
| (WebCore::XHRReplayData::XHRReplayData): |
| * inspector/NetworkResourcesData.h: |
| (WebCore::NetworkResourcesData::ResourceData::decoder): |
| (WebCore::NetworkResourcesData::ResourceData::setDecoder): |
| (WebCore::NetworkResourcesData::ResourceData::buffer): |
| (WebCore::NetworkResourcesData::ResourceData::setBuffer): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| (WebCore::TimelineRecordFactory::createBackgroundRecord): |
| (WebCore::TimelineRecordFactory::createGCEventData): |
| (WebCore::TimelineRecordFactory::createFunctionCallData): |
| (WebCore::TimelineRecordFactory::createConsoleProfileData): |
| (WebCore::TimelineRecordFactory::createProbeSampleData): |
| (WebCore::TimelineRecordFactory::createEventDispatchData): |
| (WebCore::TimelineRecordFactory::createGenericTimerData): |
| (WebCore::TimelineRecordFactory::createTimerInstallData): |
| (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): |
| (WebCore::TimelineRecordFactory::createXHRLoadData): |
| (WebCore::TimelineRecordFactory::createEvaluateScriptData): |
| (WebCore::TimelineRecordFactory::createTimeStampData): |
| (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): |
| (WebCore::TimelineRecordFactory::createResourceSendRequestData): |
| (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): |
| (WebCore::TimelineRecordFactory::createResourceFinishData): |
| (WebCore::TimelineRecordFactory::createReceiveResourceData): |
| (WebCore::TimelineRecordFactory::createLayoutData): |
| (WebCore::TimelineRecordFactory::createDecodeImageData): |
| (WebCore::TimelineRecordFactory::createResizeImageData): |
| (WebCore::TimelineRecordFactory::createMarkData): |
| (WebCore::TimelineRecordFactory::createParseHTMLData): |
| (WebCore::TimelineRecordFactory::createAnimationFrameData): |
| (WebCore::createQuad): |
| (WebCore::TimelineRecordFactory::createPaintData): |
| (WebCore::buildInspectorObject): |
| (WebCore::buildProfileInspectorObject): |
| (WebCore::TimelineRecordFactory::appendProfile): |
| * inspector/TimelineRecordFactory.h: |
| (WebCore::TimelineRecordFactory::createWebSocketCreateData): |
| (WebCore::TimelineRecordFactory::createGenericWebSocketData): |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::executionStopwatch): |
| * inspector/WorkerInspectorController.h: |
| * page/PageConsoleClient.cpp: |
| (WebCore::PageConsoleClient::addMessage): |
| (WebCore::PageConsoleClient::messageWithTypeAndLevel): |
| (WebCore::PageConsoleClient::count): |
| (WebCore::PageConsoleClient::profileEnd): |
| (WebCore::PageConsoleClient::timeEnd): |
| (WebCore::PageConsoleClient::timeStamp): |
| * page/PageConsoleClient.h: |
| * replay/ReplayController.cpp: |
| (WebCore::ReplayController::switchSession): |
| (WebCore::ReplayController::createSegment): |
| (WebCore::ReplayController::completeSegment): |
| (WebCore::ReplayController::loadSegmentAtIndex): |
| * replay/ReplayInputCreationMethods.cpp: |
| (WebCore::InitialNavigation::createFromPage): |
| * workers/SharedWorkerGlobalScope.cpp: |
| (WebCore::SharedWorkerGlobalScope::logExceptionToConsole): |
| * workers/SharedWorkerGlobalScope.h: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::logExceptionToConsole): |
| (WebCore::WorkerGlobalScope::addMessage): |
| (WebCore::WorkerGlobalScope::addMessageToWorkerConsole): |
| * workers/WorkerGlobalScope.h: |
| |
| 2015-01-07 Anders Carlsson <andersca@apple.com> |
| |
| Annotate properties that start with "new" so they'll work under ARC |
| https://bugs.webkit.org/show_bug.cgi?id=140215 |
| rdar://problem/19399153 |
| |
| Reviewed by Geoffrey Garen. |
| |
| When encountering attributes that start with "new", also generate an additional getter method declaration that |
| has an NS_RETURNS_NOT_RETAINED annotation so ARC will know not to overrelease the property value. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateHeader): |
| |
| 2015-01-07 Beth Dakin <bdakin@apple.com> |
| |
| Adopt delegate callbacks so that standardQuickLookMenuItem does not obscure the |
| link |
| https://bugs.webkit.org/show_bug.cgi?id=140206 |
| -and corresponding- |
| rdar://problem/19300492 |
| |
| Reviewed by Tim Horton. |
| |
| More delegate methods. |
| * platform/spi/mac/QuickLookMacSPI.h: |
| |
| 2015-01-07 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Shapes] Negative raster shape height leads to crash |
| https://bugs.webkit.org/show_bug.cgi?id=136087 |
| |
| Reviewed by Zoltan Horvath. |
| |
| This patch clamps the size of the margin box rect used to compute the |
| raster shape on a float so the width and height cannot be negative. |
| This makes it safe to use that rect to determine the size of the shape |
| intervals data structure. |
| |
| Test: fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html |
| |
| * rendering/shapes/Shape.cpp: |
| (WebCore::Shape::createRasterShape): Add an assert to be explict about |
| the precondition. |
| * rendering/shapes/ShapeOutsideInfo.cpp: |
| (WebCore::getShapeImageMarginRect): Clamp the marginRect's size. |
| |
| 2015-01-06 Sam Weinig <sam@webkit.org> |
| |
| Modernize the SVGElement and MathMLElement factories |
| https://bugs.webkit.org/show_bug.cgi?id=140163 |
| |
| Reviewed by Dan Bernstein. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::create): |
| * dom/Element.h: |
| Change to return a Ref rather than a RefPtr. |
| |
| * dom/make_names.pl: |
| (printConstructorSignature): |
| (printFactoryCppFile): |
| (printFactoryHeaderFile): |
| Change to unconditionally use Ref as the return type for element factories |
| now that HTML is not special cased. |
| |
| * SVG and MathML element files elided * |
| Changed all SVG and MathML element's create functions to return a Ref. |
| |
| 2015-01-07 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r178028): iOS build broken due to unused parameters in GlyphPage::mayUseMixedFontDataWhenFilling() |
| |
| Fixes the following build errors: |
| |
| WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:61: error: unused parameter 'buffer' [-Werror,-Wunused-parameter] |
| bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData) |
| ^ |
| WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:78: error: unused parameter 'bufferLength' [-Werror,-Wunused-parameter] |
| bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData) |
| ^ |
| WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:114: error: unused parameter 'fontData' [-Werror,-Wunused-parameter] |
| bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData) |
| ^ |
| 3 errors generated. |
| |
| * platform/graphics/mac/GlyphPageMac.cpp: |
| (WebCore::GlyphPage::mayUseMixedFontDataWhenFilling): Add |
| UNUSED_PARAM() as needed. |
| |
| 2015-01-07 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Shapes] Content does not wrap with overflow: hidden and reference box different from margin-box |
| https://bugs.webkit.org/show_bug.cgi?id=138139 |
| |
| Reviewed by David Hyatt. |
| |
| To determine how much an box needs to shink to avoid a float, the code |
| was only taking into account the first line of the box. This doesn't |
| work when the float has a shape, as it can make it seem like there is |
| more space on the line than there actually is. This patch changes the |
| calculations to take into account the entire height of the box that |
| needs to be shrunk, and thus computes the correct amount of space |
| available. |
| |
| Test: fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html |
| fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html |
| fast/shapes/shape-outside-floats/shape-overflow-hidden.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): |
| |
| 2015-01-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178039. |
| https://bugs.webkit.org/show_bug.cgi?id=140187 |
| |
| Breaks ObjC Inspector Protocol (Requested by JoePeck on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: purge PassRefPtr from Inspector code and use |
| Ref for typed and untyped protocol objects" |
| https://bugs.webkit.org/show_bug.cgi?id=140053 |
| http://trac.webkit.org/changeset/178039 |
| |
| 2015-01-06 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects |
| https://bugs.webkit.org/show_bug.cgi?id=140053 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code |
| related to Web Inspector. It also converts many uses of RefPtr to Ref where |
| references are always non-null. These two refactorings have been combined since |
| they tend to require similar changes to the code. |
| |
| No new tests, no behavior changed. |
| |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabase): |
| * dom/Document.cpp: |
| (WebCore::Document::logExceptionToConsole): |
| (WebCore::Document::addMessage): |
| * dom/Document.h: |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::reportException): |
| * dom/ScriptExecutionContext.h: |
| * html/parser/XSSAuditorDelegate.cpp: |
| (WebCore::XSSAuditorDelegate::generateViolationReport): |
| * inspector/CommandLineAPIHost.cpp: |
| (WebCore::CommandLineAPIHost::inspectImpl): |
| * inspector/CommandLineAPIHost.h: |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests): |
| (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache): |
| (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources): |
| (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource): |
| * inspector/InspectorApplicationCacheAgent.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::getMatchedStylesForNode): |
| (WebCore::InspectorCSSAgent::getComputedStyleForNode): |
| (WebCore::InspectorCSSAgent::setStyleText): |
| (WebCore::InspectorCSSAgent::setPropertyText): |
| (WebCore::InspectorCSSAgent::toggleProperty): |
| (WebCore::InspectorCSSAgent::setRuleSelector): |
| (WebCore::InspectorCSSAgent::getSupportedCSSProperties): |
| (WebCore::InspectorCSSAgent::forcePseudoState): |
| (WebCore::InspectorCSSAgent::getNamedFlowCollection): |
| (WebCore::InspectorCSSAgent::detectOrigin): |
| (WebCore::InspectorCSSAgent::buildObjectForRule): |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle): |
| (WebCore::InspectorCSSAgent::buildArrayForRegions): |
| (WebCore::InspectorCSSAgent::buildObjectForNamedFlow): |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorConsoleInstrumentation.h: |
| (WebCore::InspectorInstrumentation::addMessageToConsole): |
| (WebCore::InspectorInstrumentation::consoleCount): |
| (WebCore::InspectorInstrumentation::stopConsoleTiming): |
| (WebCore::InspectorInstrumentation::consoleTimeStamp): |
| (WebCore::InspectorInstrumentation::stopProfiling): |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::buildObjectForHighlightedNode): |
| (WebCore::InspectorController::executionStopwatch): |
| * inspector/InspectorController.h: |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::parseColor): |
| (WebCore::parseConfigColor): |
| (WebCore::InspectorDOMAgent::pushNodePathToFrontend): |
| (WebCore::InspectorDOMAgent::performSearch): |
| (WebCore::InspectorDOMAgent::setInspectModeEnabled): |
| (WebCore::InspectorDOMAgent::highlightRect): |
| (WebCore::InspectorDOMAgent::highlightQuad): |
| (WebCore::InspectorDOMAgent::innerHighlightQuad): |
| (WebCore::InspectorDOMAgent::highlightNode): |
| (WebCore::InspectorDOMAgent::highlightFrame): |
| (WebCore::InspectorDOMAgent::buildObjectForNode): |
| (WebCore::InspectorDOMAgent::buildArrayForElementAttributes): |
| (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): |
| (WebCore::InspectorDOMAgent::buildObjectForEventListener): |
| (WebCore::InspectorDOMAgent::processAccessibilityChildren): |
| (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): |
| (WebCore::InspectorDOMAgent::didCommitLoad): |
| (WebCore::InspectorDOMAgent::didInsertDOMNode): |
| (WebCore::InspectorDOMAgent::styleAttributeInvalidated): |
| (WebCore::InspectorDOMAgent::resolveNode): |
| * inspector/InspectorDOMAgent.h: |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr): |
| (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr): |
| (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent): |
| (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded): |
| (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::getDOMStorageItems): |
| (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): |
| (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): |
| (WebCore::InspectorDOMStorageAgent::storageId): |
| (WebCore::InspectorDOMStorageAgent::findStorageArea): |
| * inspector/InspectorDOMStorageAgent.h: |
| * inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are |
| not nullable. |
| (WebCore::InspectorDatabaseAgent::executeSQL): |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorDatabaseInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didOpenDatabase): |
| * inspector/InspectorDatabaseResource.cpp: |
| (WebCore::InspectorDatabaseResource::create): |
| (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): |
| (WebCore::InspectorDatabaseResource::bind): |
| * inspector/InspectorDatabaseResource.h: |
| (WebCore::InspectorDatabaseResource::setDatabase): |
| * inspector/InspectorFrontendHost.h: |
| (WebCore::InspectorFrontendHost::create): |
| * inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are |
| not nullable. |
| (WebCore::InspectorIndexedDBAgent::requestDatabaseNames): |
| (WebCore::InspectorIndexedDBAgent::requestDatabase): |
| (WebCore::InspectorIndexedDBAgent::requestData): |
| (WebCore::ClearObjectStoreListener::create): |
| (WebCore::ClearObjectStoreListener::ClearObjectStoreListener): |
| (WebCore::ClearObjectStore::create): |
| (WebCore::ClearObjectStore::ClearObjectStore): |
| (WebCore::InspectorIndexedDBAgent::clearObjectStore): |
| * inspector/InspectorIndexedDBAgent.h: |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::willLoadXHRImpl): |
| (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): |
| (WebCore::InspectorInstrumentation::consoleCountImpl): |
| (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::consoleTimeStampImpl): |
| (WebCore::InspectorInstrumentation::stopProfilingImpl): |
| (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): |
| (WebCore::InspectorInstrumentation::sessionCreatedImpl): |
| (WebCore::InspectorInstrumentation::sessionLoadedImpl): |
| (WebCore::InspectorInstrumentation::sessionModifiedImpl): |
| (WebCore::InspectorInstrumentation::segmentCreatedImpl): |
| (WebCore::InspectorInstrumentation::segmentCompletedImpl): |
| (WebCore::InspectorInstrumentation::segmentLoadedImpl): |
| (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted. |
| (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted. |
| (WebCore::InspectorInstrumentation::startProfilingImpl): Deleted. |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted. |
| (WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted. |
| (WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted. |
| (WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted. |
| (WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted. |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::willLoadXHR): |
| (WebCore::InspectorInstrumentation::sessionCreated): |
| (WebCore::InspectorInstrumentation::sessionLoaded): |
| (WebCore::InspectorInstrumentation::sessionModified): |
| (WebCore::InspectorInstrumentation::segmentCreated): |
| (WebCore::InspectorInstrumentation::segmentCompleted): |
| (WebCore::InspectorInstrumentation::segmentLoaded): |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted. |
| (WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted. |
| * inspector/InspectorLayerTreeAgent.cpp: |
| (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): |
| (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect): |
| (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForPoint): |
| (WebCore::buildObjectForRect): |
| (WebCore::buildArrayForQuad): |
| (WebCore::buildObjectForHighlight): |
| (WebCore::buildObjectForRegionHighlight): |
| (WebCore::buildObjectForCSSRegionsHighlight): |
| (WebCore::buildObjectForSize): |
| (WebCore::buildObjectForCSSRegionContentClip): |
| (WebCore::InspectorOverlay::drawPaintRects): |
| (WebCore::buildObjectForRendererFragments): |
| (WebCore::buildObjectForShapeOutside): |
| (WebCore::buildObjectForElementInfo): |
| (WebCore::InspectorOverlay::buildObjectForHighlightedNode): |
| (WebCore::InspectorOverlay::reset): |
| (WebCore::InspectorOverlay::evaluateInOverlay): |
| * inspector/InspectorOverlay.h: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::createXHRTextDecoder): |
| (WebCore::buildObjectForCookie): |
| (WebCore::buildArrayForCookies): |
| (WebCore::buildObjectForSearchResult): |
| (WebCore::InspectorPageAgent::buildObjectForFrame): |
| (WebCore::InspectorPageAgent::buildObjectForFrameTree): |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.cpp: |
| (WebCore::buildInspectorObjectForPosition): |
| (WebCore::buildInspectorObjectForInput): |
| (WebCore::buildInspectorObjectForSession): |
| (WebCore::buildInspectorObjectForSegment): |
| (WebCore::InspectorReplayAgent::replayToPosition): |
| (WebCore::InspectorReplayAgent::getSessionData): |
| (WebCore::InspectorReplayAgent::getSegmentData): |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForHeaders): |
| (WebCore::buildObjectForTiming): |
| (WebCore::buildObjectForResourceRequest): |
| (WebCore::buildObjectForResourceResponse): |
| (WebCore::buildObjectForCachedResource): |
| (WebCore::InspectorResourceAgent::willLoadXHR): |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame): |
| (WebCore::InspectorResourceAgent::didSendWebSocketFrame): |
| (WebCore::InspectorResourceAgent::setExtraHTTPHeaders): |
| (WebCore::InspectorResourceAgent::loadResource): |
| (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted. |
| (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted. |
| (WebCore::InspectorResourceAgent::disable): Deleted. |
| (WebCore::InspectorResourceAgent::setCacheDisabled): Deleted. |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorStyleSheet.cpp: |
| (ParsedStyleSheet::ruleSourceDataAt): |
| (WebCore::buildSourceRangeObject): |
| (WebCore::buildMediaObject): |
| (WebCore::asCSSRuleList): |
| (WebCore::fillMediaListChain): |
| (WebCore::InspectorStyle::create): |
| (WebCore::InspectorStyle::InspectorStyle): |
| (WebCore::InspectorStyle::buildObjectForStyle): |
| (WebCore::InspectorStyle::buildArrayForComputedStyle): |
| (WebCore::InspectorStyle::styleWithProperties): |
| (WebCore::InspectorStyle::extractSourceData): |
| (WebCore::InspectorStyleSheet::create): |
| (WebCore::InspectorStyleSheet::InspectorStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): |
| (WebCore::buildObjectForSelectorHelper): |
| (WebCore::selectorsFromSource): |
| (WebCore::InspectorStyleSheet::buildObjectForSelector): |
| (WebCore::InspectorStyleSheet::buildObjectForSelectorList): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::buildObjectForStyle): |
| (WebCore::InspectorStyleSheet::toggleProperty): |
| (WebCore::InspectorStyleSheet::inspectorStyleForId): |
| (WebCore::InspectorStyleSheet::rememberInspectorStyle): |
| (WebCore::InspectorStyleSheet::buildArrayForRuleList): |
| (WebCore::InspectorStyleSheet::collectFlatRules): |
| (WebCore::InspectorStyleSheetForInlineStyle::create): |
| (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
| (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId): |
| * inspector/InspectorStyleSheet.h: |
| (WebCore::InspectorCSSId::InspectorCSSId): |
| (WebCore::InspectorCSSId::asProtocolValue): |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::startFromConsole): |
| (WebCore::InspectorTimelineAgent::stopFromConsole): |
| (WebCore::InspectorTimelineAgent::addRecordToTimeline): |
| (WebCore::InspectorTimelineAgent::didCompleteRecordEntry): |
| (WebCore::InspectorTimelineAgent::appendRecord): |
| (WebCore::InspectorTimelineAgent::sendEvent): |
| (WebCore::InspectorTimelineAgent::createRecordEntry): |
| (WebCore::InspectorTimelineAgent::pushCurrentRecord): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/InspectorWorkerAgent.cpp: |
| (WebCore::InspectorWorkerAgent::sendMessageToWorker): |
| * inspector/InspectorWorkerAgent.h: |
| * inspector/NetworkResourcesData.cpp: |
| (WebCore::XHRReplayData::create): |
| (WebCore::XHRReplayData::XHRReplayData): |
| * inspector/NetworkResourcesData.h: |
| (WebCore::NetworkResourcesData::ResourceData::decoder): |
| (WebCore::NetworkResourcesData::ResourceData::setDecoder): |
| (WebCore::NetworkResourcesData::ResourceData::buffer): |
| (WebCore::NetworkResourcesData::ResourceData::setBuffer): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| (WebCore::TimelineRecordFactory::createBackgroundRecord): |
| (WebCore::TimelineRecordFactory::createGCEventData): |
| (WebCore::TimelineRecordFactory::createFunctionCallData): |
| (WebCore::TimelineRecordFactory::createConsoleProfileData): |
| (WebCore::TimelineRecordFactory::createProbeSampleData): |
| (WebCore::TimelineRecordFactory::createEventDispatchData): |
| (WebCore::TimelineRecordFactory::createGenericTimerData): |
| (WebCore::TimelineRecordFactory::createTimerInstallData): |
| (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): |
| (WebCore::TimelineRecordFactory::createXHRLoadData): |
| (WebCore::TimelineRecordFactory::createEvaluateScriptData): |
| (WebCore::TimelineRecordFactory::createTimeStampData): |
| (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): |
| (WebCore::TimelineRecordFactory::createResourceSendRequestData): |
| (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): |
| (WebCore::TimelineRecordFactory::createResourceFinishData): |
| (WebCore::TimelineRecordFactory::createReceiveResourceData): |
| (WebCore::TimelineRecordFactory::createLayoutData): |
| (WebCore::TimelineRecordFactory::createDecodeImageData): |
| (WebCore::TimelineRecordFactory::createResizeImageData): |
| (WebCore::TimelineRecordFactory::createMarkData): |
| (WebCore::TimelineRecordFactory::createParseHTMLData): |
| (WebCore::TimelineRecordFactory::createAnimationFrameData): |
| (WebCore::createQuad): |
| (WebCore::TimelineRecordFactory::createPaintData): |
| (WebCore::buildInspectorObject): |
| (WebCore::buildProfileInspectorObject): |
| (WebCore::TimelineRecordFactory::appendProfile): |
| * inspector/TimelineRecordFactory.h: |
| (WebCore::TimelineRecordFactory::createWebSocketCreateData): |
| (WebCore::TimelineRecordFactory::createGenericWebSocketData): |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::executionStopwatch): |
| * inspector/WorkerInspectorController.h: |
| * page/PageConsoleClient.cpp: |
| (WebCore::PageConsoleClient::addMessage): |
| (WebCore::PageConsoleClient::messageWithTypeAndLevel): |
| (WebCore::PageConsoleClient::count): |
| (WebCore::PageConsoleClient::profileEnd): |
| (WebCore::PageConsoleClient::timeEnd): |
| (WebCore::PageConsoleClient::timeStamp): |
| * page/PageConsoleClient.h: |
| * replay/ReplayController.cpp: |
| (WebCore::ReplayController::switchSession): |
| (WebCore::ReplayController::createSegment): |
| (WebCore::ReplayController::completeSegment): |
| (WebCore::ReplayController::loadSegmentAtIndex): |
| * replay/ReplayInputCreationMethods.cpp: |
| (WebCore::InitialNavigation::createFromPage): |
| * workers/SharedWorkerGlobalScope.cpp: |
| (WebCore::SharedWorkerGlobalScope::logExceptionToConsole): |
| * workers/SharedWorkerGlobalScope.h: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::logExceptionToConsole): |
| (WebCore::WorkerGlobalScope::addMessage): |
| (WebCore::WorkerGlobalScope::addMessageToWorkerConsole): |
| * workers/WorkerGlobalScope.h: |
| |
| 2015-01-07 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse + 149 |
| https://bugs.webkit.org/show_bug.cgi?id=139929 |
| |
| Reviewed by Darin Adler. |
| |
| When a frame is replaced, there were instances when it was not clearing its associated nodes in the accessibility text marker -> Node cache. |
| This caused dead Nodes to be left in the cache which would eventually be accessed when the cache was cleaned out at a later time. |
| |
| To fix this we should be clearing out the cache in Document::prepareForDestruction, instead of Frame::disconnectOwnerElement. |
| |
| While working on this, it also exposed a problem where when a frame goes away, it doesn't inform its parent to update its children, |
| which causes an ASSERT to be hit with this test as well. |
| |
| Tests: accessibility/frame-disconnect-textmarker-cache-crash.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::prepareForDestruction): |
| * page/Frame.cpp: |
| (WebCore::Frame::disconnectOwnerElement): |
| Remove cache management from here since it is superceded by code in Document::prepareForDestruction |
| * page/FrameView.cpp: |
| (WebCore::FrameView::removeFromAXObjectCache): |
| |
| 2015-01-07 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed fix for the CoordinatedGraphics builds after r178034. |
| |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::setChildren): Add back the setChildren() |
| variant that receives a reference to the Vector of TextureMapperLayer |
| objects. This is still used by the CoordinatedGraphics code that still |
| constructs a separate Vector object each time the layer's children change. |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| |
| 2015-01-07 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder() |
| https://bugs.webkit.org/show_bug.cgi?id=136212 |
| |
| Reviewed by Darin Adler. |
| |
| Use std::sort() instead of qsort() to sort the TextureMapperLayer objects |
| by their z-order. A lambda expression can be used to compare the m_centerZ |
| member variables of any two TextureMapperLayers. |
| |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::sortByZOrder): |
| (WebCore::TextureMapperLayer::compareGraphicsLayersZValue): Deleted. |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| |
| 2015-01-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Avoid constructing Vector when setting new children of TextureMapperLayer |
| https://bugs.webkit.org/show_bug.cgi?id=137265 |
| |
| Reviewed by Brent Fulgham. |
| |
| Instead of constructing a vector object and populating it with TextureMapperLayers |
| every time the children of a GraphicsLayer change, the children vector is now passed |
| directly to TextureMapperLayer::setChildren(), which properly downcasts GraphicsLayers |
| and adds the new TextureMapperLayer children. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::commitLayerChanges): |
| (WebCore::toTextureMapperLayerVector): Deleted. |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::setChildren): |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| |
| 2015-01-07 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null |
| https://bugs.webkit.org/show_bug.cgi?id=140135 |
| |
| Reviewed by Darin Adler. |
| |
| Since the TextureMapperLayer member in the GraphicsLayerTextureMapper class |
| is always non-null, we don't need to keep it in a std::unique_ptr<>. |
| |
| GraphicsLayerTextureMapper::layer() now returns a reference to the m_layer member. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): |
| (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly): |
| (WebCore::toTextureMapperLayerVector): |
| (WebCore::GraphicsLayerTextureMapper::commitLayerChanges): |
| (WebCore::GraphicsLayerTextureMapper::flushCompositingState): |
| (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded): |
| (WebCore::GraphicsLayerTextureMapper::setFilters): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| |
| 2015-01-07 Byungseon Shin <sun.shin@lge.com> |
| |
| Fix Border-radius clipping issue on a composited descendants |
| https://bugs.webkit.org/show_bug.cgi?id=138551 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix clipping compositing descendants of an accelerated layer having |
| border radius and clip overflow issue by using layer corner-radius |
| or a CAShapeLayer mask on Mac, and setting up a separate mask layer |
| on the childContainmentLayer on other platforms. |
| |
| This patch is extracted from following Blink revisions: |
| <http://src.chromium.org/viewvc/blink?view=revision&revision=162463> |
| <http://src.chromium.org/viewvc/blink?view=revision&revision=158258> |
| by <rosca@adobe.com> |
| |
| Clip accelerated descendants of an accelerated layer having border radius and clip overflow. |
| Large canvas does not honor containing div's border radius. |
| |
| and <http://src.chromium.org/viewvc/blink?view=revision&revision=160578> |
| by <junov@chromium.org> |
| |
| Fix for CSS clip-path with accelerated 2D canvas. |
| |
| * WebCore.exp.in: |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::dumpProperties): |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::applyClippingBorder): |
| (WebCore::GraphicsLayer::clearClippingBorder): |
| (WebCore::GraphicsLayer::needsClippingMaskLayer): |
| * platform/graphics/GraphicsLayerClient.h: |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::applyClippingBorder): |
| (WebCore::GraphicsLayerCA::clearClippingBorder): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| * rendering/PaintPhase.h: |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paintObject): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintClippingMask): |
| * rendering/RenderBox.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerContents): |
| (WebCore::RenderLayer::paintChildClippingMaskForFragments): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::~RenderLayerBacking): |
| (WebCore::RenderLayerBacking::destroyGraphicsLayers): |
| (WebCore::RenderLayerBacking::updateConfiguration): |
| (WebCore::RenderLayerBacking::updateGeometry): |
| (WebCore::RenderLayerBacking::updateChildClippingStrategy): |
| (WebCore::RenderLayerBacking::setContentsNeedDisplay): |
| (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): |
| (WebCore::RenderLayerBacking::paintIntoLayer): |
| (WebCore::RenderLayerBacking::paintContents): |
| (WebCore::RenderLayerBacking::backingStoreMemoryEstimate): |
| * rendering/RenderLayerBacking.h: |
| |
| 2015-01-06 Antti Koivisto <antti@apple.com> |
| |
| Use HashMap instead of CFDictionary for composite font reference map |
| https://bugs.webkit.org/show_bug.cgi?id=140150 |
| |
| Reviewed by Geoff Garen. |
| |
| Use WebKit types. Also use USE(APPKIT) consistently for this feature. |
| |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): |
| |
| The whole desctructor gets handled implicitly. |
| |
| * platform/graphics/SimpleFontData.h: |
| * platform/graphics/mac/GlyphPageMac.cpp: |
| (WebCore::GlyphPage::mayUseMixedFontDataWhenFilling): |
| (WebCore::GlyphPage::fill): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::compositeFontReferenceFontData): |
| (WebCore::SimpleFontData::getCompositeFontReferenceFontData): Deleted. |
| |
| 2015-01-07 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() in WebCore::RenderBlock::locateFlowThreadContainingBlock |
| https://bugs.webkit.org/show_bug.cgi?id=139390 |
| |
| Reviewed by Andrei Bucur. |
| |
| When a block level element is inserted into an inline element, the inline element is split |
| in order to make sure that all the inline element children are properly wrapped inside |
| anonymous block elements. If the inline element is inside a pagination context, we have |
| to invalidate the cached flow thread containing block for the split inline element and its descendants. |
| |
| Test: fast/multicol/newmulticol/block-split-inline-in-multicol.html |
| |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::splitInlines): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move 'content' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140169 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'content' CSS property to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialContent): |
| (WebCore::StyleBuilderCustom::applyInheritContent): |
| (WebCore::StyleBuilderCustom::applyValueContent): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move 'webkit-mask-image' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140168 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'webkit-mask-image' CSS property to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertMaskImageOperations): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::createMaskImageOperations): Deleted. |
| * css/StyleResolver.h: |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Drop ResourceResponseBase::connectionID and connectionReused members |
| https://bugs.webkit.org/show_bug.cgi?id=140158 |
| |
| Reviewed by Sam Weinig. |
| |
| Drop ResourceResponseBase::connectionID and connectionReused members. |
| Those were needed by the Chromium port but are no longer used. |
| |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForResourceResponse): |
| * page/PerformanceResourceTiming.cpp: |
| (WebCore::PerformanceResourceTiming::PerformanceResourceTiming): |
| (WebCore::PerformanceResourceTiming::connectStart): |
| (WebCore::PerformanceResourceTiming::connectEnd): |
| * page/PerformanceResourceTiming.h: |
| * page/PerformanceTiming.cpp: |
| (WebCore::PerformanceTiming::connectStart): |
| (WebCore::PerformanceTiming::connectEnd): |
| * platform/network/ResourceResponseBase.cpp: |
| (WebCore::ResourceResponseBase::ResourceResponseBase): |
| (WebCore::ResourceResponseBase::connectionReused): Deleted. |
| (WebCore::ResourceResponseBase::setConnectionReused): Deleted. |
| (WebCore::ResourceResponseBase::connectionID): Deleted. |
| (WebCore::ResourceResponseBase::setConnectionID): Deleted. |
| * platform/network/ResourceResponseBase.h: |
| (WebCore::ResourceResponseBase::encode): |
| (WebCore::ResourceResponseBase::decode): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move the 'alt' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140129 |
| |
| Reviewed by Darin Adler. |
| |
| Move the 'alt' CSS property to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueAlt): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * rendering/style/RenderStyle.h: |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140157 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::applyValueWebkitTextSizeAdjust): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2015-01-06 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Masking][CSS Shapes] Large corner radii use with inset() clip-path are not properly constrained |
| https://bugs.webkit.org/show_bug.cgi?id=140127 |
| |
| Reviewed by Darin Adler. |
| |
| Constrain large corner radii for inset() clip-path in the same way |
| that border-radii are constrained. |
| |
| Test: fast/masking/clip-path-inset-large-radii.html |
| |
| * rendering/style/BasicShapes.cpp: |
| (WebCore::BasicShapeInset::path): Add radii constraint. Also reformat |
| code a little to shut the style bot up. |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible |
| https://bugs.webkit.org/show_bug.cgi?id=140142 |
| |
| Reviewed by Darin Adler. |
| |
| Only throttle DOM timers if they change CSS properties that cannot cause |
| non-descendant elements to become visible. For example, a DOM timer may |
| change the height of an element that is outside the viewport. However, |
| changing its height may causes elements inside the viewport to move. As |
| such, we should NOT throttle such DOM timer. |
| |
| With this patch, we only mark a repeating timer as candidate for |
| throttling if it is updating one of the following CSS properties: |
| left, right, top, bottom, webkit-transform, opacity. |
| |
| Test: fast/dom/timer-height-change-no-throttling.html |
| |
| * bindings/js/JSCSSStyleDeclarationCustom.cpp: |
| (WebCore::propertyChangeMayRepaintNonDescendants): |
| (WebCore::JSCSSStyleDeclaration::putDelegate): |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::scriptDidCauseElementRepaint): |
| * page/DOMTimer.h: |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Add utility method on FrameView that resumes animated images and unthrottles DOM timers |
| https://bugs.webkit.org/show_bug.cgi?id=140151 |
| |
| Reviewed by Darin Adler. |
| |
| Add utility method on FrameView that resumes animated images and |
| unthrottles DOM timers. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::recalcStyle): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::setFrameRect): |
| (WebCore::FrameView::viewportContentsChanged): |
| (WebCore::FrameView::scrollPositionChanged): |
| (WebCore::FrameView::performPostLayoutTasks): |
| * page/FrameView.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::scrollTo): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Do not attempt to revalidate cached main resource on back/forward navigation |
| https://bugs.webkit.org/show_bug.cgi?id=139263 |
| |
| Reviewed by Darin Adler. |
| |
| Do not attempt to revalidate cached main resource on back/forward |
| navigation, as allowed by RFC2616 & newer RFC7234 which distinguish |
| history mechanisms and caches, stating: |
| |
| The freshness model (Section 4.2) does not necessarily apply to |
| history mechanisms. That is, a history mechanism can display a |
| previous representation even if it has expired. |
| |
| Previously, we would bypass revalidation on back/forward navigation |
| only for sub-resources. This patch extends this policy to the main |
| resource as well. |
| |
| This behavior is also consistent with IE10+ and Chrome. It makes it more |
| likely we return cached content to the user on back/forward navigation |
| and avoids making network requests in this case. |
| |
| Test: http/tests/cache/history-navigation-no-resource-revalidation.html |
| |
| * loader/cache/CacheValidation.cpp: |
| (WebCore::redirectChainAllowsReuse): |
| * loader/cache/CacheValidation.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::redirectChainAllowsReuse): |
| Add a "ReuseExpiredRedirectionOrNot" flag argument because in the case |
| of an HistoryBuffer navigation, we don't mind reuse an expired |
| redirection. However, we still need to make sure that the redirection |
| is actually cached before reusing it. |
| |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::determineRevalidationPolicy): |
| - Do the redirectChainAllowsReuse() check *before* checking if the cache |
| policy is CachePolicyHistoryBuffer. This is needed because |
| redirectChainAllowsReuse() will return false if the redirection is not |
| cached. Loading from the cache in this case will cause us to load the |
| wrong resource (the one before the redirection). This case is covered |
| by http/tests/navigation/redirect-on-reload-updates-history-item.html. |
| - Do not use the cached main resource if it has "cache-control: no-store", |
| even if it is a history navigation (cachePolicy is |
| CachePolicyHistoryBuffer). This maintains the previous behavior, and |
| some layout tests rely on this. We now have to be explicit about it |
| because cachePolicy() can now return CachePolicyHistoryBuffer for the |
| main resource (not just sub-resources). This difference in behavior |
| on history navigation for the main resource and sub-resources is not |
| great. However, I chose to maintain this pre-existing behavior in this |
| patch to do one behavior change at a time. We can harmonize this later. |
| |
| Previously, the order was not an issue because the main resource was |
| always revalidated on back/forward navigation. |
| |
| (WebCore::CachedResourceLoader::cachePolicy): |
| Return CachePolicyHistoryBuffer for the main resource in case of |
| history navigation, instead of CachePolicyVerify so that we don't |
| attempt to revalidate. |
| |
| 2015-01-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177988. |
| https://bugs.webkit.org/show_bug.cgi?id=140159 |
| |
| mysteriously broke 2 tests (Requested by kling on #webkit). |
| |
| Reverted changeset: |
| |
| "Pack WebCore::RuleData better." |
| https://bugs.webkit.org/show_bug.cgi?id=140109 |
| http://trac.webkit.org/changeset/177988 |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Setting '-webkit-filter' to 'brightness(calc(10% * 2))' does not work |
| https://bugs.webkit.org/show_bug.cgi?id=140149 |
| |
| Reviewed by Darin Adler. |
| |
| Setting '-webkit-filter' to 'brightness(calc(10% * 2))' was not working |
| because the CSS parser did not handle calculated values inside |
| brightness(). This patch addresses the issue. |
| |
| Test: fast/css/webkit-filter-calc.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseBuiltinFilterArguments): |
| |
| 2015-01-06 Zalan Bujtas <zalan@apple.com> |
| |
| Assertion in RenderGeometryMap::mapToContainer with LayoutUnit overflow. |
| https://bugs.webkit.org/show_bug.cgi?id=108619 |
| rdar://problem/19391214 |
| |
| Use only FloatQuad in RenderGeometryMap::mapToContainer. |
| |
| Due to the difference in the internal representation of FloatRect and FloatQuad, |
| with certain float values, converting FloatRect to FloatQuad and back |
| to FloatRect could produce a slightly different rect. |
| |
| Reviewed by Simon Fraser. |
| |
| Test: fast/block/geometry-map-assertion-with-tall-content.html |
| |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::mapToContainer): |
| |
| 2015-01-06 Sam Weinig <sam@webkit.org> |
| |
| Allow MathML in dashboard compatibility mode |
| https://bugs.webkit.org/show_bug.cgi?id=140153 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In what seems like an accident due to the way we used to disable SVG in |
| dashboard, MathML has been disable in dashboard compatibility mode. There |
| does not seem to be any reason to keep this accidental quirk. |
| |
| Test: mathml/mathml-in-dashboard.html |
| |
| * dom/make_names.pl: |
| (printFactoryCppFile): |
| |
| 2015-01-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Some composting reflections tests are broken |
| https://bugs.webkit.org/show_bug.cgi?id=139889 |
| |
| Reviewed by Tim Horton. |
| |
| When creating layer clones for reflections, we'd clobber the layer background |
| color via resetting the custom appearance on the clone. Fix by having |
| PlatformCALayerMac::updateCustomAppearance() only do work when the appearance changes. |
| |
| Some other drive-by nullptr changes, and include layer IDs in debug layer names. |
| |
| Covered by existing pixel tests. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::setName): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::updateCustomAppearance): |
| (PlatformCALayerMac::tiledBacking): |
| |
| 2015-01-04 Sam Weinig <sam@webkit.org> |
| |
| Modernize the HTMLElement factory |
| https://bugs.webkit.org/show_bug.cgi?id=140063 |
| |
| Reviewed by Darin Adler. |
| |
| Make the HTMLElement (and derived classes) create functions |
| and HTMLElementFactory return Refs rather than RefPtr/PassRefPtr. |
| |
| * Files elided * |
| |
| 2015-01-06 Alexey Proskuryakov <ap@apple.com> |
| |
| ADDRESS_SANITIZER macro is overloaded |
| https://bugs.webkit.org/show_bug.cgi?id=140130 |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/RefCountedSupplement.h: |
| * platform/Supplementable.h: |
| Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used |
| in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS. |
| |
| 2015-01-06 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: pass parameters to inspector agents by reference where possible |
| https://bugs.webkit.org/show_bug.cgi?id=140002 |
| |
| Reviewed by Andreas Kling. |
| |
| Pass parameters by-reference from inspector instrumentation entry |
| points to inspector agents. If the event doesn't make sense with null |
| arguments, perform null checks before calling agent methods. |
| |
| No new tests, no behavior changed. |
| |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::didCreateNamedFlow): |
| (WebCore::InspectorCSSAgent::willRemoveNamedFlow): |
| (WebCore::InspectorCSSAgent::didChangeRegionOverset): |
| (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement): |
| (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement): |
| (WebCore::InspectorCSSAgent::forcePseudoState): |
| * inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation. |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::handleTouchEvent): |
| (WebCore::InspectorDOMAgent::didInsertDOMNode): |
| (WebCore::InspectorDOMAgent::didRemoveDOMNode): |
| (WebCore::InspectorDOMAgent::willModifyDOMAttr): |
| (WebCore::InspectorDOMAgent::didModifyDOMAttr): |
| (WebCore::InspectorDOMAgent::didRemoveDOMAttr): |
| (WebCore::InspectorDOMAgent::characterDataModified): |
| (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): |
| (WebCore::InspectorDOMAgent::didPushShadowRoot): |
| (WebCore::InspectorDOMAgent::willPopShadowRoot): |
| * inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation. |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr): |
| (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode): |
| (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr): |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): |
| (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl): |
| (WebCore::InspectorInstrumentation::didPushShadowRootImpl): |
| (WebCore::InspectorInstrumentation::willPopShadowRootImpl): |
| (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check. |
| (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didChangeRegionOversetImpl): |
| (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl): |
| (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl): |
| (WebCore::InspectorInstrumentation::handleTouchEventImpl): |
| (WebCore::InspectorInstrumentation::forcePseudoStateImpl): |
| (WebCore::InspectorInstrumentation::characterDataModifiedImpl): |
| (WebCore::InspectorInstrumentation::willEvaluateScriptImpl): |
| (WebCore::InspectorInstrumentation::didEvaluateScriptImpl): |
| (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl): |
| (WebCore::InspectorInstrumentation::willLayoutImpl): |
| (WebCore::InspectorInstrumentation::willPaintImpl): |
| (WebCore::InspectorInstrumentation::willScrollLayerImpl): |
| (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl): |
| (WebCore::InspectorInstrumentation::applyEmulatedMediaImpl): |
| (WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks. |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check. |
| (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): |
| (WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check. |
| (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): |
| (WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks. |
| (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl): |
| (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl): |
| (WebCore::InspectorInstrumentation::startConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::consoleTimeStampImpl): |
| (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check. |
| (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check. |
| (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check. |
| (WebCore::InspectorInstrumentation::renderLayerDestroyedImpl): |
| (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl): |
| (WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted. |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted. |
| (WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted. |
| (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted. |
| (WebCore::InspectorInstrumentation::startProfilingImpl): Deleted. |
| * inspector/InspectorLayerTreeAgent.cpp: |
| (WebCore::InspectorLayerTreeAgent::renderLayerDestroyed): |
| (WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::frameDetached): |
| (WebCore::InspectorPageAgent::loaderDetachedFromFrame): |
| (WebCore::InspectorPageAgent::applyEmulatedMedia): |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.cpp: |
| (WebCore::InspectorReplayAgent::frameDetached): |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::willSendRequest): |
| (WebCore::InspectorResourceAgent::didReceiveResponse): |
| (WebCore::InspectorResourceAgent::didFinishLoading): |
| (WebCore::InspectorResourceAgent::didFailLoading): |
| (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): |
| (WebCore::InspectorResourceAgent::willDestroyCachedResource): |
| (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): |
| (WebCore::InspectorResourceAgent::mainFrameNavigated): |
| * inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::didInvalidateLayout): |
| (WebCore::InspectorTimelineAgent::willLayout): |
| (WebCore::InspectorTimelineAgent::willPaint): |
| (WebCore::InspectorTimelineAgent::willScroll): |
| (WebCore::InspectorTimelineAgent::willEvaluateScript): |
| (WebCore::InspectorTimelineAgent::didEvaluateScript): |
| (WebCore::InspectorTimelineAgent::didTimeStamp): |
| (WebCore::InspectorTimelineAgent::time): |
| (WebCore::InspectorTimelineAgent::timeEnd): |
| (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): |
| (WebCore::InspectorTimelineAgent::didMarkLoadEvent): |
| * inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation. |
| * inspector/PageRuntimeAgent.cpp: |
| (WebCore::PageRuntimeAgent::didCreateMainWorldContext): |
| (WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers. |
| * inspector/PageRuntimeAgent.h: |
| * replay/ReplayController.cpp: |
| (WebCore::ReplayController::frameDetached): |
| * replay/ReplayController.h: |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Remove an old workaround for an old unsupported plug-in |
| https://bugs.webkit.org/show_bug.cgi?id=140141 |
| |
| Reviewed by Brent Fulgham. |
| |
| The old, pre-Vista(!) plug-in is no longer available so we don't need to have this workaround in place. |
| (If for some bizarre reason we'd ever want to bring it back it should be a flag that the plug-in code sets on the timer, |
| the shared timer code shouldn't know about plug-ins at all). |
| |
| * platform/win/SharedTimerWin.cpp: |
| (WebCore::TimerWindowWndProc): |
| |
| 2015-01-06 Andreas Kling <akling@apple.com> |
| |
| Pack WebCore::RuleData better. |
| <https://webkit.org/b/140109> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Shrink RuleData by 8 bytes per instance by reordering members so that |
| the CSS JIT compilation status fits into the bitfield. |
| |
| * css/RuleSet.h: |
| (WebCore::RuleData::compilationStatus): |
| * cssjit/SelectorCompiler.h: |
| (WebCore::SelectorCompilationStatus::SelectorCompilationStatus): |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Add a WebKit1 database provider |
| https://bugs.webkit.org/show_bug.cgi?id=140126 |
| |
| Reviewed by Sam Weinig. |
| |
| Use a Ref instead of a RefPtr since the database provider can never be null now. |
| |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| (WebCore::DOMWindowIndexedDatabase::indexedDB): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| (WebCore::Page::databaseProvider): |
| |
| 2015-01-06 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r177876): 35% regression in Parser/html5-full-render |
| https://bugs.webkit.org/show_bug.cgi?id=140123 |
| |
| Followup fix. |
| |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::systemFallbackFontDataForCharacter): |
| |
| The code failed to pass isForPlatformFont boolean. |
| |
| 2015-01-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177963. |
| https://bugs.webkit.org/show_bug.cgi?id=140136 |
| |
| Caused lots of crashes (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "Add a WebKit1 database provider" |
| https://bugs.webkit.org/show_bug.cgi?id=140126 |
| http://trac.webkit.org/changeset/177963 |
| |
| 2015-01-06 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r177876): 35% regression in Parser/html5-full-render |
| https://bugs.webkit.org/show_bug.cgi?id=140123 |
| |
| Reviewed by Darin Adler. |
| |
| Resolving system fallbacks is extremely slow. GlyphPageTree used to cache them globally. |
| |
| This patch brings back a simple global cache for system fallbacks. |
| |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::~SimpleFontData): |
| (WebCore::systemFallbackCache): |
| (WebCore::SimpleFontData::systemFallbackFontDataForCharacter): |
| (WebCore::SimpleFontData::removeFromSystemFallbackCache): |
| * platform/graphics/SimpleFontData.h: |
| |
| 2015-01-06 Antti Koivisto <antti@apple.com> |
| |
| Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData |
| https://bugs.webkit.org/show_bug.cgi?id=140124 |
| |
| Reviewed by Anders Carlsson. |
| |
| The current name is vague and confusing (as AdditionalFontData is not a FontData). |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::SimpleFontData): |
| (WebCore::SimpleFontData::~SimpleFontData): |
| (WebCore::fillGlyphPage): |
| (WebCore::SimpleFontData::createScaledFontData): |
| * platform/graphics/SimpleFontData.h: |
| (WebCore::SimpleFontData::widthForGlyph): |
| * rendering/svg/SVGTextLayoutEngineSpacing.cpp: |
| (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::svgFontAndFontFaceElementForFontData): |
| * svg/SVGFontData.h: |
| |
| 2015-01-06 Timothy Horton <timothy_horton@apple.com> |
| |
| Make explicit which TextIndicator animations are driven manually, and which run automatically |
| https://bugs.webkit.org/show_bug.cgi?id=140113 |
| <rdar://problem/19383425> |
| |
| Reviewed by Darin Adler. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::wantsManualAnimation): |
| Add wantsManualAnimation(). The old transitions (Bounce and BounceAndCrossfade) |
| run automatically, and the new ones (FadeIn and Crossfade) are driven manually. |
| |
| * page/TextIndicator.h: |
| Add a comment explaining which animations are manual and which are not. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView present]): |
| Make use of wantsManualAnimation(). The previous (wantsFadeIn || wantsCrossfade) |
| was wrong, because it was true for BounceAndCrossfade, and would cause |
| BounceAndCrossfade animations (which aren't driven manually) to stall at progress=0. |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Give empty pages a valid database provider. |
| |
| * loader/EmptyClients.cpp: |
| (WebCore::fillWithEmptyClients): |
| |
| 2015-01-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Fix iOS build after r177955 and r177952. |
| |
| Unreviewed. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::adjustGlyphsAndAdvances): |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Remove now unused IndexedDB code |
| https://bugs.webkit.org/show_bug.cgi?id=140128 |
| |
| Reviewed by Darin Adler. |
| |
| * CMakeLists.txt: |
| Remove files. |
| |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| Don't include PageGroupIndexedDatabase.h. |
| |
| * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Removed. |
| Remove this file, it just had one function calling through to the database strategy. |
| |
| * Modules/indexeddb/IDBFactoryBackendInterface.h: |
| Remove the create function. |
| |
| * Modules/indexeddb/PageGroupIndexedDatabase.cpp: Removed. |
| * Modules/indexeddb/PageGroupIndexedDatabase.h: Removed. |
| The backend is now per page, not per page group. |
| |
| * WebCore.exp.in: |
| Remove an exported symbol. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| Remove files. |
| |
| * page/PageGroup.h: |
| PageGroup is no longer supplementable. |
| |
| * platform/DatabaseStrategy.cpp: |
| (WebCore::DatabaseStrategy::createIDBFactoryBackend): Deleted. |
| * platform/DatabaseStrategy.h: |
| Remove a header. |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the Windows build. |
| |
| * WebCore.vcxproj/copyForwardingHeaders.cmd: |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r176212): Carousel on mbusa.com is choppy |
| https://bugs.webkit.org/show_bug.cgi?id=139543 |
| <rdar://problem/19209406> |
| |
| Reviewed by Antti Koivisto. |
| |
| A repeating DOM timer changing the style of an element that has |
| overflowing content that is visible would get throttled in the |
| case where the overflowing content has its own layer. This is |
| because the repaint rect returned by |
| RenderObject::absoluteClippedOverflowRect() does not take into |
| consideration descendants with their own self-painting layer when |
| accounting for the overflow. |
| |
| Until I can find a relatively cheap way of computing the overflow |
| in this case, this patch takes the conservative approach and |
| assumes we may repaint inside the viewport if the element does not |
| have a layer or if any of its descendants has its own layer. |
| |
| This patch also renames isInsideViewport() function to |
| mayCauseRepaintInsideViewport() for clarity. |
| |
| Tests: fast/dom/repeating-timer-element-overflow-hidden-throttling.html |
| fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html |
| |
| * dom/Element.cpp: |
| (WebCore::Element::mayCauseRepaintInsideViewport): |
| (WebCore::Element::isInsideViewport): Deleted. |
| * dom/Element.h: |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::scriptDidCauseElementRepaint): |
| (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::mayCauseRepaintInsideViewport): |
| (WebCore::RenderElement::isInsideViewport): Deleted. |
| * rendering/RenderElement.h: |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Add a WebKit1 database provider |
| https://bugs.webkit.org/show_bug.cgi?id=140126 |
| |
| Reviewed by Sam Weinig. |
| |
| Use a Ref instead of a RefPtr since the database provider can never be null now. |
| |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| (WebCore::DOMWindowIndexedDatabase::indexedDB): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| (WebCore::Page::databaseProvider): |
| |
| 2015-01-06 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r177952. |
| |
| Remove double class namespace in appendToAttributeValue. |
| |
| * html/parser/HTMLToken.h: |
| (WebCore::HTMLToken::appendToAttributeValue): Added, |
| (WebCore::HTMLToken::HTMLToken::appendToAttributeValue): Deleted. |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB |
| https://bugs.webkit.org/show_bug.cgi?id=140108 |
| |
| Reviewed by Darin Adler. |
| |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| (WebCore::DOMWindowIndexedDatabase::indexedDB): |
| Get the IDBFactoryBackendInterface from the database provider. |
| |
| * page/DatabaseProvider.cpp: |
| (WebCore::DatabaseProvider::idbFactoryBackend): |
| Change this to return a pointer. |
| |
| * page/Page.h: |
| (WebCore::Page::databaseProvider): |
| Add a getter. |
| |
| 2015-01-06 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Another build fix attempt. |
| |
| Reorder function declarations to avoid confusing compiler. Add explicit namespace for |
| out copied functions to avoid attempting to link against bindings version of these files. |
| |
| * plugins/PluginPackage.cpp: |
| (WebCore::makeSource): |
| (WebCore::NPN_Evaluate): |
| (WebCore::NPN_Invoke): |
| (WebCore::PluginPackage::initializeBrowserFuncs): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140112 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::parseSnapCoordinate): |
| (WebCore::StyleBuilderConverter::convertScrollSnapPoints): |
| (WebCore::StyleBuilderConverter::convertSnapCoordinatePair): |
| (WebCore::StyleBuilderConverter::convertScrollSnapCoordinates): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::parseSnapCoordinate): Deleted. |
| (WebCore::StyleResolver::parseSnapCoordinatePair): Deleted. |
| (WebCore::StyleResolver::parseSnapPoints): Deleted. |
| * css/StyleResolver.h: |
| |
| 2015-01-06 Antti Koivisto <antti@apple.com> |
| |
| Resolve mirroring and variant in Font instead of FontGlyphs |
| https://bugs.webkit.org/show_bug.cgi?id=140079 |
| |
| Reviewed by Darin Adler. |
| |
| Make FontGlyphs more focused. It doesn't need to know about resolving variants and mirroring. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::glyphDataForCharacter): |
| * platform/graphics/Font.h: |
| (WebCore::Font::glyphDataForCharacter): Deleted. |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| * platform/graphics/FontGlyphs.h: |
| |
| 2015-01-06 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix Unused parameter warning in Webcore bindings. |
| https://bugs.webkit.org/show_bug.cgi?id=140118 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| remove the Unused parameter from createScriptInstanceForWidget() function |
| |
| No new tests, no behavior changed. |
| |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::createScriptInstanceForWidget): |
| |
| 2015-01-05 Antti Koivisto <antti@apple.com> |
| |
| Font::primaryFontData() should return a reference |
| https://bugs.webkit.org/show_bug.cgi?id=140081 |
| |
| Reviewed by Darin Adler. |
| |
| It is not null. |
| |
| Also rename primaryFont() -> primaryFontData(). |
| |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (AXAttributeStringSetStyle): |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (AXAttributeStringSetStyle): |
| * bindings/objc/DOM.mm: |
| (-[DOMElement _font]): |
| * editing/cocoa/HTMLConverter.mm: |
| (_font): |
| (WebCore::editingAttributedStringFromRange): |
| * editing/ios/EditorIOS.mm: |
| (WebCore::Editor::fontForSelection): |
| (WebCore::Editor::fontAttributesForSelectionStart): |
| * editing/mac/EditorMac.mm: |
| (WebCore::Editor::fontForSelection): |
| (WebCore::Editor::fontAttributesForSelectionStart): |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::fastAverageCharWidthIfAvailable): |
| * platform/graphics/Font.h: |
| (WebCore::Font::fontMetrics): |
| (WebCore::Font::spaceWidth): |
| (WebCore::Font::tabWidth): |
| (WebCore::Font::primaryFontData): |
| (WebCore::Font::primaryFont): Deleted. |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::primaryFontHasGlyphForCharacter): |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::determinePitch): |
| (WebCore::FontGlyphs::glyphDataForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::primaryFontData): |
| (WebCore::FontGlyphs::primarySimpleFontData): |
| * platform/graphics/WidthIterator.cpp: |
| (WebCore::WidthIterator::advanceInternal): |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::advance): |
| (WebCore::ComplexTextController::adjustGlyphsAndAdvances): |
| * platform/graphics/mac/ComplexTextController.h: |
| (WebCore::ComplexTextController::ComplexTextRun::create): |
| (WebCore::ComplexTextController::ComplexTextRun::fontData): |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::primaryFontDataIsSystemFont): |
| * platform/graphics/opentype/OpenTypeMathData.cpp: |
| * platform/graphics/opentype/OpenTypeMathData.h: |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::requiresIdeographicBaseline): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::constructTextRun): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine): |
| (WebCore::RenderBlock::adjustLogicalRightOffsetForLine): |
| (WebCore::constructTextRunInternal): |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::adjustInputElementButtonStyle): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::ascentAndDescentForBox): |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): |
| (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): |
| (WebCore::RenderMathMLOperator::findStretchyData): |
| (WebCore::RenderMathMLOperator::trailingSpaceError): |
| * rendering/mathml/RenderMathMLRadicalOperator.cpp: |
| (WebCore::RenderMathMLRadicalOperator::stretchTo): |
| (WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths): |
| (WebCore::RenderMathMLRadicalOperator::computeLogicalHeight): |
| (WebCore::RenderMathMLRadicalOperator::paint): |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRoot::updateStyle): |
| * rendering/svg/SVGInlineTextBox.cpp: |
| (WebCore::SVGInlineTextBox::constructTextRun): |
| * rendering/svg/SVGTextLayoutEngineSpacing.cpp: |
| (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): |
| * rendering/svg/SVGTextMetrics.cpp: |
| (WebCore::SVGTextMetrics::constructTextRun): |
| (WebCore::SVGTextMetrics::SVGTextMetrics): |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::missingGlyphForFont): |
| (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): |
| |
| 2015-01-06 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140111 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-filter' / '-webkit-backdrop-filter' to the new |
| StyleBuilder. |
| |
| * css/CSSFilterImageValue.cpp: |
| (WebCore::CSSFilterImageValue::createFilterOperations): |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertFilterOperations): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::createFilterOperations): |
| * css/StyleResolver.h: |
| |
| 2015-01-05 Darin Adler <darin@apple.com> |
| |
| Modernize and streamline HTMLToken and AtomicHTMLToken |
| https://bugs.webkit.org/show_bug.cgi?id=140046 |
| |
| Reviewed by Andreas Kling. |
| |
| * editing/MarkupAccumulator.cpp: |
| (WebCore::MarkupAccumulator::appendDocumentType): Added code to properly |
| handle empty strings for systemId and publicId, rather than treating them |
| the same as missing systemId and publicId. |
| |
| * html/parser/AtomicHTMLToken.h: Removed unneeded includes. |
| Moved function bodies out of the class so it's easier to see the contents of |
| the class. Renamed the isAll8BitData function to charactersIsAll8BitData |
| to make it clear that it is correct only for AtomicHTMLToken::characters. |
| Made more things private. Moved the findAttributeInVector function here |
| and renamed it to just findAttribute. Use unsigned instead of int and |
| size_t as appropriate. Changed the constructor that makes a fake one of |
| these to move the Vector of attributes in rather than copying it. |
| |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::insertDoctype): Moved the code to create |
| a string from here into AtomicHTMLToken. |
| (WebCore::HTMLConstructionSite::createElementFromSavedToken): Updated |
| to construct the Vector explicitly because all other call sites pass |
| ownership of the Vector in to the AtomicHTMLToken. |
| |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::pumpTokenizer): Check for an uninitialized |
| token without using a special function just for this purpose. |
| (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto. |
| |
| * html/parser/HTMLParserIdioms.h: Removed the version of |
| stripLeadingAndTrailingHTMLSpaces that takes a character vector. Instead |
| the caller can make a string. Later we might want this to work with |
| a StringView, or a StringView/String combination. |
| |
| * html/parser/HTMLPreloadScanner.cpp: |
| (WebCore::TokenPreloadScanner::scan): Updated to not use HTMLToken::data. |
| (WebCore::TokenPreloadScanner::updatePredictedBaseURL): Updated to not use |
| HTMLToken::getAttributeItem and to not require a special overload of the |
| stripLeadingAndTrailingHTMLSpaces function. |
| |
| * html/parser/HTMLSourceTracker.cpp: |
| (WebCore::HTMLSourceTracker::end): Updated to call the token-ending |
| function by its new name, setEndOffset. |
| (WebCore::HTMLSourceTracker::sourceForToken): Updated since we no |
| longer have a startIndex function that already returns 0. Instead just |
| call length. Also use unsigned instead of size_t. |
| |
| * html/parser/HTMLStackItem.h: |
| (WebCore::HTMLStackItem::getAttributeItem): Updated for name change. |
| |
| * html/parser/HTMLToken.h: Removed the many unneeded includes, |
| including the self-include! Turned DoctypeData into a normal struct |
| without m_ prefixes on its member names. Turned HTMLToken::Attribute and |
| HTMLToken::Attribute::Range into normal structs. Moved function |
| bodies out of the class so it's easier to see the contents of |
| the class. Removed a few now-unneeded functions. |
| |
| * html/parser/HTMLTokenizer.cpp: Removed the AtomicHTMLToken function |
| members that used to be here. None are needed any more; they are now all |
| just inlined at the call site. If we need any non-inline functions, then |
| we sould probably create an AtomicHTMLToken.cpp file instead. |
| (WebCore::HTMLTokenizer::processEntity): Use the new bufferASCIICharacter |
| function in all the cases where we know a character is ASCII to cut down |
| on the amount of 8-bit checking we have to do. |
| (WebCore::HTMLTokenizer::nextToken): Ditto. |
| |
| * html/parser/HTMLTokenizer.h: Added a new bufferASCIICharacter function |
| so we don't have to do 8-bit checks on so many characters as we buffer |
| them. Also removed the call to ensureIsCharacterToken, since appendToCharacter |
| now does that. Also deleted overloads of bufferCharacter so we remember to |
| call bufferASCIICharacter instead. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer): |
| Updated for change in AtomicHTMLToken function names. |
| (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto. |
| (WebCore::hasAttribute): Added. |
| (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Use hasAtttribute. |
| |
| * html/parser/TextDocumentParser.cpp: |
| (WebCore::TextDocumentParser::insertFakePreElement): Move the attributes in |
| rather than copying them in. |
| |
| * html/parser/XSSAuditor.cpp: |
| (WebCore::XSSAuditor::filterCharacterToken): Use clear so we don't have to |
| have an eraseCharacters function. Use a local variable to avoid overloading |
| ambiguity. |
| (WebCore::XSSAuditor::decodedSnippetForAttribute): Fixed a typo and the types |
| of some local variables. |
| |
| 2015-01-05 Darin Adler <darin@apple.com> |
| |
| Revert mistake in yesterday's HTMLDocumentParser refactor. |
| https://bugs.webkit.org/show_bug.cgi?id=140041 |
| |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass the parser content policy |
| from the parserContentPolicy function, not the raw policy that was passed in. This |
| restores the behavior from before r177883. |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| Using calc() for -webkit-filter does not work |
| https://bugs.webkit.org/show_bug.cgi?id=140106 |
| |
| Reviewed by Darin Adler. |
| |
| Using calc() for -webkit-filter did not work because the CSS parser did |
| not handle it properly. This patch addresses the issue. |
| |
| Test: fast/css/webkit-filter-calc.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseBuiltinFilterArguments): |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| Allow HTTPS + 'Cache-control: no-cache' pages into the page cache |
| https://bugs.webkit.org/show_bug.cgi?id=139251 |
| |
| Reviewed by Darin Adler. |
| |
| Allow HTTPS + 'Cache-control: no-cache' pages into the page cache as |
| IE10+ and Google Chrome do, and as allowed by RFC2616 & newer RFC7234 |
| (both RFCs distinguish history mechanisms and caches). |
| |
| Pages over HTTPs using 'Cache-control: no-store' still don't go into |
| the page cache for now. |
| |
| Test: http/tests/navigation/https-in-page-cache.html |
| |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::PageCache::canCachePageContainingThisFrame): |
| * platform/FeatureCounterKeys.h: |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| Using calc() in repeat() for -webkit-grid-template-rows does not work |
| https://bugs.webkit.org/show_bug.cgi?id=140094 |
| |
| Reviewed by Darin Adler. |
| |
| Using calc() in repeat() for -webkit-grid-template-rows was not working |
| because the CSS parser was not handling this case properly. This patch |
| addresses the issue. |
| |
| Test: fast/css-grid-layout/grid-repeat-calc.html |
| |
| * css/CSSCalculationValue.h: |
| (WebCore::CSSCalcValue::isPositive): |
| Add isPositive() method as it is needed by |
| CSSParser::validateCalculationUnit(). |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validateCalculationUnit): |
| Add support for FPositiveInteger, similarly to what was done in |
| validateUnit(). This would cause us to consider calc(1 + 1) as invalid |
| if a FPositiveInteger was requested. |
| |
| (WebCore::CSSParser::parseGridTrackRepeatFunction): |
| Do not access fValue directly and call parsedDouble() instead as it |
| correctly handles calculation values. |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| calc() cannot be used in steps() for -webkit-animation-timing-function |
| https://bugs.webkit.org/show_bug.cgi?id=140091 |
| |
| Reviewed by Darin Adler. |
| |
| calc() could not be used in steps() for -webkit-animation-timing-function |
| CSS property because the CSS parser did not handle this case properly. |
| This patch addresses the issue. |
| |
| Test: fast/css/animation-steps-calculated-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseAnimationTimingFunction): |
| |
| 2015-01-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] One more build fix for r177937. |
| |
| * plugins/PluginPackage.cpp: Provide forward declaration for local NPN_Evaluate |
| implementation to avoid linker error. |
| |
| 2015-01-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r177937. |
| |
| Add the missing #include and namespace declarations to get a clean build. |
| |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::JSWebGLRenderingContext::getAttachedShaders): |
| * plugins/PluginPackage.cpp: |
| (WebCore::getListFromVariantArgs): |
| (WebCore::NPN_Invoke): |
| (WebCore::makeSource): |
| (WebCore::NPN_Evaluate): |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Remove PluginViewNone.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=140107 |
| |
| Reviewed by Andreas Kling. |
| |
| * CMakeLists.txt: |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * PlatformWin.cmake: |
| * WebCore.xcodeproj/project.pbxproj: |
| * plugins/PluginViewNone.cpp: Removed. |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Stop including PluginView.h from cross platform WebCore code |
| https://bugs.webkit.org/show_bug.cgi?id=140105 |
| |
| Reviewed by Andreas Kling. |
| |
| Instead, include PluginViewBase.h. This will allow us to move the old plug-in implementation to WebKit. |
| |
| * bindings/js/ScriptController.cpp: |
| * bridge/NP_jsobject.cpp: |
| (_NPN_Evaluate): |
| * inspector/PageScriptDebugServer.cpp: |
| (WebCore::PageScriptDebugServer::setJavaScriptPaused): |
| * loader/FrameLoaderClient.h: |
| * page/Page.cpp: |
| * plugins/PluginViewBase.h: |
| (WebCore::PluginViewBase::setJavaScriptPaused): |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Introduce a per-page database provider class |
| https://bugs.webkit.org/show_bug.cgi?id=140102 |
| |
| Reviewed by Sam Weinig. |
| |
| This class will replace DatabaseStrategy and allow for different providers per page. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/DatabaseProvider.cpp: Added. |
| (WebCore::DatabaseProvider::~DatabaseProvider): |
| (WebCore::DatabaseProvider::idbFactoryBackend): |
| * page/DatabaseProvider.h: Added. |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| * page/PageConfiguration.cpp: |
| * page/PageConfiguration.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Add copies of NPN_Evaluate and NPN_Invoke on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=140103 |
| |
| Reviewed by Andreas Kling. |
| |
| While this is unfortunate, it will allow us to get rid of PluginView.h and PluginViewNone.cpp |
| from the cross platform WebCore code and then move the plug-in code to WebKit/win (which is the only client of this plug-in implementation). |
| |
| * plugins/PluginPackage.cpp: |
| (WebCore::NPN_Invoke): |
| (WebCore::NPN_Evaluate): |
| (WebCore::PluginPackage::initializeBrowserFuncs): |
| |
| 2015-01-05 Andreas Kling <akling@apple.com> |
| |
| Purge PassRefPtr from Page. |
| <https://webkit.org/b/140089> |
| |
| Reviewed by Anders Carlsson. |
| |
| Use Ref or RefPtr instead of PassRefPtr as appropriate in WebCore::Page. |
| |
| * page/Page.cpp: |
| (WebCore::Page::rangeOfString): |
| (WebCore::Page::setSessionStorage): |
| * page/Page.h: |
| * page/mac/PageMac.cpp: |
| (WebCore::Page::addSchedulePair): |
| (WebCore::Page::removeSchedulePair): |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r163928): Animated images are not resumed on window resizing |
| https://bugs.webkit.org/show_bug.cgi?id=139714 |
| <rdar://problem/18855285> |
| |
| Reviewed by Darin Adler. |
| |
| After r163928, animated images were not resumed if they became visible |
| after resizing the window. This patch calls resumes animated images if |
| necessary in FrameView::setFrameRect() to handle this case properly. |
| |
| Tests: fast/images/animated-gif-window-resizing.html |
| fast/images/animated-gif-zooming.html |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::setFrameRect): |
| |
| 2015-01-01 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: pass parameters to inspector instrumentation by reference where possible |
| https://bugs.webkit.org/show_bug.cgi?id=139981 |
| |
| Reviewed by Andreas Kling. |
| |
| Clean up inspector instrumentation entry points throughout WebCore. In particular, make |
| parameters pass-by-reference if they are not nullable. Also standardize quirky parameter |
| orders and do other small cleanups in InspectorInstrumentation and at callsites. |
| |
| Inspector agents still take the pertinent parameters by pointer even when they could be |
| passed by reference. This will be addressed in a follow-up change. |
| |
| No new tests, no behavior changed. |
| |
| * WebCore.exp.in: |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::evaluateInWorld): |
| * css/PropertySetCSSStyleDeclaration.cpp: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::matchesFocusPseudoClass): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::styleForElement): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::elementIsActive): |
| (WebCore::SelectorCompiler::elementIsActiveForStyleResolution): |
| (WebCore::SelectorCompiler::elementIsHovered): |
| (WebCore::SelectorCompiler::elementIsHoveredForStyleResolution): |
| * dom/CharacterData.cpp: |
| (WebCore::CharacterData::dispatchModifiedEvent): Remove unnecessary ENABLE guard. |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::insertBefore): |
| (WebCore::ContainerNode::replaceChild): |
| (WebCore::ContainerNode::removeBetween): |
| (WebCore::ContainerNode::appendChild): |
| (WebCore::dispatchChildRemovalEvents): |
| * dom/ContainerNodeAlgorithms.h: |
| (WebCore::ChildNodeInsertionNotifier::notify): Remove unnecessary ENABLE guard. |
| * dom/Document.cpp: |
| (WebCore::Document::scheduleStyleRecalc): |
| (WebCore::Document::recalcStyle): |
| (WebCore::Document::finishedParsing): This is safe because we checked the argument. |
| * dom/Element.cpp: |
| (WebCore::Element::addShadowRoot): |
| (WebCore::Element::removeShadowRoot): This is safe because we checked the argument. |
| (WebCore::Element::willModifyAttribute): Remove unnecessary ENABLE guard. |
| (WebCore::Element::didAddAttribute): |
| (WebCore::Element::didModifyAttribute): |
| (WebCore::Element::didRemoveAttribute): |
| * dom/EventTarget.cpp: |
| (WebCore::EventTarget::fireEventListeners): This is safe because the type test would fail if null. |
| * dom/NamedFlowCollection.cpp: Pass by reference since code already assumes non-null. |
| (WebCore::NamedFlowCollection::ensureFlowWithName): |
| (WebCore::NamedFlowCollection::discardNamedFlow): |
| * dom/PseudoElement.cpp: |
| (WebCore::PseudoElement::~PseudoElement): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::styleAttributeChanged): |
| (WebCore::StyledElement::inlineStyleChanged): |
| * inspector/InspectorConsoleInstrumentation.h: |
| (WebCore::InspectorInstrumentation::addMessageToConsole): |
| (WebCore::InspectorInstrumentation::consoleCount): |
| (WebCore::InspectorInstrumentation::startConsoleTiming): |
| (WebCore::InspectorInstrumentation::stopConsoleTiming): |
| (WebCore::InspectorInstrumentation::consoleTimeStamp): |
| (WebCore::InspectorInstrumentation::startProfiling): |
| (WebCore::InspectorInstrumentation::stopProfiling): |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::didClearWindowObjectInWorld): |
| (WebCore::InspectorController::connectFrontend): |
| (WebCore::InspectorController::disconnectFrontend): |
| * inspector/InspectorController.h: Remove instrumentationForPage() in favor of using instrumentingAgentsForPage() directly. |
| * inspector/InspectorDatabaseInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didOpenDatabase): |
| * inspector/InspectorInstrumentation.cpp: Add missing s_ prefix for global s_instrumentingAgentSets. Pass the instrumenting |
| agent by reference since it was already null-checked if we reached a slow path for instrumentation. |
| (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): |
| (WebCore::InspectorInstrumentation::isDebuggerPausedImpl): |
| (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): |
| (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl): |
| (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl): |
| (WebCore::InspectorInstrumentation::frameWindowDiscardedImpl): |
| (WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl): |
| (WebCore::InspectorInstrumentation::didPushShadowRootImpl): |
| (WebCore::InspectorInstrumentation::willPopShadowRootImpl): |
| (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): |
| (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): |
| (WebCore::InspectorInstrumentation::didChangeRegionOversetImpl): |
| (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl): |
| (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl): |
| (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl): |
| (WebCore::InspectorInstrumentation::didScrollImpl): |
| (WebCore::InspectorInstrumentation::handleTouchEventImpl): |
| (WebCore::InspectorInstrumentation::handleMousePressImpl): |
| (WebCore::InspectorInstrumentation::forcePseudoStateImpl): |
| (WebCore::InspectorInstrumentation::characterDataModifiedImpl): |
| (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl): |
| (WebCore::InspectorInstrumentation::didInstallTimerImpl): |
| (WebCore::InspectorInstrumentation::didRemoveTimerImpl): |
| (WebCore::InspectorInstrumentation::willCallFunctionImpl): |
| (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): |
| (WebCore::InspectorInstrumentation::willDispatchEventImpl): |
| (WebCore::InspectorInstrumentation::willHandleEventImpl): |
| (WebCore::InspectorInstrumentation::didHandleEventImpl): Add proper cookie guard and pass by reference. |
| (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl): |
| (WebCore::InspectorInstrumentation::willEvaluateScriptImpl): |
| (WebCore::InspectorInstrumentation::didEvaluateScriptImpl): |
| (WebCore::InspectorInstrumentation::scriptsEnabledImpl): |
| (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Removed, as there are no callers from WebCore. Possible V8 artifact. |
| (WebCore::InspectorInstrumentation::willFireTimerImpl): |
| (WebCore::InspectorInstrumentation::didFireTimerImpl): Add proper cookie guard and pass by reference. |
| (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl): |
| (WebCore::InspectorInstrumentation::willLayoutImpl): |
| (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): |
| (WebCore::InspectorInstrumentation::willPaintImpl): |
| (WebCore::InspectorInstrumentation::didPaintImpl): |
| (WebCore::InspectorInstrumentation::willScrollLayerImpl): |
| (WebCore::InspectorInstrumentation::didScrollLayerImpl): |
| (WebCore::InspectorInstrumentation::willRecalculateStyleImpl): |
| (WebCore::InspectorInstrumentation::didRecalculateStyleImpl): Add proper cookie guard and pass by reference. |
| (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl): |
| (WebCore::InspectorInstrumentation::applyEmulatedMediaImpl): Pass string by reference. |
| (WebCore::InspectorInstrumentation::willSendRequestImpl): |
| (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl): |
| (WebCore::InspectorInstrumentation::markResourceAsCachedImpl): |
| (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): |
| (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): Add proper cookie guard and pass by reference. |
| (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): |
| (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl): |
| (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl): |
| (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl): |
| (WebCore::InspectorInstrumentation::didReceiveDataImpl): |
| (WebCore::InspectorInstrumentation::didFinishLoadingImpl): |
| (WebCore::InspectorInstrumentation::didFailLoadingImpl): |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): |
| (WebCore::InspectorInstrumentation::willLoadXHRImpl): |
| (WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): |
| (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl): |
| (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl): |
| (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): |
| (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): |
| (WebCore::InspectorInstrumentation::scriptImportedImpl): |
| (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl): |
| (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl): |
| (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Use Frame::isMainFrame(). |
| (WebCore::InspectorInstrumentation::loadEventFiredImpl): Use Frame::isMainFrame(). |
| (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): |
| (WebCore::InspectorInstrumentation::didCommitLoadImpl): |
| (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl): |
| (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl): |
| (WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl): |
| (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl): Use a range-based iterator. |
| (WebCore::InspectorInstrumentation::willWriteHTMLImpl): |
| (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): |
| (WebCore::InspectorInstrumentation::consoleCountImpl): |
| (WebCore::InspectorInstrumentation::startConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): |
| (WebCore::InspectorInstrumentation::consoleTimeStampImpl): |
| (WebCore::InspectorInstrumentation::startProfilingImpl): |
| (WebCore::InspectorInstrumentation::stopProfilingImpl): |
| (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): |
| (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl): |
| (WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl): |
| (WebCore::InspectorInstrumentation::willEvaluateWorkerScript): |
| (WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl): |
| (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): |
| (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): |
| (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl): |
| (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl): |
| (WebCore::InspectorInstrumentation::sessionCreatedImpl): |
| (WebCore::InspectorInstrumentation::sessionLoadedImpl): |
| (WebCore::InspectorInstrumentation::sessionModifiedImpl): |
| (WebCore::InspectorInstrumentation::segmentCreatedImpl): |
| (WebCore::InspectorInstrumentation::segmentCompletedImpl): |
| (WebCore::InspectorInstrumentation::segmentLoadedImpl): |
| (WebCore::InspectorInstrumentation::segmentUnloadedImpl): |
| (WebCore::InspectorInstrumentation::captureStartedImpl): |
| (WebCore::InspectorInstrumentation::captureStoppedImpl): |
| (WebCore::InspectorInstrumentation::playbackStartedImpl): |
| (WebCore::InspectorInstrumentation::playbackPausedImpl): |
| (WebCore::InspectorInstrumentation::playbackHitPositionImpl): |
| (WebCore::InspectorInstrumentation::playbackFinishedImpl): |
| (WebCore::InspectorInstrumentation::networkStateChangedImpl): |
| (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): |
| (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): |
| (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent): |
| (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl): |
| (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl): |
| (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl): |
| (WebCore::InspectorInstrumentation::registerInstrumentingAgents): |
| (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents): |
| (WebCore::InspectorInstrumentation::retrieveTimelineAgent): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Add by-reference version which contains the logic from instrumentationForPage(). |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext): |
| (WebCore::InspectorInstrumentation::layerTreeDidChangeImpl): |
| (WebCore::InspectorInstrumentation::renderLayerDestroyedImpl): |
| (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl): |
| (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Deleted. |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld): |
| (WebCore::InspectorInstrumentation::isDebuggerPaused): |
| (WebCore::InspectorInstrumentation::willInsertDOMNode): |
| (WebCore::InspectorInstrumentation::didInsertDOMNode): |
| (WebCore::InspectorInstrumentation::willRemoveDOMNode): |
| (WebCore::InspectorInstrumentation::didRemoveDOMNode): |
| (WebCore::InspectorInstrumentation::willModifyDOMAttr): |
| (WebCore::InspectorInstrumentation::didModifyDOMAttr): |
| (WebCore::InspectorInstrumentation::didRemoveDOMAttr): |
| (WebCore::InspectorInstrumentation::didInvalidateStyleAttr): |
| (WebCore::InspectorInstrumentation::frameWindowDiscarded): |
| (WebCore::InspectorInstrumentation::mediaQueryResultChanged): |
| (WebCore::InspectorInstrumentation::didPushShadowRoot): |
| (WebCore::InspectorInstrumentation::willPopShadowRoot): |
| (WebCore::InspectorInstrumentation::didCreateNamedFlow): |
| (WebCore::InspectorInstrumentation::willRemoveNamedFlow): |
| (WebCore::InspectorInstrumentation::didChangeRegionOverset): |
| (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement): |
| (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement): |
| (WebCore::InspectorInstrumentation::mouseDidMoveOverElement): |
| (WebCore::InspectorInstrumentation::handleTouchEvent): |
| (WebCore::InspectorInstrumentation::handleMousePress): Take Frame by reference instead of Page by pointer. |
| (WebCore::InspectorInstrumentation::forcePseudoState): |
| (WebCore::InspectorInstrumentation::characterDataModified): |
| (WebCore::InspectorInstrumentation::willSendXMLHttpRequest): |
| (WebCore::InspectorInstrumentation::didScheduleResourceRequest): |
| (WebCore::InspectorInstrumentation::didInstallTimer): |
| (WebCore::InspectorInstrumentation::didRemoveTimer): |
| (WebCore::InspectorInstrumentation::willCallFunction): |
| (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): |
| (WebCore::InspectorInstrumentation::willDispatchEvent): |
| (WebCore::InspectorInstrumentation::willHandleEvent): Pass a const event reference. |
| (WebCore::InspectorInstrumentation::willDispatchEventOnWindow): |
| (WebCore::InspectorInstrumentation::willEvaluateScript): |
| (WebCore::InspectorInstrumentation::didEvaluateScript): |
| (WebCore::InspectorInstrumentation::scriptsEnabled): |
| (WebCore::InspectorInstrumentation::willFireTimer): |
| (WebCore::InspectorInstrumentation::didInvalidateLayout): |
| (WebCore::InspectorInstrumentation::willLayout): |
| (WebCore::InspectorInstrumentation::didScroll): |
| (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): |
| (WebCore::InspectorInstrumentation::willPaint): |
| (WebCore::InspectorInstrumentation::didPaint): |
| (WebCore::InspectorInstrumentation::willScrollLayer): |
| (WebCore::InspectorInstrumentation::didScrollLayer): |
| (WebCore::InspectorInstrumentation::willRecalculateStyle): |
| (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation): |
| (WebCore::InspectorInstrumentation::applyEmulatedMedia): Pass string by reference. |
| (WebCore::InspectorInstrumentation::willSendRequest): |
| (WebCore::InspectorInstrumentation::continueAfterPingLoader): |
| (WebCore::InspectorInstrumentation::markResourceAsCached): |
| (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): |
| (WebCore::InspectorInstrumentation::willReceiveResourceData): |
| (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
| (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied): |
| (WebCore::InspectorInstrumentation::continueWithPolicyDownload): |
| (WebCore::InspectorInstrumentation::continueWithPolicyIgnore): |
| (WebCore::InspectorInstrumentation::didReceiveData): |
| (WebCore::InspectorInstrumentation::didFinishLoading): |
| (WebCore::InspectorInstrumentation::didFailLoading): |
| (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): No need to go through |
| ScriptExecutionContext interface, as it's always a Document. |
| (WebCore::InspectorInstrumentation::willLoadXHR): |
| (WebCore::InspectorInstrumentation::didFailXHRLoading): |
| (WebCore::InspectorInstrumentation::didFinishXHRLoading): |
| (WebCore::InspectorInstrumentation::didReceiveXHRResponse): |
| (WebCore::InspectorInstrumentation::willLoadXHRSynchronously): |
| (WebCore::InspectorInstrumentation::didLoadXHRSynchronously): |
| (WebCore::InspectorInstrumentation::scriptImported): |
| (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP): |
| (WebCore::InspectorInstrumentation::didReceiveScriptResponse): |
| (WebCore::InspectorInstrumentation::domContentLoadedEventFired): |
| (WebCore::InspectorInstrumentation::loadEventFired): |
| (WebCore::InspectorInstrumentation::frameDetachedFromParent): |
| (WebCore::InspectorInstrumentation::didCommitLoad): |
| (WebCore::InspectorInstrumentation::frameDocumentUpdated): |
| (WebCore::InspectorInstrumentation::loaderDetachedFromFrame): |
| (WebCore::InspectorInstrumentation::willRunJavaScriptDialog): |
| (WebCore::InspectorInstrumentation::willDestroyCachedResource): |
| (WebCore::InspectorInstrumentation::willWriteHTML): |
| (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent): |
| (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart): |
| (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope): |
| (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated): |
| (WebCore::InspectorInstrumentation::didCreateWebSocket): |
| (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): |
| (WebCore::InspectorInstrumentation::didCloseWebSocket): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame): |
| (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError): |
| (WebCore::InspectorInstrumentation::didSendWebSocketFrame): |
| (WebCore::InspectorInstrumentation::sessionCreated): |
| (WebCore::InspectorInstrumentation::sessionLoaded): |
| (WebCore::InspectorInstrumentation::sessionModified): |
| (WebCore::InspectorInstrumentation::segmentCreated): |
| (WebCore::InspectorInstrumentation::segmentCompleted): |
| (WebCore::InspectorInstrumentation::segmentLoaded): |
| (WebCore::InspectorInstrumentation::segmentUnloaded): |
| (WebCore::InspectorInstrumentation::captureStarted): |
| (WebCore::InspectorInstrumentation::captureStopped): |
| (WebCore::InspectorInstrumentation::playbackStarted): |
| (WebCore::InspectorInstrumentation::playbackPaused): |
| (WebCore::InspectorInstrumentation::playbackFinished): |
| (WebCore::InspectorInstrumentation::playbackHitPosition): |
| (WebCore::InspectorInstrumentation::networkStateChanged): |
| (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): |
| (WebCore::InspectorInstrumentation::didRequestAnimationFrame): |
| (WebCore::InspectorInstrumentation::didCancelAnimationFrame): |
| (WebCore::InspectorInstrumentation::willFireAnimationFrame): |
| (WebCore::InspectorInstrumentation::layerTreeDidChange): |
| (WebCore::InspectorInstrumentation::renderLayerDestroyed): |
| (WebCore::InspectorInstrumentation::pseudoElementDestroyed): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame): |
| (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument): |
| (WebCore::InspectorInstrumentation::didCreateIsolatedContext): Deleted. |
| * inspector/InspectorInstrumentationCookie.cpp: Take a reference, use default RefPtr constructor. |
| (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie): |
| * inspector/InspectorInstrumentationCookie.h: Fix misplaced ENABLE guard. |
| * inspector/InstrumentingAgents.cpp: |
| (WebCore::instrumentationForPage): Deleted. |
| (WebCore::instrumentationForWorkerGlobalScope): Deleted. |
| * inspector/InstrumentingAgents.h: |
| * inspector/WorkerInspectorController.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::responseReceived): |
| (WebCore::DocumentLoader::continueAfterContentPolicy): |
| (WebCore::DocumentLoader::detachFromFrame): |
| * loader/DocumentThreadableLoader.cpp: Remove unnecessary ENABLE(INSPECTOR) guards, as these inlined calls |
| are boiled away by the compiler if !ENABLE(INSPECTOR). |
| (WebCore::DocumentThreadableLoader::didReceiveData): |
| (WebCore::DocumentThreadableLoader::didFinishLoading): |
| (WebCore::DocumentThreadableLoader::didFail): |
| (WebCore::DocumentThreadableLoader::preflightFailure): |
| (WebCore::DocumentThreadableLoader::loadRequest): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::detachFromParent): |
| (WebCore::FrameLoader::loadedResourceFromMemoryCache): |
| (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): |
| (WebCore::FrameLoader::dispatchDidCommitLoad): |
| * loader/ResourceLoadScheduler.cpp: |
| (WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest): |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::willSendRequest): Remove unnecessary ENABLE guard. |
| * loader/appcache/ApplicationCacheGroup.cpp: Remove several unnecessary ENABLE guards. |
| (WebCore::ApplicationCacheGroup::didReceiveResponse): |
| (WebCore::ApplicationCacheGroup::didReceiveData): |
| (WebCore::ApplicationCacheGroup::didFinishLoading): |
| (WebCore::ApplicationCacheGroup::didFail): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::deleteIfPossible): |
| * page/Chrome.cpp: |
| (WebCore::Chrome::scroll): |
| (WebCore::Chrome::runBeforeUnloadConfirmPanel): |
| (WebCore::Chrome::runJavaScriptAlert): |
| (WebCore::Chrome::runJavaScriptConfirm): |
| (WebCore::Chrome::runJavaScriptPrompt): |
| (WebCore::Chrome::mouseDidMoveOverElement): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::dispatchLoadEvent): |
| (WebCore::DOMWindow::dispatchEvent): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleMousePressEvent): |
| (WebCore::EventHandler::handleTouchEvent): Add a guard to make it safe to pass event target by-reference. |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::mediaType): |
| (WebCore::FrameView::scheduleRelayout): |
| (WebCore::FrameView::scheduleRelayoutOfSubtree): |
| * page/PageConsoleClient.cpp: |
| (WebCore::PageConsoleClient::addMessage): |
| (WebCore::PageConsoleClient::messageWithTypeAndLevel): |
| (WebCore::PageConsoleClient::count): |
| (WebCore::PageConsoleClient::profile): |
| (WebCore::PageConsoleClient::profileEnd): |
| (WebCore::PageConsoleClient::time): |
| (WebCore::PageConsoleClient::timeEnd): |
| (WebCore::PageConsoleClient::timeStamp): |
| * page/Settings.cpp: |
| (WebCore::Settings::setScriptEnabled): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::scrollTo): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::layerBecameNonComposited): |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement): |
| (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement): |
| (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded): |
| * replay/ReplayController.cpp: |
| (WebCore::ReplayController::switchSession): |
| (WebCore::ReplayController::createSegment): |
| (WebCore::ReplayController::completeSegment): |
| (WebCore::ReplayController::loadSegmentAtIndex): |
| (WebCore::ReplayController::unloadSegment): |
| (WebCore::ReplayController::startCapturing): |
| (WebCore::ReplayController::stopCapturing): |
| (WebCore::ReplayController::startPlayback): |
| (WebCore::ReplayController::pausePlayback): |
| (WebCore::ReplayController::cancelPlayback): |
| (WebCore::ReplayController::willDispatchInput): |
| * testing/Internals.cpp: |
| (WebCore::Internals::consoleMessageArgumentCounts): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::callReadyStateChangeListener): |
| |
| 2015-01-05 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the iOS build. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): |
| |
| 2015-01-05 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of some unnecessary custom StyleBuilder code |
| https://bugs.webkit.org/show_bug.cgi?id=140058 |
| |
| Reviewed by Darin Adler. |
| |
| Get rid of some unnecessary custom StyleBuilder code. The generator is |
| now able to generate this code just fine. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor): |
| (WebCore::StyleBuilderConverter::convertWordSpacing): |
| (WebCore::StyleBuilderConverter::convertPerspective): |
| (WebCore::StyleBuilderConverter::convertMarqueeIncrement): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::convertLineHeight): |
| (WebCore::StyleBuilderCustom::applyValueWebkitMarqueeIncrement): Deleted. |
| (WebCore::StyleBuilderCustom::csstoLengthConversionDataWithTextZoomFactor): Deleted. |
| (WebCore::StyleBuilderCustom::applyValueWordSpacing): Deleted. |
| (WebCore::StyleBuilderCustom::applyValueWebkitPerspective): Deleted. |
| |
| 2014-12-23 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Cannot scroll when a non-scrollable iframe is contained inside a scrollable iframe |
| https://bugs.webkit.org/show_bug.cgi?id=139914 |
| <rdar://problem/18750910> |
| |
| Reviewed by Darin Adler. |
| |
| Tests: platform/mac/fast/scrolling/scroll-nested-iframe.html |
| |
| The latching logic was breaking down when a non-scrollable iframe was the closest target of |
| a wheel event. EventHandler would latch to the enclosing scrollable region (in this case, the |
| non-scrollable iframe) and would eat scroll events, preventing anything from working. |
| |
| The fix is as follows: |
| 1. Modify the logic to understand a stack of latched states, so that we can discared 'invalid' |
| latched states as we discover them. |
| 2. Revise the latching logic so that it understands the case where the 'latched' node for wheel |
| events is in a parent frame of the current wheel event target. For example, when the mouse is over |
| an element in an unscrollable iframe that is contained within a scrollable iframe. We should |
| be latched to the scrollable iframe so events go to the right place. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleWheelEvent): Update to call new 'stack' versions of latch |
| state methods. |
| (WebCore::EventHandler::clearLatchedState): Ditto. |
| (WebCore::EventHandler::defaultWheelEventHandler): Ditto. |
| * page/MainFrame.cpp: Update to store a stack of latched states. Provide methods to control |
| the lifetime of the stack and its elements. |
| (WebCore::MainFrame::MainFrame): |
| (WebCore::MainFrame::latchingState): |
| (WebCore::MainFrame::pushNewLatchingState): |
| (WebCore::MainFrame::resetLatchingState): |
| (WebCore::MainFrame::popLatchingState): |
| * page/MainFrame.h: |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::latchingIsLockedToParentOfThisFrame): Added helper function. |
| (WebCore::EventHandler::platformPrepareForWheelEvents): Update to use new 'stack' style latch |
| methods. Also, if we are latched to a frame that contains the frame we are currently evaluating, |
| don't replace the current event target with the latched targets because (1) they will be processed |
| in the enclosing scope when we leave this routine, and (2) if we do change targets to the latched |
| elements we create an infinite loop. |
| (WebCore::EventHandler::platformCompleteWheelEvent): We want to mark the element as having started |
| at the scroll limit regardless of what the wheel event handler returns as its success state. |
| (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise to handle the new |
| stack-based latching methods. |
| |
| 2015-01-05 Darin Adler <darin@apple.com> |
| |
| Quick follow-up to last check-in, addressing review comments. |
| |
| * html/parser/HTMLStackItem.h: |
| (WebCore::HTMLStackItem::HTMLStackItem): Use rvalue reference for incoming Ref. |
| (WebCore::HTMLStackItem::create): Ditto. |
| |
| 2015-01-05 Darin Adler <darin@apple.com> |
| |
| Modernize and streamline HTMLStackItem |
| https://bugs.webkit.org/show_bug.cgi?id=140056 |
| |
| Reviewed by Anders Carlsson. |
| |
| * html/HTMLHtmlElement.cpp: |
| (WebCore::HTMLHtmlElement::create): Changed to return Ref. |
| * html/HTMLHtmlElement.h: Ditto. |
| |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::hasImpliedEndTag): Update to use reference instead of pointer. |
| (WebCore::causesFosterParenting): Moved here from HTMLStackItem.h. |
| (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): Update |
| for references instead of pointers. |
| (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): Ditto. |
| (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): Ditto. |
| (WebCore::HTMLConstructionSite::insertComment): Ditto. |
| (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertHTMLHeadElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertHTMLBodyElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertHTMLFormElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertHTMLElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertFormattingElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertScriptElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertForeignElement): Ditto. |
| (WebCore::HTMLConstructionSite::insertTextNode): Ditto. |
| (WebCore::HTMLConstructionSite::reparent): Ditto. |
| (WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Ditto. |
| (WebCore::HTMLConstructionSite::takeAllChildren): Ditto. |
| (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Ditto. |
| (WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto. |
| (WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement): Ditto. |
| (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): Ditto. |
| (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Ditto. |
| (WebCore::HTMLConstructionSite::findFosterSite): Ditto. |
| (WebCore::HTMLConstructionSite::shouldFosterParent): Removed unneeded |
| isElementNode check, since causesFosterParenting will return false for a |
| document fragment node. |
| |
| * html/parser/HTMLConstructionSite.h: Updated to use references instead of |
| pointers. Also removed the unneeded currentElementRecord function. |
| |
| * html/parser/HTMLElementStack.cpp: |
| (WebCore::HTMLNames::isRootNode): Updated to use references instead of pointers. |
| (WebCore::HTMLNames::isScopeMarker): Ditto. |
| (WebCore::HTMLNames::isListItemScopeMarker): Ditto. |
| (WebCore::HTMLNames::isTableScopeMarker): Ditto. |
| (WebCore::HTMLNames::isTableBodyScopeMarker): Ditto. |
| (WebCore::HTMLNames::isTableRowScopeMarker): Ditto. |
| (WebCore::HTMLNames::isForeignContentScopeMarker): Ditto. |
| (WebCore::HTMLNames::isButtonScopeMarker): Ditto. |
| (WebCore::HTMLNames::isSelectScopeMarker): Ditto. |
| (WebCore::HTMLElementStack::ElementRecord::replaceElement): Ditto. |
| (WebCore::HTMLElementStack::hasOnlyOneElement): Ditto. |
| (WebCore::HTMLElementStack::popHTMLHeadElement): Ditto. |
| (WebCore::HTMLElementStack::popHTMLBodyElement): Ditto. |
| (WebCore::HTMLElementStack::popAll): Ditto. |
| (WebCore::HTMLElementStack::pop): Ditto. |
| (WebCore::HTMLElementStack::popUntil): Ditto. |
| (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): Ditto. |
| (WebCore::HTMLElementStack::isMathMLTextIntegrationPoint): Ditto. Also removed |
| unneeded isElementNode check. |
| (WebCore::HTMLElementStack::isHTMLIntegrationPoint): Ditto. |
| (WebCore::HTMLElementStack::pushRootNode): Ditto. |
| (WebCore::HTMLElementStack::pushRootNodeCommon): Ditto. |
| (WebCore::HTMLElementStack::pushHTMLHeadElement): Ditto. |
| (WebCore::HTMLElementStack::pushHTMLBodyElement): Ditto. |
| (WebCore::HTMLElementStack::insertAbove): Ditto. |
| (WebCore::HTMLElementStack::topRecord): Ditto. |
| (WebCore::HTMLElementStack::oneBelowTop): Ditto. |
| (WebCore::HTMLElementStack::removeHTMLHeadElement): Ditto. |
| (WebCore::HTMLElementStack::remove): Ditto. |
| (WebCore::HTMLElementStack::find): Ditto. |
| (WebCore::HTMLElementStack::topmost): Ditto. |
| (WebCore::inScopeCommon): Ditto. |
| (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): Ditto. |
| (WebCore::HTMLElementStack::inScope): Ditto. |
| (WebCore::HTMLElementStack::htmlElement): Ditto. |
| (WebCore::HTMLElementStack::headElement): Ditto. |
| (WebCore::HTMLElementStack::bodyElement): Ditto. |
| (WebCore::HTMLElementStack::rootNode): Ditto. |
| (WebCore::HTMLElementStack::popCommon): Ditto. |
| (WebCore::HTMLElementStack::removeNonTopCommon): Ditto. |
| (WebCore::HTMLElementStack::furthestBlockForFormattingElement): Ditto. |
| (WebCore::HTMLElementStack::show): Ditto. |
| |
| * html/parser/HTMLElementStack.h: Use reference instead of pointer. |
| |
| * html/parser/HTMLFormattingElementList.cpp: |
| (WebCore::HTMLFormattingElementList::closestElementInScopeWithName): Update |
| to use references instead of pointer. |
| (WebCore::HTMLFormattingElementList::swapTo): Ditto. |
| (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly): Ditto. |
| (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Ditto. |
| (WebCore::HTMLFormattingElementList::show): Ditto. |
| |
| * html/parser/HTMLFormattingElementList.h: Use reference instead of pointer |
| and a raw pointer instead of a RefPtr. |
| |
| * html/parser/HTMLStackItem.h: Removed unneeded includes. Got rid of "type" |
| concept and simply overload the create functions and constructors for both |
| Element and DOcumentFragment. Renamed isElementNode and isDocumentFragmentNode |
| to remove the "Node" suffix. Removed unused getAttributeItem, hasLocalName, and |
| one of the overloads of matchesHTMLTag. Moved all the policy functions such as |
| causesFosterParenting out of this class into free functions or into other |
| source files. Got rid of m_isDocumentFragmentNode boolean. Moved function |
| bodies out of the class definition. Marked all data members const since they |
| are all initialized in the constructor and never touched again. Restructured |
| the isSpecialNode function to avoid the repeated checks of the namespace. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Use reference instead of |
| pointer and free functions instead of member functions. |
| (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Ditto. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Ditto. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto. |
| (WebCore::HTMLTreeBuilder::constructTree): Ditto. |
| (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto. |
| (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto. |
| (WebCore::HTMLTreeBuilder::closeTheCell): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto. |
| (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto. |
| (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto. |
| (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto. |
| (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Ditto. |
| (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): Ditto. |
| (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto. |
| |
| 2015-01-05 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Crash when font data pointer is null. |
| https://bugs.webkit.org/show_bug.cgi?id=139969 |
| |
| Reviewed by Darin Adler. |
| |
| Added null pointer check. |
| |
| Test: fonts/unicode-character-font-crash.html |
| |
| * platform/graphics/win/UniscribeController.cpp: |
| (WebCore::UniscribeController::advance): |
| (WebCore::UniscribeController::shape): |
| |
| 2015-01-05 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled |
| https://bugs.webkit.org/show_bug.cgi?id=140069 |
| |
| Reviewed by Philippe Normand. |
| |
| If seccomp filters are enabled, any child processes we create are doomed |
| if they try to use a trapped syscall: the child will receive SIGSYS and |
| dump core. There appears to be no way around this. |
| |
| Fortunately, the gstreamer developers had mad prescience and provided |
| us with a way to move plugin scanning in-process, so we don't need the |
| helper binary at all. |
| |
| No new tests because this is covered by existing tests when seccomp |
| filters are enabled. |
| |
| * platform/graphics/gstreamer/GStreamerUtilities.cpp: |
| (WebCore::initializeGStreamer): |
| |
| 2015-01-04 Darin Adler <darin@apple.com> |
| |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::parseXML): |
| Removed an incorrect assertion my last check-in added. |
| |
| 2015-01-04 Darin Adler <darin@apple.com> |
| |
| Modernize and tighten up HTMLDocumentParser |
| https://bugs.webkit.org/show_bug.cgi?id=140041 |
| |
| Reviewed by Sam Weinig. |
| |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::parseHTML): Pass a reference instead of |
| a pointer for the context element. |
| |
| * html/FTPDirectoryDocument.cpp: Removed unneeded includes, made more |
| things in FTPDirectoryDocumentParser private. Use Ref instead of RefPtr |
| in a could places. Initialize in class instead of in constructor. |
| (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser): |
| Less initialization here. |
| (WebCore::FTPDirectoryDocumentParser::createTDForFilename): More Ref here. |
| (WebCore::createTemplateDocumentData): Removed unneeded initialization |
| of RefPtr, which is initialized without explicitly asking for it. |
| (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Reworded |
| comment slightly. |
| |
| * html/parser/HTMLDocumentParser.cpp: Cut down on includes. |
| (WebCore::tokenizerStateForContextElement): Fixed URL. Changed argument |
| to be a reference rather than a pointer. |
| (WebCore::HTMLDocumentParser::inPumpSession): |
| (WebCore::HTMLDocumentParser::shouldDelayEnd): |
| (WebCore::HTMLDocumentParser::HTMLDocumentParser): Marked constructors |
| inline. Updated for data members that are now objects instead of pointers. |
| Removed explicit initialization for scalars that are now initialized in |
| the class definition. |
| (WebCore::HTMLDocumentParser::create): Moved the private creation |
| functions in here, out of the header file. |
| (WebCore::HTMLDocumentParser::~HTMLDocumentParser): Removed unused |
| m_haveBackgroundParser. |
| (WebCore::HTMLDocumentParser::prepareToStopParsing): Updated URL and |
| removed m_haveBackgroundParser reference. |
| (WebCore::HTMLDocumentParser::processingData): Removed a check of |
| m_haveBackgroundParser. |
| (WebCore::HTMLDocumentParser::resumeParsingAfterYield): Tweak comment. |
| (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Added |
| a null check of the result of takeScriptToProcess, since there really |
| is no guarantee it's non-null. |
| (WebCore::HTMLDocumentParser::canTakeNextToken): Removed assertion |
| that was for m_haveBackgroundParser cases only. Rewrapped comment. |
| (WebCore::HTMLDocumentParser::contextForParsingSession): Use nullptr. |
| (WebCore::HTMLDocumentParser::pumpTokenizer): Rework comments, |
| remove assertions that no longer make sense, use auto instead of |
| repeating a long type name, update to use m_token and m_tokenizer. |
| (WebCore::HTMLDocumentParser::hasInsertionPoint): Rewrapped comment. |
| (WebCore::HTMLDocumentParser::insert): Got rid of braces around a |
| single-line if body. |
| (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): |
| Removed comment about incorrect m_haveBackgroundParser assertion. |
| (WebCore::HTMLDocumentParser::isExecutingScript): Use && style instead |
| of early exit for a null check. |
| (WebCore::HTMLDocumentParser::textPosition): Tightened up code a little. |
| (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): Added |
| a Ref to protect the parser, as is already done in every other function |
| that calls pumpTokenizerIfPossible. |
| (WebCore::HTMLDocumentParser::parseDocumentFragment): Take a reference |
| instead of a pointer. Also use auto so we get a Ref instead of a RefPtr. |
| |
| * html/parser/HTMLDocumentParser.h: Removed unneeded includes. |
| Made private inheritance explicit instead of just omitting public. |
| Moved function bodies out of the class, and in some cases, out of the |
| header entirely. Return a reference from tokenizer(). Marked most |
| virtual functions final. Made DocumentFragment version of the |
| constructor private rather than protected. Made the functions |
| suspendScheduledTasks() and resumeScheduledTasks() private, since |
| they are always called through a base class. Removed the private |
| token function since it is better to get at m_token directly. |
| Removed m_haveBackgroundParser, since we don't have that any more |
| and it's always false. Also removed forcePlaintextForTextDocument |
| since the tokenizer is exposed and can be used directly to do that. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Made the parser non-const. |
| It could only be const before because HTMLDocumentParser::tokenizer |
| took a const parser and returned a non-const tokenizer, but that doesn't |
| really make sense. |
| (WebCore::HTMLTreeBuilder::constructTree): Removed null check for |
| tokenizer, which was never null. Updated since tokenizer is a reference. |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTag): Ditto. Also fixed and removed |
| some assertions like the ones I did recently in the rest of this file. |
| (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto. |
| |
| * html/parser/HTMLTreeBuilder.h: Made HTMLDocumentParser& non-const. |
| |
| * html/parser/TextDocumentParser.cpp: Removed unneeded include and |
| unneeded explicit destructor. |
| (WebCore::TextDocumentParser::TextDocumentParser): Updated since |
| treeBuilder() returns a reference now, and set the tokenizer state |
| directly since tokenizer() is exposed. |
| |
| * html/parser/TextDocumentParser.h: Moved initialization of the |
| data member here instead of the constructor. Also removed unneeded |
| explicitly defined destructor. |
| |
| 2015-01-04 Antti Koivisto <antti@apple.com> |
| |
| Remove GlyphPageTree |
| https://bugs.webkit.org/show_bug.cgi?id=140015 |
| |
| Follow-up to follow-up, fonts/font-fallback-prefers-pictographs.html is now failing. |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForNormalVariant): |
| |
| Make the loop again go one past the last fallback index, the pictograph special case depends on it. |
| |
| 2015-01-04 Antti Koivisto <antti@apple.com> |
| |
| Remove GlyphPageTree |
| https://bugs.webkit.org/show_bug.cgi?id=140015 |
| |
| Follow-up to r177876 to fix mathml/opentype/munderover-layout-resize.html which is asserting. |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForNormalVariant): |
| |
| Always return system fallback if no glyph is found. |
| |
| 2015-01-04 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::createAndFillGlyphPage): |
| |
| 2015-01-02 Antti Koivisto <antti@apple.com> |
| |
| Remove GlyphPageTree |
| https://bugs.webkit.org/show_bug.cgi?id=140015 |
| |
| Reviewed by Darin Adler. |
| |
| GlyphPageTree is a global cache consisting of a tree of nodes that match SimpleFontData instances. |
| The tree levels correspond to font fallback lists so that higher levels fill holes (missing glyphs) |
| in the lower levels. This patch replaces it with a simpler and easier to understand caching scheme. |
| In particular the goal is to have clearer ownership relations and better control over mutability. |
| |
| The new scheme looks like this: |
| |
| SimpleFontData instances cache GlyphPages for themselves. These pages are immutable after construction |
| and may contain holes. This is a global cache (since SimpleFontDatas are cached globally) with the same |
| lifetime as the GlyphPageTree used to have. |
| |
| FontGlyphs instances cache resolved GlyphPages for the normal font variant. These are build by traversing |
| the fallback list as necessary and collecting glyphs from SimpleFontDatas. As a common case case optimization |
| the page from the primary font is cached directly as long as it has the requested glyphs. |
| FontGlyphs are shared between sufficiently similar Font instances so this is a shared cache as well. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/FontCache.h: |
| (WebCore::FontDescriptionFontDataCacheKey::makeFlagKey): |
| |
| nonCJKGlyphOrientation matters for glyph selection too and needs to be part of the FontDescription cache key. |
| |
| * platform/graphics/FontData.h: |
| (WebCore::FontData::FontData): |
| (WebCore::FontData::setMaxGlyphPageTreeLevel): Deleted. |
| (WebCore::FontData::maxGlyphPageTreeLevel): Deleted. |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::primaryFontHasGlyphForCharacter): |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::FontGlyphs): |
| (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic): |
| (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation): |
| (WebCore::FontGlyphs::glyphDataForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForNormalCharacter): |
| |
| Traverse the fallback list by using simple index instead of indirectly via GlyphPageTreeNode traversal. |
| |
| (WebCore::pageFromFontData): |
| |
| Fetch a page from the primary font and see if we can use it as-is. |
| Vertical fonts have special glyph selection and can't use this path. |
| |
| (WebCore::FontGlyphs::createFlattenedGlyphPage): |
| |
| Build a hole-free glyph page by pulling characters from the fallback list. |
| |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::primarySimpleFontData): |
| * platform/graphics/GlyphPage.h: |
| (WebCore::GlyphPage::createForMixedFontData): |
| (WebCore::GlyphPage::createCopyForMixedFontData): |
| |
| Add copy version. |
| |
| (WebCore::GlyphPage::createForSingleFontData): |
| |
| Remove owner node field. |
| |
| (WebCore::GlyphPage::~GlyphPage): |
| (WebCore::GlyphPage::count): |
| (WebCore::GlyphPage::GlyphPage): |
| (WebCore::GlyphPage::createCopiedSystemFallbackPage): Deleted. |
| (WebCore::GlyphPage::owner): Deleted. |
| * platform/graphics/GlyphPageTreeNode.cpp: Removed. |
| * platform/graphics/GlyphPageTreeNode.h: Removed. |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::SegmentedFontData): |
| (WebCore::SegmentedFontData::~SegmentedFontData): |
| (WebCore::SegmentedFontData::simpleFontDataForCharacter): |
| |
| Return null when there is no usable range so the client can tell the difference. |
| Rename for clarity. |
| |
| (WebCore::SegmentedFontData::simpleFontDataForFirstRange): |
| |
| Add a way to get the fallback font separately. This is always available. |
| |
| (WebCore::SegmentedFontData::isLoading): |
| (WebCore::SegmentedFontData::fontDataForCharacter): Deleted. |
| * platform/graphics/SegmentedFontData.h: |
| (WebCore::SegmentedFontData::SegmentedFontData): Deleted. |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::initCharWidths): |
| (WebCore::SimpleFontData::platformGlyphInit): |
| (WebCore::SimpleFontData::~SimpleFontData): |
| (WebCore::SimpleFontData::simpleFontDataForCharacter): |
| (WebCore::fillGlyphPage): |
| (WebCore::createAndFillGlyphPage): |
| |
| Move code for initializing glyph pages here. The code is from GlyphPageTreeNode. |
| |
| (WebCore::SimpleFontData::glyphPage): |
| |
| Cache glyphs for this font. These pages may have holes. |
| |
| (WebCore::SimpleFontData::glyphForCharacter): |
| (WebCore::SimpleFontData::glyphDataForCharacter): |
| (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): |
| |
| Since the cache is now owned by the SimpleFontData all the custom pruning can go away. |
| The glyph page cache dies along with it owner. |
| |
| (WebCore::SimpleFontData::fontDataForCharacter): Deleted. |
| * platform/graphics/SimpleFontData.h: |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (-[WebCascadeList objectAtIndex:]): |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::fontDataForCombiningCharacterSequence): |
| * platform/graphics/mac/GlyphPageMac.cpp: Copied from Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp. |
| |
| This was already misnamed. |
| |
| (WebCore::GlyphPage::fill): |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Removed. |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformInit): |
| * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: |
| * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: |
| * platform/graphics/win/SimpleFontDataCGWin.cpp: |
| (WebCore::SimpleFontData::platformInit): |
| * platform/mac/DragImageMac.mm: |
| |
| Add missing FontCachePurgePreventer. |
| |
| (WebCore::createDragImageForLink): |
| * svg/SVGFontData.cpp: |
| (WebCore::SVGFontData::initializeFontData): |
| * svg/SVGFontElement.cpp: |
| |
| 2015-01-04 Anders Carlsson <andersca@apple.com> |
| |
| Remove an unused function |
| https://bugs.webkit.org/show_bug.cgi?id=140055 |
| |
| Reviewed by Sam Weinig. |
| |
| * Modules/webdatabase/DatabaseAuthorizer.cpp: |
| (WebCore::DatabaseAuthorizer::setReadOnly): Deleted. |
| * Modules/webdatabase/DatabaseAuthorizer.h: |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| (WebCore::DatabaseBackendBase::setAuthorizerReadOnly): Deleted. |
| * Modules/webdatabase/DatabaseBackendBase.h: |
| |
| 2015-01-04 Anders Carlsson <andersca@apple.com> |
| |
| Modernize parts of the database code |
| https://bugs.webkit.org/show_bug.cgi?id=140054 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Modules/webdatabase/Database.cpp: |
| (WebCore::Database::runTransaction): |
| * Modules/webdatabase/Database.h: |
| * Modules/webdatabase/SQLStatement.cpp: |
| (WebCore::SQLStatement::SQLStatement): |
| * Modules/webdatabase/SQLStatement.h: |
| * Modules/webdatabase/SQLTransaction.cpp: |
| (WebCore::SQLTransaction::create): |
| (WebCore::SQLTransaction::SQLTransaction): |
| (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): |
| (WebCore::SQLTransaction::executeSQL): |
| * Modules/webdatabase/SQLTransaction.h: |
| (WebCore::SQLTransaction::database): |
| |
| 2015-01-03 Chris Dumez <cdumez@apple.com> |
| |
| Move the CSS Grid properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140051 |
| |
| Reviewed by Sam Weinig. |
| |
| Move the CSS Grid properties from StyleResolver to the new |
| StyleBuilder. |
| |
| This patch adds support for "ConditionalConverter" parameter in |
| CSSPropertyNames.in to support cases where we only want to call the |
| property setter conditionally. The converter function is then expected |
| to return a boolean to indicate if the setter should be called by the |
| StyleBuilder or not. |
| |
| 2015-01-02 Chris Dumez <cdumez@apple.com> |
| |
| Kill the DeprecatedStyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140034 |
| |
| Reviewed by Darin Adler. |
| |
| Move FillLayer properties to the new StyleBuilder and get rid of the |
| DeprecatedStyleBuilder now that all its CSS properties have been ported |
| to the new StyleBuilder. |
| |
| 2015-01-02 Chris Dumez <cdumez@apple.com> |
| |
| Move 'font-size' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140010 |
| |
| Reviewed by Darin Adler. |
| |
| Move 'font-size' CSS property to the new StyleBuilder by using custom |
| code. |
| |
| 2015-01-02 Darin Adler <darin@apple.com> |
| |
| Pass Document instead of ScriptExecutionContext to non-worker constructors |
| https://bugs.webkit.org/show_bug.cgi?id=140040 |
| |
| Reviewed by Sam Weinig. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateConstructorDefinition): |
| Generate code passing the document when ConstructorCallWith=Document is used. |
| Later, we could base this on whether the constructor is exposed to workers |
| or not, instead, but for now this seems a clean way to do it. |
| |
| * bindings/scripts/IDLAttributes.txt: Allow ConstructorCallWith=Document. |
| |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::create): |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/Notification.idl: |
| * dom/Comment.cpp: |
| * dom/Comment.h: |
| * dom/Comment.idl: |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::nodeName): Use ASCIILiteral (just something |
| I noticed in passing). |
| * dom/DocumentFragment.h: |
| * dom/DocumentFragment.idl: |
| * dom/Range.cpp: |
| * dom/Range.h: |
| * dom/Range.idl: |
| * dom/Text.cpp: |
| * dom/Text.h: |
| * dom/Text.idl: |
| Change from ScriptExecutionContext to Document, and remove unneeded |
| overloads that were just casting. It's better to have the bindings |
| layer, which knows these are not ScriptExecutionContext, do the cast |
| than to have create functions that cast that are not in any position |
| to know the cast is safe. |
| |
| 2015-01-02 Darin Adler <darin@apple.com> |
| |
| Re-land the HTMLTreeBuilder change with the assertion fixed. |
| https://bugs.webkit.org/show_bug.cgi?id=140032 |
| |
| Reviewed by Andreas Kling. |
| |
| 2015-01-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177859 and r177861. |
| https://bugs.webkit.org/show_bug.cgi?id=140042 |
| |
| Caused many assertion failures (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "Modernize coding style of HTMLTreeBuilder" |
| https://bugs.webkit.org/show_bug.cgi?id=140032 |
| http://trac.webkit.org/changeset/177859 |
| |
| "Tried to fix the iOS build." |
| http://trac.webkit.org/changeset/177861 |
| |
| 2015-01-02 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the iOS build. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| |
| 2015-01-01 Darin Adler <darin@apple.com> |
| |
| Rework code that hides characters in password fields to streamline a little |
| https://bugs.webkit.org/show_bug.cgi?id=140035 |
| |
| Reviewed by Sam Weinig. |
| |
| * editing/InsertIntoTextNodeCommand.cpp: |
| (WebCore::InsertIntoTextNodeCommand::doApply): Pass the offset after the character |
| we want to reveal instead of the offset before. This is more future proof if we |
| ever want to handling surrogate pairs or combining marks, rather than hard |
| coding the likely incorrect rule of "go back by one code unit". Also got rid of |
| the isSecure check here, since RenderText can do that check inside the |
| momentarilyRevealLastTypedCharacter instead. |
| |
| * rendering/RenderText.cpp: Tweaked the SecureTextTimer class: Marked it final |
| and made it derive from TimerBase privately. Made the constructor explicit and |
| made it take a reference rather than a pointer. Use initialization in the class |
| to set up the variable, and use 0 as the special value instead of -1 since we |
| now store the offset *after* the character to be revealed. |
| (WebCore::secureTextTimers): Use this function and NeverDestroyed rather than |
| a global variable gSecureTextTimers. Also use unique_ptr for the map so we |
| don't have to delete explicitly any more. |
| (WebCore::SecureTextTimer::SecureTextTimer): Moved out of the class definition |
| so the class ia a little easier to read. |
| (WebCore::SecureTextTimer::restart): Renamed since the function name doesn't |
| have to describe its argument; the function is only called in one place. |
| (WebCore::SecureTextTimer::takeOffsetAfterLastTypedCharacter): Changed name |
| and made this a one-shot that always zeroes the offset. |
| (WebCore::SecureTextTimer::fired): Moved out of line and tweaked as above. |
| (WebCore::RenderText::willBeDestroyed): Simplified now that the function |
| secureTextTimers() always returns a map and we can just remove since the |
| values in the map are unique_ptr, so take care of deletion. |
| (WebCore::RenderText::setRenderedText): Tweaked the code that calls secureText |
| to make the iOS case clearer. |
| (WebCore::RenderText::secureText): Rewrote the function. New version no |
| longer relies on a special String::fill function; it's kind of strange that |
| String had a built in concept of replacing a string with one that has the |
| same length but all with a masking character. This new approach is cleaner. |
| I had written a version that handles surrogate pairs and combining marks, |
| but then instead wrote a comment explaining why that's not needed/helpful. |
| (WebCore::RenderText::momentarilyRevealLastTypedCharacter): Added a check so |
| this does nothing if we are not securing the text. Also updated logic so that |
| this doesn't double hash any more and updated for other changes like using |
| a reference instead of a pointer. |
| |
| * rendering/RenderText.h: Removed the unneeded isSecure function and updated |
| the argument name in momentarilyRevealLastTypedCharacter since it's now the |
| offset after the character, not before the character. |
| |
| 2015-01-01 Darin Adler <darin@apple.com> |
| |
| Modernize coding style of HTMLTreeBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140032 |
| |
| Reviewed by Andreas Kling. |
| |
| Changes include: |
| - Use references rather than pointers. |
| - Mark data members const that are fully set up in the constructor. |
| - Remove many unneeded includes and forward declarations. |
| - Fix conditionals to be consistent and correct. |
| - Merge some multi-line constructs into a single line. |
| - Update whatwg.org URLs; not sure we should keep these, though. |
| - Cut down on use of WTF_MAKE_NONCOPYABLE since for many classes it's |
| impossible to copy anyway due to references, or harmless to copy. |
| - Made more things private. |
| - Initialize scalars in the class definition rather than each constructor. |
| - Use Ref/RefPtr instead of PassRefPtr. |
| |
| * html/parser/HTMLDocumentParser.cpp: |
| (WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass reference rather than pointer to |
| the context element. |
| (WebCore::HTMLDocumentParser::detach): Removed call to HTMLTreeBuilder::detach. This work |
| is instead done when the tree builder is destroyed. |
| (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Pass reference rather than pointer. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::uninitializedPositionValue1): Marked this inline because it's trivial. It was |
| probably getting inlined already. |
| (WebCore::isCaptionColOrColgroupTag): Format on a single line. |
| (WebCore::isTableBodyContextTag): Ditto. |
| (WebCore::isNonAnchorFormattingTag): Ditto. |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer): |
| Take reference instead of pointer. |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Use makeString helper. |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Tweak formatting. |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Both of the above. |
| (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::makeString): Added. |
| (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Moved the body of this function here, |
| since it's only used inside the class. |
| (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Ditto. |
| (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Get rid of dead code that handles a null context |
| element. The FIXME mentions a bug that is obsolete. Also reorder the data members to be a bit |
| more logical and set the new m_destructionProhibited to false at the end of the constructor, |
| to check if we accidentally destroy the tree builder while constructing it. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Updated to take |
| a reference and to let m_fragment get initialized in the class definition. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment): Moved this here since it's only |
| used inside the class. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Ditto. |
| (WebCore::HTMLTreeBuilder::takeScriptToProcess): Changed return type to RefPtr instead of |
| PassRefPtr. Added code to handle m_scriptToProcess of null, since reading the code at the |
| single call site makes it clear that it's not guaranteed to be non-null! Added destruction- |
| related assertions since this is a public function. |
| (WebCore::HTMLTreeBuilder::constructTree): Updated for reference rather than pointer. Also |
| added destruction-related assertions since this is a public function. |
| (WebCore::HTMLTreeBuilder::processToken): Updated to take a reference. |
| (WebCore::HTMLTreeBuilder::processDoctypeToken): Ditto. |
| (WebCore::HTMLTreeBuilder::processFakeStartTag): Ditto. Also take an rvalue reference for |
| the vector of attributes that we will put into the token. |
| (WebCore::HTMLTreeBuilder::processFakeEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto. |
| (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Ditto. |
| (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto. |
| (WebCore::isLi): Ditto. |
| (WebCore::isDdOrDt): Ditto. |
| (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Changed loop to use reference |
| rather than pointer for never-null stackItem. Also use auto and a for loop to make the |
| loop easier to read. |
| (WebCore::createCaseMap): Tweaked formatting. |
| (WebCore::adjustAttributes): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInBody): Use reference instead of pointer. |
| Set insertion mode directly instead of using a setInsertionMode function. |
| (WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents): Ditto. |
| (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto. |
| (WebCore::HTMLTreeBuilder::closeTheCell): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Tweaked assertions, so that we |
| assert what state we are in before we fall through to each case, rather than asserting |
| inside each case. The per-case assertions were sort of excessive and repetitive and |
| even a bit hard to understand. |
| (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto. |
| (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto. |
| (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto. |
| (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTagForInTable): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processComment): Ditto. |
| (WebCore::HTMLTreeBuilder::processCharacter): Ditto. |
| (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Ditto. |
| (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto. |
| (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Ditto. |
| (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForInitial): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForBeforeHTML): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForBeforeHead): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForInHead): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForAfterHead): Ditto. |
| (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto. |
| (WebCore::HTMLTreeBuilder::processStartTagForInHead): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto. |
| (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Made this return a reference. |
| (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): More of the same. |
| (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto. |
| (WebCore::HTMLTreeBuilder::finished): Changed m_isAttached assertion to !m_destroyed. |
| Also updated the comment. |
| (WebCore::HTMLTreeBuilder::parseError): Marked this empty function inline. |
| |
| * html/parser/HTMLTreeBuilder.h: Removed most includes and forward declarations. |
| Changed the phone number functions conditional to be correct. Removed a non-helpful |
| FIXME about assertions we really don't need. Removed unneeded use of the inline keyword, |
| changed types to references rather than pointer. Removed unneeded public insertionMode |
| and setInsertionMode functions. Both are things that are only done inside this class and |
| m_insertionMode can be accessed directly instead. Added a destructor that implements |
| the destruction assertions. Asserted !m_destroyed at the start of all the public functions. |
| |
| * html/parser/TextDocumentParser.cpp: |
| (WebCore::TextDocumentParser::insertFakePreElement): Use reference rather than pointer. |
| |
| 2015-01-02 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Grid Layout] Remove stack from grid-auto-flow syntax |
| https://bugs.webkit.org/show_bug.cgi?id=134842 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| "stack" mode for grid-auto-flow property has been removed from the grid |
| layout spec. New syntax is: |
| [ row | column ] || dense |
| |
| Modified parsing in order to adapt it to the new syntax. |
| |
| Also the current behavior relying on "stack" has been updated following |
| the spec. Now it won't be possible to mimic the old "none" (or "stack") |
| unless you specify manually the grid-placement properties. |
| |
| No new tests needed, updated current tests to adapt them to the new |
| behavior. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): Adapt to new syntax. |
| * css/CSSParser.cpp: |
| (WebCore::isValidGridAutoFlowId): Remove "stack" from valid ids. |
| (WebCore::CSSParser::parseGridAutoFlow): Adapt to new syntax. |
| * css/CSSValueKeywords.in: Remove "stack". |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): Adapt to new syntax. |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::placeItemsOnGrid): Remove old "stack" code. |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::GridResolvedPosition::resolveGridPositionsFromStyle): If we |
| cannot resolve positions, we have to run the auto-placement algorithm. |
| * rendering/style/RenderStyle.h: Remove "stack". |
| * rendering/style/RenderStyleConstants.h: Ditto. |
| |
| 2015-01-01 Sam Weinig <sam@webkit.org> |
| |
| Remove GroupSettings |
| https://bugs.webkit.org/show_bug.cgi?id=140037 |
| |
| Reviewed by Dan Bernstein. |
| |
| Nothing sets the values in GroupSettings and nothing uses them. |
| - The indexedDBDatabasePath is accessed and sent to the IndexedDB backend, |
| but the backend then proceeds to not use it. |
| |
| * CMakeLists.txt: |
| * Modules/indexeddb/IDBFactory.cpp: |
| (WebCore::IDBFactory::getDatabaseNames): |
| (WebCore::IDBFactory::deleteDatabase): |
| * Modules/indexeddb/IDBFactoryBackendInterface.cpp: |
| (WebCore::IDBFactoryBackendInterface::create): |
| * Modules/indexeddb/IDBFactoryBackendInterface.h: |
| * Modules/indexeddb/PageGroupIndexedDatabase.cpp: |
| (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase): |
| (WebCore::PageGroupIndexedDatabase::from): |
| (WebCore::PageGroupIndexedDatabase::factoryBackend): |
| * Modules/indexeddb/PageGroupIndexedDatabase.h: |
| * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp: |
| (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase): |
| (WebCore::WorkerGlobalScopeIndexedDatabase::from): |
| (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB): |
| * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/DocumentStyleSheetCollection.cpp: |
| * page/CaptionUserPreferences.cpp: |
| * page/Frame.cpp: |
| * page/GroupSettings.cpp: Removed. |
| * page/GroupSettings.h: Removed. |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::PageGroup): |
| * page/PageGroup.h: |
| (WebCore::PageGroup::groupSettings): Deleted. |
| * platform/DatabaseStrategy.cpp: |
| (WebCore::DatabaseStrategy::createIDBFactoryBackend): |
| * platform/DatabaseStrategy.h: |
| * workers/DedicatedWorkerGlobalScope.cpp: |
| (WebCore::DedicatedWorkerGlobalScope::create): |
| (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope): |
| * workers/DedicatedWorkerGlobalScope.h: |
| * workers/DedicatedWorkerThread.cpp: |
| (WebCore::DedicatedWorkerThread::create): |
| (WebCore::DedicatedWorkerThread::DedicatedWorkerThread): |
| (WebCore::DedicatedWorkerThread::createWorkerGlobalScope): |
| * workers/DedicatedWorkerThread.h: |
| * workers/DefaultSharedWorkerRepository.cpp: |
| (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): |
| (WebCore::SharedWorkerProxy::groupSettings): Deleted. |
| * workers/SharedWorkerGlobalScope.cpp: |
| (WebCore::SharedWorkerGlobalScope::create): |
| (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope): |
| * workers/SharedWorkerGlobalScope.h: |
| * workers/SharedWorkerThread.cpp: |
| (WebCore::SharedWorkerThread::create): |
| (WebCore::SharedWorkerThread::SharedWorkerThread): |
| (WebCore::SharedWorkerThread::createWorkerGlobalScope): |
| * workers/SharedWorkerThread.h: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::WorkerGlobalScope): |
| * workers/WorkerGlobalScope.h: |
| (WebCore::WorkerGlobalScope::groupSettings): Deleted. |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::startWorkerGlobalScope): |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): |
| (WebCore::WorkerThread::WorkerThread): |
| (WebCore::WorkerThread::workerThread): |
| * workers/WorkerThread.h: |
| |
| 2015-01-01 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the iOS build. |
| |
| * page/scrolling/ios/ScrollingTreeIOS.cpp: |
| (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll): |
| |
| 2015-01-01 Darin Adler <darin@apple.com> |
| |
| Fix itearator typo |
| https://bugs.webkit.org/show_bug.cgi?id=140027 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::nextBreakablePosition): Spelling mistake. |
| |
| 2015-01-01 Alexey Proskuryakov <ap@apple.com> |
| |
| Don't dereference end() in SimpleLineLayout::RunResolver::rangeForRenderer |
| https://bugs.webkit.org/show_bug.cgi?id=139951 |
| rdar://problem/19339881 |
| |
| Reviewed by Darin Adler. |
| |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer): |
| |
| 2015-01-01 Chris Dumez <cdumez@apple.com> |
| |
| ASSERT that a null key is never used with FeatureCounter |
| https://bugs.webkit.org/show_bug.cgi?id=140030 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/FeatureCounter.cpp: |
| (WebCore::FeatureCounter::incrementKey): |
| (WebCore::FeatureCounter::setKey): |
| * platform/ios/FeatureCounter.mm: |
| (WebCore::FeatureCounter::incrementKey): |
| (WebCore::FeatureCounter::setKey): |
| |
| 2015-01-01 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Fix memory leak in FeatureCounter |
| https://bugs.webkit.org/show_bug.cgi?id=140029 |
| <rdar://problem/19255690> |
| |
| Reviewed by Darin Adler. |
| |
| Fix memory leak in FeatureCounter. The NSString for the counter key |
| was allocated but never released. The patch switches to using a |
| RetainPtr instead of a raw pointer to avoid the issue. |
| |
| * platform/ios/FeatureCounter.mm: |
| (WebCore::FeatureCounter::incrementKey): |
| (WebCore::FeatureCounter::setKey): |
| |
| 2015-01-01 Jeff Miller <jeffm@apple.com> |
| |
| Update user-visible copyright strings to include 2015 |
| https://bugs.webkit.org/show_bug.cgi?id=139880 |
| |
| Reviewed by Darin Adler. |
| |
| * Info.plist: |
| |
| 2014-12-31 Sam Weinig <sam@webkit.org> |
| |
| Move scrolling code off of WTF::bind |
| https://bugs.webkit.org/show_bug.cgi?id=140019 |
| |
| Reviewed by Darin Adler. |
| |
| * page/scrolling/ThreadedScrollingTree.cpp: |
| (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent): |
| (WebCore::ThreadedScrollingTree::invalidate): |
| (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll): |
| (WebCore::ThreadedScrollingTree::handleWheelEventPhase): |
| (WebCore::derefScrollingCoordinator): Deleted. |
| * page/scrolling/ios/ScrollingTreeIOS.cpp: |
| (WebCore::ScrollingTreeIOS::invalidate): |
| (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll): |
| (WebCore::derefScrollingCoordinator): Deleted. |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::pageDestroyed): |
| (WebCore::ScrollingCoordinatorMac::handleWheelEvent): |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::releaseMemory): |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads): |
| |
| 2015-01-01 Antti Koivisto <antti@apple.com> |
| |
| Remove FontData::containsCharacters |
| https://bugs.webkit.org/show_bug.cgi?id=140026 |
| |
| Reviewed by Dan Bernstein. |
| |
| This virtual function has no clients. |
| |
| * platform/graphics/FontData.h: |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::containsCharacter): Deleted. |
| (WebCore::SegmentedFontData::containsCharacters): Deleted. |
| * platform/graphics/SegmentedFontData.h: |
| * platform/graphics/SimpleFontData.h: |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: |
| (WebCore::SimpleFontData::containsCharacters): Deleted. |
| * platform/graphics/ios/SimpleFontDataIOS.mm: |
| (WebCore::SimpleFontData::containsCharacters): Deleted. |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::containsCharacters): Deleted. |
| * platform/graphics/win/SimpleFontDataWin.cpp: |
| (WebCore::SimpleFontData::containsCharacters): Deleted. |
| |
| 2015-01-01 Darin Adler <darin@apple.com> |
| |
| We often misspell identifier as "identifer" |
| https://bugs.webkit.org/show_bug.cgi?id=140025 |
| |
| Reviewed by Michael Saboff. |
| |
| * html/MediaFragmentURIParser.cpp: |
| (WebCore::MediaFragmentURIParser::parseNPTFragment): |
| * html/parser/AtomicHTMLToken.h: |
| * html/parser/HTMLToken.h: |
| * html/shadow/SliderThumbElement.h: |
| * platform/graphics/ISOVTTCue.cpp: |
| (WebCore::ISOWebVTTCue::ISOWebVTTCue): |
| * platform/graphics/ISOVTTCue.h: |
| (WebCore::ISOWebVTTCue::id): |
| Fix mispellings. |
| |
| 2015-01-01 Zalan Bujtas <zalan@apple.com> |
| |
| Saturated arithmetics: Incorrect float/double clamping. |
| https://bugs.webkit.org/show_bug.cgi?id=139888 |
| rdar://problem/19330885 |
| |
| Reviewed by Simon Fraser. |
| |
| Clamp float and double values correctly when applying saturated arithmetics. |
| |
| Test: LayoutUnit test for float overflow. |
| |
| * platform/LayoutUnit.h: |
| (WebCore::LayoutUnit::LayoutUnit): |
| |
| 2014-12-31 Dan Bernstein <mitz@apple.com> |
| |
| Fixed the iOS build. |
| |
| * page/scrolling/ios/ScrollingCoordinatorIOS.mm: |
| (WebCore::ScrollingCoordinatorIOS::commitTreeState): |
| |
| 2014-12-31 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177835. |
| |
| * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: |
| (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics): |
| * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: |
| |
| 2014-12-31 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176476. |
| https://bugs.webkit.org/show_bug.cgi?id=140021 |
| |
| Sadly, this didn't reduce media test crashiness (Requested by |
| ap on #webkit). |
| |
| Reverted changeset: |
| |
| "[Mac] Random crashes inside media libraries when creating |
| then destroying media quickly." |
| https://bugs.webkit.org/show_bug.cgi?id=138980 |
| http://trac.webkit.org/changeset/176476 |
| |
| 2014-12-31 Sam Weinig <sam@webkit.org> |
| |
| Remove the remaining uses of OwnPtr from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=140017 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebCore.exp.in: |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator): |
| * page/scrolling/AsyncScrollingCoordinator.h: |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::commit): |
| (WebCore::ScrollingStateTree::create): Deleted. |
| * page/scrolling/ScrollingStateTree.h: |
| * page/scrolling/ScrollingTree.cpp: |
| (WebCore::ScrollingTree::commitNewTreeState): |
| * page/scrolling/ScrollingTree.h: |
| * page/scrolling/ThreadedScrollingTree.cpp: |
| (WebCore::ThreadedScrollingTree::commitNewTreeState): |
| * page/scrolling/ThreadedScrollingTree.h: |
| * page/scrolling/ios/ScrollingTreeIOS.cpp: |
| (WebCore::ScrollingTreeIOS::commitNewTreeState): |
| * page/scrolling/ios/ScrollingTreeIOS.h: |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::commitTreeState): |
| |
| 2014-12-31 Dan Bernstein <mitz@apple.com> |
| |
| Don’t use AccessibilityAllInOne when building with Xcode |
| https://bugs.webkit.org/show_bug.cgi?id=139974 |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp |
| to the WebCore target, and removed AccessibilityAllInOne.cpp from the project. |
| |
| 2014-12-30 Chris Dumez <cdumez@apple.com> |
| |
| Move font-related CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140008 |
| |
| Reviewed by Darin Adler. |
| |
| Move font-related CSS properties to the new StyleBuilder |
| by teaching makeprop.pl how to generate them. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyFont::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyFont::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyFont::applyValue): Deleted. |
| (WebCore::ApplyPropertyFont::createHandler): Deleted. |
| * css/makeprop.pl: |
| (generateInitialValueSetter): |
| (generateInheritValueSetter): |
| (generateValueSetter): |
| * platform/graphics/FontDescription.h: |
| (WebCore::FontDescription::initialItalic): |
| (WebCore::FontDescription::initialSmallCaps): |
| (WebCore::FontDescription::initialKerning): |
| (WebCore::FontDescription::initialFontSmoothing): |
| (WebCore::FontDescription::initialTextRenderingMode): |
| |
| 2014-12-30 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=140007 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-font-variant-ligature' CSS property to the new StyleBuilder |
| by using custom code. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Deleted. |
| (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialWebkitFontVariantLigatures): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitFontVariantLigatures): |
| (WebCore::StyleBuilderCustom::applyValueWebkitFontVariantLigatures): |
| |
| 2014-12-29 Chris Dumez <cdumez@apple.com> |
| |
| Move animation / transition CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139999 |
| |
| Reviewed by Darin Adler. |
| |
| Move animation / transition CSS properties to the new StyleBuilder by |
| teaching makeprop.pl how to generate them. |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Remove more dead code |
| https://bugs.webkit.org/show_bug.cgi?id=139998 |
| |
| Reviewed by Oliver Hunt. |
| |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::localStorage): Deleted. |
| (WebCore::PageGroup::transientLocalStorage): Deleted. |
| * page/PageGroup.h: |
| (WebCore::PageGroup::hasLocalStorage): Deleted. |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Remove unneeded StorageNamespace functions |
| https://bugs.webkit.org/show_bug.cgi?id=139997 |
| |
| Reviewed by Sam Weinig. |
| |
| * loader/EmptyClients.cpp: |
| * storage/StorageNamespace.h: |
| (WebCore::StorageNamespace::closeIdleLocalStorageDatabases): Deleted. |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of some PageGroup storage functions |
| https://bugs.webkit.org/show_bug.cgi?id=139996 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::closeLocalStorage): Deleted. |
| (WebCore::PageGroup::clearLocalStorageForAllOrigins): Deleted. |
| (WebCore::PageGroup::clearLocalStorageForOrigin): Deleted. |
| (WebCore::PageGroup::closeIdleLocalStorageDatabases): Deleted. |
| (WebCore::PageGroup::syncLocalStorage): Deleted. |
| * page/PageGroup.h: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Move storage code from WebCore to WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=139558 |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/MemoryPressureHandler.cpp: |
| |
| 2014-12-29 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Rewrite MediaSource implementation |
| https://bugs.webkit.org/show_bug.cgi?id=139441 |
| |
| Reviewed by Philippe Normand. |
| |
| This now is a clean reimplementation around appsrc that works good |
| enough for YouTube (except for seeking), but it still does not |
| implement the complete API correctly. Further work is required on |
| top of this and the Bugzilla ticket linked above contains some |
| further work in the right direction. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::doSeek): |
| (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress): |
| (WebCore::MediaPlayerPrivateGStreamer::sourceChanged): |
| (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (WebCore::MediaPlayerPrivateGStreamer::totalVideoFrames): |
| (WebCore::MediaPlayerPrivateGStreamer::droppedVideoFrames): |
| (WebCore::MediaPlayerPrivateGStreamer::corruptedVideoFrames): |
| (WebCore::MediaPlayerPrivateGStreamer::totalFrameDelay): |
| (WebCore::MediaPlayerPrivateGStreamer::isMediaSource): |
| * platform/graphics/gstreamer/MediaSourceGStreamer.cpp: |
| (WebCore::MediaSourceGStreamer::MediaSourceGStreamer): |
| (WebCore::MediaSourceGStreamer::addSourceBuffer): |
| (WebCore::MediaSourceGStreamer::durationChanged): |
| (WebCore::MediaSourceGStreamer::markEndOfStream): |
| (WebCore::MediaSourceGStreamer::unmarkEndOfStream): |
| (WebCore::MediaSourceGStreamer::readyState): |
| (WebCore::MediaSourceGStreamer::setReadyState): |
| (WebCore::MediaSourceGStreamer::waitForSeekCompleted): |
| (WebCore::MediaSourceGStreamer::seekCompleted): |
| * platform/graphics/gstreamer/MediaSourceGStreamer.h: |
| * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: |
| (WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer): |
| (WebCore::SourceBufferPrivateGStreamer::~SourceBufferPrivateGStreamer): |
| (WebCore::SourceBufferPrivateGStreamer::setClient): |
| (WebCore::SourceBufferPrivateGStreamer::append): |
| (WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource): |
| (WebCore::SourceBufferPrivateGStreamer::readyState): |
| (WebCore::SourceBufferPrivateGStreamer::setReadyState): |
| (WebCore::SourceBufferPrivateGStreamer::flushAndEnqueueNonDisplayingSamples): |
| (WebCore::SourceBufferPrivateGStreamer::enqueueSample): |
| (WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples): |
| (WebCore::SourceBufferPrivateGStreamer::setActive): |
| (WebCore::SourceBufferPrivateGStreamer::stopAskingForMoreSamples): |
| (WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples): |
| * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: |
| * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: |
| (webkit_media_src_class_init): |
| (webkit_media_src_init): |
| (webKitMediaSrcFinalize): |
| (webKitMediaSrcSetProperty): |
| (webKitMediaSrcGetProperty): |
| (webKitMediaSrcDoAsyncStart): |
| (webKitMediaSrcDoAsyncDone): |
| (webKitMediaSrcChangeState): |
| (webKitMediaSrcQueryWithParent): |
| (webKitMediaSrcGetUri): |
| (webKitMediaSrcSetUri): |
| (WebCore::MediaSourceClientGStreamer::MediaSourceClientGStreamer): |
| (WebCore::MediaSourceClientGStreamer::~MediaSourceClientGStreamer): |
| (WebCore::MediaSourceClientGStreamer::addSourceBuffer): |
| (WebCore::MediaSourceClientGStreamer::durationChanged): |
| (WebCore::MediaSourceClientGStreamer::append): |
| (WebCore::MediaSourceClientGStreamer::markEndOfStream): |
| (WebCore::MediaSourceClientGStreamer::removedFromMediaSource): |
| (WTF::adoptGRef): |
| (WTF::refGPtr<WebKitMediaSrc>): |
| (WTF::derefGPtr<WebKitMediaSrc>): |
| (webKitMediaSrcAddSrc): Deleted. |
| (webKitMediaVideoSrcStop): Deleted. |
| (webKitMediaAudioSrcStop): Deleted. |
| (webKitMediaVideoSrcStart): Deleted. |
| (webKitMediaAudioSrcStart): Deleted. |
| (webKitMediaVideoSrcNeedDataMainCb): Deleted. |
| (webKitMediaAudioSrcNeedDataMainCb): Deleted. |
| (webKitMediaVideoSrcNeedDataCb): Deleted. |
| (webKitMediaAudioSrcNeedDataCb): Deleted. |
| (webKitMediaVideoSrcEnoughDataMainCb): Deleted. |
| (webKitMediaAudioSrcEnoughDataMainCb): Deleted. |
| (webKitMediaVideoSrcEnoughDataCb): Deleted. |
| (webKitMediaAudioSrcEnoughDataCb): Deleted. |
| (webKitMediaVideoSrcSeekMainCb): Deleted. |
| (webKitMediaAudioSrcSeekMainCb): Deleted. |
| (webKitMediaVideoSrcSeekDataCb): Deleted. |
| (webKitMediaAudioSrcSeekDataCb): Deleted. |
| (webKitMediaSrcSetMediaPlayer): Deleted. |
| (webKitMediaSrcSetPlayBin): Deleted. |
| (MediaSourceClientGstreamer::MediaSourceClientGstreamer): Deleted. |
| (MediaSourceClientGstreamer::~MediaSourceClientGstreamer): Deleted. |
| (MediaSourceClientGstreamer::didReceiveDuration): Deleted. |
| (MediaSourceClientGstreamer::didReceiveData): Deleted. |
| (MediaSourceClientGstreamer::didFinishLoading): Deleted. |
| (MediaSourceClientGstreamer::didFail): Deleted. |
| * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h: |
| Rewrite MediaSource implementation for GStreamer. The old code was |
| overly complicated and did not work at all for anything I've tested |
| it with. |
| |
| 2014-12-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, additional build fix on win port since r177786. |
| |
| * platform/graphics/opengl/Extensions3DOpenGLES.h: Change a constructor from *protected* to *public*. |
| |
| 2014-12-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, speculative build fix on win port since r177786. |
| |
| Apply std::unique_ptr<> and std::make_unique<> to win files as well. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
| (WebCore::GraphicsContext3D::getExtensions): |
| * platform/graphics/win/GraphicsContextWin.cpp: |
| (WebCore::GraphicsContext::createWindowsBitmap): |
| |
| 2014-12-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Convert OwnPtr to std::unique_ptr in WebCore/graphics/ |
| https://bugs.webkit.org/show_bug.cgi?id=139971 |
| |
| Reviewed by Darin Adler. |
| |
| Use std::unique_ptr<> and std::make_unique<> instead of OwnPtr. |
| |
| * platform/graphics/GlyphMetricsMap.h: |
| (WebCore::GlyphMetricsMap<T>::locatePageSlowCase): |
| * platform/graphics/GlyphPageTreeNode.cpp: |
| (WebCore::GlyphPageTreeNode::getChild): |
| (WebCore::GlyphPageTreeNode::pruneCustomFontData): |
| (WebCore::GlyphPageTreeNode::pruneFontData): |
| * platform/graphics/GlyphPageTreeNode.h: |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/GraphicsContext3D.h: |
| * platform/graphics/GraphicsContext3DPrivate.h: |
| * platform/graphics/GraphicsLayer.h: |
| * platform/graphics/MaskImageOperation.h: |
| * platform/graphics/ca/LayerPool.h: |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/ca/TileCoverageMap.h: |
| * platform/graphics/ca/mac/WebTiledBackingLayer.h: |
| * platform/graphics/gpu/DrawingBuffer.h: |
| * platform/graphics/gpu/Texture.cpp: |
| (WebCore::Texture::Texture): |
| (WebCore::Texture::create): |
| * platform/graphics/gpu/Texture.h: |
| * platform/graphics/opengl/Extensions3DOpenGL.h: |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::getExtensions): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::compileShader): |
| (WebCore::GraphicsContext3D::mappedSymbolName): |
| * platform/graphics/wayland/WaylandDisplay.cpp: |
| (WebCore::WaylandDisplay::createSharingGLContext): |
| * platform/graphics/wayland/WaylandDisplay.h: |
| * platform/graphics/wayland/WaylandSurface.cpp: |
| (WebCore::WaylandSurface::createGLContext): |
| * platform/graphics/wayland/WaylandSurface.h: |
| |
| 2014-12-28 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| Reverted r177781, because it appears to trigger <http://webkit.org/b/139609> on iOS. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-12-28 Roland Takacs <rtakacs.u-szeged@partner.samsung.com> |
| |
| Set relayoutChildren to 'true' only if size change happens in Table |
| https://bugs.webkit.org/show_bug.cgi?id=139676 |
| |
| Reviewed by Darin Adler. |
| |
| Pass 'true' value for layoutPositionedObjects() in case of size change. |
| It helps to avoid unneccessary setChildNeedsLayout() and |
| setPreferredLogicalWidthsDirty() calls. |
| |
| This is a backport of my fix in Blink: https://codereview.chromium.org/714933002/ |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::layout): |
| |
| 2014-12-28 Dan Bernstein <mitz@apple.com> |
| |
| Don’t use AccessibilityAllInOne when building with Xcode |
| https://bugs.webkit.org/show_bug.cgi?id=139974 |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.xcodeproj/project.pbxproj: Added all files included by AccessibilityAllInOne.cpp |
| to the WebCore target, and removed AccessibilityAllInOne.cpp from the project. |
| |
| 2014-12-26 Andreas Kling <akling@apple.com> |
| |
| Purge PassRefPtr from Element and ElementRareData. |
| <https://webkit.org/b/139949> |
| |
| Reviewed by Anders Carlsson. |
| |
| Make functions that used to take PassRefPtr now take Ref&& or RefPtr&& |
| instead depending on possible nullity of incoming values. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::addShadowRoot): |
| (WebCore::Element::setBeforePseudoElement): |
| (WebCore::Element::setAfterPseudoElement): |
| * dom/Element.h: |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::setShadowRoot): |
| (WebCore::ElementRareData::setBeforePseudoElement): |
| (WebCore::ElementRareData::setAfterPseudoElement): |
| * dom/PseudoElement.h: |
| * dom/ShadowRoot.h: |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::setBeforeOrAfterPseudoElement): |
| (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): |
| |
| 2014-12-26 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain |
| https://bugs.webkit.org/show_bug.cgi?id=139950 |
| |
| Reviewed by David Kilzer. |
| |
| * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so |
| in a manner that works with Xcode 5.1.1. |
| |
| 2014-12-25 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Allow strings as argument to :lang() |
| https://bugs.webkit.org/show_bug.cgi?id=139678 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Allow strings as argument to :lang()[1]. The selector with empty string argument (e.g. :lang("")) |
| is handled as never matching. |
| |
| [1] http://www.w3.org/blog/CSS/2014/12/11/minutes-telecon-231/ |
| |
| Test: fast/css/css-lang-selector-with-string-arguments-text.html |
| fast/selectors/lang-extended-filtering-with-string-arguments.html |
| |
| * css/CSSGrammar.y.in: |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::matchesLangPseudoClass): |
| |
| 2014-12-25 Andreas Kling <akling@apple.com> |
| |
| DOM exception creator functions should return Ref. |
| <https://webkit.org/b/139947> |
| |
| Reviewed by Chris Dumez. |
| |
| Tweak all the FooException::create() to return Ref instead of |
| PassRefPtr since construction always succeeds. |
| |
| Also add a toJS() overload for ImplType& to keep bindings building. |
| |
| * Modules/indexeddb/IDBDatabaseException.h: |
| (WebCore::IDBDatabaseException::create): |
| * Modules/webdatabase/SQLException.h: |
| (WebCore::SQLException::create): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| * dom/DOMCoreException.h: |
| (WebCore::DOMCoreException::create): |
| * dom/EventException.h: |
| (WebCore::EventException::create): |
| * dom/RangeException.h: |
| (WebCore::RangeException::create): |
| * fileapi/FileException.h: |
| (WebCore::FileException::create): |
| * svg/SVGException.h: |
| (WebCore::SVGException::create): |
| * xml/XMLHttpRequestException.h: |
| (WebCore::XMLHttpRequestException::create): |
| * xml/XPathException.h: |
| (WebCore::XPathException::create): |
| |
| 2014-12-25 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, fix build break on win debug build since r177737. |
| |
| Partial revert some code in r177737 because it causes build error on win debug buildbot. |
| |
| * dom/ElementIteratorAssertions.h: |
| (WebCore::ElementIteratorAssertions::ElementIteratorAssertions): |
| |
| 2014-12-25 Dan Bernstein <mitz@apple.com> |
| |
| Give extract-localizable-strings an option to treat warnings as errors |
| https://bugs.webkit.org/show_bug.cgi?id=139943 |
| |
| Reviewed by Darin Adler. |
| |
| Add a --treat-warnings-as-errors option, which makes the script emit its warnings as errors |
| and exit with a non-0 return code if it emitted any warnings. |
| |
| * extract-localizable-strings.pl: |
| Added $treatWarningsAsErrors variable, set to true if the option is passed in. |
| |
| (emitWarning): Added. If $treatWarningsAsErrors is true, omits the "warning: " token from |
| the message, which makes it appear as an error in Xcode, and sets $sawError to 1. |
| |
| Replaced all print statements that printed warnings with calls to emitWarning. |
| |
| 2014-12-25 Dan Bernstein <mitz@apple.com> |
| |
| Bring the state of WEBCORE_EXPORT annotations closer to what the exports file specifies. |
| https://bugs.webkit.org/show_bug.cgi?id=136172 |
| |
| Reviewed by Darin Adler. |
| |
| * bridge/NP_jsobject.cpp: Give functions from npruntime_impl.h defined in this file default |
| using a compiler pragma, in lieu of introducing WebCore-specific macros into that header. |
| * bridge/npruntime.cpp: Ditto. |
| |
| * platform/mac/WebCoreSystemInterface.mm: Similarly for WebCoreSystemInterface.h. |
| |
| Added or removed WEBCORE_EXPORT in these files as necessary to match what is currently in |
| the exports file: |
| |
| * Modules/mediasource/SourceBuffer.h: |
| * bindings/js/JSDOMBinding.h: |
| * css/CSSComputedStyleDeclaration.h: |
| * dom/ContainerNode.h: |
| * dom/Document.h: |
| * dom/MouseEvent.h: |
| * dom/Range.h: |
| * dom/SecurityContext.h: |
| * editing/Editor.h: |
| * editing/mac/DictionaryLookup.h: |
| * loader/FrameLoaderClient.h: |
| * loader/LoaderStrategy.h: |
| * loader/icon/IconDatabaseBase.h: |
| * page/ChromeClient.h: |
| * page/EventHandler.h: |
| * page/FrameSnapshotting.h: |
| * page/Page.h: |
| * page/PageOverlay.h: |
| * page/PageOverlayController.h: |
| * page/TextIndicator.h: |
| * page/UserContentController.h: |
| * page/WheelEventDeltaTracker.h: |
| * page/mac/TextIndicatorWindow.h: |
| * platform/DatabaseStrategy.h: |
| * platform/ScrollableArea.h: |
| * platform/SuddenTermination.h: |
| * platform/URL.h: |
| * platform/animation/Animation.h: |
| * platform/cocoa/MachSendRight.h: |
| * platform/graphics/FloatRoundedRect.h: |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/GraphicsLayer.h: |
| * platform/graphics/Path.h: |
| * platform/graphics/TextRun.h: |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/cocoa/IOSurface.h: |
| * platform/graphics/mac/ColorMac.h: |
| * platform/mac/SoftLinking.h: |
| * platform/mac/WebCoreNSStringExtras.h: |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.h: |
| * platform/network/BlobRegistry.h: |
| * platform/network/ResourceRequestBase.h: |
| * platform/network/ResourceResponseBase.h: |
| * rendering/HitTestResult.h: |
| * rendering/RenderInline.h: |
| * rendering/RenderLayerBacking.h: |
| * rendering/RenderLayerCompositor.cpp: |
| * rendering/RenderView.h: |
| * storage/StorageNamespaceImpl.h: |
| * storage/StorageNamespaceProvider.h: |
| * testing/Internals.h: |
| |
| 2014-12-25 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| |
| Reviewed by Gavin Barraclough and Alexey Proskuryakov. |
| |
| Log better using FeatureCounter why PageCache is failing due to pruned |
| resources. In particular, we now distinguish if the resource was pruned |
| due to: |
| - Memory pressure |
| - Page cache capacity reached |
| - WebProcess suspended (WK2) |
| |
| * WebCore.exp.in: |
| * history/HistoryItem.cpp: |
| (WebCore::HistoryItem::HistoryItem): |
| * history/HistoryItem.h: |
| * history/PageCache.cpp: |
| (WebCore::PageCache::pruneToCapacityNow): |
| (WebCore::PageCache::setCapacity): |
| (WebCore::pruningReasonToFeatureCounterKey): |
| (WebCore::PageCache::add): |
| (WebCore::PageCache::take): |
| (WebCore::PageCache::get): |
| (WebCore::PageCache::prune): |
| * history/PageCache.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| * platform/FeatureCounterKeys.h: |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::releaseCriticalMemory): |
| |
| 2014-12-25 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr<> in WebCore/dom, plugin, and graphics |
| https://bugs.webkit.org/show_bug.cgi?id=139938 |
| |
| Reviewed by Darin Adler. |
| |
| Replace OwnPtr with std::unique_ptr<> and std::make_unique<>. |
| |
| * dom/ElementIteratorAssertions.h: |
| (WebCore::ElementIteratorAssertions::ElementIteratorAssertions): |
| * dom/MutationObserverRegistration.cpp: |
| (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach): |
| (WebCore::MutationObserverRegistration::clearTransientRegistrations): |
| * dom/MutationObserverRegistration.h: |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::rebuildPresentationAttributeStyle): |
| * platform/graphics/SimpleFontData.h: |
| (WebCore::SimpleFontData::boundsForGlyph): |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| * plugins/PluginStream.cpp: |
| (WebCore::PluginStream::didReceiveData): |
| * plugins/PluginStream.h: |
| |
| 2014-12-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177712 and r177717. |
| https://bugs.webkit.org/show_bug.cgi?id=139944 |
| |
| Caused flaky assertion failures (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "[iOS] Log better using FeatureCounter why PageCache is |
| failing due to pruned resources" |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| http://trac.webkit.org/changeset/177712 |
| |
| "Unreviewed, fix build warning after r177712" |
| http://trac.webkit.org/changeset/177717 |
| |
| 2014-12-25 Andreas Kling <akling@apple.com> |
| |
| Rebaseline bindings tests after r177733. |
| |
| * bindings/scripts/test/JS/JSTestCallback.h: |
| (WebCore::JSTestCallback::create): |
| |
| 2014-12-24 Andreas Kling <akling@apple.com> |
| |
| Convert more creator functions to return Ref instead of PassRefPtr. |
| <https://webkit.org/b/139939> |
| |
| Reviewed by Darin Adler. |
| |
| Convert a slew of functions to return Ref<T> instead of PassRefPtr<T> |
| where the result is guaranteed to never be null. |
| |
| * Modules/geolocation/Coordinates.h: |
| (WebCore::Coordinates::create): |
| (WebCore::Coordinates::isolatedCopy): |
| * Modules/plugins/QuickTimePluginReplacement.mm: |
| (WebCore::QuickTimePluginReplacement::isolatedWorld): |
| * Modules/webaudio/AnalyserNode.h: |
| (WebCore::AnalyserNode::create): |
| * Modules/webaudio/AudioBuffer.cpp: |
| (WebCore::AudioBuffer::create): |
| (WebCore::AudioBuffer::createFromAudioFileData): |
| * Modules/webaudio/AudioBuffer.h: |
| * Modules/webaudio/AudioBufferSourceNode.cpp: |
| (WebCore::AudioBufferSourceNode::create): |
| * Modules/webaudio/AudioBufferSourceNode.h: |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::create): |
| * Modules/webaudio/AudioContext.h: |
| * Modules/webaudio/AudioListener.h: |
| (WebCore::AudioListener::create): |
| * Modules/webaudio/AudioParam.h: |
| (WebCore::AudioParam::create): |
| * Modules/webaudio/BiquadFilterNode.h: |
| (WebCore::BiquadFilterNode::create): |
| * Modules/webaudio/ConvolverNode.h: |
| (WebCore::ConvolverNode::create): |
| * Modules/webaudio/DelayNode.h: |
| (WebCore::DelayNode::create): |
| * Modules/webaudio/DynamicsCompressorNode.h: |
| (WebCore::DynamicsCompressorNode::create): |
| * Modules/webdatabase/ChangeVersionWrapper.h: |
| (WebCore::ChangeVersionWrapper::create): |
| * Modules/webdatabase/DatabaseAuthorizer.cpp: |
| (WebCore::DatabaseAuthorizer::create): |
| * Modules/webdatabase/DatabaseAuthorizer.h: |
| * Modules/webdatabase/DatabaseThread.h: |
| (WebCore::DatabaseThread::create): |
| * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::createFromRenderer): |
| (WebCore::createFromNode): |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::create): |
| * accessibility/AccessibilityARIAGrid.h: |
| * accessibility/AccessibilityARIAGridCell.cpp: |
| (WebCore::AccessibilityARIAGridCell::create): |
| * accessibility/AccessibilityARIAGridCell.h: |
| * accessibility/AccessibilityARIAGridRow.cpp: |
| (WebCore::AccessibilityARIAGridRow::create): |
| * accessibility/AccessibilityARIAGridRow.h: |
| * accessibility/AccessibilityImageMapLink.cpp: |
| (WebCore::AccessibilityImageMapLink::create): |
| * accessibility/AccessibilityImageMapLink.h: |
| * accessibility/AccessibilityList.cpp: |
| (WebCore::AccessibilityList::create): |
| * accessibility/AccessibilityList.h: |
| * accessibility/AccessibilityListBox.cpp: |
| (WebCore::AccessibilityListBox::create): |
| * accessibility/AccessibilityListBox.h: |
| * accessibility/AccessibilityListBoxOption.cpp: |
| (WebCore::AccessibilityListBoxOption::create): |
| * accessibility/AccessibilityListBoxOption.h: |
| * accessibility/AccessibilityMediaControls.cpp: |
| (WebCore::AccessibilityMediaControl::create): |
| (WebCore::AccessibilityMediaControlsContainer::create): |
| (WebCore::AccessibilityMediaTimeline::create): |
| (WebCore::AccessibilityMediaTimeDisplay::create): |
| * accessibility/AccessibilityMediaControls.h: |
| * accessibility/AccessibilityMenuList.cpp: |
| (WebCore::AccessibilityMenuList::create): |
| * accessibility/AccessibilityMenuList.h: |
| * accessibility/AccessibilityMenuListOption.h: |
| * accessibility/AccessibilityMenuListPopup.h: |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::create): |
| * accessibility/AccessibilityNodeObject.h: |
| * accessibility/AccessibilityProgressIndicator.cpp: |
| (WebCore::AccessibilityProgressIndicator::create): |
| * accessibility/AccessibilityProgressIndicator.h: |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::create): |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/AccessibilitySVGRoot.cpp: |
| (WebCore::AccessibilitySVGRoot::create): |
| * accessibility/AccessibilitySVGRoot.h: |
| * accessibility/AccessibilityScrollView.cpp: |
| (WebCore::AccessibilityScrollView::create): |
| * accessibility/AccessibilityScrollView.h: |
| * accessibility/AccessibilityScrollbar.cpp: |
| (WebCore::AccessibilityScrollbar::create): |
| * accessibility/AccessibilityScrollbar.h: |
| * accessibility/AccessibilitySearchFieldButtons.cpp: |
| (WebCore::AccessibilitySearchFieldCancelButton::create): |
| * accessibility/AccessibilitySearchFieldButtons.h: |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySlider::create): |
| (WebCore::AccessibilitySliderThumb::create): |
| * accessibility/AccessibilitySlider.h: |
| * accessibility/AccessibilitySpinButton.cpp: |
| (WebCore::AccessibilitySpinButton::create): |
| (WebCore::AccessibilitySpinButtonPart::create): |
| * accessibility/AccessibilitySpinButton.h: |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::create): |
| * accessibility/AccessibilityTable.h: |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::create): |
| * accessibility/AccessibilityTableCell.h: |
| * accessibility/AccessibilityTableColumn.cpp: |
| (WebCore::AccessibilityTableColumn::create): |
| * accessibility/AccessibilityTableColumn.h: |
| * accessibility/AccessibilityTableHeaderContainer.cpp: |
| (WebCore::AccessibilityTableHeaderContainer::create): |
| * accessibility/AccessibilityTableHeaderContainer.h: |
| * accessibility/AccessibilityTableRow.cpp: |
| (WebCore::AccessibilityTableRow::create): |
| * accessibility/AccessibilityTableRow.h: |
| * bindings/js/CachedScriptSourceProvider.h: |
| (WebCore::CachedScriptSourceProvider::create): |
| * bindings/js/DOMWrapperWorld.h: |
| (WebCore::DOMWrapperWorld::create): |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneDeserializer::getJSValue): |
| * bindings/objc/DOMCustomXPathNSResolver.h: |
| (WebCore::DOMCustomXPathNSResolver::create): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateCallbackHeader): |
| * bridge/c/c_instance.h: |
| (JSC::Bindings::CInstance::create): |
| * crypto/CryptoKeyPair.h: |
| (WebCore::CryptoKeyPair::create): |
| * crypto/keys/CryptoKeyAES.h: |
| * crypto/keys/CryptoKeyHMAC.h: |
| * crypto/keys/CryptoKeyRSA.h: |
| * crypto/mac/CryptoKeyRSAMac.cpp: |
| (WebCore::CryptoKeyRSA::generatePair): |
| * css/DOMWindowCSS.cpp: |
| (WebCore::DOMWindowCSS::create): |
| * css/DOMWindowCSS.h: |
| * css/DashboardRegion.h: |
| (WebCore::DashboardRegion::create): |
| * css/FontLoader.h: |
| * dom/DOMError.h: |
| (WebCore::DOMError::create): |
| * dom/DOMStringList.h: |
| (WebCore::DOMStringList::create): |
| * dom/DataTransfer.cpp: |
| (WebCore::DataTransfer::createForCopyAndPaste): |
| (WebCore::DataTransfer::createForDragAndDrop): |
| * dom/DataTransfer.h: |
| * dom/DeviceMotionData.cpp: |
| (WebCore::DeviceMotionData::Acceleration::create): |
| (WebCore::DeviceMotionData::RotationRate::create): |
| (WebCore::DeviceMotionData::create): |
| * dom/DeviceMotionData.h: |
| * dom/DeviceOrientationData.cpp: |
| (WebCore::DeviceOrientationData::create): |
| * dom/DeviceOrientationData.h: |
| * dom/DocumentMarker.cpp: |
| (WebCore::DocumentMarkerDescription::create): |
| * editing/AlternativeTextController.cpp: |
| (WebCore::AutocorrectionAlternativeDetails::create): |
| (WebCore::DictationAlternativeDetails::create): |
| * editing/AlternativeTextController.h: |
| (WebCore::DictationMarkerDetails::create): |
| * editing/AppendNodeCommand.h: |
| (WebCore::AppendNodeCommand::create): |
| * editing/ApplyStyleCommand.h: |
| (WebCore::ApplyStyleCommand::create): |
| * editing/BreakBlockquoteCommand.h: |
| (WebCore::BreakBlockquoteCommand::create): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::EditCommandComposition::create): |
| * editing/CompositeEditCommand.h: |
| * editing/CreateLinkCommand.h: |
| (WebCore::CreateLinkCommand::create): |
| * editing/DeleteFromTextNodeCommand.h: |
| (WebCore::DeleteFromTextNodeCommand::create): |
| * editing/DeleteSelectionCommand.h: |
| (WebCore::DeleteSelectionCommand::create): |
| * editing/DictationCommand.cpp: |
| (WebCore::DictationMarkerSupplier::create): |
| * editing/DictationCommand.h: |
| (WebCore::DictationCommand::create): |
| * editing/EditingStyle.h: |
| (WebCore::EditingStyle::create): |
| * editing/Editor.cpp: |
| (WebCore::Editor::applyStyle): |
| (WebCore::Editor::applyParagraphStyle): |
| * editing/FormatBlockCommand.h: |
| (WebCore::FormatBlockCommand::create): |
| * editing/IndentOutdentCommand.h: |
| (WebCore::IndentOutdentCommand::create): |
| * editing/InsertIntoTextNodeCommand.h: |
| (WebCore::InsertIntoTextNodeCommand::create): |
| * editing/InsertLineBreakCommand.h: |
| (WebCore::InsertLineBreakCommand::create): |
| * editing/InsertNodeBeforeCommand.h: |
| (WebCore::InsertNodeBeforeCommand::create): |
| * editing/InsertParagraphSeparatorCommand.h: |
| (WebCore::InsertParagraphSeparatorCommand::create): |
| * editing/InsertTextCommand.h: |
| (WebCore::InsertTextCommand::create): |
| (WebCore::InsertTextCommand::createWithMarkerSupplier): |
| * editing/MergeIdenticalElementsCommand.h: |
| (WebCore::MergeIdenticalElementsCommand::create): |
| * editing/ModifySelectionListLevel.h: |
| (WebCore::IncreaseSelectionListLevelCommand::create): |
| (WebCore::DecreaseSelectionListLevelCommand::create): |
| * editing/MoveSelectionCommand.h: |
| (WebCore::MoveSelectionCommand::create): |
| * editing/RemoveCSSPropertyCommand.h: |
| (WebCore::RemoveCSSPropertyCommand::create): |
| * editing/RemoveFormatCommand.h: |
| (WebCore::RemoveFormatCommand::create): |
| * editing/RemoveNodeCommand.h: |
| (WebCore::RemoveNodeCommand::create): |
| * editing/RemoveNodePreservingChildrenCommand.h: |
| (WebCore::RemoveNodePreservingChildrenCommand::create): |
| * editing/ReplaceNodeWithSpanCommand.h: |
| (WebCore::ReplaceNodeWithSpanCommand::create): |
| * editing/ReplaceSelectionCommand.h: |
| (WebCore::ReplaceSelectionCommand::create): |
| * editing/SetNodeAttributeCommand.h: |
| (WebCore::SetNodeAttributeCommand::create): |
| * editing/SetSelectionCommand.h: |
| (WebCore::SetSelectionCommand::create): |
| * editing/SimplifyMarkupCommand.h: |
| (WebCore::SimplifyMarkupCommand::create): |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellCheckRequest::create): |
| * editing/SpellChecker.h: |
| * editing/SpellingCorrectionCommand.cpp: |
| (WebCore::SpellingCorrectionRecordUndoCommand::create): |
| * editing/SpellingCorrectionCommand.h: |
| (WebCore::SpellingCorrectionCommand::create): |
| * editing/SplitElementCommand.h: |
| (WebCore::SplitElementCommand::create): |
| * editing/SplitTextNodeCommand.h: |
| (WebCore::SplitTextNodeCommand::create): |
| * editing/SplitTextNodeContainingElementCommand.h: |
| (WebCore::SplitTextNodeContainingElementCommand::create): |
| * editing/TypingCommand.h: |
| (WebCore::TypingCommand::create): |
| * editing/UnlinkCommand.h: |
| (WebCore::UnlinkCommand::create): |
| * editing/WrapContentsInDummySpanCommand.h: |
| (WebCore::WrapContentsInDummySpanCommand::create): |
| * editing/ios/DictationCommandIOS.h: |
| (WebCore::DictationCommandIOS::create): |
| * fileapi/Blob.h: |
| (WebCore::Blob::create): |
| (WebCore::Blob::deserialize): |
| (WebCore::Blob::slice): |
| * fileapi/File.h: |
| * fileapi/FileList.h: |
| (WebCore::FileList::create): |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::create): |
| * fileapi/FileReader.h: |
| * fileapi/FileReaderSync.h: |
| (WebCore::FileReaderSync::create): |
| * history/BackForwardList.h: |
| (WebCore::BackForwardList::create): |
| * history/HistoryItem.h: |
| (WebCore::HistoryItem::create): |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::create): |
| * html/DOMURL.h: |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::plugInImageElementIsolatedWorld): |
| * html/canvas/CanvasGradient.h: |
| (WebCore::CanvasGradient::create): |
| * html/canvas/CanvasPattern.cpp: |
| (WebCore::CanvasPattern::create): |
| * html/canvas/CanvasPattern.h: |
| * html/canvas/DOMPath.h: |
| * html/shadow/DetailsMarkerControl.cpp: |
| (WebCore::DetailsMarkerControl::create): |
| * html/shadow/DetailsMarkerControl.h: |
| * html/track/AudioTrack.h: |
| * html/track/AudioTrackList.h: |
| * html/track/DataCue.h: |
| * inspector/CommandLineAPIHost.cpp: |
| (WebCore::CommandLineAPIHost::create): |
| * inspector/CommandLineAPIHost.h: |
| * loader/DocumentLoader.h: |
| (WebCore::DocumentLoader::create): |
| * loader/FormState.cpp: |
| (WebCore::FormState::create): |
| * loader/FormState.h: |
| * loader/FormSubmission.cpp: |
| (WebCore::FormSubmission::create): |
| * loader/FormSubmission.h: |
| * loader/TextResourceDecoder.h: |
| (WebCore::TextResourceDecoder::create): |
| * loader/ThreadableLoaderClientWrapper.h: |
| (WebCore::ThreadableLoaderClientWrapper::create): |
| * loader/WorkerThreadableLoader.h: |
| (WebCore::WorkerThreadableLoader::create): |
| * loader/appcache/ApplicationCache.h: |
| (WebCore::ApplicationCache::create): |
| * loader/appcache/ApplicationCacheResource.h: |
| (WebCore::ApplicationCacheResource::create): |
| * loader/appcache/DOMApplicationCache.h: |
| * loader/archive/ArchiveResource.cpp: |
| (WebCore::ArchiveResource::create): |
| * loader/archive/ArchiveResource.h: |
| * loader/icon/IconDatabaseBase.h: |
| (WebCore::EnumCallback::create): |
| (WebCore::ObjectCallback::create): |
| * loader/icon/IconRecord.h: |
| (WebCore::IconRecord::create): |
| * mathml/MathMLInlineContainerElement.cpp: |
| (WebCore::MathMLInlineContainerElement::create): |
| * mathml/MathMLInlineContainerElement.h: |
| * mathml/MathMLMathElement.cpp: |
| (WebCore::MathMLMathElement::create): |
| * mathml/MathMLMathElement.h: |
| * mathml/MathMLMencloseElement.cpp: |
| (WebCore::MathMLMencloseElement::create): |
| * mathml/MathMLMencloseElement.h: |
| * mathml/MathMLSelectElement.cpp: |
| (WebCore::MathMLSelectElement::create): |
| * mathml/MathMLSelectElement.h: |
| * mathml/MathMLTextElement.cpp: |
| (WebCore::MathMLTextElement::create): |
| * mathml/MathMLTextElement.h: |
| * page/BarProp.h: |
| (WebCore::BarProp::create): |
| * page/Crypto.h: |
| (WebCore::Crypto::create): |
| * page/DOMSecurityPolicy.h: |
| (WebCore::DOMSecurityPolicy::create): |
| * page/DOMSelection.h: |
| (WebCore::DOMSelection::create): |
| * page/DOMWindow.h: |
| * page/DOMWindowExtension.h: |
| (WebCore::DOMWindowExtension::create): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::create): |
| * page/FrameView.h: |
| * page/animation/CompositeAnimation.h: |
| (WebCore::CompositeAnimation::create): |
| * page/scrolling/AsyncScrollingCoordinator.h: |
| * platform/Cursor.h: |
| (WebCore::SharedCursor::create): |
| * platform/FileChooser.cpp: |
| (WebCore::FileChooser::create): |
| * platform/FileChooser.h: |
| * platform/animation/Animation.h: |
| (WebCore::Animation::create): |
| * platform/audio/AudioBus.cpp: |
| (WebCore::AudioBus::create): |
| (WebCore::AudioBus::createBufferFromRange): |
| (WebCore::AudioBus::createBySampleRateConverting): |
| (WebCore::AudioBus::createByMixingToMono): |
| * platform/audio/AudioBus.h: |
| * platform/audio/AudioHardwareListener.cpp: |
| (WebCore::AudioHardwareListener::create): |
| * platform/audio/AudioHardwareListener.h: |
| * platform/audio/mac/AudioHardwareListenerMac.cpp: |
| (WebCore::AudioHardwareListener::create): |
| (WebCore::AudioHardwareListenerMac::create): |
| * platform/audio/mac/AudioHardwareListenerMac.h: |
| * platform/graphics/AudioTrackPrivate.h: |
| (WebCore::AudioTrackPrivate::create): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/CrossfadeGeneratedImage.h: |
| * platform/graphics/FontFeatureSettings.h: |
| (WebCore::FontFeatureSettings::create): |
| * platform/graphics/Image.cpp: |
| (WebCore::Image::nullImage): |
| * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h: |
| * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: |
| (WebCore::AudioSourceProviderAVFObjC::create): |
| * platform/graphics/filters/DistantLightSource.h: |
| (WebCore::DistantLightSource::create): |
| * platform/graphics/filters/FEBlend.cpp: |
| (WebCore::FEBlend::create): |
| * platform/graphics/filters/FEBlend.h: |
| * platform/graphics/filters/FEColorMatrix.cpp: |
| (WebCore::FEColorMatrix::create): |
| * platform/graphics/filters/FEColorMatrix.h: |
| * platform/graphics/filters/FEComponentTransfer.cpp: |
| (WebCore::FEComponentTransfer::create): |
| * platform/graphics/filters/FEComponentTransfer.h: |
| * platform/graphics/filters/FEComposite.cpp: |
| (WebCore::FEComposite::create): |
| * platform/graphics/filters/FEComposite.h: |
| * platform/graphics/filters/FEConvolveMatrix.cpp: |
| (WebCore::FEConvolveMatrix::create): |
| * platform/graphics/filters/FEConvolveMatrix.h: |
| * platform/graphics/filters/FEDiffuseLighting.cpp: |
| (WebCore::FEDiffuseLighting::create): |
| * platform/graphics/filters/FEDiffuseLighting.h: |
| * platform/graphics/filters/FEDisplacementMap.cpp: |
| (WebCore::FEDisplacementMap::create): |
| * platform/graphics/filters/FEDisplacementMap.h: |
| * platform/graphics/filters/FEDropShadow.cpp: |
| (WebCore::FEDropShadow::create): |
| * platform/graphics/filters/FEDropShadow.h: |
| * platform/graphics/filters/FEFlood.cpp: |
| (WebCore::FEFlood::create): |
| * platform/graphics/filters/FEFlood.h: |
| * platform/graphics/filters/FEGaussianBlur.cpp: |
| (WebCore::FEGaussianBlur::create): |
| * platform/graphics/filters/FEGaussianBlur.h: |
| * platform/graphics/filters/FEMerge.cpp: |
| (WebCore::FEMerge::create): |
| * platform/graphics/filters/FEMerge.h: |
| * platform/graphics/filters/FEMorphology.cpp: |
| (WebCore::FEMorphology::create): |
| * platform/graphics/filters/FEMorphology.h: |
| * platform/graphics/filters/FEOffset.cpp: |
| (WebCore::FEOffset::create): |
| * platform/graphics/filters/FEOffset.h: |
| * platform/graphics/filters/FESpecularLighting.cpp: |
| (WebCore::FESpecularLighting::create): |
| * platform/graphics/filters/FESpecularLighting.h: |
| * platform/graphics/filters/FETile.cpp: |
| (WebCore::FETile::create): |
| * platform/graphics/filters/FETile.h: |
| * platform/graphics/filters/FETurbulence.cpp: |
| (WebCore::FETurbulence::create): |
| * platform/graphics/filters/FETurbulence.h: |
| * platform/graphics/ios/DisplayRefreshMonitorIOS.h: |
| (WebCore::DisplayRefreshMonitorIOS::create): |
| * platform/graphics/mac/ComplexTextController.h: |
| (WebCore::ComplexTextController::ComplexTextRun::create): |
| * platform/network/BlobData.h: |
| (WebCore::RawData::create): |
| (WebCore::BlobData::create): |
| * platform/network/BlobDataFileReference.h: |
| (WebCore::BlobDataFileReference::create): |
| * platform/network/cf/FormDataStreamCFNet.cpp: |
| * platform/text/BidiContext.cpp: |
| (WebCore::BidiContext::createUncached): |
| (WebCore::BidiContext::create): |
| * platform/text/BidiContext.h: |
| * plugins/DOMMimeType.h: |
| (WebCore::DOMMimeType::create): |
| * plugins/DOMMimeTypeArray.cpp: |
| (WebCore::DOMMimeTypeArray::item): |
| (WebCore::DOMMimeTypeArray::namedItem): |
| * plugins/DOMMimeTypeArray.h: |
| (WebCore::DOMMimeTypeArray::create): |
| * plugins/DOMPlugin.cpp: |
| (WebCore::DOMPlugin::item): |
| (WebCore::DOMPlugin::namedItem): |
| * plugins/DOMPlugin.h: |
| (WebCore::DOMPlugin::create): |
| * plugins/DOMPluginArray.cpp: |
| (WebCore::DOMPluginArray::item): |
| (WebCore::DOMPluginArray::namedItem): |
| * plugins/DOMPluginArray.h: |
| (WebCore::DOMPluginArray::create): |
| * plugins/PluginData.h: |
| (WebCore::PluginData::create): |
| * rendering/ClipPathOperation.h: |
| * rendering/CounterNode.cpp: |
| (WebCore::CounterNode::create): |
| * rendering/CounterNode.h: |
| * rendering/style/BasicShapes.h: |
| * rendering/style/CursorList.h: |
| (WebCore::CursorList::create): |
| * replay/CapturingInputCursor.cpp: |
| (WebCore::CapturingInputCursor::create): |
| * replay/CapturingInputCursor.h: |
| * storage/Storage.cpp: |
| (WebCore::Storage::create): |
| * storage/Storage.h: |
| * storage/StorageAreaImpl.cpp: |
| (WebCore::StorageAreaImpl::create): |
| * storage/StorageAreaImpl.h: |
| * storage/StorageAreaSync.cpp: |
| (WebCore::StorageAreaSync::create): |
| * storage/StorageAreaSync.h: |
| * storage/StorageMap.cpp: |
| (WebCore::StorageMap::create): |
| * storage/StorageMap.h: |
| * storage/StorageSyncManager.cpp: |
| (WebCore::StorageSyncManager::create): |
| * storage/StorageSyncManager.h: |
| * workers/DedicatedWorkerGlobalScope.cpp: |
| (WebCore::DedicatedWorkerGlobalScope::create): |
| * workers/DedicatedWorkerGlobalScope.h: |
| * workers/DedicatedWorkerThread.cpp: |
| (WebCore::DedicatedWorkerThread::create): |
| (WebCore::DedicatedWorkerThread::createWorkerGlobalScope): |
| * workers/DedicatedWorkerThread.h: |
| * workers/DefaultSharedWorkerRepository.cpp: |
| * workers/SharedWorkerGlobalScope.cpp: |
| (WebCore::SharedWorkerGlobalScope::create): |
| * workers/SharedWorkerGlobalScope.h: |
| * workers/SharedWorkerThread.cpp: |
| (WebCore::SharedWorkerThread::create): |
| (WebCore::SharedWorkerThread::createWorkerGlobalScope): |
| * workers/SharedWorkerThread.h: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::importScripts): |
| * workers/WorkerLocation.h: |
| (WebCore::WorkerLocation::create): |
| * workers/WorkerScriptLoader.h: |
| (WebCore::WorkerScriptLoader::create): |
| * workers/WorkerThread.h: |
| * xml/DOMParser.h: |
| (WebCore::DOMParser::create): |
| * xml/NativeXPathNSResolver.h: |
| (WebCore::NativeXPathNSResolver::create): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::create): |
| * xml/XMLHttpRequest.h: |
| * xml/XMLHttpRequestProgressEventThrottle.cpp: |
| (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): |
| * xml/XMLSerializer.h: |
| (WebCore::XMLSerializer::create): |
| * xml/XPathEvaluator.h: |
| (WebCore::XPathEvaluator::create): |
| * xml/XPathResult.h: |
| (WebCore::XPathResult::create): |
| * xml/XSLStyleSheet.h: |
| * xml/XSLTProcessor.h: |
| (WebCore::XSLTProcessor::create): |
| |
| 2014-12-24 Benjamin Poulain <bpoulain@apple.com> |
| |
| Small cleanup of RenderBlock::paint() |
| https://bugs.webkit.org/show_bug.cgi?id=139849 |
| |
| Reviewed by Daniel Bates. |
| |
| Remove a couple of instructions by putting variable in the right scope. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paint): |
| |
| 2014-12-24 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] WebCoreSystemInterface.h declares two unused symbols |
| https://bugs.webkit.org/show_bug.cgi?id=139937 |
| |
| Reviewed by Tim Horton. |
| |
| * platform/graphics/FontPlatformData.h: Removed unused typedefs. |
| |
| * platform/graphics/mac/FontCustomPlatformData.cpp: |
| (WebCore::createFontCustomPlatformData): Stop passing always-zero containerRef parameter to |
| FontCustomPlatformData constructor. |
| |
| * platform/graphics/mac/FontCustomPlatformData.h: Removed unused typedefs. |
| (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed unused container |
| parameter and m_atsContainer member variable. |
| |
| * platform/mac/WebCoreSystemInterface.h: Removed unused typedefs and symbols. |
| |
| 2014-12-23 Chris Dumez <cdumez@apple.com> |
| |
| Simplify RenderStyle::invalidColor() function |
| https://bugs.webkit.org/show_bug.cgi?id=139898 |
| |
| Reviewed by Andreas Kling. |
| |
| Simplify RenderStyle::invalidColor() function by getting rid of the |
| static variable. The default constructor for Color is very cheap |
| anyway. |
| |
| * rendering/style/RenderStyle.h: |
| |
| 2014-12-23 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Unreviewed, fix build warning after r177712 |
| |
| ../../Source/WebCore/history/PageCache.cpp: In function ‘const char* WebCore::pruningReasonToFeatureCounterKey(WebCore::PruningReason)’: |
| ../../Source/WebCore/history/PageCache.cpp:449:1: error: control reaches end of non-void function [-Werror=return-type] |
| |
| No new tests, no behavior changes. |
| |
| * history/PageCache.cpp: |
| (WebCore::pruningReasonToFeatureCounterKey): |
| |
| 2014-12-23 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| <rdar://problem/19255690> |
| |
| Reviewed by Gavin Barraclough. |
| |
| Log better using FeatureCounter why PageCache is failing due to pruned |
| resources. In particular, we now distinguish if the resource was pruned |
| due to: |
| - Memory pressure |
| - Page cache capacity reached |
| - WebProcess suspended (WK2) |
| |
| * WebCore.exp.in: |
| * history/HistoryItem.cpp: |
| (WebCore::HistoryItem::HistoryItem): |
| * history/HistoryItem.h: |
| * history/PageCache.cpp: |
| (WebCore::PageCache::pruneToCapacityNow): |
| (WebCore::PageCache::setCapacity): |
| (WebCore::pruningReasonToFeatureCounterKey): |
| (WebCore::PageCache::add): |
| (WebCore::PageCache::take): |
| (WebCore::PageCache::get): |
| (WebCore::PageCache::prune): |
| * history/PageCache.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| * platform/FeatureCounterKeys.h: |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::releaseCriticalMemory): |
| |
| 2014-12-23 Andreas Kling <akling@apple.com> |
| |
| [Mac] Fix nullptr dereference in EventHandler::platformPrepareForWheelEvents(). |
| <https://webkit.org/b/139923> |
| <rdar://problem/19182531> |
| |
| Reviewed by Chris Dumez. |
| |
| Don't dereference 'wheelEventTarget' until we know it's non-null. |
| This manifested as a crash in Node::renderBox() with some versions of LLVM. |
| |
| The compiler was free to assume that the ContainerNode* 'candidate' in |
| findEnclosingScrollableContainer() would always be non-null on the first |
| iteration of the loop. |
| |
| I suspect that we can get here with a null 'wheelEventTarget' during the |
| rubberbanding phase of a wheel scroll; if the cursor is sitting over the |
| exposed "gutter" area. |
| |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::findEnclosingScrollableContainer): |
| (WebCore::EventHandler::platformPrepareForWheelEvents): |
| |
| 2014-12-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Install a TextIndicator for link immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139897 |
| <rdar://problem/19333076> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/QuickLookMacSPI.h: |
| Add a new piece of SPI. |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Rename WebContext to WebProcessPool |
| https://bugs.webkit.org/show_bug.cgi?id=139909 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| Merge SessionID and SessionIDHash into one file to make auto-generation of |
| HashMaps with SessionIDs easier. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/cache/MemoryCache.h: |
| * page/SessionID.h: |
| (WTF::SessionIDHash::hash): |
| (WTF::SessionIDHash::equal): |
| (WTF::HashTraits<WebCore::SessionID>::emptyValue): |
| (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): |
| (WTF::HashTraits<WebCore::SessionID>::isDeletedValue): |
| * page/SessionIDHash.h: Removed. |
| |
| 2014-12-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| platform/mac/editing/input/devanagari-ligature.html is flaky on Yosemite, ligature fails to form |
| https://bugs.webkit.org/show_bug.cgi?id=138683 |
| |
| Reviewed by Darin Adler. |
| |
| This patch changes how we check fonts for equality. In particular, this patch adds a |
| objectForEqualityCheck() to Cocoa's FontPlatformData, and callers should pass this object |
| to CFEqual() to determine if two platform fonts are equal. This patch also migrates all |
| call sites to using this function. |
| |
| I don't want to implement operator==() because there are many cases where the same font |
| is compared against many others, and this solution is cleaner than caching a comparison |
| object inside the font object itself. |
| |
| No new tests because this is covered by platform/mac/editing/input/devanagari-ligature.html. |
| |
| * platform/graphics/FontPlatformData.h: |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::objectForEqualityCheck): |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: |
| (WebCore::GlyphPage::fill): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-12-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Make Placeholder a move-only type |
| https://bugs.webkit.org/show_bug.cgi?id=139870 |
| |
| Reviewed by Anders Carlsson. |
| |
| No new tests because there is no behavior change. |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): |
| (WebCore::SVGToOTFFontConverter::Placeholder::populate): |
| (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder): |
| |
| 2014-12-23 Chris Dumez <cdumez@apple.com> |
| |
| Move color CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139898 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move color CSS properties to the new StyleBuilder by teaching the |
| StyleBuilder generator how to handle them. |
| |
| * css/CSSPropertyNames.in: |
| - Move color properties to the new StyleBuilder. |
| |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::defaultInitialColor): Deleted. |
| (WebCore::ApplyPropertyColor::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyColor::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyColor::applyValue): Deleted. |
| (WebCore::ApplyPropertyColor::applyColorValue): Deleted. |
| (WebCore::ApplyPropertyColor::createHandler): Deleted. |
| - Drop color properties support from the DeprecatedStyleBuilder. |
| |
| * css/makeprop.pl: |
| - Teach the StyleBuilder generator how to handle color properties. |
| - Use a class for StyleBuilderFunctions instead of a namespace so |
| that it can be made a friend of RenderStyle class. |
| |
| * rendering/style/RenderStyle.h: |
| - Mark StyleBuilderFunctions class as friend as its functions |
| can set RenderStyle members directly. This is similar to what |
| is already done for StyleBuilderCustom class. The new color |
| properties handling calls private methods on RenderStyle. |
| - Mark invalidColor() method as static as it does not require |
| an instance. |
| |
| 2014-12-23 Zalan Bujtas <zalan@apple.com> |
| |
| Incorrect dashed and dotted border painting. |
| https://bugs.webkit.org/show_bug.cgi?id=139872 |
| rdar://problem/18024205 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch makes dashed/dotted border painting symmetric and consistent. |
| It also works with subpixel positioning. |
| |
| Tests: fast/borders/border-painting-correctness-dashed.html |
| fast/borders/border-painting-correctness-dotted.html |
| |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::drawLine): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::drawLineForBoxSide): |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log which type of resources are commonly loaded using FeatureCounter |
| https://bugs.webkit.org/show_bug.cgi?id=139890 |
| |
| Reviewed by Darin Adler. |
| |
| Log which type of resources are commonly loaded using FeatureCounter |
| (e.g. stylesheets, scripts, fonts, images, ...). |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::logResourceLoadedUsingFeatureCounter): |
| (WebCore::SubresourceLoader::didFinishLoading): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log using FeatureCounter when a PacheCache fails due to memory pressure |
| https://bugs.webkit.org/show_bug.cgi?id=139874 |
| <rdar://problem/19255690> |
| |
| Reviewed by Darin Adler. |
| |
| Log using FeatureCounter when a PacheCache fails due to memory |
| pressure. To detect this, a flag is added to HistoryItem to mark |
| items that are no longer in the page becaused they were pruned |
| (either because of a low memory handling or because the page cache |
| reached its maximum capacity). |
| |
| * history/HistoryItem.cpp: |
| (WebCore::HistoryItem::HistoryItem): |
| * history/HistoryItem.h: |
| * history/PageCache.cpp: |
| (WebCore::PageCache::add): |
| (WebCore::PageCache::take): |
| (WebCore::PageCache::get): |
| (WebCore::PageCache::prune): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177658. |
| https://bugs.webkit.org/show_bug.cgi?id=139900 |
| |
| Caused many assertion failures (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Incorrect dashed and dotted border painting." |
| https://bugs.webkit.org/show_bug.cgi?id=139872 |
| http://trac.webkit.org/changeset/177658 |
| |
| 2014-12-22 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Unreviewed build fix after r177661 and r177662 |
| |
| * dom/SecurityOriginPolicy.cpp: Modify #include path. |
| |
| 2014-12-22 Mark Rowe <mrowe@apple.com> |
| |
| [Mac] Engineering builds of WebCore on OS X 10.8 and 10.9 shouldn't build with -gline-tables-only |
| <https://webkit.org/b/139883> / <rdar://problem/19297261> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/DebugRelease.xcconfig: Override the setting using conditional settings |
| so that they take precedence over the conditional settings in Base.xcconfig. |
| |
| 2014-12-22 Alexey Proskuryakov <ap@apple.com> |
| |
| Unreviewed build fix. |
| |
| * WebCore.exp.in: Move SQLiteDatabaseTracker::setClient export out of PLATFORM(IOS) section. |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Remove two functions from SecurityOrigin |
| https://bugs.webkit.org/show_bug.cgi?id=139885 |
| |
| Reviewed by Andreas Kling. |
| |
| * page/SecurityOrigin.h: |
| (WebCore::SecurityOrigin::canAccessPasswordManager): Deleted. |
| (WebCore::SecurityOrigin::canAccessFileSystem): Deleted. |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log using FeatureCounter user-triggered zooming |
| https://bugs.webkit.org/show_bug.cgi?id=139879 |
| <rdar://problem/19329130> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Log using FeatureCounter user-triggered zooming on iOS. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/FeatureCounter.h: |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-22 Benjamin Poulain <bpoulain@apple.com> |
| |
| Form elements should match :valid and :invalid based on their associated elements |
| https://bugs.webkit.org/show_bug.cgi?id=139850 |
| |
| Reviewed by Darin Adler. |
| |
| In the latest HTML spec, form elements can match :valid or :invalid based |
| on their associated element. |
| |
| The tricky part is that object lifetime is a mess. When elements are associated |
| with forms by the parser, the form is set by the constructor of HTMLFormControlElement. |
| At that point, the real object has not been initialized yet which |
| makes it impossible to find its validity. |
| |
| To work around the lifetime problem, the code of HTMLFormControlElement::didChangeForm() |
| uses m_willValidateInitialized and m_willValidate direclty instead |
| of invoking willValidate(). That way we don't try to validate an incomplete object. |
| |
| When the object really validates, HTMLFormControlElement::setNeedsWillValidateCheck() |
| takes care of updating the form. |
| |
| Tests: fast/css/pseudo-invalid-form-and-fieldset-basics.html |
| fast/css/pseudo-invalid-form-basics.html |
| fast/css/pseudo-invalid-form-dynamically-created-basics.html |
| fast/css/pseudo-invalid-form-invalidation-optimization.html |
| fast/css/pseudo-valid-form-and-fieldset-basics.html |
| fast/css/pseudo-valid-form-basics.html |
| fast/css/pseudo-valid-form-dynamically-created-basics.html |
| fast/css/pseudo-valid-form-invalidation-optimization.html |
| fast/selectors/invalid-form-style-update-1.html |
| fast/selectors/invalid-form-style-update-2.html |
| fast/selectors/invalid-form-style-update-3.html |
| fast/selectors/valid-form-style-update-1.html |
| fast/selectors/valid-form-style-update-2.html |
| fast/selectors/valid-form-style-update-3.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithControl): |
| (WebCore::StyleResolver::canShareStyleWithElement): |
| HTMLFormElement is not a FormControl, we have to generalize the test |
| for :valid/:invalid with style sharing. |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::~HTMLFormControlElement): |
| Since we now have willChangeForm(), didChangeForm(), we have to null |
| the form ourself, as documented by FormAssociatedElement. |
| |
| (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): |
| (WebCore::HTMLFormControlElement::willChangeForm): |
| (WebCore::HTMLFormControlElement::didChangeForm): |
| (WebCore::HTMLFormControlElement::updateValidity): |
| Update the owner form when any of the associated form element changes |
| to invalid. |
| |
| * html/HTMLFormControlElement.h: |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::registerInvalidAssociatedFormControl): |
| (WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded): |
| (WebCore::HTMLFormElement::matchesValidPseudoClass): |
| (WebCore::HTMLFormElement::matchesInvalidPseudoClass): |
| This is very similar to the code of fieldset, but we have much weaker |
| invariants due to the insane way FormAssociatedElement initializes. |
| |
| * html/HTMLFormElement.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::initializeInputType): |
| For completeness, we should always validate when changing the type. |
| The code was only doing that when the element was inserted into the tree, |
| that was too fragile. |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the Windows build. |
| |
| * dom/DOMAllInOne.cpp: |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Add a SecurityOriginPolicy class |
| https://bugs.webkit.org/show_bug.cgi?id=139875 |
| |
| Reviewed by Sam Weinig. |
| |
| This is the first step towards making SecurityOrigin immutable. SecurityOriginPolicy will hold a |
| SecurityOrigin and will handle things that would otherwise mutate SecurityOrigin. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::createDocument): |
| (WebCore::DOMImplementation::createHTMLDocument): |
| * dom/Document.cpp: |
| (WebCore::Document::create): |
| (WebCore::Document::open): |
| (WebCore::Document::cloneDataFromDocument): |
| (WebCore::Document::initSecurityContext): |
| * dom/ScriptExecutionContext.h: |
| * dom/SecurityContext.cpp: |
| (WebCore::SecurityContext::setSecurityOriginPolicy): |
| (WebCore::SecurityContext::securityOrigin): |
| (WebCore::SecurityContext::isSecureTransitionTo): |
| (WebCore::SecurityContext::enforceSandboxFlags): |
| (WebCore::SecurityContext::setSecurityOrigin): Deleted. |
| * dom/SecurityContext.h: |
| (WebCore::SecurityContext::securityOriginPolicy): |
| (WebCore::SecurityContext::securityOrigin): Deleted. |
| * dom/SecurityOriginPolicy.cpp: Added. |
| (WebCore::SecurityOriginPolicy::create): |
| (WebCore::SecurityOriginPolicy::SecurityOriginPolicy): |
| (WebCore::SecurityOriginPolicy::~SecurityOriginPolicy): |
| * dom/SecurityOriginPolicy.h: Added. |
| (WebCore::SecurityOriginPolicy::origin): |
| * loader/DocumentWriter.cpp: |
| (WebCore::DocumentWriter::begin): |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::WorkerGlobalScope): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseXML): |
| * xml/XMLTreeViewer.cpp: |
| (WebCore::XMLTreeViewer::transformDocumentToTreeView): |
| * xml/XSLTProcessor.cpp: |
| (WebCore::XSLTProcessor::createDocumentFromSource): |
| |
| 2014-12-22 Zalan Bujtas <zalan@apple.com> |
| |
| Incorrect dashed and dotted border painting. |
| https://bugs.webkit.org/show_bug.cgi?id=139872 |
| rdar://problem/18024205 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch makes dashed/dotted border painting symmetric and consistent. |
| It also works with subpixel positioning. |
| |
| Tests: fast/borders/border-painting-correctness-dashed.html |
| fast/borders/border-painting-correctness-dotted.html |
| |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::drawLine): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::drawLineForBoxSide): |
| |
| 2014-12-22 Timothy Horton <timothy_horton@apple.com> |
| |
| TextIndicatorWindow is larger than it needs to be, especially when not bouncing |
| https://bugs.webkit.org/show_bug.cgi?id=139876 |
| <rdar://problem/19311017> |
| |
| Reviewed by Sam Weinig. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::wantsBounce): |
| (WebCore::TextIndicator::wantsContentCrossfade): |
| (WebCore::TextIndicator::wantsFadeIn): |
| * page/TextIndicator.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (-[WebTextIndicatorView _animationDuration]): |
| (-[WebTextIndicatorView present]): |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| (-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted. |
| (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted. |
| (-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted. |
| Move the various switches over TextIndicatorPresentationTransition into TextIndicator. |
| Adjust the margin; only inflate by the shadow if we're not bouncing. |
| If we are bouncing, fix the math to more tightly fit the bounce. |
| Previously we were inflating by way too much, and even when we didn't need to. |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired |
| https://bugs.webkit.org/show_bug.cgi?id=139869 |
| <rdar://problem/19255690> |
| |
| Reviewed by Darin Adler. |
| |
| Log using FeatureCounter when a PacheCache entry is not reused because |
| it expired. |
| |
| * history/PageCache.cpp: |
| (WebCore::PageCache::take): |
| (WebCore::PageCache::get): |
| * history/PageCache.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| (WebCore::FrameLoader::loadDifferentDocumentItem): |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::invalidateCurrentItemCachedPage): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-22 Antti Koivisto <antti@apple.com> |
| |
| Try to fix the windows build. |
| |
| * platform/graphics/win/SimpleFontDataCGWin.cpp: |
| |
| 2014-12-22 Timothy Horton <timothy_horton@apple.com> |
| |
| Adjust TextIndicator shadow parameters |
| https://bugs.webkit.org/show_bug.cgi?id=139871 |
| <rdar://problem/19283300> |
| |
| Reviewed by Sam Weinig. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| Slightly adjust the shadow and bounce size. |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| Consistently use "FeatureCounter*Key" naming for FeatureCounter keys |
| https://bugs.webkit.org/show_bug.cgi?id=139867 |
| |
| Reviewed by Darin Adler. |
| |
| Consistently use "FeatureCounter*Key" naming for FeatureCounter keys. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::logNavigationWithFeatureCounter): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-22 Antti Koivisto <antti@apple.com> |
| |
| Generic font code should not know about SVG font missing glyph |
| https://bugs.webkit.org/show_bug.cgi?id=139864 |
| |
| Reviewed by Andreas Kling and Myles Maxfield. |
| |
| The defined missing glyph is an SVG font concept and should be handled in SVG code. |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::glyphDataForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| |
| Return null glyph instead of the missing glyph (the missing glyph was already a null glyph in all non-svg-font cases). |
| Use early return style. |
| |
| * platform/graphics/FontGlyphs.h: |
| * platform/graphics/SegmentedFontData.cpp: |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::platformGlyphInit): |
| * platform/graphics/SimpleFontData.h: |
| |
| Remove the missingGlyph member. |
| |
| * platform/graphics/WidthIterator.cpp: |
| (WebCore::WidthIterator::advanceInternal): |
| |
| Explicitly skip over null glyphs. Before they had non-null fontData and would get skipped implicitly. |
| |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::missingGlyphForFont): |
| |
| Get the missing glyph from the SVG font element. |
| |
| (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): |
| |
| Return the missing glyph if the normal lookup didn't produce results. |
| |
| * svg/SVGFontData.cpp: |
| (WebCore::SVGFontData::initializeFontData): |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| Move "Auto" CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139858 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move "Auto" CSS properties from DeprecatedStyleBuilder to the new |
| StyleBuilder, by adding support in the generator for using hasAutoXXX() |
| / setHasAutoXXX() methods on RenderStyle. |
| |
| No new tests, no web-exposed behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyAuto::setValue): Deleted. |
| (WebCore::ApplyPropertyAuto::value): Deleted. |
| (WebCore::ApplyPropertyAuto::hasAuto): Deleted. |
| (WebCore::ApplyPropertyAuto::setAuto): Deleted. |
| (WebCore::ApplyPropertyAuto::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyAuto::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyAuto::applyValue): Deleted. |
| (WebCore::ApplyPropertyAuto::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialColumnGap): |
| (WebCore::StyleBuilderCustom::applyInheritColumnGap): |
| (WebCore::StyleBuilderCustom::applyValueColumnGap): |
| * css/makeprop.pl: |
| (getNameForMethods): |
| (getAutoGetter): |
| (getAutoSetter): |
| (generateInitialValueSetter): |
| (generateInheritValueSetter): |
| (generateValueSetter): |
| |
| 2014-12-21 Shivakumar JM <shiva.jm@samsung.com> |
| |
| HTMLSelectElement add() should support adding group of options element (HTMLOptGroupElement). |
| https://bugs.webkit.org/show_bug.cgi?id=139806 |
| |
| Reviewed by Darin Adler. |
| |
| HTMLSelectElement add() should support adding group of options (optgroup) element. |
| |
| Test: fast/dom/HTMLSelectElement/select-add-optgroup.html |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::add): |
| |
| 2014-12-21 Chris Dumez <cdumez@apple.com> |
| |
| Fix missing assertion in r177623. |
| https://bugs.webkit.org/show_bug.cgi?id=139334 |
| |
| Reviewed by Darin Adler. |
| |
| ValueWithCalculation::setCalculation() was meant to include an |
| "isCalculation()" assertion but I inadvertently omitted the |
| ASSERT() around the statement. |
| |
| * css/CSSParser.h: |
| (WebCore::CSSParser::ValueWithCalculation::setCalculation): |
| |
| 2014-12-21 Gabor Rapcsanyi <rgabor@webkit.org> |
| |
| AX: Hidden aria table crash |
| https://bugs.webkit.org/show_bug.cgi?id=139856 |
| |
| Reviewed by Chris Fleizach. |
| |
| Change axCaption to pointer and check it's value because |
| AXObjectCache::getOrCreate() can return with nullptr. |
| |
| Test: accessibility/aria-hidden-crash.html |
| |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::addChildren): |
| |
| 2014-12-20 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser |
| https://bugs.webkit.org/show_bug.cgi?id=139334 |
| |
| Reviewed by Darin Adler. |
| |
| Get rid of error-prone ReleaseParsedCalcValueCondition argument in |
| CSSParser that determines the the m_parsedCalculation member should |
| be released. |
| |
| Instead, introduce a new ValueWithCalculation type which wraps a |
| CSSParserValue and an optional parsed calculation value. This way, |
| the parsed calculation value is now associated with its CSSParserValue. |
| This makes it very difficult to use a parsed calculation value for the |
| wrong CSSParserValue. The API is also easier to use as developers no |
| longer need to explicitly indicate if the calculation value should be |
| released or not. |
| |
| No new tests, no web-behavior change. |
| |
| 2014-12-20 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] add optimized fullscreen API |
| https://bugs.webkit.org/show_bug.cgi?id=139833 |
| <rdar://problem/18844486> |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::optimizedFullscreenSupported): Deleted. |
| (WebCore::MediaControlsHost::fullscreenMode): Deleted. |
| * Modules/mediacontrols/MediaControlsHost.h: |
| * Modules/mediacontrols/MediaControlsHost.idl: |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.addVideoListeners): Listen for 'webkitpresentationmodechanged'. |
| (ControllerIOS.prototype.removeVideoListeners): Stop listening for 'webkitpresentationmodechanged'. |
| (ControllerIOS.prototype.configureInlineControls): Call video element instead of using the now |
| removed host property. |
| (ControllerIOS.prototype.updateControls): Ditto. |
| (ControllerIOS.prototype.presentationMode): New, return webkitPresentationMode when possible. |
| (ControllerIOS.prototype.handleFullscreenButtonClicked): Use webkitSetPresentationMode when possible. |
| (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Use video element instead of |
| using the now removed host method. |
| (ControllerIOS.prototype.handlePresentationModeChange): New, react to presentation mode changes. |
| (ControllerIOS.prototype.handleFullscreenChange): Call handlePresentationModeChange. |
| |
| * dom/EventNames.h: Add webkitpresentationmodechanged. |
| |
| * html/HTMLAttributeNames.in: Add onwebkitpresentationmodechanged. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::enterFullscreen): Early return when asked to change to the current |
| mode. Call fullscreenModeChanged() instead of whacking the instance variable directly. |
| (WebCore::HTMLMediaElement::exitFullscreen): Ditto. |
| * html/HTMLMediaElement.h: |
| (WebCore::HTMLMediaElement::fullscreenModeChanged): Make virtual. |
| |
| * html/HTMLVideoElement.cpp: |
| (WebCore::HTMLVideoElement::parseAttribute): Deal with onwebkitpresentationmodechange. |
| (WebCore::presentationModeFullscreen): New. |
| (WebCore::presentationModeOptimized): Ditto. |
| (WebCore::presentationModeInline): Ditto. |
| (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Ditto. |
| (WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto. |
| (WebCore::HTMLVideoElement::webkitPresentationMode): Ditto. |
| (WebCore::HTMLVideoElement::fullscreenModeChanged): Ditto. |
| * html/HTMLVideoElement.h: |
| * html/HTMLVideoElement.idl: |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setIsOptimized): Simplify the logic a bit. Don't report |
| a mode change when |
| |
| 2014-12-20 David Kilzer <ddkilzer@apple.com> |
| |
| Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2 |
| <http://webkit.org/b/139463> |
| |
| Reviewed by Mark Rowe. |
| |
| Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and |
| WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in |
| r132859 and needed for Leopard. |
| |
| * Configurations/Base.xcconfig: |
| - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS |
| on OS X. |
| - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK. |
| - Simplify SQLITE3_HEADER_SEARCH_PATHS. |
| * Configurations/DebugRelease.xcconfig: |
| - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X. |
| * Configurations/Version.xcconfig: |
| - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X. |
| * Configurations/WebCore.xcconfig: |
| - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64, |
| FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE, |
| OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR, |
| WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR, |
| PRODUCTION_FRAMEWORKS_DIR, |
| JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and |
| EXCLUDED_SOURCE_FILE_NAMES based on SDK. |
| - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are |
| overrideable by WebCoreTestSupport.xcconfig. |
| * Configurations/WebCoreTestSupport.xcconfig: |
| - Set PRIVATE_HEADERS_FOLDER_PATH_Production and |
| INSTALL_PATH_Production based on SDK. |
| - Override SECT_ORDER_FLAGS from WebCore.xcconfig. |
| |
| 2014-12-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Make placeholders more robust |
| https://bugs.webkit.org/show_bug.cgi?id=139836 |
| |
| Reviewed by Dan Bernstein. |
| |
| This patch creates a Placeholder object which hides the complexity of |
| populating offsets to subtables. |
| |
| No new tests because there is no behavior change. |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): |
| (WebCore::SVGToOTFFontConverter::Placeholder::populate): |
| (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder): |
| (WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable): |
| (WebCore::SVGToOTFFontConverter::appendGSUBTable): |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| Fix initial / inherit support for '-webkit-perspective-origin' CSS property |
| https://bugs.webkit.org/show_bug.cgi?id=139843 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix initial / inherit support for '-webkit-perspective-origin' CSS |
| property. These previously had no effect. |
| |
| This patch updates the code to be consistent with |
| '-webkit-transform-origin' and gets rid of the code in |
| DeprecatedStyleBuilder as it isn't used. |
| |
| Test: fast/css/perspective-origin-initial-inherit.html |
| |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted. |
| (WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted. |
| * css/StyleProperties.cpp: |
| (WebCore::StyleProperties::getPropertyValue): |
| (WebCore::StyleProperties::asText): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::webkitPerspectiveOriginShorthand): |
| (WebCore::shorthandForProperty): |
| (WebCore::matchingShorthandsForLonghand): |
| * css/StylePropertyShorthand.h: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-12-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177599. |
| https://bugs.webkit.org/show_bug.cgi?id=139846 |
| |
| this breaks so many things (Requested by thorton_ on #webkit). |
| |
| Reverted changeset: |
| |
| "TextIndicator's window can be pushed down if it intersects |
| the menu bar" |
| https://bugs.webkit.org/show_bug.cgi?id=139841 |
| http://trac.webkit.org/changeset/177599 |
| |
| 2014-12-19 Timothy Horton <timothy_horton@apple.com> |
| |
| TextIndicator's window can be pushed down if it intersects the menu bar |
| https://bugs.webkit.org/show_bug.cgi?id=139841 |
| <rdar://problem/19311017> |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| Ensure that the textIndicatorWindow sits above the menubar, and re-set |
| its frame so that it moves under the menubar if required. |
| |
| 2014-12-19 Anders Carlsson <andersca@apple.com> |
| |
| Use WebCore::MachSendRights for the compositing render server port |
| https://bugs.webkit.org/show_bug.cgi?id=139834 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log how often media element playback happens using FeatureCounter |
| https://bugs.webkit.org/show_bug.cgi?id=139819 |
| <rdar://problem/19309988> |
| |
| Reviewed by Eric Carlson. |
| |
| Log using FeatureCounter how often we start loading for audio / video |
| elements, and how often they end up being played. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| Add flag to identify when a media element starts playing for the first |
| time. |
| |
| (WebCore::HTMLMediaElement::loadResource): |
| Log when a media element starts loading. |
| |
| (WebCore::HTMLMediaElement::updatePlayState): |
| Log when a media element starts playing for the first time. |
| |
| * html/HTMLMediaElement.h: |
| Add flag to identify when a media element starts playing for the first |
| time. |
| |
| * platform/FeatureCounterKeys.h: |
| Add FeatureCounter keys for HTMLMediaElement loading / playback. |
| |
| 2014-12-19 Andreas Kling <akling@apple.com> |
| |
| Ref-ify TextIterator API. |
| <https://webkit.org/b/139823> |
| |
| Reviewed by Antti Koivisto. |
| |
| Change TextIterator functions that always return Range objects to return |
| Ref<Range> instead of PassRefPtr<Range>. |
| |
| One API (rangeFromLocationAndLength) may return nullptr, so its return type |
| is now RefPtr<Range>. |
| |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::range): |
| (WebCore::TextIterator::node): |
| (WebCore::SimplifiedBackwardsTextIterator::range): |
| (WebCore::CharacterIterator::range): |
| (WebCore::characterSubrange): |
| (WebCore::BackwardsCharacterIterator::range): |
| (WebCore::TextIterator::subrange): |
| (WebCore::TextIterator::rangeFromLocationAndLength): |
| (WebCore::TextIterator::getLocationAndLengthFromRange): |
| (WebCore::collapsedToBoundary): |
| (WebCore::findPlainText): |
| * editing/TextIterator.h: |
| |
| 2014-12-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html |
| https://bugs.webkit.org/show_bug.cgi?id=139792 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * bindings/js/WorkerScriptDebugServer.cpp: |
| (WebCore::WorkerScriptDebugServer::removeListener): |
| When removing listeners, we could be during WorkerGlobalObject shutdown |
| and WorkerGlobalObject::script may be null. |
| |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): |
| (WebCore::WorkerMessagingProxy::postMessageToPageInspector): |
| This postTask may happen after m_pageInspector has been cleared, so |
| only execute it if m_pageInspector is still valid. |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| Drop useless HTMLMediaElement::m_previousProgress member |
| https://bugs.webkit.org/show_bug.cgi?id=139822 |
| |
| Reviewed by Eric Carlson. |
| |
| Drop HTMLMediaElement::m_previousProgress member and it is not used or |
| even initialized. |
| |
| * html/HTMLMediaElement.h: |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log how successful the memory cache is using FeatureCounter |
| https://bugs.webkit.org/show_bug.cgi?id=139802 |
| |
| Reviewed by Andreas Kling. |
| |
| Log how successful the memory cache is using FeatureCounter and why we |
| choose not to use the resource in the memory cache when it is present. |
| |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestResource): |
| (WebCore::CachedResourceLoader::determineRevalidationPolicy): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177574. |
| https://bugs.webkit.org/show_bug.cgi?id=139821 |
| |
| "Broke Production builds by installing |
| libWebCoreTestSupport.dylib in the wrong directory" (Requested |
| by ddkilzer on #webkit). |
| |
| Reverted changeset: |
| |
| "Switch from using PLATFORM_NAME to SDK selectors in WebCore, |
| WebInspectorUI, WebKit, WebKit2" |
| https://bugs.webkit.org/show_bug.cgi?id=139463 |
| http://trac.webkit.org/changeset/177574 |
| |
| 2014-12-19 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Only when the SVG is inline and only when a shape is referenced before it is defined, this shape will not be drawn. |
| https://bugs.webkit.org/show_bug.cgi?id=139451. |
| |
| Reviewed by Antti Koivisto. |
| |
| Tests: svg/in-html/defs-after-use.html. |
| |
| When parsing the children of an SVG element is finished, we need to notify the |
| other SVG elements which have incomplete shadow trees because of early referencing |
| to this element. The referencing elements need to rebuild their shadow trees and |
| make new copies of the this element and its sub-tree. |
| |
| This is the case where a <use> tag references target elements before these target |
| elements are defined. Updating the shadow DOM tree of a <use> element should update |
| the corresponding shadow render tree as well. |
| |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::finishParsingChildren): |
| Invalidate all the referencing elements of a target element whose sub-tree has |
| just finished parsing. |
| |
| 2014-12-19 David Kilzer <ddkilzer@apple.com> |
| |
| Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2 |
| <http://webkit.org/b/139463> |
| |
| Reviewed by Mark Rowe. |
| |
| Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and |
| WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in |
| r132859 and needed for Leopard. |
| |
| * Configurations/Base.xcconfig: |
| - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS |
| on OS X. |
| - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK. |
| - Simplify SQLITE3_HEADER_SEARCH_PATHS. |
| * Configurations/DebugRelease.xcconfig: |
| - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X. |
| * Configurations/Version.xcconfig: |
| - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X. |
| * Configurations/WebCore.xcconfig: |
| - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64, |
| FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE, |
| OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR, |
| WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR, |
| PRODUCTION_FRAMEWORKS_DIR, |
| JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and |
| EXCLUDED_SOURCE_FILE_NAMES based on SDK. |
| - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are |
| overrideable by WebCoreTestSupport.xcconfig. |
| * Configurations/WebCoreTestSupport.xcconfig: |
| - Set PRIVATE_HEADERS_FOLDER_PATH_Production and |
| INSTALL_PATH_Production based on SDK. |
| - Override SECT_ORDER_FLAGS from WebCore.xcconfig. |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| Clean up StyleBuilderCustom and DeprecatedStyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139807 |
| |
| Reviewed by Antti Koivisto. |
| |
| Clean up StyleBuilderCustom and DeprecatedStyleBuilder. |
| |
| * css/DeprecatedStyleBuilder.cpp: |
| |
| - Remove unnecessary header includes. |
| |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): |
| (WebCore::ApplyPropertyPerspectiveOrigin::applyValue): |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyExpanding::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyExpanding::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyExpanding::applyValue): Deleted. |
| (WebCore::ApplyPropertyExpanding::createHandler): Deleted. |
| |
| - Rename ApplyPropertyExpanding to ApplyPropertyPerspectiveOrigin as |
| PerspectiveOrigin is the only remaining user of this class. This also |
| allows us to simplify the implementation a lot. |
| |
| (WebCore::ApplyPropertyDefaultBase::setValue): Deleted. |
| (WebCore::ApplyPropertyDefaultBase::value): Deleted. |
| (WebCore::ApplyPropertyDefaultBase::initial): Deleted. |
| (WebCore::ApplyPropertyDefaultBase::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyDefaultBase::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyDefaultBase::applyValue): Deleted. |
| |
| - There is no longer any user of this templated class. |
| |
| * css/StyleBuilderCustom.h: |
| |
| - Introduce a macro that declares all 3 handlers (inherit, initial and |
| value) in the StyleBuilderCustom class. This greatly reduces the |
| number of lines in this class. |
| - Also alphabetize the handlers. |
| |
| 2014-12-18 Jeremy Jones <jeremyj@apple.com> |
| |
| dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse |
| https://bugs.webkit.org/show_bug.cgi?id=139809 |
| |
| Reviewed by Dan Bernstein. |
| |
| This prevents a race in playerController(). |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse): |
| |
| 2014-12-18 Jessie Berlin <jberlin@webkit.org> |
| |
| More speculative build fixing. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-18 Andreas Kling <akling@apple.com> |
| |
| Ref-ify various Document-related things. |
| <https://webkit.org/b/139796> |
| |
| Reviewed by Anders Carlsson. |
| |
| * bindings/objc/DOMHTML.mm: |
| (-[DOMHTMLDocument createDocumentFragmentWithText:]): |
| * dom/CDATASection.cpp: |
| (WebCore::CDATASection::create): |
| (WebCore::CDATASection::virtualCreate): |
| * dom/CDATASection.h: |
| * dom/Comment.cpp: |
| (WebCore::Comment::create): |
| * dom/Comment.h: |
| * dom/Document.cpp: |
| (WebCore::Document::create): |
| (WebCore::Document::createDocumentFragment): |
| (WebCore::Document::createTextNode): |
| (WebCore::Document::createComment): |
| (WebCore::Document::createEditingTextNode): |
| (WebCore::Document::createCSSStyleDeclaration): |
| (WebCore::Document::createElement): |
| (WebCore::Document::createRange): |
| (WebCore::Document::createParser): |
| (WebCore::Document::cloneNodeInternal): |
| (WebCore::Document::cloneDocumentWithoutChildren): |
| * dom/Document.h: |
| (WebCore::Document::create): |
| (WebCore::Document::createXHTML): |
| (WebCore::Document::createNonRenderedPlaceholder): |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::create): |
| * dom/DocumentFragment.h: |
| * dom/DocumentType.h: |
| * dom/EntityReference.cpp: |
| (WebCore::EntityReference::create): |
| * dom/EntityReference.h: |
| * dom/Text.cpp: |
| (WebCore::Text::create): |
| (WebCore::Text::createEditingText): |
| (WebCore::Text::splitText): |
| (WebCore::Text::virtualCreate): |
| (WebCore::Text::createWithLengthLimit): |
| * dom/Text.h: |
| * editing/markup.cpp: |
| (WebCore::replaceChildrenWithText): |
| * html/FTPDirectoryDocument.cpp: |
| (WebCore::FTPDirectoryDocument::createParser): |
| * html/FTPDirectoryDocument.h: |
| * html/HTMLDocument.cpp: |
| (WebCore::HTMLDocument::createParser): |
| (WebCore::HTMLDocument::cloneDocumentWithoutChildren): |
| * html/HTMLDocument.h: |
| (WebCore::HTMLDocument::create): |
| (WebCore::HTMLDocument::createSynthesizedDocument): |
| * html/ImageDocument.cpp: |
| (WebCore::ImageDocument::createParser): |
| * html/ImageDocument.h: |
| * html/MediaDocument.cpp: |
| (WebCore::MediaDocument::createParser): |
| * html/MediaDocument.h: |
| * html/PluginDocument.cpp: |
| (WebCore::PluginDocument::createParser): |
| * html/PluginDocument.h: |
| * html/TextDocument.cpp: |
| (WebCore::TextDocument::createParser): |
| * html/TextDocument.h: |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::insertTextNode): |
| * html/parser/HTMLDocumentParser.h: |
| (WebCore::HTMLDocumentParser::create): |
| * loader/SinkDocument.cpp: |
| (WebCore::SinkDocument::createParser): |
| * loader/SinkDocument.h: |
| * svg/SVGDocument.cpp: |
| (WebCore::SVGDocument::cloneDocumentWithoutChildren): |
| * svg/SVGDocument.h: |
| * xml/parser/XMLDocumentParser.h: |
| (WebCore::XMLDocumentParser::create): |
| * xml/parser/XMLDocumentParserLibxml2.cpp: |
| (WebCore::XMLParserContext::createStringParser): |
| (WebCore::XMLParserContext::createMemoryParser): |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Use MachSendRight in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139800 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| * platform/cocoa/MachSendRight.h: |
| (WebCore::MachSendRight::MachSendRight): |
| (WebCore::MachSendRight::sendRight): |
| * platform/graphics/cocoa/IOSurface.h: |
| * platform/graphics/cocoa/IOSurface.mm: |
| (IOSurface::createFromSendRight): |
| (IOSurface::createFromMachPort): Deleted. |
| |
| 2014-12-18 Gavin Barraclough <barraclough@apple.com> |
| |
| Add strong typing to RefCounter interface, return value as a bool. |
| https://bugs.webkit.org/show_bug.cgi?id=139776 |
| |
| Reviewed by Geoff Garen. |
| |
| Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>. |
| This means there is no compile time type checking to prevent mistakes. Update the count() |
| method to token<>(), templated on type used to identify the token being returned. |
| Calls to token<T>() will return a result of type RefCounter::Token<T>. |
| |
| There are a few problems with the fact the counter will return you an exact count of the |
| number of outstanding tokens: |
| - It is desirable to only fire the callback on zero-edge changes; it is more consistent |
| to do so if the value is only readable as a boolean. |
| - It is desirable to provide the value as an argument to the callback, however to make |
| this useful for integer values it is also necessary to indicate the direction of change |
| (0->1 is often interesting where 2->1 is not). |
| - There is a mismatch between the precision of returning a count, and the inherent |
| imprecision of a token based mechanism, where it may be difficult to guarantee |
| absolutely no unnecessary refcount churn, and thus unintentional counter values. |
| |
| * page/PageThrottler.cpp: |
| (WebCore::m_mediaActivityCounter): |
| (WebCore::m_pageLoadActivityCounter): |
| - lambdas now passed the value. |
| (WebCore::PageThrottler::mediaActivityToken): |
| (WebCore::PageThrottler::pageLoadActivityToken): |
| - count() -> token<>(). |
| * page/PageThrottler.h: |
| - specify tpoken type for PageActivityAssertionToken. |
| |
| 2014-12-18 Benjamin Poulain <bpoulain@apple.com> |
| |
| HTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on construction |
| https://bugs.webkit.org/show_bug.cgi?id=139791 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The objects are being constructed, they have not been inserted into the tree yet. |
| There is not chance of finding the owner form at this point, |
| that is done when inserting the node into the tree. |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::HTMLFormControlElement): |
| * html/HTMLObjectElement.cpp: |
| (WebCore::HTMLObjectElement::HTMLObjectElement): |
| |
| 2014-12-18 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Recursive crash at WebCore::accessibleNameForNode |
| https://bugs.webkit.org/show_bug.cgi?id=139616 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| An image that uses aria-labelledby to reference its own parent can lead to a recursion crash. |
| There needs to be some information we can pass through these methods to ensure we don't hit this case. |
| |
| Test: accessibility/accessibility-description-crash.html |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::alternativeText): |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| (WebCore::accessibleNameForNode): |
| (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements): |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode): |
| |
| 2014-12-18 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is handled on an element with any explicit ARIA role, including presentation. |
| https://bugs.webkit.org/show_bug.cgi?id=133613 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| This adds a heuristic to avoid a problem we have where too many objects that say they respond to press actions for accessibility. |
| It results from people installing click handlers on container nodes and then lots of static text objects are "clickable" in the eyes of VoiceOver. |
| |
| What we can do is avoid this determination if the element is presentational. |
| |
| Test: platform/mac/accessibility/press-action-for-presentational-descendants.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::nodeHasPresentationRole): |
| (WebCore::AccessibilityObject::supportsPressAction): |
| * accessibility/AccessibilityObject.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityActionNames]): |
| |
| 2014-12-18 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks |
| https://bugs.webkit.org/show_bug.cgi?id=135689 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| When trying to find the right sub-node to target, we need to go back up the parent chain to find |
| an Element, in case we land on a Text node for example. |
| |
| Test: accessibility/press-target-uses-text-descendant-node.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::press): |
| |
| 2014-12-16 Sam Weinig <sam@webkit.org> |
| |
| Unify the Mac and iOS implementations of FontPlatformData a bit |
| https://bugs.webkit.org/show_bug.cgi?id=139721 |
| |
| Reviewed by Anders Carlsson. |
| |
| This is a first pass of unifying the Mac and iOS implementations of FontPlatformData. |
| Notable changes: |
| - Change the storage of the platform font to be CTFontRef across the board. Adds NSFont |
| setter/getter/constructor as a temporary measures during the transition away from NSFont. |
| - Removes duplicate code that only differed by whether the type was NSFont or CTFontRef. |
| - Reduces the number of #ifdefs. |
| |
| * platform/graphics/FontPlatformData.cpp: |
| (WebCore::FontPlatformData::FontPlatformData): |
| (WebCore::FontPlatformData::operator=): |
| (WebCore::FontPlatformData::openTypeTable): Deleted. |
| * platform/graphics/FontPlatformData.h: |
| (WebCore::FontPlatformData::nsFont): |
| (WebCore::FontPlatformData::setNSFont): |
| (WebCore::FontPlatformData::hash): |
| (WebCore::FontPlatformData::operator==): |
| (WebCore::FontPlatformData::isHashTableDeletedValue): |
| (WebCore::toCTFontRef): Deleted. |
| (WebCore::FontPlatformData::font): Deleted. |
| (WebCore::FontPlatformData::roundsGlyphAdvances): Deleted. |
| (WebCore::FontPlatformData::cgFont): Deleted. |
| (WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted. |
| * platform/graphics/SimpleFontData.h: |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
| (WebCore::FontPlatformData::FontPlatformData): |
| (WebCore::FontPlatformData::~FontPlatformData): |
| (WebCore::FontPlatformData::platformDataInit): |
| (WebCore::FontPlatformData::platformDataAssign): |
| (WebCore::FontPlatformData::setFont): |
| (WebCore::FontPlatformData::roundsGlyphAdvances): |
| (WebCore::FontPlatformData::allowsLigatures): |
| (WebCore::FontPlatformData::ctFont): |
| (WebCore::FontPlatformData::openTypeTable): |
| (WebCore::FontPlatformData::loadFont): Deleted. |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::systemFallbackForCharacters): |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::drawGlyphs): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::getCompositeFontReferenceFontData): |
| (WebCore::SimpleFontData::platformInit): |
| (WebCore::SimpleFontData::platformCreateScaledFontData): |
| (WebCore::SimpleFontData::containsCharacters): |
| (WebCore::SimpleFontData::determinePitch): |
| (WebCore::SimpleFontData::renderingStyle): |
| (WebCore::SimpleFontData::advanceForColorBitmapFont): |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Build fix. |
| |
| * platform/cocoa/MachSendRight.cpp: |
| |
| 2014-12-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Change page preview loading order, and add a TextIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=139793 |
| <rdar://problem/19288547> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebCore.exp.in: |
| * platform/spi/mac/NSPopoverSPI.h: |
| Add an export and some SPI. |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Clean up MachSendRight and add a copySendRight member function |
| https://bugs.webkit.org/show_bug.cgi?id=139788 |
| |
| Reviewed by Tim Horton. |
| |
| * platform/cocoa/MachSendRight.cpp: |
| (WebCore::retainSendRight): |
| (WebCore::releaseSendRight): |
| Use mach_error_string. |
| |
| (WebCore::MachSendRight::copySendRight): |
| Create a new send right with the given mach port. |
| |
| (WebCore::MachSendRight::leakSendRight): |
| Use std::exchange. |
| |
| * platform/cocoa/MachSendRight.h: |
| |
| 2014-12-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ASSERT seen closing/opening multiple inspectors |
| https://bugs.webkit.org/show_bug.cgi?id=139783 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::nodeForObjectId): |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Add a MachSendRight class to WebCore and use it in IOSurface |
| https://bugs.webkit.org/show_bug.cgi?id=139787 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/cocoa/MachSendRight.cpp: Added. |
| (WebCore::retainSendRight): |
| (WebCore::releaseSendRight): |
| (WebCore::MachSendRight::adopt): |
| (WebCore::MachSendRight::create): |
| (WebCore::MachSendRight::MachSendRight): |
| (WebCore::MachSendRight::~MachSendRight): |
| (WebCore::MachSendRight::operator=): |
| (WebCore::MachSendRight::leakSendRight): |
| * platform/cocoa/MachSendRight.h: Added. |
| * platform/graphics/cocoa/IOSurface.h: |
| * platform/graphics/cocoa/IOSurface.mm: |
| (IOSurface::createSendRight): |
| (IOSurface::createMachPort): Deleted. |
| |
| 2014-12-18 Andreas Kling <akling@apple.com> |
| |
| Ref-ify DOMSettableTokenList. |
| <https://webkit.org/b/139785> |
| |
| Reviewed by Chris Dumez. |
| |
| Make DOMSettableTokenList::create() return a Ref, and have its two client |
| elements store it in a Ref instead of a RefPtr (and fix their getter API |
| to return references.) |
| |
| * html/DOMSettableTokenList.cpp: |
| (WebCore::DOMSettableTokenList::create): Deleted. |
| * html/DOMSettableTokenList.h: |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::sizes): Deleted. |
| * html/HTMLLinkElement.h: |
| * html/HTMLOutputElement.cpp: |
| (WebCore::HTMLOutputElement::htmlFor): Deleted. |
| * html/HTMLOutputElement.h: |
| |
| 2014-12-18 Andreas Kling <akling@apple.com> |
| |
| Ref-ify ClientRectList. |
| <https://webkit.org/b/139780> |
| |
| Reviewed by Anders Carlsson. |
| |
| Make the ClientRectList::create() helpers return Ref, along with a bunch |
| of other functions that always return non-null ClientRectLists. |
| |
| Also make ClientRectList store a Vector<Ref<ClientRect>> internally since |
| entries in the Vector are never null. |
| |
| * dom/ClientRectList.cpp: |
| (WebCore::ClientRectList::item): |
| * dom/ClientRectList.h: |
| (WebCore::ClientRectList::create): |
| * dom/Element.cpp: |
| (WebCore::Element::getClientRects): |
| * dom/Element.h: |
| * dom/Range.cpp: |
| (WebCore::Range::getClientRects): |
| * dom/Range.h: |
| * page/Page.cpp: |
| (WebCore::Page::nonFastScrollableRects): |
| * page/Page.h: |
| * testing/Internals.cpp: |
| (WebCore::Internals::inspectorHighlightRects): |
| (WebCore::Internals::nonFastScrollableRects): |
| * testing/Internals.h: |
| |
| 2014-12-18 Andreas Kling <akling@apple.com> |
| |
| Ref-ify ClientRect. |
| <https://webkit.org/b/139777> |
| |
| Reviewed by Anders Carlsson. |
| |
| Make the ClientRect::create() helpers return Ref, along with a bunch |
| of other functions that always return non-null ClientRects. |
| |
| * dom/ClientRect.h: |
| (WebCore::ClientRect::create): |
| * dom/Element.cpp: |
| (WebCore::Element::getBoundingClientRect): |
| * dom/Element.h: |
| * dom/Range.cpp: |
| (WebCore::Range::getBoundingClientRect): |
| * dom/Range.h: |
| * html/track/VTTRegion.cpp: |
| (WebCore::VTTRegion::displayLastTextTrackCueBox): |
| * testing/Internals.cpp: |
| (WebCore::Internals::absoluteCaretBounds): |
| (WebCore::Internals::boundingBox): |
| (WebCore::Internals::selectionBounds): |
| * testing/Internals.h: |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log navigation types using FeatureCounter API |
| https://bugs.webkit.org/show_bug.cgi?id=139753 |
| |
| Reviewed by Darin Adler. |
| |
| Log navigation types using FeatureCounter API. |
| |
| No new tests, no behavior change other than additional feature |
| counting. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::logNavigationWithFeatureCounter): |
| (WebCore::FrameLoader::loadWithDocumentLoader): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| Move 'font-weight' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139765 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'font-weight' CSS property to the new StyleBuilder by using |
| custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyFontWeight::applyValue): Deleted. |
| (WebCore::ApplyPropertyFontWeight::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialFontWeight): |
| (WebCore::StyleBuilderCustom::applyInheritFontWeight): |
| (WebCore::StyleBuilderCustom::applyValueFontWeight): |
| |
| 2014-12-18 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| Internals methods return 0 instead of false when they fail |
| https://bugs.webkit.org/show_bug.cgi?id=139766 |
| |
| Reviewed by Darin Adler. |
| |
| Some Internals method explicitly return 0 although |
| they expect boolean value. |
| |
| No new tests, no behavior change. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::hasSpellingMarker): |
| (WebCore::Internals::hasAutocorrectedMarker): |
| (WebCore::Internals::isOverwriteModeEnabled): |
| (WebCore::Internals::hasGrammarMarker): |
| Return false instead of 0. |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log why cached resources are being revalidated using FeatureCounter API |
| https://bugs.webkit.org/show_bug.cgi?id=139759 |
| <rdar://problem/19288177> |
| |
| Reviewed by Antti Koivisto. |
| |
| Log why cached resources are being revalidated using FeatureCounter API. |
| Also log if revalidation is successful or not. |
| |
| No new tests, no behavior change. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::willSendRequest): |
| (WebCore::SubresourceLoader::didReceiveResponse): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::failBeforeStarting): |
| (WebCore::CachedResource::mustRevalidateDueToCacheHeaders): |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::loader): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::determineRevalidationPolicy): |
| * platform/FeatureCounterKeys.h: |
| |
| 2014-12-18 Antti Koivisto <antti@apple.com> |
| |
| Remove alwaysUseBaselineOfPrimaryFont setting |
| https://bugs.webkit.org/show_bug.cgi?id=139770 |
| |
| Reviewed by Anders Carlsson. |
| |
| "FIXME: This is unneeded and should be removed." |
| |
| This iOS-only setting has no clients anymore. |
| |
| * page/Settings.in: |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::ascentAndDescentForBox): |
| |
| 2014-12-18 Radu Stavila <stavila@adobe.com> |
| |
| [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image |
| https://bugs.webkit.org/show_bug.cgi?id=139294 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch links together all parts required for the functionality which improves |
| the -webkit-mask-image property by allowing it to reference a <mask> element defined |
| in an inline or external SVG document. |
| Support for this new functionality has been added in a previous patch, under issue |
| https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how |
| the new functionality works can be found in the ChangeLog for that commit. |
| The containsSVGDocument in ScrollView has been removed because it was added in the |
| previous patch but is no longer required. |
| |
| Tests: css3/masking/mask-base64.html |
| css3/masking/mask-multiple-values.html |
| css3/masking/mask-svg-clipped-fragmentId.html |
| css3/masking/mask-svg-fragmentId.html |
| css3/masking/mask-svg-inline-fragmentId.html |
| css3/masking/mask-svg-inline-invalid-fragmentId.html |
| css3/masking/mask-svg-invalid-fragmentId.html |
| css3/masking/mask-svg-no-fragmentId-tiled.html |
| css3/masking/mask-svg-no-fragmentId.html |
| css3/masking/mask-svg-script-entire-svg-to-mask.html |
| css3/masking/mask-svg-script-mask-to-entire-svg.html |
| css3/masking/mask-svg-script-mask-to-none.html |
| css3/masking/mask-svg-script-mask-to-png.html |
| css3/masking/mask-svg-script-none-to-mask.html |
| css3/masking/mask-svg-script-none-to-png.html |
| css3/masking/mask-svg-script-png-to-mask.html |
| css3/masking/mask-svg-script-png-to-none.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFillShorthand): |
| (WebCore::CSSParser::parseFillProperty): |
| (WebCore::CSSParser::parseMaskImage): |
| * css/CSSParser.h: |
| * css/CSSValue.h: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustStyleForMaskImages): |
| (WebCore::StyleResolver::applyMatchedProperties): |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::loadPendingSVGDocuments): |
| (WebCore::StyleResolver::createMaskImageOperations): |
| (WebCore::StyleResolver::loadPendingImages): |
| * css/StyleResolver.h: |
| * page/FrameView.cpp: |
| (WebCore::FrameView::containsSVGDocument): Deleted. |
| * page/FrameView.h: |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper): |
| (WebCore::MaskImagePropertyWrapper::equals): |
| (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::containsSVGDocument): Deleted. |
| * platform/graphics/MaskImageOperation.cpp: |
| (WebCore::MaskImageOperation::~MaskImageOperation): |
| (WebCore::MaskImageOperation::operator==): |
| * platform/graphics/MaskImageOperation.h: |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::maskClipRect): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::calculateFillTileSize): |
| (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::~RenderElement): |
| (WebCore::RenderElement::updateFillImages): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerMaskImageInfo.cpp: |
| (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo): |
| (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): |
| (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): |
| * rendering/RenderLayerMaskImageInfo.h: |
| * rendering/style/FillLayer.cpp: |
| (WebCore::FillLayer::hasImage): |
| * rendering/style/FillLayer.h: |
| (WebCore::FillLayer::image): |
| (WebCore::FillLayer::imageOrMaskImage): Deleted. |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::setMaskImage): |
| * rendering/style/RenderStyle.h: |
| |
| 2014-12-18 Antti Koivisto <antti@apple.com> |
| |
| Stop returning GlyphPage from various Font functions |
| https://bugs.webkit.org/show_bug.cgi?id=139627 |
| |
| Reviewed by Darin Adler. |
| |
| Make all |
| |
| std::pair<GlyphData, GlyphPage*> glyphDataAndPage*(...) |
| |
| style functions to just return GlyphData only. The GlyphPage value was only used for an obscure SVG fallback case. |
| |
| * platform/graphics/Font.h: |
| (WebCore::Font::glyphDataForCharacter): |
| (WebCore::Font::glyphDataAndPageForCharacter): Deleted. |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic): |
| (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation): |
| (WebCore::FontGlyphs::glyphDataForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataForVariant): |
| (WebCore::FontGlyphs::glyphDataForCharacter): |
| (WebCore::glyphDataAndPageForCJKCharacterWithoutSyntheticItalic): Deleted. |
| (WebCore::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Deleted. |
| (WebCore::FontGlyphs::glyphDataAndPageForSystemFallback): Deleted. |
| (WebCore::FontGlyphs::glyphDataAndPageForVariant): Deleted. |
| (WebCore::FontGlyphs::glyphDataAndPageForCharacter): Deleted. |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::GlyphPagesStateSaver::GlyphPagesStateSaver): Deleted. |
| (WebCore::FontGlyphs::GlyphPagesStateSaver::~GlyphPagesStateSaver): Deleted. |
| |
| No longer needed. |
| |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): |
| |
| Simplify by not trying to resolve fallbacks in case context sensitive (based on lang attribute etc) |
| glyph selection fails. Instead just fall back to a default font. This behavior is not specified |
| anywhere as far as I can see. (normal non-context sensitive fallbacks will still work fine). |
| This removes the need to hackishly mutate glyph pages. |
| |
| Also fix a bug where we didn't use the specified missing glyph when context sensitive selection failed. |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| Move 'list-style-image' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139763 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'list-style-image' CSS property to the new StyleBuilder |
| by reusing an existing Converter helper and renaming it for |
| clarity. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyStyleImage::applyValue): Deleted. |
| (WebCore::ApplyPropertyStyleImage::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertStyleImage): |
| (WebCore::StyleBuilderConverter::convertBorderImageSource): Deleted. |
| |
| 2014-12-17 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177452. |
| https://bugs.webkit.org/show_bug.cgi?id=139752 |
| |
| * CMakeLists.txt: |
| |
| 2014-12-17 Andreas Kling <akling@apple.com> |
| |
| Ref-ify Range::create(). |
| <https://webkit.org/b/139755> |
| |
| Reviewed by Anders Carlsson. |
| |
| * dom/Document.cpp: |
| (WebCore::acceptsEditingFocus): |
| * dom/Element.cpp: |
| (WebCore::Element::innerText): |
| * dom/Range.cpp: |
| (WebCore::Range::create): |
| (WebCore::Range::cloneRange): |
| (WebCore::rangeOfContents): |
| * dom/Range.h: |
| * editing/AlternativeTextController.cpp: |
| (WebCore::AlternativeTextController::applyAlternativeTextToRange): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers): |
| * editing/VisibleUnits.cpp: |
| (WebCore::charactersAroundPosition): |
| * editing/markup.cpp: |
| (WebCore::StyledMarkupAccumulator::renderedText): |
| * page/FocusController.cpp: |
| (WebCore::relinquishesEditingFocus): |
| |
| 2014-12-17 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier |
| https://bugs.webkit.org/show_bug.cgi?id=139760 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebCore.xcconfig: |
| |
| 2014-12-17 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of FrameLoader::defaultObjectContentType |
| https://bugs.webkit.org/show_bug.cgi?id=139758 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Move the FrameLoader::defaultObjectContentType implementation to its only caller in WebKit/win. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::defaultObjectContentType): Deleted. |
| * loader/FrameLoader.h: |
| |
| 2014-12-17 peavo@outlook.com <peavo@outlook.com> |
| |
| [Curl] Compile error, setWasCached method has been removed. |
| https://bugs.webkit.org/show_bug.cgi?id=139737 |
| |
| Reviewed by Alex Christensen. |
| |
| The ResourceResponseBase::setWasCached() method has been replaced |
| with ResourceResponseBase::setSource(). |
| |
| * platform/network/curl/CurlCacheEntry.cpp: |
| (WebCore::CurlCacheEntry::setResponseFromCachedHeaders): |
| |
| 2014-12-17 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Make it possible to toggle FeatureCounter support at runtime |
| https://bugs.webkit.org/show_bug.cgi?id=139688 |
| <rdar://problem/19266254> |
| |
| Reviewed by Andreas Kling. |
| |
| Make it possible to toggle FeatureCounter support at runtime by adding |
| a setting (disabled by default) and moving the API to a new |
| FeatureCounter class under WebCore/plattorm which only logs if the |
| setting is enabled. For privacy reasons, FeatureCounter logging is also |
| disabled for private / ephemeral sessions. |
| |
| No new tests, no behavior change. |
| |
| * CMakeLists.txt: |
| * Configurations/WebCore.xcconfig: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::logCanCachePageDecision): |
| * page/Settings.in: |
| * platform/FeatureCounter.cpp: Renamed from Source/WTF/wtf/FeatureCounter.cpp. |
| (WebCore::FeatureCounter::shouldUseForPage): |
| (WebCore::FeatureCounter::incrementKey): |
| (WebCore::FeatureCounter::setKey): |
| * platform/FeatureCounter.h: Renamed from Source/WTF/wtf/FeatureCounter.h. |
| * platform/FeatureCounterKeys.h: |
| * platform/ios/FeatureCounter.mm: Renamed from Source/WTF/wtf/ios/FeatureCounter.mm. |
| (WebCore::FeatureCounter::incrementKey): |
| (WebCore::FeatureCounter::setKey): |
| |
| 2014-12-17 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of PluginPackageNone.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=139735 |
| |
| Reviewed by Andreas Kling. |
| |
| * CMakeLists.txt: |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * PlatformWin.cmake: |
| * plugins/PluginPackageNone.cpp: Removed. |
| |
| 2014-12-17 Andreas Kling <akling@apple.com> |
| |
| Purge PassRefPtr from Frame. |
| <https://webkit.org/b/139731> |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove all use of PassRefPtr from the Frame class, instead using |
| Ref or RefPtr as appropriate. |
| |
| * WebCore.exp.in: |
| * loader/DocumentWriter.cpp: |
| (WebCore::DocumentWriter::begin): |
| * page/Frame.cpp: |
| (WebCore::Frame::create): |
| (WebCore::Frame::setView): |
| (WebCore::Frame::setDocument): |
| (WebCore::Frame::rangeForPoint): |
| (WebCore::Frame::createView): |
| * page/Frame.h: |
| * xml/XSLTProcessor.cpp: |
| (WebCore::XSLTProcessor::createDocumentFromSource): |
| |
| 2014-12-17 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Test fix after r177444. |
| |
| Unreviewed. |
| |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySliderThumb::elementRect): |
| |
| 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Addressing more post-review comments in r177035 |
| |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySliderThumb::elementRect): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setupDateTimeChooserParameters): |
| |
| 2014-12-17 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Sprinkle range-based for-loops where still possible |
| https://bugs.webkit.org/show_bug.cgi?id=138752 |
| |
| Reviewed by Chris Dumez. |
| |
| Apply range-based for-loops where possible in the TextureMapper, |
| TextureMapperGL and TextureMapperTiledBackingStore classes. |
| |
| Also prettify the loop in SharedGLData destructor and return |
| nullptr instead of explicitly constructing the empty PassRefPtr |
| object in TextureMapperTiledBackingStore::texture(). |
| |
| * platform/graphics/texmap/TextureMapper.cpp: |
| (WebCore::BitmapTexturePool::acquireTexture): |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): |
| (WebCore::TextureMapperGLData::~TextureMapperGLData): |
| * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: |
| (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper): |
| (WebCore::TextureMapperTiledBackingStore::drawBorder): |
| (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter): |
| (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): |
| (WebCore::TextureMapperTiledBackingStore::updateContents): |
| (WebCore::TextureMapperTiledBackingStore::texture): |
| |
| 2014-12-17 Radu Stavila <stavila@adobe.com> |
| |
| The SVGDocument of an SVGImage should not perform any additional actions when the SVGImage is being destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=139644 |
| |
| Reviewed by Antti Koivisto. |
| |
| When an SVGImage is destroyed, having its SVGDocument perform style recalc and dispatching events is not only |
| useless but can also cause problems, such as re-entrancy in StyleResolver::loadPendingResources. |
| |
| No new tests required, existing tests cover this change. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| (WebCore::Document::isBeingDestroyed): |
| (WebCore::Document::setIsBeingDestroyed): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::closeURL): |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::~SVGImage): |
| |
| 2014-12-17 Chris Dumez <cdumez@apple.com> |
| |
| Drop useless 'clipToContents' argument for windowClipRect() |
| https://bugs.webkit.org/show_bug.cgi?id=139722 |
| |
| Reviewed by Darin Adler. |
| |
| Drop useless 'clipToContents' argument for windowClipRect(). This |
| argument is never used. |
| |
| No new tests, no behavior change. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::windowClipRect): |
| * page/FrameView.h: |
| * platform/ScrollView.h: |
| |
| 2014-12-16 Shivakumar JM <shiva.jm@samsung.com> |
| |
| text node should not be created, On setting document.title to the empty string. |
| https://bugs.webkit.org/show_bug.cgi?id=139121 |
| |
| Reviewed by Darin Adler. |
| |
| Do not create text node, On setting document.title to the empty string as in spec. |
| I have confirmed this matches the behavior of Firefox and Chrome. |
| |
| Test: fast/dom/Document/document-set-title-no-child.html |
| |
| * html/HTMLTitleElement.cpp: |
| (WebCore::HTMLTitleElement::setText): |
| |
| 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/platform/graphics/surfaces to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=139641 |
| |
| Reviewed by Andreas Kling. |
| |
| Replace OwnPtr|PassOwnPtr with std::make_unique<>|std::unique_ptr<>. |
| |
| * platform/graphics/GLContext.cpp: |
| (WebCore::GLContext::sharingContext): |
| (WebCore::GLContext::createContextForWindow): |
| (WebCore::GLContext::createOffscreenContext): |
| * platform/graphics/GLContext.h: |
| * platform/graphics/GraphicsContext3DPrivate.cpp: |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): |
| * platform/graphics/GraphicsContext3DPrivate.h: |
| * platform/graphics/egl/GLContextEGL.cpp: |
| (WebCore::GLContextEGL::createWindowContext): |
| (WebCore::GLContextEGL::createPbufferContext): |
| (WebCore::GLContextEGL::createPixmapContext): |
| (WebCore::GLContextEGL::createContext): |
| * platform/graphics/egl/GLContextEGL.h: |
| * platform/graphics/glx/GLContextGLX.cpp: |
| (WebCore::GLContextGLX::createWindowContext): |
| (WebCore::GLContextGLX::createPbufferContext): |
| (WebCore::GLContextGLX::createPixmapContext): |
| (WebCore::GLContextGLX::createContext): |
| * platform/graphics/glx/GLContextGLX.h: |
| * platform/graphics/surfaces/GLTransportSurface.cpp: |
| (WebCore::GLTransportSurface::createTransportSurface): |
| (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient): |
| * platform/graphics/surfaces/GLTransportSurface.h: |
| * platform/graphics/surfaces/GraphicsSurface.h: |
| * platform/graphics/surfaces/GraphicsSurfaceToken.h: |
| * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: |
| * platform/graphics/surfaces/egl/EGLSurface.cpp: |
| (WebCore::EGLTransportSurface::createTransportSurface): |
| (WebCore::EGLTransportSurface::createTransportSurfaceClient): |
| (WebCore::EGLTransportSurface::EGLTransportSurface): |
| * platform/graphics/surfaces/egl/EGLSurface.h: |
| * platform/graphics/surfaces/egl/EGLXSurface.cpp: |
| (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient): |
| * platform/graphics/surfaces/egl/EGLXSurface.h: |
| * platform/graphics/surfaces/glx/GLXSurface.cpp: |
| (WebCore::GLXTransportSurface::GLXTransportSurface): |
| (WebCore::GLXOffScreenSurface::initialize): |
| * platform/graphics/surfaces/glx/GLXSurface.h: |
| |
| 2014-12-16 Timothy Horton <timothy_horton@apple.com> |
| |
| Implement and adopt two new TextIndicator presentation animations |
| https://bugs.webkit.org/show_bug.cgi?id=139715 |
| <rdar://problem/19237945> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Adjust one symbol and export another. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::createWithSelectionInFrame): |
| Take a blue-highlight snapshot if we're doing a crossfade without a bounce. |
| |
| * page/TextIndicator.h: |
| (WebCore::TextIndicator::presentationTransition): |
| Add FadeIn and Crossfade transition types. |
| |
| * page/mac/TextIndicatorWindow.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (createBounceAnimation): |
| (createContentCrossfadeAnimation): |
| (createShadowFadeAnimation): |
| (createFadeInAnimation): |
| (-[WebTextIndicatorView _textIndicatorWantsBounce]): |
| (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): |
| (-[WebTextIndicatorView _textIndicatorWantsFadeIn]): |
| Factor out the animation construction. |
| |
| (-[WebTextIndicatorView _animationDuration]): |
| Factor out the duration computation. |
| |
| (-[WebTextIndicatorView present]): |
| (-[WebTextIndicatorView setAnimationProgress:]): |
| Implement FadeIn and Crossfade transitions. |
| They can be driven externally and then continue from where they |
| left off when the progress reaches 100%. |
| FadeIn changes the opacity of the whole bubble, Crossfade |
| crossfades the content (from blue to yellow). |
| |
| (WebCore::TextIndicatorWindow::TextIndicatorWindow): |
| (WebCore::TextIndicatorWindow::~TextIndicatorWindow): |
| Don't immediately destroy the window if it is crossfades or fades in. |
| Fade it out, instead. |
| |
| (WebCore::TextIndicatorWindow::setAnimationProgress): |
| Drive the paused animation manually. If progress hits 100%, |
| start running it automatically from where it last left off. |
| |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| (WebCore::TextIndicatorWindow::startFadeOut): |
| (-[WebTextIndicatorView presentWithCompletionHandler:]): Deleted. |
| (WebCore::TextIndicatorWindow::startFadeOutTimerFired): Deleted. |
| Remove the completion block from -present. |
| |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: |
| Add some SPI. |
| |
| 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/platform/image-decoders to std::unique_ptr<> |
| https://bugs.webkit.org/show_bug.cgi?id=139668 |
| |
| Reviewed by Andreas Kling. |
| |
| As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with |
| std::unique_ptr<> | std::make_unique<>. |
| |
| * platform/image-decoders/bmp/BMPImageDecoder.cpp: |
| (WebCore::BMPImageDecoder::setFailed): |
| (WebCore::BMPImageDecoder::decode): |
| (WebCore::BMPImageDecoder::decodeHelper): |
| * platform/image-decoders/bmp/BMPImageDecoder.h: |
| * platform/image-decoders/gif/GIFImageDecoder.cpp: |
| (WebCore::GIFImageDecoder::setFailed): |
| (WebCore::GIFImageDecoder::gifComplete): |
| (WebCore::GIFImageDecoder::decode): |
| * platform/image-decoders/gif/GIFImageDecoder.h: |
| * platform/image-decoders/gif/GIFImageReader.cpp: |
| (GIFFrameContext::decode): |
| (GIFImageReader::addFrameIfNecessary): |
| * platform/image-decoders/gif/GIFImageReader.h: |
| * platform/image-decoders/ico/ICOImageDecoder.cpp: |
| (WebCore::ICOImageDecoder::decode): |
| (WebCore::ICOImageDecoder::decodeAtIndex): |
| * platform/image-decoders/ico/ICOImageDecoder.h: |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (WebCore::JPEGImageDecoder::setFailed): |
| (WebCore::JPEGImageDecoder::decode): |
| * platform/image-decoders/jpeg/JPEGImageDecoder.h: |
| * platform/image-decoders/png/PNGImageDecoder.cpp: |
| (WebCore::PNGImageDecoder::setFailed): |
| (WebCore::PNGImageDecoder::decode): |
| * platform/image-decoders/png/PNGImageDecoder.h: |
| |
| 2014-12-16 Andreas Kling <akling@apple.com> |
| |
| Use Ref for SecurityOrigin. |
| <https://webkit.org/b/139710> |
| |
| Reviewed by Anders Carlsson. |
| |
| Make SecurityOrigin::create*() return Ref<SecurityOrigin>. |
| |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::origin): |
| * loader/DocumentLoadTiming.cpp: |
| (WebCore::DocumentLoadTiming::addRedirect): |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::willSendRequest): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| * loader/PingLoader.cpp: |
| (WebCore::PingLoader::sendPing): |
| * loader/appcache/ApplicationCacheHost.cpp: |
| (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest): |
| * loader/appcache/ApplicationCacheStorage.cpp: |
| (WebCore::ApplicationCacheStorage::getOriginsWithCache): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::stripURLForUseInReport): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::crossDomainAccessErrorMessage): |
| * page/SecurityOrigin.cpp: |
| (WebCore::getCachedOrigin): |
| (WebCore::SecurityOrigin::create): |
| (WebCore::SecurityOrigin::createUnique): |
| (WebCore::SecurityOrigin::isolatedCopy): |
| (WebCore::SecurityOrigin::canRequest): |
| (WebCore::SecurityOrigin::createFromString): |
| (WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier): |
| (WebCore::SecurityOrigin::createFromDatabaseIdentifier): |
| * page/SecurityOrigin.h: |
| * page/SecurityPolicy.cpp: |
| (WebCore::SecurityPolicy::isAccessToURLWhiteListed): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): |
| * storage/StorageTracker.cpp: |
| (WebCore::StorageTracker::deleteOriginWithIdentifier): |
| * workers/DefaultSharedWorkerRepository.cpp: |
| (WebCore::DefaultSharedWorkerRepository::connectToWorker): |
| * workers/WorkerThread.cpp: |
| (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): |
| |
| 2014-12-16 Chris Dumez <cdumez@apple.com> |
| |
| Move 'cursor' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139660 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Move 'cursor' CSS property to the new StyleBuilder by using |
| custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyCursor::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyCursor::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyCursor::applyValue): Deleted. |
| (WebCore::ApplyPropertyCursor::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialCursor): |
| (WebCore::StyleBuilderCustom::applyInheritCursor): |
| (WebCore::StyleBuilderCustom::applyValueCursor): |
| |
| 2014-12-16 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Animating HTML elements leaves trails when embedded to a subpxiel positioned iframe. |
| https://bugs.webkit.org/show_bug.cgi?id=139691 |
| rdar://problem/19078958 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch ensures that repaint rect and actual paint coordinate calculations are in sync. |
| |
| RenderWidget painting still snaps final coordinates to integral positions. We need to |
| mimic the same snapping behaviour when the repaint rects are being calculated so that |
| they are in sync with the final repaint rects. This is a workaround until after |
| widgets get pushed to device pixel positions. |
| |
| Test: fast/repaint/hidpi-content-inside-iframe-leaves-trails.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computeRectForRepaint): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::repaintViewRectangle): |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::paintContents): |
| |
| 2014-12-16 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Preview popovers obscure the link, look wrong |
| https://bugs.webkit.org/show_bug.cgi?id=139711 |
| -and corresponding- |
| rdar://problem/19271854 |
| |
| Reviewed by Tim Horton. |
| |
| New SPI. |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac/NSPopoverSPI.h: Added. |
| |
| 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Cherokee language is drawn as boxes |
| https://bugs.webkit.org/show_bug.cgi?id=139706 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: platform/ios-simulator/fast/text/cherokee.html |
| |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::languageSpecificFallbackFont): |
| |
| 2014-12-16 Enrica Casucci <enrica@apple.com> |
| |
| Fix iOS builders for 8.0 |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| |
| Reviewed by Jer Noble |
| |
| * WebCore.exp.in: |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| (-[WebVideoFullscreenController enterFullscreen:mode:]): |
| (-[WebVideoFullscreenController requestHideAndExitFullscreen]): |
| (-[WebVideoFullscreenController enterFullscreen:]): Deleted. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| |
| 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Ruby overhang uses ints instead of floats |
| https://bugs.webkit.org/show_bug.cgi?id=139624 |
| |
| Reviewed by Dave Hyatt. |
| |
| Simply change the type. |
| |
| Updated existing tests. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::setMarginsForRubyRun): |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::getOverhang): |
| * rendering/RenderRubyRun.h: |
| * rendering/line/LineWidth.cpp: |
| (WebCore::LineWidth::applyOverhang): |
| |
| 2014-12-16 Gavin Barraclough <barraclough@apple.com> |
| |
| Move Mac process suppression from WebCore to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139705 |
| |
| Reviewed by Geoff Garen. |
| |
| Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState, |
| and an optional UserActivity. |
| |
| Instead, still construct the PageActivityState but just pass this out via the Page to WebPage. |
| Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity. |
| |
| * WebCore.exp.in: |
| - removed createUserActivity. |
| * page/ChromeClient.h: |
| (WebCore::ChromeClient::setPageActivityState): |
| - added to propagate PageActivityState to WebPage. |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| - PageThrottler constructor now takes a Page&. |
| (WebCore::Page::setViewState): |
| - no longer necessary to pass this to PageThrottler. |
| (WebCore::Page::setPageActivityState): |
| - added to propagate PageActivityState to WebPage. |
| (WebCore::Page::enablePageThrottler): Deleted. |
| - PageThrottler no longer has a UserActivity. |
| * page/Page.h: |
| (WebCore::Page::pageThrottler): |
| - added setPageActivityState, removed enablePageThrottler. |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - removed m_viewState, added m_page. |
| (WebCore::PageThrottler::setActivityFlag): |
| - propagate PageActivityState via Page to WebPage. |
| (WebCore::PageThrottler::createUserActivity): Deleted. |
| (WebCore::PageThrottler::updateUserActivity): Deleted. |
| (WebCore::PageThrottler::setViewState): Deleted. |
| - removed; PageThrottler no longer has a PageThrottler or UserActivity. |
| * page/PageThrottler.h: |
| - removed createUserActivity, setViewState, m_viewState, m_activity; added m_page. |
| |
| 2014-12-16 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build fix after r177375; explicitly cast to NSUInteger. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): |
| (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): |
| |
| 2014-12-16 peavo@outlook.com <peavo@outlook.com> |
| |
| [Win] Compiling WebCore fails because of invalid project file. |
| https://bugs.webkit.org/show_bug.cgi?id=139686 |
| |
| Reviewed by Alex Christensen. |
| |
| A WebCore project file contains illegal characters. |
| |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| |
| 2014-12-16 Gavin Barraclough <barraclough@apple.com> |
| |
| Introduce PageActivityState |
| https://bugs.webkit.org/show_bug.cgi?id=139687 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add a bitfield to track each of the activities on the page separately. |
| Split the hysteresis & counters so we can track these separately. |
| |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - initialze new hysteresis, counters; closures call setActivityFlag. |
| (WebCore::PageThrottler::mediaActivityToken): |
| (WebCore::PageThrottler::pageLoadActivityToken): |
| - split m_pageActivityCounter -> m_mediaActivityCounter, m_pageLoadActivityCounter. |
| (WebCore::PageThrottler::updateUserActivity): |
| - use m_activityState to check for activity. |
| (WebCore::PageThrottler::setActivityFlag): |
| - helper to clear/set a bit in m_activityState, and call updateUserActivity as necessary. |
| * page/PageThrottler.h: |
| (WebCore::PageThrottler::didReceiveUserInput): |
| (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying): |
| - split m_hysteresis -> m_userInputHysteresis, m_audiblePluginHysteresis |
| |
| 2014-12-16 Myles C. Maxfield <litherum@gmail.com> |
| |
| Ruby does not preserve expansion opportunities from enclosing context |
| https://bugs.webkit.org/show_bug.cgi?id=139618 |
| |
| Reviewed by David Hyatt. |
| |
| There is currently no sharing of expansion opportunity information between |
| ruby bases and the text surrounding the ruby. This patch adds a bit on |
| RenderText, m_contentIsKnownToFollow, which affects how expansion |
| opportunities are handled at paint-time, as well as a bit on RenderRubyBase, |
| m_isAfterExpansion, which affects how expansions are calculated when laying |
| out a line. This patch also adds a field to RenderRubyBase which represents |
| the base's starting position within a ruby. This field is necessary because |
| an expansion from a line might occur at the very beginning of a ruby base, |
| so we have to remember some state from expansion time to RenderRubyBase |
| layout time. |
| |
| Added more tests to fast/ruby/ruby-justification.html. |
| |
| * rendering/InlineBox.h: |
| (WebCore::InlineBox::setExpansionWithoutGrowing): |
| (WebCore::InlineBox::expansion): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::removeChild): Keep the bit on InlineTextBox up to |
| date. |
| (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): Set expansion |
| information in InlineFlowBoxes so the total expansion for a whole line |
| is held in the RootInlineBox's expansion. |
| * rendering/InlineTextBox.h: |
| (WebCore::InlineTextBox::expansionBehavior): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::updateRubyForJustifiedText): |
| updateRubyForJustifiedText() had a bunch of problems with it. First of all, |
| it didn't actually set the InlineBoxes as dirty, so the second layout pass |
| sometimes wouldn't perform any updates. Secondarily, it didn't take |
| overhangs into account. Thirdly, it didn't mark the ruby base and text as |
| needing layout so that subsequent layouts would actually traverse into them. |
| (WebCore::RenderBlockFlow::computeExpansionForJustifiedText): |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): |
| This nested if triangle is super nasty, but I'm not sure of a better way to |
| write it. |
| (WebCore::updateRubyForJustifiedText): Deleted. |
| (WebCore::computeExpansionForJustifiedText): Deleted. |
| * rendering/RenderRubyBase.cpp: |
| (WebCore::RenderRubyBase::RenderRubyBase): |
| (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): |
| * rendering/RenderRubyBase.h: |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::layout): |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::RenderText): |
| * rendering/RenderText.h: |
| (WebCore::RenderText::contentIsKnownToFollow): |
| (WebCore::RenderText::setContentIsKnownToFollow): |
| |
| 2014-12-16 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from another app while playing a video |
| https://bugs.webkit.org/show_bug.cgi?id=139550 |
| |
| Reviewed by Anders Carlsson. |
| |
| The existing "dispatch to WebThread, then release" model is insufficient and still |
| can result in RefPtr race conditions between the main thread and the web thread. |
| Make WebVideoFullscreenInterfaceAVKit a thread-safe ref-counted class, which |
| eliminates the necessity of disptaching back to the web thread before releasing. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setDuration): Use a strongThis model. |
| (WebVideoFullscreenInterfaceAVKit::setCurrentTime): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setRate): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Ditto. |
| (mediaSelectionOptions): Return a RetainPtr object. |
| (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Use a strongThis model. |
| (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Added utility |
| function. Lets us use the implied this pointer rather than an explicit |
| strongThis. |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto. |
| (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Use a strongThis model. |
| |
| 2014-12-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Nested template contents are not cloned by document.importNode |
| https://bugs.webkit.org/show_bug.cgi?id=137619 |
| |
| Reviewed by Andreas Kling. |
| |
| The bug was caused by Document.importNode not cloning HTMLTemplateElement's content. |
| |
| Fixed the bug by sharing code between Document::importNode and Node::cloneNode by |
| generalizing Node::cloneNodeInternal, added in r177314, by taking the owner document |
| as an argument. The most of code changes are the result of adding this argument. |
| |
| Document::importNode is the only function in which the actual logic changes. |
| Note that the code to import TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, |
| PROCESSING_INSTRUCTION_NODE and COMMENT_NODE nodes are identical to that of cloneNode. |
| |
| This patch removes the call to hasValidNamespaceForElements in ELEMENT_NODE but this |
| should not introduce an observable behavior change since all instantiated elements |
| should have a valid namespace in the first place. |
| |
| Because DOCUMENT_NODE and DOCUMENT_TYPE_NODE cannot be imported and DOCUMENT_TYPE_NODE |
| can only appear as a direct child of DOCUMENT_NODE, neither nodes nor unimplemented |
| XPATH_NAMESPACE_NODE and XPATH_NAMESPACE_NODE can appear inside the recursive calls |
| for ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE nodes. |
| |
| While importNode behaves differently from cloneNode for ATTRIBUTE_NODE, namely that |
| it merges all of its child nodes, this behavior isn't present when recursing inside |
| ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE since we are using cloneDataFromElement. |
| |
| Thus there should be no observable behavior changes for DOCUMENT_FRAGMENT_NODE and |
| ELEMENT_NODE nodes either. |
| |
| Test: fast/dom/HTMLTemplateElement/importNode-nested-templates.html |
| |
| * dom/Attr.cpp: |
| (WebCore::Attr::cloneNodeInternal): |
| * dom/Attr.h: |
| * dom/CDATASection.cpp: |
| (WebCore::CDATASection::cloneNodeInternal): |
| * dom/CDATASection.h: |
| * dom/Comment.cpp: |
| (WebCore::Comment::cloneNodeInternal): |
| * dom/Comment.h: |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::cloneChildNodes): |
| * dom/Document.cpp: |
| (WebCore::Document::importNode): |
| (WebCore::Document::cloneNodeInternal): |
| * dom/Document.h: |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::cloneNodeInternal): |
| * dom/DocumentFragment.h: |
| * dom/DocumentType.cpp: |
| (WebCore::DocumentType::cloneNodeInternal): |
| * dom/DocumentType.h: |
| * dom/Element.cpp: |
| (WebCore::Element::cloneNodeInternal): |
| (WebCore::Element::cloneElementWithChildren): |
| (WebCore::Element::cloneElementWithoutChildren): |
| (WebCore::Element::cloneElementWithoutAttributesAndChildren): |
| * dom/Element.h: |
| * dom/EntityReference.cpp: |
| (WebCore::EntityReference::cloneNodeInternal): |
| * dom/EntityReference.h: |
| * dom/Node.h: |
| (WebCore::Node::cloneNode): |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::cloneNodeInternal): |
| * dom/ProcessingInstruction.h: |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::cloneNodeInternal): |
| * dom/ShadowRoot.h: |
| * dom/Text.cpp: |
| (WebCore::Text::cloneNodeInternal): |
| * dom/Text.h: |
| * editing/ApplyStyleCommand.cpp: |
| (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): |
| (WebCore::ApplyStyleCommand::applyInlineStyleChange): |
| * editing/BreakBlockquoteCommand.cpp: |
| (WebCore::BreakBlockquoteCommand::doApply): |
| * editing/InsertParagraphSeparatorCommand.cpp: |
| (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): |
| (WebCore::InsertParagraphSeparatorCommand::doApply): |
| * editing/ModifySelectionListLevel.cpp: |
| (WebCore::IncreaseSelectionListLevelCommand::doApply): |
| * editing/SplitElementCommand.cpp: |
| (WebCore::SplitElementCommand::doApply): |
| * editing/markup.cpp: |
| (WebCore::createFragmentFromText): |
| * html/HTMLKeygenElement.cpp: |
| * html/HTMLScriptElement.cpp: |
| (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): |
| * html/HTMLScriptElement.h: |
| * html/HTMLTemplateElement.cpp: |
| (WebCore::HTMLTemplateElement::cloneNodeInternal): |
| * html/HTMLTemplateElement.h: |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): |
| * html/shadow/SliderThumbElement.h: |
| * html/track/WebVTTElement.cpp: |
| (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren): |
| * html/track/WebVTTElement.h: |
| * svg/SVGScriptElement.cpp: |
| (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): |
| * svg/SVGScriptElement.h: |
| * svg/SVGUseElement.cpp: |
| (WebCore::SVGUseElement::buildShadowTree): |
| (WebCore::SVGUseElement::expandUseElementsInShadowTree): |
| |
| 2014-12-16 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> |
| |
| Document.contentType implementation |
| https://bugs.webkit.org/show_bug.cgi?id=132269 |
| |
| Reviewed by Darin Adler. |
| |
| Chromium merge from https://codereview.chromium.org/151653004 |
| |
| Tests: fast/dom/document-contentType-DOMParser.html |
| fast/dom/document-contentType-createDocument.html |
| fast/dom/document-contentType-data-uri.html |
| fast/xsl/xslt-contentType.html |
| http/tests/dom/document-contentType-meta.html |
| http/tests/dom/document-contentType-xhr.html |
| http/tests/dom/document-contentType.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::overrideMIMEType): |
| (WebCore::Document::contentType): |
| (WebCore::Document::cloneDataFromDocument): |
| * dom/Document.h: |
| * dom/Document.idl: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::currentContentType): |
| * loader/DocumentLoader.h: |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseXML): |
| * xml/XSLTProcessor.cpp: |
| (WebCore::XSLTProcessor::createDocumentFromSource): |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Put some common code in StorageNamespaceProvider |
| https://bugs.webkit.org/show_bug.cgi?id=139682 |
| |
| Reviewed by Tim Horton. |
| |
| We have code in two places that gets the local storage area from a given document, |
| choosing either the local storage namespace or the transient local storage namespace. |
| Move it to StorageNamespaceProvider::localStorageArea. |
| |
| * bindings/js/ScriptController.cpp: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::findStorageArea): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::localStorage): |
| * page/Navigator.cpp: |
| * storage/StorageNamespaceProvider.cpp: |
| (WebCore::StorageNamespaceProvider::localStorageArea): |
| (WebCore::StorageNamespaceProvider::localStorageNamespace): |
| * storage/StorageNamespaceProvider.h: |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Add FeatureCounterKeys.h to the Xcode project. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-12-16 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform |
| https://bugs.webkit.org/show_bug.cgi?id=139672 |
| <rdar://problem/19260797> |
| |
| Reviewed by Antti Koivisto. |
| |
| After r163928, animated GIFs were not resumed when translated into view |
| using '-webkit-transform' CSS property. |
| |
| This broke animated gifs on the mobile version of weibo.com (which is |
| one of the most popular blogging sites in China) on iPhone. e.g. |
| http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博 |
| |
| This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes() |
| after style recalc so that we resume animated images if they become visible |
| after the style has changed. Doing so after layout wouldn't work because |
| no layout happens in this case. |
| |
| Test: fast/images/animated-gif-webkit-transform.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::recalcStyle): |
| |
| 2014-12-16 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Fix deadlock when shutting down AudioDestination |
| https://bugs.webkit.org/show_bug.cgi?id=139496 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (webKitWebAudioSrcLoop): |
| (webKitWebAudioSrcChangeState): |
| Sometimes we would wait forever for the task to shut down. This |
| was happening because of a bug in GStreamer that caused joining |
| a paused task to deadlock. |
| |
| 2014-12-15 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Extend :lang()'s selector checker to handle ranges with '*' properly and perform matching within the ASCII range |
| https://bugs.webkit.org/show_bug.cgi?id=139340 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Asterisk is considered as a valid subtag of a language range to express wildcard matching |
| in :lang()'s extended filtering procedure. The matching rules introduced by language |
| range with '*' is outlined in [1]. |
| |
| The matching of subtags is performed case-insensitively within the ASCII range[2]. |
| |
| [1] www.ietf.org/rfc/rfc4647.txt |
| [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo |
| |
| Test: fast/selectors/lang-equal-ignoring-case.html |
| fast/selectors/lang-valid-extended-filtering.html |
| |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::equalIgnoringCaseWithinASCIIRange): Handle matching case-insensitively within the ASCII range. |
| (WebCore::containslanguageSubtagMatchingRange): |
| (WebCore::matchesLangPseudoClass): |
| |
| 2014-12-15 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Add feature counting support |
| https://bugs.webkit.org/show_bug.cgi?id=139652 |
| <rdar://problem/19255690> |
| |
| Reviewed by Gavin Barraclough. |
| |
| Use FeatureCounter API to log PageCache failure reasons |
| as well as its success rate. |
| |
| No new tests, no behavior change. |
| |
| * history/PageCache.cpp: |
| (WebCore::logCanCacheFrameDecision): |
| (WebCore::logCanCachePageDecision): |
| (WebCore::PageCache::canCache): |
| * platform/FeatureCounterKeys.h: Added. |
| |
| 2014-12-15 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/LookupSPI.h: |
| |
| 2014-12-15 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/LookupSPI.h: |
| |
| 2014-12-15 Jer Noble <jer.noble@apple.com> |
| |
| Switching src of <video> with clipping layer results in empty black square. |
| https://bugs.webkit.org/show_bug.cgi?id=139650 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: compositing/video-clip-change-src.html |
| |
| When the contentsLayer changes after a contentsClippingLayer has already been created, make sure to parent the |
| new contentsLayer, as updateRects() will only reparent when first creating a contentsClippingLayer. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::setContentsToPlatformLayer): |
| |
| 2014-12-15 Beth Dakin <bdakin@apple.com> |
| |
| Make lookup an immediate action instead of an action menu item |
| https://bugs.webkit.org/show_bug.cgi?id=139661 |
| -and corresponding- |
| rdar://problem/19198414 |
| |
| Reviewed by Tim Horton. |
| |
| New SPI. |
| * platform/spi/mac/LookupSPI.h: |
| |
| 2014-12-12 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the DONT_FINALIZE_ON_MAIN_THREAD #define |
| https://bugs.webkit.org/show_bug.cgi?id=139613 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: |
| Update symbols. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Remove -Wno-deprecated-declarations from the WebCoreObjCExtras.mm build flags. |
| |
| * platform/mac/WebCoreObjCExtras.h: |
| If OBJC_NO_GC is defined to 1, just make WebCoreObjCFinalizeOnMainThread a no-op inline function. |
| |
| * platform/mac/WebCoreObjCExtras.mm: |
| (WebCoreObjCFinalizeOnMainThread): |
| Move this to the .h file for easier inlining. |
| |
| (WebCoreObjCScheduleDeallocateOnMainThread): |
| Use a lambda. |
| |
| 2014-12-15 Gavin Barraclough <barraclough@apple.com> |
| |
| Separate counted and hysteresis activities in PageThrottler |
| https://bugs.webkit.org/show_bug.cgi?id=139657 |
| |
| Reviewed by Sam Weinig. |
| |
| Currently all activities funnel into a common hysteresis mechanism, the result of |
| which is combined with the visually idle state, the result of which in turn drives |
| a UserActivity::Impl. |
| |
| This is a first refactoring towards moving the UserActivity out to WebKit2. Use |
| m_hysteresis only of the impulse activities (plugin evaluation, user input), and |
| flatten the three types of activities (impulse, counted, ViewState) to all directly |
| control a UserActivity. Switch from a UserActivity::Impl to a UserActivity since |
| this will provide hysteresis for media activity. |
| |
| * page/PageThrottler.cpp: |
| (WebCore::m_pageActivityCounter): |
| - when the RefCounter changes just call updateUserActivity directly, removeed redundant call to updateUserActivity. |
| (WebCore::PageThrottler::createUserActivity): |
| - m_activity is now a UserActivity. |
| (WebCore::PageThrottler::updateUserActivity): |
| - previously just checked m_hysteresis for activity; now check m_pageActivityCounter too. |
| (WebCore::PageThrottler::pageActivityCounterValueDidChange): Deleted. |
| - no longer needed; when the RefCounter changes just call updateUserActivity directly. |
| * page/PageThrottler.h: |
| - removed pageActivityCounterValueDidChange, m_activity is now a UserActivity. |
| |
| 2014-12-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177284. |
| https://bugs.webkit.org/show_bug.cgi?id=139658 |
| |
| "Breaks API tests and LayoutTests on Yosemite Debug" |
| (Requested by msaboff on #webkit). |
| |
| Reverted changeset: |
| |
| "Make sure range based iteration of Vector<> still receives |
| bounds checking" |
| https://bugs.webkit.org/show_bug.cgi?id=138821 |
| http://trac.webkit.org/changeset/177284 |
| |
| 2014-12-15 Ryosuke Niwa <rniwa@webkit.org> |
| |
| cloneNode(true) does not clone nested template elements' contents |
| https://bugs.webkit.org/show_bug.cgi?id=137755 |
| |
| Reviewed by Darin Adler. |
| |
| The bug was caused by cloneChildNodes not copying template element's content. |
| |
| Fixed the bug by adding the third behavior (CloneContent) to the polymorphic |
| cloneNodeInternal, which copies template element's content but not its children, |
| in addition to the existing CloneSelf (deep=false) and CloneChildren (deep=true). |
| |
| Test: fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html |
| |
| * dom/Attr.cpp: |
| (WebCore::Attr::cloneNodeInternal): Renamed from cloneNode. |
| * dom/Attr.h: |
| * dom/CDATASection.cpp: |
| (WebCore::CDATASection::cloneNodeInternal): Renamed from cloneNode. |
| * dom/CDATASection.h: |
| * dom/Comment.cpp: |
| (WebCore::Comment::cloneNodeInternal): Renamed from cloneNode. |
| * dom/Comment.h: |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::cloneChildNodes): Calls cloneNode with CloneContent. |
| * dom/Document.cpp: |
| (WebCore::Document::cloneNodeInternal): Renamed from cloneNode. |
| * dom/Document.h: |
| * dom/DocumentFragment.cpp: |
| (WebCore::DocumentFragment::cloneNodeInternal): Renamed from cloneNode. |
| * dom/DocumentFragment.h: |
| * dom/DocumentType.cpp: |
| (WebCore::DocumentType::cloneNodeInternal): Renamed from cloneNode. |
| * dom/DocumentType.h: |
| * dom/Element.cpp: |
| (WebCore::Element::cloneNodeInternal): Renamed from cloneNode. |
| * dom/Element.h: |
| * dom/EntityReference.cpp: |
| (WebCore::EntityReference::cloneNodeInternal): Renamed from cloneNode. |
| * dom/EntityReference.h: |
| * dom/Node.h: |
| (WebCore::Node::cloneNode): Added. It calls cloneNodeInternal with CloneSelf or CloneChildren. |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::cloneNodeInternal): Renamed from cloneNode. |
| * dom/ProcessingInstruction.h: |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::cloneNodeInternal): Renamed from cloneNode. Also moved from ShadowRoot.h. |
| * dom/ShadowRoot.h: |
| * dom/Text.cpp: |
| (WebCore::Text::cloneNodeInternal): Renamed from cloneNode. |
| * dom/Text.h: |
| * html/HTMLTemplateElement.cpp: |
| (WebCore::HTMLTemplateElement::cloneNodeInternal): Renamed from cloneNode. This is the only |
| function in which CloneContent results in a different behavior from CloneSelf. |
| * html/HTMLTemplateElement.h: |
| |
| 2014-12-15 Benjamin Poulain <bpoulain@apple.com> |
| |
| Unify the various serialization of selector list |
| https://bugs.webkit.org/show_bug.cgi?id=139606 |
| |
| Reviewed by Andreas Kling. |
| |
| There were code in various place to build a string from the selectors contained |
| in a selecor list. |
| |
| This patch adds a single function to do that: buildSelectorsText(). All the call sites |
| were modified to use it. |
| |
| The serialization of :-webkit-any() gets fixed as a result. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| (WebCore::appendSelectorList): Deleted. |
| * css/CSSSelectorList.cpp: |
| (WebCore::CSSSelectorList::selectorsText): |
| (WebCore::CSSSelectorList::buildSelectorsText): |
| * css/CSSSelectorList.h: |
| * css/CSSStyleRule.cpp: |
| (WebCore::CSSStyleRule::generateSelectorText): |
| * css/WebKitCSSRegionRule.cpp: |
| (WebCore::WebKitCSSRegionRule::cssText): |
| |
| 2014-12-15 Antti Koivisto <antti@apple.com> |
| |
| Try to fix iOS build. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-15 Javier Fernandez <jfernandez@igalia.com> |
| |
| Floats Don't Overhang Their Block Formatting Contex |
| https://bugs.webkit.org/show_bug.cgi?id=139476 |
| |
| Reviewed by David Hyatt. |
| |
| From Blink r172530 by <robhogan@gmail.com> |
| |
| Floats Don't Overhang Their Block Formatting Context Per |
| http://www.w3.org/TR/CSS2/visuren.html#float-position: "References |
| to [the elements] in the [rules that govern the behaviour of |
| floats] refer only to other elements in the same block formatting |
| context as the float." |
| |
| This means we don't need to look for intruding or overhanging |
| floats in boxes that establish a new block formatting |
| context. Even that we don't have a test breaking this rule it |
| seems we are doing unnecessary work in |
| rebuildFloatsFromIntruding() so make sure we avoid adding floats |
| from different block formatting contexts. |
| |
| Test: |
| fast/block/float/floats-do-not-overhang-from-block-formatting-context.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::addIntrudingFloats): |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewed build fix after r177301 |
| |
| * html/ColorInputType.cpp: |
| (WebCore::ColorInputType::elementRectRelativeToRootView): |
| |
| 2014-12-15 Timothy Horton <timothy_horton@apple.com> |
| |
| Implement Data Detectors immediate actions for WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139617 |
| <rdar://problem/19198539> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add some new SPI. |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r168217): Images are cropped out during animation at jetblue.com |
| https://bugs.webkit.org/show_bug.cgi?id=136410 |
| rdar://problem/18188533 |
| |
| Reviewed by Dean Jackson. |
| |
| During GraphicsLayer flushing, for tiled layers we can compute a visible rect using |
| the current state of an animation, which is obtained via the AnimationController. |
| If that animation was running in a subframe, AnimationController could use a stale |
| beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That |
| resulted in an incorrect computation of the visible rect, resulting in missing tiles. |
| |
| There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime() |
| is being called inside an animation update block. This required moving m_beginAnimationUpdateCount |
| into AnimationControllerPrivate, and changes to endAnimationUpdate(). |
| |
| The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which |
| can be called outside of style resolution. We also need some in other API functions. |
| |
| Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting |
| that we should have an animation batch inside FrameView::layout(). In addition, a single |
| resolveStyle/layout should use the same animationBeginTime, so we add a batch to |
| updateLayoutAndStyleIfNeededRecursive(). |
| |
| Identical to the patch that was rolled out in r177269 with the addition of a |
| Ref<Frame> protector(m_frame) in AnimationControllerPrivate::animationTimerFired() |
| that ensures that the AnimationControllerPrivate is kept alive for the scope of |
| the AnimationPrivateUpdateBlock, when a transitionEnd event destroys an iframe. |
| |
| No test because it's timing-dependent. Existing tests exercise the new assertion. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::computeRenderStyleForProperty): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock): |
| (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock): |
| (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): |
| (WebCore::AnimationControllerPrivate::animationTimerFired): |
| (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): |
| (WebCore::AnimationControllerPrivate::beginAnimationUpdate): |
| (WebCore::AnimationControllerPrivate::endAnimationUpdate): |
| (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): |
| (WebCore::AnimationController::AnimationController): |
| (WebCore::AnimationController::notifyAnimationStarted): |
| (WebCore::AnimationController::pauseAnimationAtTime): |
| (WebCore::AnimationController::pauseTransitionAtTime): |
| (WebCore::AnimationController::resumeAnimationsForDocument): |
| (WebCore::AnimationController::startAnimationsIfNotSuspended): |
| (WebCore::AnimationController::beginAnimationUpdate): |
| (WebCore::AnimationController::endAnimationUpdate): |
| * page/animation/AnimationController.h: |
| * page/animation/AnimationControllerPrivate.h: |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r168217): Images are cropped out during animation at jetblue.com |
| https://bugs.webkit.org/show_bug.cgi?id=136410 |
| |
| Reviewed by Dean Jackson. |
| |
| We were hitting the new assertion under Page::setPageScaleFactor(), which |
| calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded() |
| to recalcStyle(). |
| |
| * dom/Document.cpp: |
| (WebCore::Document::recalcStyle): |
| (WebCore::Document::updateStyleIfNeeded): |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Addressing post-review comments in r177035 |
| https://bugs.webkit.org/show_bug.cgi?id=139557 |
| |
| Reviewed by Darin Adler. |
| |
| This patch deletes the helper functions rendererBoundingBox() and rendererAnchorRect() and |
| migrates callers to using renderers directly. |
| |
| It also improves the comment in RenderElement.h regarding RenderElement::anchorRect(). |
| |
| No new tests because this is simply refactoring. |
| |
| * WebCore.exp.in: Delete exported symbol for rendererBoundingBox() |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySliderThumb::elementRect): Migrate off rendererBoundingBox() |
| * dom/ContainerNode.cpp: |
| (WebCore::rendererAnchorRect): Deleted. |
| * dom/ContainerNode.h: |
| * dom/Node.cpp: |
| (WebCore::rendererBoundingBox): Deleted. |
| * dom/Node.h: |
| * html/ColorInputType.cpp: |
| (WebCore::ColorInputType::elementRectRelativeToRootView): Migrate off rendererBoundingBox(). |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto. |
| * html/ValidationMessage.cpp: |
| (WebCore::ValidationMessage::buildBubbleTree): Ditto. |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollElementToRect): Migrate off rendererAnchorRect(). |
| (WebCore::FrameView::scrollToAnchor): Ditto. |
| * page/SpatialNavigation.cpp: |
| (WebCore::nodeRectInAbsoluteCoordinates): Migrate off rendererBoundingBox(). |
| * rendering/RenderElement.h: |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete Notation because we don't use it |
| https://bugs.webkit.org/show_bug.cgi?id=139171 |
| |
| Reviewed by Kent Tamura. |
| |
| No tests because this is un-exposing something that never gets instantiated. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.exp.in: |
| * WebCore.order: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/gobject/WebKitDOMNodeFilter.h: |
| * bindings/gobject/WebKitDOMNodeFilter.symbols: |
| * bindings/gobject/WebKitDOMPrivate.cpp: |
| (WebKit::wrap): |
| * bindings/gobject/webkitdom.symbols: |
| * bindings/js/JSNodeCustom.cpp: |
| (WebCore::createWrapperInline): |
| * bindings/objc/DOM.mm: |
| (kitClass): |
| * bindings/objc/DOMCore.h: |
| * bindings/objc/PublicDOMInterfaces.h: |
| * dom/DOMAllInOne.cpp: |
| * dom/Document.cpp: |
| (WebCore::Document::importNode): |
| (WebCore::Document::adoptNode): |
| (WebCore::Document::childTypeAllowed): |
| (WebCore::Document::canReplaceChild): |
| * dom/Node.cpp: |
| (WebCore::Node::dumpStatistics): |
| (WebCore::Node::isDefaultNamespace): |
| (WebCore::Node::lookupPrefix): |
| (WebCore::Node::lookupNamespaceURI): |
| (WebCore::appendTextContent): |
| (WebCore::Node::setTextContent): |
| * dom/Node.h: |
| * dom/Node.idl: |
| * dom/NodeFilter.h: |
| * dom/NodeFilter.idl: |
| * dom/Notation.cpp: Removed. |
| * dom/Notation.h: Removed. |
| * dom/Notation.idl: Removed. |
| * dom/Range.cpp: |
| (WebCore::lengthOfContentsInNode): |
| (WebCore::Range::processContentsBetweenOffsets): |
| (WebCore::Range::insertNode): |
| (WebCore::Range::checkNodeWOffset): |
| (WebCore::Range::checkNodeBA): |
| (WebCore::Range::selectNode): |
| (WebCore::Range::selectNodeContents): |
| (WebCore::Range::surroundContents): |
| * editing/MarkupAccumulator.cpp: |
| (WebCore::MarkupAccumulator::appendStartMarkup): |
| * xml/XPathUtil.cpp: |
| (WebCore::XPath::isValidContextNode): |
| |
| 2014-12-15 Gavin Barraclough <barraclough@apple.com> |
| |
| Change HysteresisActivity to use a lambda |
| https://bugs.webkit.org/show_bug.cgi?id=139636 |
| |
| Reviewed by Darin Adler. |
| |
| The current implementation provides notifications via callbacks to a delegate. Using a delegate |
| with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks |
| must either be on a separate object (more boilerplate), or the callback must be public for |
| HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra |
| delegate objects it's hard to scale use of these objects - a single object can't serve as a |
| delegate for multiple HysteresisActivity members. |
| |
| Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed |
| HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout). |
| |
| * WebCore.exp.in: |
| - removed exports of deleted functions. |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - m_hysteresis lambda calls updateUserActivity. |
| (WebCore::PageThrottler::pageActivityCounterValueDidChange): |
| - ASSERT updated due to removal of WillStopPendingTimeout state. |
| (WebCore::PageThrottler::started): Deleted. |
| (WebCore::PageThrottler::stopped): Deleted. |
| - functionality replaced by lambda. |
| * page/PageThrottler.h: |
| - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend. |
| * platform/HysteresisActivity.h: |
| (WebCore::HysteresisActivity::HysteresisActivity): |
| - HysteresisActivity takes a lambda, not a delegate. |
| (WebCore::HysteresisActivity::start): |
| - delegate call -> callback. |
| (WebCore::HysteresisActivity::state): |
| - simplified to remove WillStopPendingTimeout. |
| (WebCore::HysteresisActivity::hysteresisTimerFired): |
| - delegate call -> callback. |
| * platform/UserActivity.cpp: |
| (WebCore::UserActivity::UserActivity): |
| - HysteresisActivity lambda calls hysteresisUpdated. |
| (WebCore::UserActivity::hysteresisUpdated): |
| (WebCore::UserActivity::started): Deleted. |
| (WebCore::UserActivity::stopped): Deleted. |
| - started/stopped -> hysteresisUpdated. |
| * platform/UserActivity.h: |
| - started/stopped -> hysteresisUpdated, removed friend. |
| |
| 2014-12-15 Antti Koivisto <antti@apple.com> |
| |
| WebKit level persistent caching |
| https://bugs.webkit.org/show_bug.cgi?id=30322 |
| |
| Reviewed by Sam Weinig. |
| |
| Test: http/tests/cache/disk-cache-validation.html |
| |
| * WebCore.exp.in: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForResourceResponse): |
| * platform/network/ResourceResponseBase.cpp: |
| (WebCore::ResourceResponseBase::ResourceResponseBase): |
| (WebCore::ResourceResponseBase::source): |
| (WebCore::ResourceResponseBase::setSource): |
| (WebCore::ResourceResponseBase::wasCached): Deleted. |
| (WebCore::ResourceResponseBase::setWasCached): Deleted. |
| |
| Replace wasCached bit with Source enum. |
| This is useful for testing. |
| |
| * platform/network/ResourceResponseBase.h: |
| (WebCore::ResourceResponseBase::containsCertificateInfo): |
| (WebCore::ResourceResponseBase::encode): |
| (WebCore::ResourceResponseBase::decode): |
| * testing/Internals.cpp: |
| (WebCore::Internals::xhrResponseSource): |
| (WebCore::Internals::clearMemoryCache): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| Testing support. |
| |
| * xml/XMLHttpRequest.h: |
| |
| 2014-12-15 Andreas Kling <akling@apple.com> |
| |
| Purge PassRefPtr from FocusEvent code. |
| <https://webkit.org/b/139647> |
| |
| Reviewed by Anders Carlsson. |
| |
| Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setFocusedElement): |
| * dom/Element.cpp: |
| (WebCore::Element::dispatchFocusInEvent): |
| (WebCore::Element::dispatchFocusOutEvent): |
| (WebCore::Element::dispatchFocusEvent): |
| (WebCore::Element::dispatchBlurEvent): |
| * dom/Element.h: |
| * dom/FocusEvent.cpp: |
| (WebCore::FocusEvent::FocusEvent): |
| * dom/FocusEvent.h: |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::dispatchBlurEvent): |
| * html/HTMLFormControlElement.h: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::dispatchFocusEvent): |
| (WebCore::HTMLSelectElement::dispatchBlurEvent): |
| * html/HTMLSelectElement.h: |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): |
| (WebCore::HTMLTextFormControlElement::dispatchBlurEvent): |
| * html/HTMLTextFormControlElement.h: |
| * page/FocusController.cpp: |
| (WebCore::dispatchEventsOnWindowAndFocusedElement): |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Codepoints not associated with languages are drawn as boxes |
| https://bugs.webkit.org/show_bug.cgi?id=138906 |
| |
| Reviewed by Darin Adler. |
| |
| Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do |
| with the characters. |
| |
| Test: platform/ios-simulator/fast/text/non-language-font-fallback.html |
| |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::systemFallbackForCharacters): |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-12-15 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code |
| https://bugs.webkit.org/show_bug.cgi?id=139601 |
| |
| Reviewed by Chris Dumez. |
| |
| Change the code to properly use CSSValueNone instead of CSSValueAuto. |
| Asserts have been added to catch similar errors in the future. |
| In doing this change, it became apparent that there is nothing |
| special about the shape-outside property that requires custom code, so |
| it was changed to use a standard converter function. |
| |
| No change observable via LayoutTests. |
| |
| * css/CSSPropertyNames.in: Use a converter instead of custom code. |
| * css/StyleBuilderConverter.h: |
| (WebCore::isImageShape): Helper function so that isImageSetValue can |
| be properly guarded. |
| (WebCore::StyleBuilderConverter::convertShapeValue): Format as a |
| converter instead of custom code. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted. |
| |
| 2014-12-15 Oliver Hunt <oliver@apple.com> |
| |
| Make sure range based iteration of Vector<> still receives bounds checking |
| https://bugs.webkit.org/show_bug.cgi?id=138821 |
| |
| Reviewed by Mark Lam. |
| |
| Update to deal with different iterator type. |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneDeserializer::deserializeString): |
| * editing/TextIterator.cpp: |
| (WebCore::SearchBuffer::isBadMatch): |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::buildSelectionHighlight): |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::fontDataForCharacter): |
| (WebCore::SegmentedFontData::containsCharacter): |
| (WebCore::SegmentedFontData::isLoading): |
| * platform/graphics/WOFFFileFormat.cpp: |
| (WebCore::convertWOFFToSfnt): |
| * platform/graphics/cairo/GradientCairo.cpp: |
| (WebCore::Gradient::platformGradient): |
| * platform/image-decoders/gif/GIFImageDecoder.cpp: |
| (WebCore::GIFImageDecoder::clearFrameBufferCache): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintFillLayers): |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::firstNamedGridLineBeforePosition): |
| (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): |
| * svg/SVGFontElement.cpp: |
| (WebCore::kerningForPairOfStringsAndGlyphs): |
| * svg/SVGPathByteStream.h: |
| (WebCore::SVGPathByteStream::append): |
| * xml/XPathNodeSet.h: |
| (WebCore::XPath::NodeSet::begin): |
| (WebCore::XPath::NodeSet::end): |
| |
| 2014-12-15 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-text-decoration-skip' to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139633 |
| |
| Reviewed by Darin Adler. |
| |
| Move '-webkit-text-decoration-skip' to the new StyleBuilder by |
| introducing a new TextDecorationSkip converter. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::valueToDecorationSkip): Deleted. |
| (WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::valueToDecorationSkip): |
| (WebCore::StyleBuilderConverter::convertTextDecorationSkip): |
| |
| 2014-12-15 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition. |
| https://bugs.webkit.org/show_bug.cgi?id=139444 |
| |
| Reviewed by Jer Noble. |
| |
| In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers, |
| even though second SourceBuffer did not receive init segment - we can't query for it's metadata |
| such as width/height (if second one was video), so we shouldn't fire the event. |
| W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542 |
| |
| Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::monitorSourceBuffers): |
| * Modules/mediasource/SourceBuffer.h: |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: |
| (WebCore::mimeTypeCache): |
| |
| 2014-12-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/platform/text to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=139395 |
| |
| Reviewed by Darin Adler. |
| |
| As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with |
| std::unique_ptr<> | std::make_unique<>. |
| |
| * dom/Document.h: |
| * platform/text/LineBreakIteratorPoolICU.h: |
| (WebCore::LineBreakIteratorPool::LineBreakIteratorPool): |
| (WebCore::LineBreakIteratorPool::create): Deleted. |
| * platform/text/LocaleICU.cpp: |
| (WebCore::Locale::create): |
| (WebCore::LocaleICU::createLabelVector): |
| (WebCore::createFallbackMonthLabels): |
| (WebCore::createFallbackAMPMLabels): |
| (WebCore::LocaleICU::initializeDateTimeFormat): |
| (WebCore::LocaleICU::shortMonthLabels): |
| (WebCore::LocaleICU::create): Deleted. |
| (WebCore::LocaleICU::standAloneMonthLabels): Deleted. |
| (WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted. |
| * platform/text/LocaleICU.h: |
| * platform/text/LocaleNone.cpp: |
| (WebCore::Locale::create): |
| * platform/text/PlatformLocale.h: |
| (WebCore::Locale::createDefault): |
| * platform/text/TextCodecLatin1.cpp: |
| * platform/text/TextCodecUTF16.cpp: |
| * platform/text/TextEncoding.cpp: |
| * platform/text/mac/LocaleMac.h: |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::Locale::create): |
| (WebCore::LocaleMac::create): |
| * platform/text/mac/TextCodecMac.cpp: |
| * platform/text/win/LocaleWin.cpp: |
| (WebCore::Locale::create): |
| (WebCore::LocaleWin::create): |
| * platform/text/win/LocaleWin.h: |
| * platform/text/win/TextCodecWin.cpp: |
| (WebCore::newTextCodecWin): |
| |
| 2014-12-15 Xavier Claessens <xavier.claessens@collabora.com> |
| |
| [GStreamer] the webkitwebsrc element can stale |
| https://bugs.webkit.org/show_bug.cgi?id=138425 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (removeTimeoutSources): |
| (webKitWebSrcStart): |
| (webKitWebSrcChangeState): |
| |
| 2014-12-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [GTK] Remove GamepadDeviceGtk::create() |
| https://bugs.webkit.org/show_bug.cgi?id=139637 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| std::make_unique<> can replace GamepadDeviceGtk::create() factory function. |
| |
| * platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor. |
| (WebCore::GamepadsGtk::registerDevice): |
| (WebCore::GamepadDeviceGtk::create): Deleted. |
| |
| 2014-12-15 Chris Dumez <cdumez@apple.com> |
| |
| Move 'counter-increment' / 'counter-reset' to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139635 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by |
| using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyCounter::emptyFunction): Deleted. |
| (WebCore::ApplyPropertyCounter::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyCounter::applyValue): Deleted. |
| (WebCore::ApplyPropertyCounter::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialCounterIncrement): |
| (WebCore::StyleBuilderCustom::applyInitialCounterReset): |
| (WebCore::StyleBuilderCustom::applyInheritCounter): |
| (WebCore::StyleBuilderCustom::applyValueCounter): |
| (WebCore::StyleBuilderCustom::applyInheritCounterIncrement): |
| (WebCore::StyleBuilderCustom::applyValueCounterIncrement): |
| (WebCore::StyleBuilderCustom::applyInheritCounterReset): |
| (WebCore::StyleBuilderCustom::applyValueCounterReset): |
| |
| 2014-12-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177238 and r177244. |
| https://bugs.webkit.org/show_bug.cgi?id=139632 |
| |
| Introduced memory corruption (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "REGRESSION (r168217): Images are cropped out during animation |
| at jetblue.com" |
| https://bugs.webkit.org/show_bug.cgi?id=136410 |
| http://trac.webkit.org/changeset/177238 |
| |
| https://bugs.webkit.org/show_bug.cgi?id=139596 |
| http://trac.webkit.org/changeset/177244 |
| |
| 2014-12-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177223 and r177226. |
| https://bugs.webkit.org/show_bug.cgi?id=139631 |
| |
| Multiple tests are flakily asserting in |
| StyleResolver::loadPendingResources (Requested by ap_ on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[SVG Masking] Enable the use of <mask> elements for -webkit- |
| mask-image" |
| https://bugs.webkit.org/show_bug.cgi?id=139294 |
| http://trac.webkit.org/changeset/177223 |
| |
| "animations/cross-fade-webkit-mask-image.html is flaky" |
| https://bugs.webkit.org/show_bug.cgi?id=139590 |
| http://trac.webkit.org/changeset/177226 |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Event construction helpers should return Ref instead of PassRefPtr. |
| <https://webkit.org/b/139625> |
| |
| Reviewed by Antti Koivisto. |
| |
| Change all the FooEvent::create() construction helpers to return Ref<FooEvent> |
| instead of PassRefPtr<FooEvent>. |
| |
| This allows the compiler to omit null checks at each call site, since we know |
| that these functions always return valid objects. |
| |
| * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: |
| (WebCore::WebKitPlaybackTargetAvailabilityEvent::create): |
| * Modules/encryptedmedia/MediaKeyMessageEvent.h: |
| (WebCore::MediaKeyMessageEvent::create): |
| * Modules/encryptedmedia/MediaKeyNeededEvent.h: |
| (WebCore::MediaKeyNeededEvent::create): |
| * Modules/gamepad/GamepadEvent.h: |
| (WebCore::GamepadEvent::create): |
| * Modules/indexeddb/IDBVersionChangeEvent.h: |
| (WebCore::IDBVersionChangeEvent::create): |
| * Modules/indieui/UIRequestEvent.cpp: |
| (WebCore::UIRequestEvent::create): |
| * Modules/indieui/UIRequestEvent.h: |
| * Modules/mediastream/MediaStreamEvent.cpp: |
| (WebCore::MediaStreamEvent::create): |
| * Modules/mediastream/MediaStreamEvent.h: |
| * Modules/mediastream/MediaStreamTrackEvent.cpp: |
| (WebCore::MediaStreamTrackEvent::create): |
| * Modules/mediastream/MediaStreamTrackEvent.h: |
| * Modules/mediastream/RTCDTMFToneChangeEvent.cpp: |
| (WebCore::RTCDTMFToneChangeEvent::create): |
| * Modules/mediastream/RTCDTMFToneChangeEvent.h: |
| * Modules/mediastream/RTCDataChannelEvent.cpp: |
| (WebCore::RTCDataChannelEvent::create): |
| * Modules/mediastream/RTCDataChannelEvent.h: |
| * Modules/mediastream/RTCIceCandidateEvent.cpp: |
| (WebCore::RTCIceCandidateEvent::create): |
| * Modules/mediastream/RTCIceCandidateEvent.h: |
| * Modules/speech/SpeechSynthesisEvent.cpp: |
| (WebCore::SpeechSynthesisEvent::create): |
| * Modules/speech/SpeechSynthesisEvent.h: |
| * Modules/webaudio/AudioProcessingEvent.cpp: |
| (WebCore::AudioProcessingEvent::create): |
| * Modules/webaudio/AudioProcessingEvent.h: |
| * Modules/webaudio/OfflineAudioCompletionEvent.cpp: |
| (WebCore::OfflineAudioCompletionEvent::create): |
| * Modules/webaudio/OfflineAudioCompletionEvent.h: |
| * Modules/websockets/CloseEvent.h: |
| (WebCore::CloseEvent::create): |
| * dom/AnimationEvent.h: |
| * dom/AutocompleteErrorEvent.h: |
| * dom/BeforeLoadEvent.h: |
| * dom/BeforeTextInsertedEvent.h: |
| * dom/BeforeUnloadEvent.h: |
| * dom/ClipboardEvent.h: |
| * dom/CompositionEvent.h: |
| * dom/CustomEvent.h: |
| * dom/DeviceMotionEvent.h: |
| * dom/DeviceOrientationEvent.h: |
| * dom/ErrorEvent.h: |
| * dom/Event.h: |
| (WebCore::Event::create): |
| * dom/FocusEvent.h: |
| * dom/HashChangeEvent.h: |
| * dom/KeyboardEvent.h: |
| * dom/MessageEvent.h: |
| * dom/MouseEvent.cpp: |
| (WebCore::MouseEvent::create): |
| (WebCore::SimulatedMouseEvent::create): |
| * dom/MouseEvent.h: |
| (WebCore::MouseEvent::create): |
| * dom/MutationEvent.h: |
| * dom/OverflowEvent.h: |
| * dom/PageTransitionEvent.h: |
| * dom/PopStateEvent.cpp: |
| (WebCore::PopStateEvent::create): |
| * dom/PopStateEvent.h: |
| * dom/ProgressEvent.h: |
| (WebCore::ProgressEvent::create): |
| * dom/TextEvent.cpp: |
| (WebCore::TextEvent::create): |
| (WebCore::TextEvent::createForPlainTextPaste): |
| (WebCore::TextEvent::createForFragmentPaste): |
| (WebCore::TextEvent::createForDrop): |
| (WebCore::TextEvent::createForDictation): |
| * dom/TextEvent.h: |
| * dom/TouchEvent.h: |
| * dom/TransitionEvent.h: |
| * dom/UIEvent.h: |
| (WebCore::UIEvent::create): |
| * dom/WebKitAnimationEvent.h: |
| * dom/WebKitTransitionEvent.h: |
| * dom/WheelEvent.h: |
| * html/MediaKeyEvent.h: |
| * html/canvas/WebGLContextEvent.h: |
| * html/track/TrackEvent.h: |
| * storage/StorageEvent.cpp: |
| (WebCore::StorageEvent::create): |
| * storage/StorageEvent.h: |
| * svg/SVGZoomEvent.h: |
| (WebCore::SVGZoomEvent::create): |
| * xml/XMLHttpRequestProgressEvent.h: |
| (WebCore::XMLHttpRequestProgressEvent::create): |
| |
| 2014-12-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag |
| https://bugs.webkit.org/show_bug.cgi?id=139561 |
| |
| Reviewed by Darin Adler. |
| |
| The bug was caused by us not setting the form pointer in insertHTMLFormElement. |
| Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement, |
| we didn't need this code at all. |
| |
| Fixed the bug by partially reverting r160182. |
| |
| Test: fast/dom/dom-parse-close-form.html |
| |
| * html/parser/HTMLConstructionSite.cpp: |
| (WebCore::HTMLConstructionSite::insertHTMLFormElement): |
| (WebCore::HTMLConstructionSite::insideTemplateElement): Deleted. |
| * html/parser/HTMLConstructionSite.h: |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Fix build even more. Not a strong performance here. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): |
| (WebCore::retrieveOrAddCachedFontGlyphs): |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Fix build. :-| |
| |
| * css/CSSFunctionValue.cpp: |
| (WebCore::CSSFunctionValue::CSSFunctionValue): |
| * css/CSSFunctionValue.h: |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Minor follow-up tweaks suggested by Darin on bug 139587. |
| |
| * css/CSSFunctionValue.h: |
| (WebCore::CSSFunctionValue::create): |
| * platform/graphics/Font.cpp: |
| (WebCore::retrieveOrAddCachedFontGlyphs): |
| (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): Deleted. |
| * rendering/RenderScrollbarPart.h: |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Replace PassRef with Ref/Ref&& across the board. |
| <https://webkit.org/b/139587> |
| |
| Reviewed by Darin Adler. |
| |
| * Modules/battery/BatteryManager.cpp: |
| (WebCore::BatteryManager::create): |
| * Modules/battery/BatteryManager.h: |
| * Modules/battery/BatteryStatus.cpp: |
| (WebCore::BatteryStatus::create): |
| * Modules/battery/BatteryStatus.h: |
| * Modules/gamepad/GamepadButton.h: |
| (WebCore::GamepadButton::create): |
| * Modules/gamepad/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): |
| * Modules/gamepad/NavigatorGamepad.h: |
| * Modules/gamepad/deprecated/GamepadList.h: |
| (WebCore::GamepadList::create): |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::create): |
| * Modules/geolocation/Geolocation.h: |
| (WebCore::Geolocation::GeoNotifier::create): |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::setPrivateAndOpen): |
| * Modules/mediasource/MediaSource.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::create): |
| (WebCore::SourceBuffer::SourceBuffer): |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/UserMediaClient.h: |
| * Modules/mediastream/UserMediaController.h: |
| (WebCore::UserMediaController::requestPermission): |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::create): |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::create): |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/plugins/PluginReplacement.h: |
| * Modules/plugins/QuickTimePluginReplacement.h: |
| * Modules/plugins/QuickTimePluginReplacement.mm: |
| (WebCore::QuickTimePluginReplacement::createElementRenderer): |
| * Modules/plugins/YouTubePluginReplacement.cpp: |
| (WebCore::YouTubePluginReplacement::createElementRenderer): |
| * Modules/plugins/YouTubePluginReplacement.h: |
| * Modules/proximity/DeviceProximityEvent.h: |
| (WebCore::DeviceProximityEvent::create): |
| * WebCore.exp.in: |
| * css/BasicShapeFunctions.cpp: |
| (WebCore::valueForBasicShape): |
| (WebCore::basicShapeForValue): |
| * css/BasicShapeFunctions.h: |
| * css/CSSAspectRatioValue.h: |
| (WebCore::CSSAspectRatioValue::create): |
| * css/CSSBorderImage.cpp: |
| (WebCore::createBorderImageValue): |
| * css/CSSBorderImage.h: |
| * css/CSSBorderImageSliceValue.h: |
| (WebCore::CSSBorderImageSliceValue::create): |
| * css/CSSCalculationValue.cpp: |
| (WebCore::determineCategory): |
| * css/CSSCalculationValue.h: |
| (WebCore::CSSCalcValue::CSSCalcValue): |
| (WebCore::CSSCalcValue::createCalculationValue): |
| * css/CSSCanvasValue.h: |
| (WebCore::CSSCanvasValue::create): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::valueForImageSliceSide): |
| (WebCore::valueForNinePieceImageSlice): |
| (WebCore::valueForNinePieceImageQuad): |
| (WebCore::valueForNinePieceImageRepeat): |
| (WebCore::valueForNinePieceImage): |
| (WebCore::zoomAdjustedPixelValue): |
| (WebCore::zoomAdjustedNumberValue): |
| (WebCore::zoomAdjustedPixelValueForLength): |
| (WebCore::valueForReflection): |
| (WebCore::createPositionListForLayer): |
| (WebCore::percentageOrZoomAdjustedValue): |
| (WebCore::autoOrZoomAdjustedValue): |
| (WebCore::getBorderRadiusCornerValues): |
| (WebCore::getBorderRadiusCornerValue): |
| (WebCore::getBorderRadiusShorthandValue): |
| (WebCore::matrixTransformValue): |
| (WebCore::computedTransform): |
| (WebCore::adjustLengthForZoom): |
| (WebCore::ComputedStyleExtractor::valueForShadow): |
| (WebCore::ComputedStyleExtractor::valueForFilter): |
| (WebCore::specifiedValueForGridTrackBreadth): |
| (WebCore::specifiedValueForGridTrackSize): |
| (WebCore::valueForGridTrackList): |
| (WebCore::valueForGridPosition): |
| (WebCore::createTransitionPropertyValue): |
| (WebCore::getTransitionPropertyValue): |
| (WebCore::scrollSnapDestination): |
| (WebCore::scrollSnapPoints): |
| (WebCore::scrollSnapCoordinates): |
| (WebCore::getDelayValue): |
| (WebCore::getDurationValue): |
| (WebCore::createTimingFunctionValue): |
| (WebCore::getTimingFunctionValue): |
| (WebCore::createLineBoxContainValue): |
| (WebCore::valueForFamily): |
| (WebCore::renderTextDecorationFlagsToCSSValue): |
| (WebCore::renderTextDecorationStyleFlagsToCSSValue): |
| (WebCore::renderTextDecorationSkipFlagsToCSSValue): |
| (WebCore::renderEmphasisPositionFlagsToCSSValue): |
| (WebCore::fillRepeatToCSSValue): |
| (WebCore::fillSourceTypeToCSSValue): |
| (WebCore::fillSizeToCSSValue): |
| (WebCore::altTextToCSSValue): |
| (WebCore::contentToCSSValue): |
| (WebCore::fontFamilyFromStyle): |
| (WebCore::lineHeightFromStyle): |
| (WebCore::fontSizeFromStyle): |
| (WebCore::fontStyleFromStyle): |
| (WebCore::fontVariantFromStyle): |
| (WebCore::fontWeightFromStyle): |
| (WebCore::CSSComputedStyleDeclaration::copyProperties): |
| (WebCore::shapePropertyValue): |
| (WebCore::ComputedStyleExtractor::copyProperties): |
| (WebCore::ComputedStyleExtractor::copyPropertiesInSet): |
| * css/CSSComputedStyleDeclaration.h: |
| * css/CSSCrossfadeValue.h: |
| (WebCore::CSSCrossfadeValue::create): |
| * css/CSSCursorImageValue.cpp: |
| (WebCore::CSSCursorImageValue::CSSCursorImageValue): |
| * css/CSSCursorImageValue.h: |
| (WebCore::CSSCursorImageValue::create): |
| * css/CSSFilterImageValue.h: |
| (WebCore::CSSFilterImageValue::create): |
| * css/CSSFontFaceSrcValue.h: |
| (WebCore::CSSFontFaceSrcValue::create): |
| (WebCore::CSSFontFaceSrcValue::createLocal): |
| * css/CSSFontFeatureValue.h: |
| (WebCore::CSSFontFeatureValue::create): |
| * css/CSSFontValue.h: |
| (WebCore::CSSFontValue::create): |
| * css/CSSFunctionValue.h: |
| (WebCore::CSSFunctionValue::create): |
| * css/CSSGradientValue.h: |
| (WebCore::CSSLinearGradientValue::create): |
| (WebCore::CSSLinearGradientValue::clone): |
| (WebCore::CSSRadialGradientValue::create): |
| (WebCore::CSSRadialGradientValue::clone): |
| * css/CSSGridTemplateAreasValue.h: |
| (WebCore::CSSGridTemplateAreasValue::create): |
| * css/CSSImageSetValue.h: |
| (WebCore::CSSImageSetValue::create): |
| * css/CSSImageValue.h: |
| (WebCore::CSSImageValue::create): |
| * css/CSSInheritedValue.h: |
| (WebCore::CSSInheritedValue::create): |
| * css/CSSInitialValue.h: |
| (WebCore::CSSInitialValue::createExplicit): |
| (WebCore::CSSInitialValue::createImplicit): |
| * css/CSSKeyframeRule.cpp: |
| (WebCore::StyleKeyframe::StyleKeyframe): |
| * css/CSSKeyframeRule.h: |
| (WebCore::StyleKeyframe::create): |
| * css/CSSKeyframesRule.h: |
| (WebCore::StyleRuleKeyframes::create): |
| (WebCore::StyleRuleKeyframes::copy): |
| * css/CSSLineBoxContainValue.h: |
| (WebCore::CSSLineBoxContainValue::create): |
| * css/CSSParser.cpp: |
| (WebCore::createPrimitiveValuePair): |
| (WebCore::CSSParser::parseInlineStyleDeclaration): |
| (WebCore::CSSParser::parseDeclaration): |
| (WebCore::CSSParser::createStyleProperties): |
| (WebCore::CSSParser::createPrimitiveNumericValue): |
| (WebCore::CSSParser::createPrimitiveStringValue): |
| (WebCore::CSSParser::addFillValue): |
| (WebCore::CSSParser::addAnimationValue): |
| * css/CSSParser.h: |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::formatNumberValue): |
| * css/CSSPrimitiveValue.h: |
| (WebCore::CSSPrimitiveValue::createIdentifier): |
| (WebCore::CSSPrimitiveValue::createParserOperator): |
| (WebCore::CSSPrimitiveValue::createColor): |
| (WebCore::CSSPrimitiveValue::create): |
| (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): |
| * css/CSSReflectValue.h: |
| (WebCore::CSSReflectValue::create): |
| * css/CSSShadowValue.h: |
| (WebCore::CSSShadowValue::create): |
| * css/CSSStyleDeclaration.h: |
| * css/CSSStyleSheet.cpp: |
| (WebCore::CSSStyleSheet::create): |
| (WebCore::CSSStyleSheet::createInline): |
| (WebCore::CSSStyleSheet::CSSStyleSheet): |
| * css/CSSStyleSheet.h: |
| * css/CSSTimingFunctionValue.h: |
| (WebCore::CSSCubicBezierTimingFunctionValue::create): |
| (WebCore::CSSStepsTimingFunctionValue::create): |
| * css/CSSUnicodeRangeValue.h: |
| (WebCore::CSSUnicodeRangeValue::create): |
| * css/CSSValue.cpp: |
| (WebCore::TextCloneCSSValue::create): |
| * css/CSSValueList.h: |
| (WebCore::CSSValueList::createCommaSeparated): |
| (WebCore::CSSValueList::createSpaceSeparated): |
| (WebCore::CSSValueList::createSlashSeparated): |
| (WebCore::CSSValueList::createFromParserValueList): |
| (WebCore::CSSValueList::append): |
| (WebCore::CSSValueList::prepend): |
| * css/CSSValuePool.cpp: |
| (WebCore::CSSValuePool::createIdentifierValue): |
| (WebCore::CSSValuePool::createColorValue): |
| (WebCore::CSSValuePool::createValue): |
| (WebCore::CSSValuePool::createFontFamilyValue): |
| * css/CSSValuePool.h: |
| (WebCore::CSSValuePool::createInheritedValue): |
| (WebCore::CSSValuePool::createImplicitInitialValue): |
| (WebCore::CSSValuePool::createExplicitInitialValue): |
| (WebCore::CSSValuePool::createValue): |
| * css/PropertySetCSSStyleDeclaration.cpp: |
| (WebCore::PropertySetCSSStyleDeclaration::copyProperties): |
| * css/PropertySetCSSStyleDeclaration.h: |
| * css/StyleProperties.cpp: |
| (WebCore::ImmutableStyleProperties::create): |
| (WebCore::StyleProperties::immutableCopyIfNeeded): |
| (WebCore::StyleProperties::copyBlockProperties): |
| (WebCore::StyleProperties::mutableCopy): |
| (WebCore::StyleProperties::copyPropertiesInSet): |
| (WebCore::MutableStyleProperties::create): |
| * css/StyleProperties.h: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::State::setStyle): |
| (WebCore::StyleResolver::styleForElement): |
| (WebCore::StyleResolver::styleForKeyframe): |
| (WebCore::StyleResolver::styleForPage): |
| (WebCore::StyleResolver::defaultStyleForElement): |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::State::takeStyle): |
| (WebCore::StyleResolver::State::setParentStyle): |
| * css/StyleRule.cpp: |
| (WebCore::StyleRuleBase::copy): |
| (WebCore::StyleRule::StyleRule): |
| (WebCore::StyleRule::create): |
| (WebCore::StyleRulePage::StyleRulePage): |
| (WebCore::StyleRuleFontFace::StyleRuleFontFace): |
| (WebCore::StyleRuleGroup::wrapperInsertRule): |
| (WebCore::StyleRuleViewport::StyleRuleViewport): |
| * css/StyleRule.h: |
| (WebCore::StyleRule::create): |
| (WebCore::StyleRule::copy): |
| (WebCore::StyleRuleFontFace::create): |
| (WebCore::StyleRuleFontFace::copy): |
| (WebCore::StyleRulePage::create): |
| (WebCore::StyleRulePage::copy): |
| (WebCore::StyleRuleMedia::create): |
| (WebCore::StyleRuleMedia::copy): |
| (WebCore::StyleRuleSupports::create): |
| (WebCore::StyleRuleSupports::copy): |
| (WebCore::StyleRuleRegion::create): |
| (WebCore::StyleRuleRegion::copy): |
| (WebCore::StyleRuleViewport::create): |
| (WebCore::StyleRuleViewport::copy): |
| * css/StyleRuleImport.cpp: |
| (WebCore::StyleRuleImport::create): |
| * css/StyleRuleImport.h: |
| * css/StyleSheetContents.h: |
| (WebCore::StyleSheetContents::create): |
| (WebCore::StyleSheetContents::copy): |
| * css/WebKitCSSFilterValue.h: |
| (WebCore::WebKitCSSFilterValue::create): |
| * css/WebKitCSSResourceValue.h: |
| (WebCore::WebKitCSSResourceValue::create): |
| * css/WebKitCSSTransformValue.h: |
| (WebCore::WebKitCSSTransformValue::create): |
| * dom/ChildNodeList.h: |
| * dom/ClassNodeList.cpp: |
| (WebCore::ClassNodeList::create): |
| * dom/ClassNodeList.h: |
| * dom/Document.cpp: |
| (WebCore::Document::styleForElementIgnoringPendingStylesheets): |
| * dom/Document.h: |
| * dom/DocumentSharedObjectPool.cpp: |
| (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): |
| * dom/DocumentSharedObjectPool.h: |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore::DocumentStyleSheetCollection::addAuthorSheet): |
| (WebCore::DocumentStyleSheetCollection::addUserSheet): |
| * dom/DocumentStyleSheetCollection.h: |
| * dom/Element.cpp: |
| (WebCore::Element::createElementRenderer): |
| * dom/Element.h: |
| * dom/ElementData.cpp: |
| (WebCore::ShareableElementData::createWithAttributes): |
| (WebCore::UniqueElementData::create): |
| (WebCore::ElementData::makeUniqueCopy): |
| (WebCore::UniqueElementData::makeShareableCopy): |
| * dom/ElementData.h: |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::setComputedStyle): |
| * dom/NameNodeList.h: |
| * dom/NamedFlowCollection.cpp: |
| (WebCore::NamedFlowCollection::ensureFlowWithName): |
| * dom/NamedFlowCollection.h: |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::ensureChildNodeList): |
| (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): |
| (WebCore::NodeListsNodeData::addCacheWithAtomicName): |
| (WebCore::NodeListsNodeData::addCacheWithQualifiedName): |
| (WebCore::NodeListsNodeData::addCachedCollection): |
| * dom/PseudoElement.cpp: |
| (WebCore::PseudoElement::didRecalcStyle): |
| * dom/QualifiedName.h: |
| (WebCore::QualifiedName::QualifiedNameImpl::create): |
| * dom/TagNodeList.h: |
| * html/BaseButtonInputType.cpp: |
| (WebCore::BaseButtonInputType::createInputRenderer): |
| * html/BaseButtonInputType.h: |
| * html/FileInputType.cpp: |
| (WebCore::FileInputType::createInputRenderer): |
| * html/FileInputType.h: |
| * html/HTMLAllCollection.cpp: |
| (WebCore::HTMLAllCollection::create): |
| * html/HTMLAllCollection.h: |
| * html/HTMLAppletElement.cpp: |
| (WebCore::HTMLAppletElement::createElementRenderer): |
| * html/HTMLAppletElement.h: |
| * html/HTMLBRElement.cpp: |
| (WebCore::HTMLBRElement::createElementRenderer): |
| * html/HTMLBRElement.h: |
| * html/HTMLButtonElement.cpp: |
| (WebCore::HTMLButtonElement::createElementRenderer): |
| * html/HTMLButtonElement.h: |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::createElementRenderer): |
| * html/HTMLCanvasElement.h: |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::create): |
| * html/HTMLCollection.h: |
| * html/HTMLDetailsElement.cpp: |
| (WebCore::HTMLDetailsElement::createElementRenderer): |
| * html/HTMLDetailsElement.h: |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::createElementRenderer): |
| * html/HTMLElement.h: |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::createElementRenderer): |
| * html/HTMLFieldSetElement.h: |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::create): |
| * html/HTMLFormControlsCollection.h: |
| * html/HTMLFrameElement.cpp: |
| (WebCore::HTMLFrameElement::createElementRenderer): |
| * html/HTMLFrameElement.h: |
| * html/HTMLFrameSetElement.cpp: |
| (WebCore::HTMLFrameSetElement::createElementRenderer): |
| * html/HTMLFrameSetElement.h: |
| * html/HTMLIFrameElement.cpp: |
| (WebCore::HTMLIFrameElement::createElementRenderer): |
| * html/HTMLIFrameElement.h: |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::createElementRenderer): |
| * html/HTMLImageElement.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::createElementRenderer): |
| * html/HTMLInputElement.h: |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::setCSSStyleSheet): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMediaElement.h: |
| * html/HTMLMeterElement.cpp: |
| (WebCore::HTMLMeterElement::createElementRenderer): |
| * html/HTMLMeterElement.h: |
| * html/HTMLNameCollection.h: |
| * html/HTMLOptionsCollection.cpp: |
| (WebCore::HTMLOptionsCollection::create): |
| * html/HTMLOptionsCollection.h: |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::createElementRenderer): |
| * html/HTMLPlugInElement.h: |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::createElementRenderer): |
| * html/HTMLPlugInImageElement.h: |
| * html/HTMLProgressElement.cpp: |
| (WebCore::HTMLProgressElement::createElementRenderer): |
| * html/HTMLProgressElement.h: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::createElementRenderer): |
| * html/HTMLSelectElement.h: |
| * html/HTMLSummaryElement.cpp: |
| (WebCore::HTMLSummaryElement::createElementRenderer): |
| * html/HTMLSummaryElement.h: |
| * html/HTMLTableRowsCollection.cpp: |
| (WebCore::HTMLTableRowsCollection::create): |
| * html/HTMLTableRowsCollection.h: |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::createElementRenderer): |
| * html/HTMLTextAreaElement.h: |
| * html/HTMLVideoElement.cpp: |
| (WebCore::HTMLVideoElement::createElementRenderer): |
| * html/HTMLVideoElement.h: |
| * html/HTMLWBRElement.cpp: |
| (WebCore::HTMLWBRElement::createElementRenderer): |
| * html/HTMLWBRElement.h: |
| * html/HiddenInputType.cpp: |
| (WebCore::HiddenInputType::createInputRenderer): |
| * html/HiddenInputType.h: |
| * html/ImageInputType.cpp: |
| (WebCore::ImageInputType::createInputRenderer): |
| * html/ImageInputType.h: |
| * html/InputType.cpp: |
| (WebCore::InputType::createInputRenderer): |
| * html/InputType.h: |
| * html/LabelsNodeList.h: |
| * html/RadioNodeList.h: |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::createInputRenderer): |
| * html/RangeInputType.h: |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::createInputRenderer): |
| * html/SearchInputType.h: |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::createInputRenderer): |
| * html/TextFieldInputType.h: |
| * html/shadow/DetailsMarkerControl.cpp: |
| (WebCore::DetailsMarkerControl::createElementRenderer): |
| * html/shadow/DetailsMarkerControl.h: |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlTimelineContainerElement::createElementRenderer): |
| (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): |
| (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): |
| * html/shadow/MediaControlElements.h: |
| * html/shadow/MeterShadowElement.cpp: |
| (WebCore::MeterInnerElement::createElementRenderer): |
| * html/shadow/MeterShadowElement.h: |
| * html/shadow/ProgressShadowElement.cpp: |
| (WebCore::ProgressInnerElement::createElementRenderer): |
| * html/shadow/ProgressShadowElement.h: |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderThumb::RenderSliderThumb): |
| (WebCore::SliderThumbElement::createElementRenderer): |
| (WebCore::SliderContainerElement::createElementRenderer): |
| * html/shadow/SliderThumbElement.h: |
| * html/shadow/TextControlInnerElements.cpp: |
| (WebCore::TextControlInnerContainer::createElementRenderer): |
| (WebCore::TextControlInnerTextElement::createElementRenderer): |
| * html/shadow/TextControlInnerElements.h: |
| * html/shadow/mac/ImageControlsButtonElementMac.cpp: |
| (WebCore::RenderImageControlsButton::RenderImageControlsButton): |
| (WebCore::ImageControlsButtonElementMac::createElementRenderer): |
| * html/shadow/mac/ImageControlsButtonElementMac.h: |
| * html/shadow/mac/ImageControlsRootElementMac.cpp: |
| (WebCore::RenderImageControls::RenderImageControls): |
| (WebCore::ImageControlsRootElementMac::createElementRenderer): |
| * html/shadow/mac/ImageControlsRootElementMac.h: |
| * html/track/VTTCue.cpp: |
| (WebCore::VTTCueBox::createElementRenderer): |
| * html/track/VTTCue.h: |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): |
| * loader/cache/CachedCSSStyleSheet.h: |
| * loader/cache/CachedResourceLoader.h: |
| (WebCore::CachedResourceLoader::create): |
| * mathml/MathMLInlineContainerElement.cpp: |
| (WebCore::MathMLInlineContainerElement::createElementRenderer): |
| * mathml/MathMLInlineContainerElement.h: |
| * mathml/MathMLMathElement.cpp: |
| (WebCore::MathMLMathElement::createElementRenderer): |
| * mathml/MathMLMathElement.h: |
| * mathml/MathMLMencloseElement.cpp: |
| (WebCore::MathMLMencloseElement::createElementRenderer): |
| * mathml/MathMLMencloseElement.h: |
| * mathml/MathMLSelectElement.cpp: |
| (WebCore::MathMLSelectElement::createElementRenderer): |
| * mathml/MathMLSelectElement.h: |
| * mathml/MathMLTextElement.cpp: |
| (WebCore::MathMLTextElement::createElementRenderer): |
| * mathml/MathMLTextElement.h: |
| * page/Page.cpp: |
| (WebCore::Page::setStorageNamespaceProvider): |
| (WebCore::Page::setVisitedLinkStore): |
| * page/Page.h: |
| * page/UserMessageHandler.h: |
| (WebCore::UserMessageHandler::create): |
| * page/UserMessageHandlersNamespace.h: |
| (WebCore::UserMessageHandlersNamespace::create): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): |
| (WebCore::AnimationController::updateAnimations): |
| * page/animation/AnimationController.h: |
| * page/animation/AnimationControllerPrivate.h: |
| * page/animation/CompositeAnimation.cpp: |
| (WebCore::CompositeAnimation::animate): |
| * page/animation/CompositeAnimation.h: |
| * platform/CalculationValue.cpp: |
| (WebCore::CalculationValue::create): |
| * platform/CalculationValue.h: |
| * platform/Length.cpp: |
| (WebCore::CalculationValueMap::insert): |
| (WebCore::Length::Length): |
| * platform/Length.h: |
| * platform/graphics/Font.cpp: |
| (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): |
| (WebCore::retrieveOrAddCachedFontGlyphs): |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::create): |
| (WebCore::FontGlyphs::createForPlatformFont): |
| * platform/graphics/Gradient.h: |
| (WebCore::Gradient::create): |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::GraphicsContext::setStrokePattern): |
| (WebCore::GraphicsContext::setFillPattern): |
| (WebCore::GraphicsContext::setStrokeGradient): |
| (WebCore::GraphicsContext::setFillGradient): |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/MediaSourcePrivateClient.h: |
| * platform/graphics/Pattern.cpp: |
| (WebCore::Pattern::create): |
| * platform/graphics/Pattern.h: |
| * platform/mac/SerializedPlatformRepresentationMac.h: |
| * platform/mac/SerializedPlatformRepresentationMac.mm: |
| (WebCore::SerializedPlatformRepresentationMac::create): |
| * platform/mock/UserMediaClientMock.h: |
| (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): |
| * rendering/ClipPathOperation.h: |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::RenderBlock): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::RenderBlockFlow): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::RenderBox): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::RenderBoxModelObject): |
| * rendering/RenderBoxModelObject.h: |
| * rendering/RenderButton.cpp: |
| (WebCore::RenderButton::RenderButton): |
| * rendering/RenderButton.h: |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): |
| * rendering/RenderDeprecatedFlexibleBox.h: |
| * rendering/RenderDetailsMarker.cpp: |
| (WebCore::RenderDetailsMarker::RenderDetailsMarker): |
| * rendering/RenderDetailsMarker.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::RenderElement): |
| (WebCore::RenderElement::createFor): |
| (WebCore::RenderElement::setStyle): |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::setStyleInternal): |
| (WebCore::RenderElement::setAnimatableStyle): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): |
| (WebCore::RenderEmbeddedObject::createForApplet): |
| * rendering/RenderEmbeddedObject.h: |
| * rendering/RenderFieldset.cpp: |
| (WebCore::RenderFieldset::RenderFieldset): |
| * rendering/RenderFieldset.h: |
| * rendering/RenderFileUploadControl.cpp: |
| (WebCore::RenderFileUploadControl::RenderFileUploadControl): |
| * rendering/RenderFileUploadControl.h: |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::RenderFlexibleBox): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::RenderFlowThread): |
| (WebCore::RenderFlowThread::createFlowThreadStyle): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderFrame.cpp: |
| (WebCore::RenderFrame::RenderFrame): |
| * rendering/RenderFrame.h: |
| * rendering/RenderFrameBase.cpp: |
| (WebCore::RenderFrameBase::RenderFrameBase): |
| * rendering/RenderFrameBase.h: |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::RenderFrameSet): |
| * rendering/RenderFrameSet.h: |
| * rendering/RenderFullScreen.cpp: |
| (WebCore::RenderFullScreen::RenderFullScreen): |
| (WebCore::createFullScreenStyle): |
| (WebCore::RenderFullScreen::createPlaceholder): |
| * rendering/RenderFullScreen.h: |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::RenderGrid): |
| * rendering/RenderGrid.h: |
| * rendering/RenderHTMLCanvas.cpp: |
| (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): |
| * rendering/RenderHTMLCanvas.h: |
| * rendering/RenderIFrame.cpp: |
| (WebCore::RenderIFrame::RenderIFrame): |
| * rendering/RenderIFrame.h: |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::RenderImage): |
| * rendering/RenderImage.h: |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::RenderInline): |
| * rendering/RenderInline.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerModelObject.cpp: |
| (WebCore::RenderLayerModelObject::RenderLayerModelObject): |
| * rendering/RenderLayerModelObject.h: |
| * rendering/RenderLineBreak.cpp: |
| (WebCore::RenderLineBreak::RenderLineBreak): |
| * rendering/RenderLineBreak.h: |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::RenderListBox): |
| * rendering/RenderListBox.h: |
| * rendering/RenderListItem.cpp: |
| (WebCore::RenderListItem::RenderListItem): |
| * rendering/RenderListItem.h: |
| * rendering/RenderListMarker.cpp: |
| (WebCore::RenderListMarker::RenderListMarker): |
| * rendering/RenderListMarker.h: |
| * rendering/RenderMedia.cpp: |
| (WebCore::RenderMedia::RenderMedia): |
| * rendering/RenderMedia.h: |
| * rendering/RenderMediaControlElements.cpp: |
| (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): |
| (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): |
| (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): |
| * rendering/RenderMediaControlElements.h: |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::RenderMenuList): |
| * rendering/RenderMenuList.h: |
| * rendering/RenderMeter.cpp: |
| (WebCore::RenderMeter::RenderMeter): |
| * rendering/RenderMeter.h: |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): |
| * rendering/RenderMultiColumnFlowThread.h: |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderMultiColumnSpannerPlaceholder.cpp: |
| (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): |
| * rendering/RenderMultiColumnSpannerPlaceholder.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): |
| (WebCore::RenderNamedFlowFragment::createStyle): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderProgress.cpp: |
| (WebCore::RenderProgress::RenderProgress): |
| * rendering/RenderProgress.h: |
| * rendering/RenderQuote.cpp: |
| (WebCore::RenderQuote::RenderQuote): |
| * rendering/RenderQuote.h: |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::RenderRegion): |
| * rendering/RenderRegion.h: |
| * rendering/RenderRegionSet.cpp: |
| (WebCore::RenderRegionSet::RenderRegionSet): |
| * rendering/RenderRegionSet.h: |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::RenderReplaced): |
| * rendering/RenderReplaced.h: |
| * rendering/RenderReplica.cpp: |
| (WebCore::RenderReplica::RenderReplica): |
| * rendering/RenderReplica.h: |
| * rendering/RenderRuby.cpp: |
| (WebCore::RenderRubyAsInline::RenderRubyAsInline): |
| (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): |
| * rendering/RenderRuby.h: |
| * rendering/RenderRubyBase.cpp: |
| (WebCore::RenderRubyBase::RenderRubyBase): |
| * rendering/RenderRubyBase.h: |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::RenderRubyRun): |
| * rendering/RenderRubyRun.h: |
| * rendering/RenderRubyText.cpp: |
| (WebCore::RenderRubyText::RenderRubyText): |
| * rendering/RenderRubyText.h: |
| * rendering/RenderScrollbarPart.cpp: |
| (WebCore::RenderScrollbarPart::RenderScrollbarPart): |
| * rendering/RenderScrollbarPart.h: |
| * rendering/RenderSearchField.cpp: |
| (WebCore::RenderSearchField::RenderSearchField): |
| * rendering/RenderSearchField.h: |
| * rendering/RenderSlider.cpp: |
| (WebCore::RenderSlider::RenderSlider): |
| * rendering/RenderSlider.h: |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): |
| * rendering/RenderSnapshottedPlugIn.h: |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::RenderTable): |
| * rendering/RenderTable.h: |
| * rendering/RenderTableCaption.cpp: |
| (WebCore::RenderTableCaption::RenderTableCaption): |
| * rendering/RenderTableCaption.h: |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::RenderTableCell): |
| * rendering/RenderTableCell.h: |
| * rendering/RenderTableCol.cpp: |
| (WebCore::RenderTableCol::RenderTableCol): |
| * rendering/RenderTableCol.h: |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::RenderTableRow): |
| * rendering/RenderTableRow.h: |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::RenderTableSection): |
| * rendering/RenderTableSection.h: |
| * rendering/RenderTextControl.cpp: |
| (WebCore::RenderTextControl::RenderTextControl): |
| * rendering/RenderTextControl.h: |
| * rendering/RenderTextControlMultiLine.cpp: |
| (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): |
| (WebCore::RenderTextControlMultiLine::createInnerTextStyle): |
| * rendering/RenderTextControlMultiLine.h: |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): |
| (WebCore::RenderTextControlSingleLine::createInnerTextStyle): |
| (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): |
| * rendering/RenderTextControlSingleLine.h: |
| * rendering/RenderVTTCue.cpp: |
| (WebCore::RenderVTTCue::RenderVTTCue): |
| * rendering/RenderVTTCue.h: |
| * rendering/RenderVideo.cpp: |
| (WebCore::RenderVideo::RenderVideo): |
| * rendering/RenderVideo.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::RenderView): |
| * rendering/RenderView.h: |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::RenderWidget): |
| * rendering/RenderWidget.h: |
| * rendering/mathml/RenderMathMLBlock.cpp: |
| (WebCore::RenderMathMLBlock::RenderMathMLBlock): |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLFenced.cpp: |
| (WebCore::RenderMathMLFenced::RenderMathMLFenced): |
| * rendering/mathml/RenderMathMLFenced.h: |
| * rendering/mathml/RenderMathMLFraction.cpp: |
| (WebCore::RenderMathMLFraction::RenderMathMLFraction): |
| * rendering/mathml/RenderMathMLFraction.h: |
| * rendering/mathml/RenderMathMLMath.cpp: |
| (WebCore::RenderMathMLMath::RenderMathMLMath): |
| * rendering/mathml/RenderMathMLMath.h: |
| * rendering/mathml/RenderMathMLMenclose.cpp: |
| (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): |
| * rendering/mathml/RenderMathMLMenclose.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::RenderMathMLOperator): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRadicalOperator.cpp: |
| (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): |
| * rendering/mathml/RenderMathMLRadicalOperator.h: |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRoot::RenderMathMLRoot): |
| * rendering/mathml/RenderMathMLRoot.h: |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::RenderMathMLRow): |
| * rendering/mathml/RenderMathMLRow.h: |
| * rendering/mathml/RenderMathMLScripts.cpp: |
| (WebCore::RenderMathMLScripts::RenderMathMLScripts): |
| * rendering/mathml/RenderMathMLScripts.h: |
| * rendering/mathml/RenderMathMLSpace.cpp: |
| (WebCore::RenderMathMLSpace::RenderMathMLSpace): |
| * rendering/mathml/RenderMathMLSpace.h: |
| * rendering/mathml/RenderMathMLSquareRoot.cpp: |
| (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): |
| * rendering/mathml/RenderMathMLSquareRoot.h: |
| * rendering/mathml/RenderMathMLToken.cpp: |
| (WebCore::RenderMathMLToken::RenderMathMLToken): |
| * rendering/mathml/RenderMathMLToken.h: |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): |
| * rendering/mathml/RenderMathMLUnderOver.h: |
| * rendering/style/BasicShapes.cpp: |
| (WebCore::BasicShapeCircle::blend): |
| (WebCore::BasicShapeEllipse::blend): |
| (WebCore::BasicShapePolygon::blend): |
| (WebCore::BasicShapeInset::blend): |
| * rendering/style/BasicShapes.h: |
| * rendering/style/DataRef.h: |
| (WebCore::DataRef::DataRef): |
| * rendering/style/NinePieceImage.cpp: |
| (WebCore::NinePieceImageData::copy): |
| * rendering/style/NinePieceImage.h: |
| (WebCore::NinePieceImageData::create): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::create): |
| (WebCore::RenderStyle::createDefaultStyle): |
| (WebCore::RenderStyle::createAnonymousStyleWithDisplay): |
| (WebCore::RenderStyle::clone): |
| (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/SVGRenderStyle.cpp: |
| (WebCore::SVGRenderStyle::createDefaultStyle): |
| (WebCore::SVGRenderStyle::copy): |
| * rendering/style/SVGRenderStyle.h: |
| (WebCore::SVGRenderStyle::create): |
| * rendering/style/SVGRenderStyleDefs.cpp: |
| (WebCore::StyleFillData::copy): |
| (WebCore::StyleStrokeData::copy): |
| (WebCore::StyleStopData::copy): |
| (WebCore::StyleTextData::copy): |
| (WebCore::StyleMiscData::copy): |
| (WebCore::StyleShadowSVGData::copy): |
| (WebCore::StyleResourceData::copy): |
| (WebCore::StyleInheritedResourceData::copy): |
| (WebCore::StyleLayoutData::copy): |
| * rendering/style/SVGRenderStyleDefs.h: |
| (WebCore::StyleFillData::create): |
| (WebCore::StyleStrokeData::create): |
| (WebCore::StyleStopData::create): |
| (WebCore::StyleTextData::create): |
| (WebCore::StyleMiscData::create): |
| (WebCore::StyleShadowSVGData::create): |
| (WebCore::StyleResourceData::create): |
| (WebCore::StyleInheritedResourceData::create): |
| (WebCore::StyleLayoutData::create): |
| * rendering/style/StyleBackgroundData.cpp: |
| (WebCore::StyleBackgroundData::copy): |
| * rendering/style/StyleBackgroundData.h: |
| (WebCore::StyleBackgroundData::create): |
| * rendering/style/StyleBoxData.cpp: |
| (WebCore::StyleBoxData::copy): |
| * rendering/style/StyleBoxData.h: |
| (WebCore::StyleBoxData::create): |
| * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: |
| (WebCore::StyleDeprecatedFlexibleBoxData::copy): |
| * rendering/style/StyleDeprecatedFlexibleBoxData.h: |
| (WebCore::StyleDeprecatedFlexibleBoxData::create): |
| * rendering/style/StyleFilterData.cpp: |
| (WebCore::StyleFilterData::copy): |
| * rendering/style/StyleFilterData.h: |
| (WebCore::StyleFilterData::create): |
| * rendering/style/StyleFlexibleBoxData.cpp: |
| (WebCore::StyleFlexibleBoxData::copy): |
| * rendering/style/StyleFlexibleBoxData.h: |
| (WebCore::StyleFlexibleBoxData::create): |
| * rendering/style/StyleGeneratedImage.cpp: |
| (WebCore::StyleGeneratedImage::StyleGeneratedImage): |
| * rendering/style/StyleGeneratedImage.h: |
| * rendering/style/StyleGridData.cpp: |
| (WebCore::StyleGridData::copy): |
| * rendering/style/StyleGridData.h: |
| (WebCore::StyleGridData::create): |
| * rendering/style/StyleGridItemData.cpp: |
| (WebCore::StyleGridItemData::copy): |
| * rendering/style/StyleGridItemData.h: |
| (WebCore::StyleGridItemData::create): |
| * rendering/style/StyleInheritedData.cpp: |
| (WebCore::StyleInheritedData::copy): |
| * rendering/style/StyleInheritedData.h: |
| (WebCore::StyleInheritedData::create): |
| * rendering/style/StyleMarqueeData.cpp: |
| (WebCore::StyleMarqueeData::copy): |
| * rendering/style/StyleMarqueeData.h: |
| (WebCore::StyleMarqueeData::create): |
| * rendering/style/StyleMultiColData.cpp: |
| (WebCore::StyleMultiColData::copy): |
| * rendering/style/StyleMultiColData.h: |
| (WebCore::StyleMultiColData::create): |
| * rendering/style/StyleRareInheritedData.cpp: |
| (WebCore::StyleRareInheritedData::copy): |
| * rendering/style/StyleRareInheritedData.h: |
| (WebCore::StyleRareInheritedData::create): |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::copy): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (WebCore::StyleRareNonInheritedData::create): |
| * rendering/style/StyleScrollSnapPoints.cpp: |
| (WebCore::StyleScrollSnapPoints::copy): |
| * rendering/style/StyleScrollSnapPoints.h: |
| (WebCore::StyleScrollSnapPoints::create): |
| * rendering/style/StyleSurroundData.cpp: |
| (WebCore::StyleSurroundData::copy): |
| * rendering/style/StyleSurroundData.h: |
| (WebCore::StyleSurroundData::create): |
| * rendering/style/StyleTransformData.cpp: |
| (WebCore::StyleTransformData::copy): |
| * rendering/style/StyleTransformData.h: |
| (WebCore::StyleTransformData::create): |
| * rendering/style/StyleVisualData.cpp: |
| (WebCore::StyleVisualData::copy): |
| * rendering/style/StyleVisualData.h: |
| (WebCore::StyleVisualData::create): |
| * rendering/svg/RenderSVGBlock.cpp: |
| (WebCore::RenderSVGBlock::RenderSVGBlock): |
| * rendering/svg/RenderSVGBlock.h: |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::RenderSVGContainer): |
| * rendering/svg/RenderSVGContainer.h: |
| * rendering/svg/RenderSVGEllipse.cpp: |
| (WebCore::RenderSVGEllipse::RenderSVGEllipse): |
| * rendering/svg/RenderSVGEllipse.h: |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): |
| * rendering/svg/RenderSVGForeignObject.h: |
| * rendering/svg/RenderSVGGradientStop.cpp: |
| (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): |
| * rendering/svg/RenderSVGGradientStop.h: |
| * rendering/svg/RenderSVGHiddenContainer.cpp: |
| (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): |
| * rendering/svg/RenderSVGHiddenContainer.h: |
| * rendering/svg/RenderSVGImage.cpp: |
| (WebCore::RenderSVGImage::RenderSVGImage): |
| * rendering/svg/RenderSVGImage.h: |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::RenderSVGInline): |
| * rendering/svg/RenderSVGInline.h: |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::RenderSVGModelObject): |
| * rendering/svg/RenderSVGModelObject.h: |
| * rendering/svg/RenderSVGPath.cpp: |
| (WebCore::RenderSVGPath::RenderSVGPath): |
| * rendering/svg/RenderSVGPath.h: |
| * rendering/svg/RenderSVGRect.cpp: |
| (WebCore::RenderSVGRect::RenderSVGRect): |
| * rendering/svg/RenderSVGRect.h: |
| * rendering/svg/RenderSVGResourceClipper.cpp: |
| (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): |
| * rendering/svg/RenderSVGResourceClipper.h: |
| * rendering/svg/RenderSVGResourceContainer.cpp: |
| (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): |
| * rendering/svg/RenderSVGResourceContainer.h: |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): |
| * rendering/svg/RenderSVGResourceFilter.h: |
| * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: |
| (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): |
| * rendering/svg/RenderSVGResourceFilterPrimitive.h: |
| * rendering/svg/RenderSVGResourceGradient.cpp: |
| (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): |
| * rendering/svg/RenderSVGResourceGradient.h: |
| * rendering/svg/RenderSVGResourceLinearGradient.cpp: |
| (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): |
| * rendering/svg/RenderSVGResourceLinearGradient.h: |
| * rendering/svg/RenderSVGResourceMarker.cpp: |
| (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): |
| * rendering/svg/RenderSVGResourceMarker.h: |
| * rendering/svg/RenderSVGResourceMasker.cpp: |
| (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): |
| * rendering/svg/RenderSVGResourceMasker.h: |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): |
| * rendering/svg/RenderSVGResourcePattern.h: |
| * rendering/svg/RenderSVGResourceRadialGradient.cpp: |
| (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): |
| * rendering/svg/RenderSVGResourceRadialGradient.h: |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::RenderSVGRoot): |
| * rendering/svg/RenderSVGRoot.h: |
| * rendering/svg/RenderSVGShape.cpp: |
| (WebCore::RenderSVGShape::RenderSVGShape): |
| * rendering/svg/RenderSVGShape.h: |
| * rendering/svg/RenderSVGTSpan.h: |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::RenderSVGText): |
| * rendering/svg/RenderSVGText.h: |
| * rendering/svg/RenderSVGTextPath.cpp: |
| (WebCore::RenderSVGTextPath::RenderSVGTextPath): |
| * rendering/svg/RenderSVGTextPath.h: |
| * rendering/svg/RenderSVGTransformableContainer.cpp: |
| (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): |
| * rendering/svg/RenderSVGTransformableContainer.h: |
| * rendering/svg/RenderSVGViewportContainer.cpp: |
| (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): |
| * rendering/svg/RenderSVGViewportContainer.h: |
| * rendering/svg/SVGTextRunRenderingContext.h: |
| * style/StyleResolveForDocument.cpp: |
| (WebCore::Style::resolveForDocument): |
| * style/StyleResolveForDocument.h: |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::styleForElement): |
| * svg/SVGAElement.cpp: |
| (WebCore::SVGAElement::createElementRenderer): |
| * svg/SVGAElement.h: |
| * svg/SVGAltGlyphElement.cpp: |
| (WebCore::SVGAltGlyphElement::createElementRenderer): |
| * svg/SVGAltGlyphElement.h: |
| * svg/SVGCircleElement.cpp: |
| (WebCore::SVGCircleElement::createElementRenderer): |
| * svg/SVGCircleElement.h: |
| * svg/SVGClipPathElement.cpp: |
| (WebCore::SVGClipPathElement::createElementRenderer): |
| * svg/SVGClipPathElement.h: |
| * svg/SVGColor.h: |
| (WebCore::SVGColor::createFromString): |
| (WebCore::SVGColor::createFromColor): |
| (WebCore::SVGColor::createCurrentColor): |
| * svg/SVGDefsElement.cpp: |
| (WebCore::SVGDefsElement::createElementRenderer): |
| * svg/SVGDefsElement.h: |
| * svg/SVGEllipseElement.cpp: |
| (WebCore::SVGEllipseElement::createElementRenderer): |
| * svg/SVGEllipseElement.h: |
| * svg/SVGFilterElement.cpp: |
| (WebCore::SVGFilterElement::createElementRenderer): |
| * svg/SVGFilterElement.h: |
| * svg/SVGFilterPrimitiveStandardAttributes.cpp: |
| (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): |
| * svg/SVGFilterPrimitiveStandardAttributes.h: |
| * svg/SVGFontFaceNameElement.cpp: |
| (WebCore::SVGFontFaceNameElement::srcValue): |
| * svg/SVGFontFaceNameElement.h: |
| * svg/SVGFontFaceUriElement.cpp: |
| (WebCore::SVGFontFaceUriElement::srcValue): |
| * svg/SVGFontFaceUriElement.h: |
| * svg/SVGForeignObjectElement.cpp: |
| (WebCore::SVGForeignObjectElement::createElementRenderer): |
| * svg/SVGForeignObjectElement.h: |
| * svg/SVGGElement.cpp: |
| (WebCore::SVGGElement::createElementRenderer): |
| * svg/SVGGElement.h: |
| * svg/SVGGraphicsElement.cpp: |
| (WebCore::SVGGraphicsElement::createElementRenderer): |
| * svg/SVGGraphicsElement.h: |
| * svg/SVGImageElement.cpp: |
| (WebCore::SVGImageElement::createElementRenderer): |
| * svg/SVGImageElement.h: |
| * svg/SVGLength.cpp: |
| (WebCore::SVGLength::toCSSPrimitiveValue): |
| * svg/SVGLength.h: |
| * svg/SVGLinearGradientElement.cpp: |
| (WebCore::SVGLinearGradientElement::createElementRenderer): |
| * svg/SVGLinearGradientElement.h: |
| * svg/SVGMarkerElement.cpp: |
| (WebCore::SVGMarkerElement::createElementRenderer): |
| * svg/SVGMarkerElement.h: |
| * svg/SVGMaskElement.cpp: |
| (WebCore::SVGMaskElement::createElementRenderer): |
| * svg/SVGMaskElement.h: |
| * svg/SVGPaint.h: |
| (WebCore::SVGPaint::createUnknown): |
| (WebCore::SVGPaint::createNone): |
| (WebCore::SVGPaint::createCurrentColor): |
| (WebCore::SVGPaint::createColor): |
| (WebCore::SVGPaint::createURI): |
| (WebCore::SVGPaint::createURIAndColor): |
| (WebCore::SVGPaint::createURIAndNone): |
| (WebCore::SVGPaint::create): |
| * svg/SVGPathElement.cpp: |
| (WebCore::SVGPathElement::createElementRenderer): |
| * svg/SVGPathElement.h: |
| * svg/SVGPatternElement.cpp: |
| (WebCore::SVGPatternElement::createElementRenderer): |
| * svg/SVGPatternElement.h: |
| * svg/SVGRadialGradientElement.cpp: |
| (WebCore::SVGRadialGradientElement::createElementRenderer): |
| * svg/SVGRadialGradientElement.h: |
| * svg/SVGRectElement.cpp: |
| (WebCore::SVGRectElement::createElementRenderer): |
| * svg/SVGRectElement.h: |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::createElementRenderer): |
| * svg/SVGSVGElement.h: |
| * svg/SVGStopElement.cpp: |
| (WebCore::SVGStopElement::createElementRenderer): |
| * svg/SVGStopElement.h: |
| * svg/SVGSwitchElement.cpp: |
| (WebCore::SVGSwitchElement::createElementRenderer): |
| * svg/SVGSwitchElement.h: |
| * svg/SVGSymbolElement.cpp: |
| (WebCore::SVGSymbolElement::createElementRenderer): |
| * svg/SVGSymbolElement.h: |
| * svg/SVGTRefElement.cpp: |
| (WebCore::SVGTRefTargetEventListener::create): |
| (WebCore::SVGTRefElement::createElementRenderer): |
| * svg/SVGTRefElement.h: |
| * svg/SVGTSpanElement.cpp: |
| (WebCore::SVGTSpanElement::createElementRenderer): |
| * svg/SVGTSpanElement.h: |
| * svg/SVGTextElement.cpp: |
| (WebCore::SVGTextElement::createElementRenderer): |
| * svg/SVGTextElement.h: |
| * svg/SVGTextPathElement.cpp: |
| (WebCore::SVGTextPathElement::createElementRenderer): |
| * svg/SVGTextPathElement.h: |
| * svg/SVGUseElement.cpp: |
| (WebCore::SVGUseElement::createElementRenderer): |
| * svg/SVGUseElement.h: |
| |
| 2014-12-13 Zalan Bujtas <zalan@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=139597 |
| rdar://problem/19237334 |
| Fixed positioned pseudo content does not get composited. |
| |
| Reviewed by Simon Fraser. |
| |
| This patch ensures that adjustRenderStyle() can access to settings even when Element* is null. |
| |
| Test: compositing/fixed-positioned-pseudo-content-no-compositing.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): |
| |
| 2014-12-12 Mark Rowe <mrowe@apple.com> |
| |
| [Mac] Work around a bug in dsymutil on older OS versions |
| <https://webkit.org/b/139609> / <rdar://problem/16045763> |
| |
| Older versions of dsymutil are unable to write out more than 2GB of symbols per architecture. |
| WebCore has recently passed that threshold. To work around this we will reduce the level of |
| symbols included in the dSYM bundles on the affected OS versions. |
| |
| Reviewed by Geoff Garen. |
| |
| * Configurations/Base.xcconfig: Include line tables only in the debug symbols for production |
| builds on OS X 10.8 and 10.9. |
| * Configurations/DebugRelease.xcconfig: Include full symbols in debug and release builds since they |
| do not make use of dSYMs. |
| |
| 2014-12-12 Beth Dakin <bdakin@apple.com> |
| |
| Need a fake mouse move after hiding data detectors UI |
| https://bugs.webkit.org/show_bug.cgi?id=139608 |
| -and corresponding- |
| rdar://problem/19221935 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-12 Dean Jackson <dino@apple.com> |
| |
| [Media iOS] Inline video controls have an outlined scrubber |
| https://bugs.webkit.org/show_bug.cgi?id=139602 |
| <rdar://problem/19184212> |
| |
| Reviewed by Eric Carlson. |
| |
| This is another change similar to https://bugs.webkit.org/show_bug.cgi?id=138378 |
| where the specificity of pseduo elements had changed, and thus iOS |
| was inheriting some of the UA styles. |
| |
| The fix is to add some more style rules to ensure that the timeline track |
| is drawn in white. |
| |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| (audio::-webkit-media-controls-timeline): Border rules not needed here. |
| (video::-webkit-media-controls-timeline::-webkit-slider-runnable-track): But are needed |
| here, along with some other things. |
| (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Now that the runnable |
| track has some style, we need to account for the change. |
| |
| 2014-12-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove a workaround for a bug that was fixed in Mountain Lion |
| https://bugs.webkit.org/show_bug.cgi?id=139605 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCorePrefix.h: |
| (move): Deleted. |
| |
| 2014-12-12 Zalan Bujtas <zalan@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=139596 |
| Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling. |
| rdar://problem/18697851 |
| |
| Reviewed by Simon Fraser. |
| |
| Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int). |
| However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect. |
| Use enclosing int rect for now to ensure scrolling does not leave trails. |
| |
| Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling) |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollContentsFastPath): |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r168217): Images are cropped out during animation at jetblue.com |
| https://bugs.webkit.org/show_bug.cgi?id=136410 |
| |
| Reviewed by Dean Jackson. |
| |
| We were hitting the new assertion under Page::setPageScaleFactor(), which |
| calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded() |
| to recalcStyle(). |
| |
| * dom/Document.cpp: |
| (WebCore::Document::recalcStyle): |
| (WebCore::Document::updateStyleIfNeeded): |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r168217): Images are cropped out during animation at jetblue.com |
| https://bugs.webkit.org/show_bug.cgi?id=136410 |
| rdar://problem/18188533 |
| |
| Reviewed by Dean Jackson. |
| |
| During GraphicsLayer flushing, for tiled layers we can compute a visible rect using |
| the current state of an animation, which is obtained via the AnimationController. |
| If that animation was running in a subframe, AnimationController could use a stale |
| beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That |
| resulted in an incorrect computation of the visible rect, resulting in missing tiles. |
| |
| There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime() |
| is being called inside an animation update block. This required moving m_beginAnimationUpdateCount |
| into AnimationControllerPrivate, and changes to endAnimationUpdate(). |
| |
| The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which |
| can be called outside of style resolution. We also need some in other API functions. |
| |
| Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting |
| that we should have an animation batch inside FrameView::layout(). In addition, a single |
| resolveStyle/layout should use the same animationBeginTime, so we add a batch to |
| updateLayoutAndStyleIfNeededRecursive(). |
| |
| No test because it's timing-dependent. Existing tests exercise the new assertion. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::computeRenderStyleForProperty): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock): |
| (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock): |
| (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): |
| (WebCore::AnimationControllerPrivate::animationTimerFired): |
| (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): |
| (WebCore::AnimationControllerPrivate::beginAnimationUpdate): |
| (WebCore::AnimationControllerPrivate::endAnimationUpdate): |
| (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): |
| (WebCore::AnimationController::AnimationController): |
| (WebCore::AnimationController::notifyAnimationStarted): |
| (WebCore::AnimationController::pauseAnimationAtTime): |
| (WebCore::AnimationController::pauseTransitionAtTime): |
| (WebCore::AnimationController::resumeAnimationsForDocument): |
| (WebCore::AnimationController::startAnimationsIfNotSuspended): |
| (WebCore::AnimationController::beginAnimationUpdate): |
| (WebCore::AnimationController::endAnimationUpdate): |
| * page/animation/AnimationController.h: |
| * page/animation/AnimationControllerPrivate.h: |
| |
| 2014-12-12 Roger Fong <roger_fong@apple.com> |
| |
| [Win] Unreviewed build fix following r177235. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| |
| 2014-12-12 Roger Fong <roger_fong@apple.com> |
| |
| Implement EXT_blend_minmax as a WebGL 1 extension. |
| https://bugs.webkit.org/show_bug.cgi?id=128974. |
| <rdar://problem/19195535> |
| |
| Reviewed by Dean Jackson. |
| |
| Tested by: |
| webgl/1.0.3/conformance/extensions/ext-blend-minmax.html |
| fast/canvas/webgl/constants.html |
| |
| Specifications for this extension: |
| https://www.khronos.org/registry/webgl/extensions/EXT_blend_minmax/ |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * html/canvas/EXTBlendMinMax.cpp: Added. |
| (WebCore::EXTBlendMinMax::EXTBlendMinMax): |
| (WebCore::EXTBlendMinMax::~EXTBlendMinMax): |
| (WebCore::EXTBlendMinMax::getName): |
| * html/canvas/EXTBlendMinMax.h: Added. |
| * html/canvas/EXTBlendMinMax.idl: Added. |
| * html/canvas/WebGLExtension.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): |
| (WebCore::WebGLRenderingContext::validateBlendEquation): |
| * html/canvas/WebGLRenderingContext.h: |
| * html/canvas/WebGLRenderingContext.idl: |
| * platform/graphics/Extensions3D.h: |
| |
| 2014-12-12 Benjamin Poulain <bpoulain@apple.com> |
| |
| Remove the concept of simple selector from the parser |
| https://bugs.webkit.org/show_bug.cgi?id=139575 |
| |
| Reviewed by Mark Lam. |
| |
| We have complete support for nested selector list, we no longer |
| need the old concept of simple selector. |
| |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::isSimple): Deleted. |
| * css/CSSParserValues.h: |
| |
| 2014-12-12 Antti Koivisto <antti@apple.com> |
| |
| FontGlyphs::glyphDataAndPageForCharacter cleanups |
| https://bugs.webkit.org/show_bug.cgi?id=139584 |
| |
| Reviewed by Andreas Kling. |
| |
| Split it up and use helper functions. |
| |
| * WebCore.exp.in: |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::determinePitch): |
| (WebCore::FontGlyphs::realizeFontDataAt): |
| (WebCore::FontGlyphs::glyphDataAndPageForSystemFallback): |
| (WebCore::FontGlyphs::glyphDataAndPageForVariant): |
| |
| Add private helpers. |
| |
| (WebCore::FontGlyphs::glyphDataAndPageForCharacter): |
| |
| Do the m_pages cache lookup only once and use the pointer reference afterwards. |
| |
| * platform/graphics/FontGlyphs.h: |
| (WebCore::FontGlyphs::fontSelector): |
| (WebCore::FontGlyphs::widthCache): |
| (WebCore::FontGlyphs::primaryFontData): |
| (WebCore::FontGlyphs::isFixedPitch): |
| (WebCore::FontGlyphs::primarySimpleFontData): |
| |
| Also removed the mutable attribute from the fields (almost everything was marked mutable) and made the inteface |
| non-const. The FontGlyphs member of Font is already mutable so this is not needed. |
| |
| 2014-12-12 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for StyleRuleBase subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=139571 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for StyleRuleBase subclasses for safety and |
| consistency. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSFontFaceRule.cpp: |
| (WebCore::CSSFontFaceRule::reattach): |
| * css/CSSKeyframesRule.h: |
| (isType): |
| * css/CSSPageRule.cpp: |
| (WebCore::CSSPageRule::reattach): |
| * css/CSSStyleRule.cpp: |
| (WebCore::CSSStyleRule::reattach): |
| * css/CSSStyleSheet.cpp: |
| (WebCore::CSSStyleSheet::insertRule): |
| * css/RuleSet.cpp: |
| (WebCore::RuleSet::addRegionRule): |
| (WebCore::RuleSet::addChildRules): |
| * css/StyleInvalidationAnalysis.cpp: |
| (WebCore::shouldDirtyAllStyle): |
| * css/StyleRule.cpp: |
| (WebCore::StyleRuleBase::destroy): |
| (WebCore::StyleRuleBase::copy): |
| (WebCore::StyleRuleBase::createCSSOMWrapper): |
| * css/StyleRule.h: |
| (isType): |
| (WebCore::toStyleRule): Deleted. |
| * css/StyleRuleImport.h: |
| (isType): |
| * css/StyleSheetContents.cpp: |
| (WebCore::StyleSheetContents::parserAppendRule): |
| (WebCore::StyleSheetContents::wrapperInsertRule): |
| (WebCore::StyleSheetContents::addSubresourceStyleURLs): |
| (WebCore::childRulesHaveFailedOrCanceledSubresources): |
| * css/WebKitCSSViewportRule.cpp: |
| (WebCore::WebKitCSSViewportRule::reattach): |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| |
| 2014-12-12 Jer Noble <jer.noble@apple.com> |
| |
| [MSE] Add support for SourceBuffer.mode. |
| https://bugs.webkit.org/show_bug.cgi?id=139265 |
| |
| Reviewed by Eric Carlson. |
| |
| Support setting SourceBuffer's mode property, and add support for "sequence" mode. Prior |
| to this change, "segments" mode was implied. |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::addSourceBuffer): |
| (WebCore::MediaSource::regenerateActiveSourceBuffers): |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::segmentsKeyword): |
| (WebCore::SourceBuffer::sequenceKeyword): |
| (WebCore::SourceBuffer::SourceBuffer): |
| (WebCore::SourceBuffer::setTimestampOffset): |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): |
| (WebCore::SourceBuffer::setMode): |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediasource/SourceBuffer.idl: |
| |
| 2014-12-12 Radu Stavila <stavila@adobe.com> |
| |
| [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image |
| https://bugs.webkit.org/show_bug.cgi?id=139294 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch links together all parts required for the functionality which improves |
| the -webkit-mask-image property by allowing it to reference a <mask> element defined |
| in an inline or external SVG document. |
| Support for this new functionality has been added in a previous patch, under issue |
| https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how |
| the new functionality works can be found in the ChangeLog for that commit. |
| The containsSVGDocument in ScrollView has been removed because it was added in the |
| previous patch but is no longer required. |
| |
| Tests: css3/masking/mask-base64.html |
| css3/masking/mask-multiple-values.html |
| css3/masking/mask-svg-clipped-fragmentId.html |
| css3/masking/mask-svg-fragmentId.html |
| css3/masking/mask-svg-inline-fragmentId.html |
| css3/masking/mask-svg-inline-invalid-fragmentId.html |
| css3/masking/mask-svg-invalid-fragmentId.html |
| css3/masking/mask-svg-no-fragmentId-tiled.html |
| css3/masking/mask-svg-no-fragmentId.html |
| css3/masking/mask-svg-script-entire-svg-to-mask.html |
| css3/masking/mask-svg-script-mask-to-entire-svg.html |
| css3/masking/mask-svg-script-mask-to-none.html |
| css3/masking/mask-svg-script-mask-to-png.html |
| css3/masking/mask-svg-script-none-to-mask.html |
| css3/masking/mask-svg-script-none-to-png.html |
| css3/masking/mask-svg-script-png-to-mask.html |
| css3/masking/mask-svg-script-png-to-none.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFillShorthand): |
| (WebCore::CSSParser::parseFillProperty): |
| (WebCore::CSSParser::parseMaskImage): |
| * css/CSSParser.h: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustStyleForMaskImages): |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::loadPendingSVGDocuments): |
| (WebCore::StyleResolver::createMaskImageOperations): |
| (WebCore::StyleResolver::loadPendingImages): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper): |
| (WebCore::MaskImagePropertyWrapper::equals): |
| (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): |
| * platform/graphics/MaskImageOperation.cpp: |
| (WebCore::MaskImageOperation::~MaskImageOperation): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::maskClipRect): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::calculateFillTileSize): |
| (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::~RenderElement): |
| (WebCore::RenderElement::updateFillImages): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/style/FillLayer.h: |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::setMaskImage): |
| * rendering/style/RenderStyle.h: |
| |
| 2014-12-12 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix the !ENABLE(SVG_FONTS) build after r177078 |
| https://bugs.webkit.org/show_bug.cgi?id=139578 |
| |
| Reviewed by Martin Robinson. |
| |
| * platform/graphics/cairo/FontCairo.cpp: |
| (WebCore::Font::dashesForIntersectionsWithRect): |
| |
| 2014-12-12 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add 16bit support. |
| https://bugs.webkit.org/show_bug.cgi?id=139469 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch adds the 16bit support to simple line layout. |
| |
| Test: fast/inline/simple-line-layout-16bit-content.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::nextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::findNextNonWhitespace): |
| (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): |
| (WebCore::SimpleLineLayout::FlowContents::runWidth): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| |
| 2014-12-12 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| Implement MemoryPressureHandler for Linux system |
| https://bugs.webkit.org/show_bug.cgi?id=123532 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| This is an initial implementation to support MemoryPressureHandler for linux system. |
| The patch is based on Tomeu's last patch and improved on top of it. |
| Most of current linux distributions support cgroup, so that we use the memory.pressure_level |
| mechanism of cgroup to get notifications when an application reaches the 'low' memory |
| pressure level. |
| |
| No new tests since no engine behavior changed. |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::MemoryPressureHandler): |
| * platform/MemoryPressureHandler.h: |
| * platform/linux/MemoryPressureHandlerLinux.cpp: Added. |
| (WebCore::nextToken): |
| (WebCore::MemoryPressureHandler::~MemoryPressureHandler): |
| (WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): run in a seperated thread |
| to listen 'low' level event. |
| (WebCore::MemoryPressureHandler::logErrorAndCloseFDs): |
| (WebCore::MemoryPressureHandler::install): |
| (WebCore::MemoryPressureHandler::uninstall): |
| (WebCore::MemoryPressureHandler::holdOffTimerFired): |
| (WebCore::MemoryPressureHandler::holdOff): |
| (WebCore::MemoryPressureHandler::respondToMemoryPressure): |
| (WebCore::MemoryPressureHandler::platformReleaseMemory): |
| (WebCore::MemoryPressureHandler::ReliefLogger::platformLog): |
| (WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage): read /proc/self/status |
| to get VM amount used by current process. |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Layer borders on contentsLayers don't correctly toggle with the rest of the borders |
| https://bugs.webkit.org/show_bug.cgi?id=139570 |
| rdar://problem/18007746 |
| |
| Reviewed by Tim Horton. |
| |
| The "Show Debug Borders" toggle didn't cleanly remove layer borders from |
| content layers (image, video), nor did it deal with cloned layers (reflections). |
| |
| Fix by making updateDebugBorder() update the layer borders on the contents |
| layer and cloned layers, moving some code around to avoid having colors |
| in more than one place. If the borders are hidden, send an invalid color |
| to PlatformCALayer::setBorderColor(), which now knows to remove the color |
| property on the layer (to avoid leaving transparent border color properties |
| on CALayers). |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::setLayerDebugBorder): |
| (WebCore::contentsLayerDebugBorderColor): |
| (WebCore::cloneLayerDebugBorderColor): |
| (WebCore::GraphicsLayerCA::updateDebugBorder): |
| (WebCore::GraphicsLayerCA::setDebugBorder): |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::setBorderColor): |
| |
| 2014-12-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Crash when trying to inspect LocalStorage |
| https://bugs.webkit.org/show_bug.cgi?id=139573 |
| |
| Reviewed by Anders Carlsson. |
| |
| Move away from PageGroup::localStorage and instead to StorageNamespaceProvider. |
| This matches what DOMWindow::localStorage does to get the StorageArea for a document. |
| |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::findStorageArea): |
| |
| 2014-12-11 Simon Fraser <simon.fraser@apple.com> |
| |
| Transform-style should not kill position:fixed |
| https://bugs.webkit.org/show_bug.cgi?id=138122 |
| |
| Reviewed by Dean Jackson. |
| |
| Various bits of rendering code checked RenderObject::hasTransform() for various |
| reasons. Confusingly, this meant "has transform, or preserve-3d, or perspective". |
| |
| This patch teases those behaviors apart to produce the following behavior: |
| |
| 1. "transform" acts as containing block for fixed position (no behavior change). |
| 2. "transform" acts as containing block for absolute/relative position (no behavior change). |
| 3. "perspective" does not act as containing block for fixed position (no behavior change). |
| 4. "perspective" acts as containing block for absolute/relative position (no behavior change). |
| 5. "preserve-3d" does not act as containing block for fixed position (behavior change). |
| 6. "preserve-3d" acts as containing block for absolute/relative position. This is not a |
| behavior change, but seems like incorrect behavior (https://www.w3.org/Bugs/Public/show_bug.cgi?id=27566). |
| However, we may be forced to keep it for compatibility. |
| |
| The gist of the change is to rename RenderObject::hasTransform() to RenderObject::hasTransformRelatedProperty(), |
| and add hasTransform() with the more restrictive meaning. All call sites of hasTransform() were examined |
| and fixed to produce the desired behaviors. |
| |
| Tests: transforms/2d/perspective-not-fixed-container.html |
| transforms/2d/preserve3d-not-fixed-container.html |
| transforms/perspective-is-containing-block-for-absolute.html |
| transforms/preserve3d-is-containing-block-for-absolute.html |
| transforms/transform-is-containing-block-for-absolute.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::computedTransform): Now we can just test hasTransform(). |
| * rendering/LogicalSelectionOffsetCaches.h: |
| (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): For now, this |
| can just use hasTransformRelatedProperty(), but if we change [6] above this will have |
| to change (as documented in the comment). Also FIXME comments about sharing code. |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::updateFromStyle): |
| (WebCore::RenderBox::mapLocalToContainer): Can just use hasTransform() now. |
| (WebCore::RenderBox::pushMappingToContainer): Ditto. |
| (WebCore::RenderBox::mapAbsoluteToLocalPoint): Ditto. |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): Ditto. |
| * rendering/RenderBox.h: All transform-related properties create RenderLayers. |
| * rendering/RenderBoxModelObject.h: Ditto. |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::styleWillChange): |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::canMapBetweenRenderersViaLayers): Rename to clarify. We need to not map via |
| layers if we have a perspective (since we need to generate a perspective matrix). It's |
| OK with preserve-3d though. |
| (WebCore::RenderGeometryMap::pushMappingsToAncestor): |
| (WebCore::canMapBetweenRenderers): Deleted. |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::updateFromStyle): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateTransform): Can just check hasTransform(). |
| (WebCore::RenderLayer::updateLayerPosition): Avoid calling parent() and enclosingPositionedAncestor() twice. |
| (WebCore::RenderLayer::perspectiveTransform): Do the fast bit check hasTransformRelatedProperty() first. |
| (WebCore::RenderLayer::perspectiveOrigin): Ditto. |
| (WebCore::isContainerForPositioned): This code has to now have different behavior for absolute and fixed |
| position. Changed it to call existing functions, rather than having a 3rd place that has to know about |
| containing block rules. |
| (WebCore::RenderLayer::enclosingAncestorForPosition): Call isContainerForPositioned() now. |
| (WebCore::accumulateOffsetTowardsAncestor): Call enclosingAncestorForPosition(). |
| (WebCore::RenderLayer::createLocalTransformState): |
| (WebCore::RenderLayer::calculateClipRects): |
| (WebCore::isPositionedContainer): Deleted. |
| (WebCore::isFixedPositionedContainer): Deleted. |
| (WebCore::RenderLayer::enclosingPositionedAncestor): Deleted. |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGeometry): |
| * rendering/RenderLayerModelObject.cpp: |
| (WebCore::RenderLayerModelObject::styleDidChange): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::shouldUseTransformFromContainer): Can just check hasTransform() now. |
| (WebCore::RenderObject::container): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::hasTransformRelatedProperty): |
| (WebCore::RenderObject::hasTransform): |
| (WebCore::RenderObject::setHasTransformRelatedProperty): |
| (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields): |
| (WebCore::RenderObject::setHasTransform): Deleted. |
| * rendering/RenderTableRow.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::mapLocalToContainer): nullptr goodness. |
| (WebCore::RenderView::pushMappingToContainer): Ditto. |
| (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto. |
| |
| 2014-12-11 Rich Tibbett <rich.tibbett@gmail.com> |
| |
| [iOS] Normalize iOS DeviceOrientation beta/gamma per spec. |
| https://bugs.webkit.org/show_bug.cgi?id=137134 |
| <radr://problem/9414459> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Normalize DeviceOrientation beta and gamma on iOS to match the |
| conventions defined in the W3C DeviceOrientation Events specification. |
| |
| beta values are returned in the range [-180, 180). gamma values are |
| returned in the range [-90, 90). |
| |
| * platform/ios/WebCoreMotionManager.mm: |
| |
| 2014-12-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177081. |
| https://bugs.webkit.org/show_bug.cgi?id=139569 |
| |
| broke iOS video playback (Requested by eric_carlson on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Fix iOS builders for 8.0" |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| http://trac.webkit.org/changeset/177081 |
| |
| 2014-12-11 Roger Fong <roger_fong@apple.com> |
| |
| Unreviewed. Fix to build fix in r177134. |
| |
| * html/canvas/WebGLDrawBuffers.cpp: iOS should query the system for GL extension availability. |
| |
| 2014-12-10 Roger Fong <roger_fong@apple.com> |
| |
| Implement frag depth as a WebGL 1 extension. |
| https://bugs.webkit.org/show_bug.cgi?id=133635. |
| <rdar://problem/19195381> |
| |
| Reviewed by Dean Jackson. |
| |
| Test: |
| webgl/1.0.3/conformance/extensions/ext-frag-depth.html |
| |
| Spec for this extension outlined here: |
| http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/ |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * html/canvas/EXTFragDepth.cpp: Added. |
| (WebCore::EXTFragDepth::EXTFragDepth): |
| (WebCore::EXTFragDepth::~EXTFragDepth): |
| (WebCore::EXTFragDepth::getName): |
| * html/canvas/EXTFragDepth.h: Added. |
| * html/canvas/EXTFragDepth.idl: Added. |
| * html/canvas/WebGLExtension.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): |
| * html/canvas/WebGLRenderingContext.h: |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
| (WebCore::Extensions3DOpenGLCommon::ensureEnabled): |
| |
| 2014-12-11 Chris Dumez <cdumez@apple.com> |
| |
| Optimize RenderElement::rendererForRootBackground() a bit |
| https://bugs.webkit.org/show_bug.cgi?id=139527 |
| |
| Reviewed by Andreas Kling. |
| |
| Optimize RenderElement::rendererForRootBackground() a bit by not |
| calling Document::body(). We are only interested in the child element |
| with a <body> tag. However, Document::body() first checks if a |
| <frameset> child is present. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::rendererForRootBackground): |
| |
| 2014-12-11 Brendan Long <b.long@cablelabs.com> |
| |
| Remove DataCue "text" attribute |
| https://bugs.webkit.org/show_bug.cgi?id=139461 |
| |
| Reviewed by Eric Carlson. |
| |
| * html/track/DataCue.cpp: |
| * html/track/DataCue.h: |
| * html/track/DataCue.idl: |
| |
| 2014-12-11 Alexey Proskuryakov <ap@apple.com> |
| |
| Initialize m_ownsGeneratedFile when decoding a FormDataElement |
| https://bugs.webkit.org/show_bug.cgi?id=139566 |
| |
| Reviewed by Tim Horton. |
| |
| No tests, because it's random, and I couldn't reproduce an assertion failure in |
| controlled circumstances. |
| |
| * platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created |
| FormDataElement by definition doesn't own the file. |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Fix Windows build. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Move the preview popover to WKImmediateActionController |
| https://bugs.webkit.org/show_bug.cgi?id=139560 |
| <rdar://problem/19208291> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: |
| Add some requisite SPI. |
| |
| 2014-12-11 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Crash in -[WebVideoFullscreenHUDWindowController playing] in WK1 clients without FULLSCREEN_API enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=139546 |
| |
| Reviewed by Eric Carlson. |
| |
| Finish the work started by r173230 and rename mediaElement -> videoElement in WebVideoFullscreenHUDWindowController. |
| |
| * platform/mac/WebVideoFullscreenHUDWindowController.h: |
| * platform/mac/WebVideoFullscreenHUDWindowController.mm: |
| (-[WebVideoFullscreenHUDWindowController endScrubbing]): |
| (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]): |
| (-[WebVideoFullscreenHUDWindowController currentTime]): |
| (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): |
| (-[WebVideoFullscreenHUDWindowController duration]): |
| (-[WebVideoFullscreenHUDWindowController decrementVolume]): |
| (-[WebVideoFullscreenHUDWindowController incrementVolume]): |
| (-[WebVideoFullscreenHUDWindowController volume]): |
| (-[WebVideoFullscreenHUDWindowController setVolume:]): |
| (-[WebVideoFullscreenHUDWindowController playing]): |
| (-[WebVideoFullscreenHUDWindowController setPlaying:]): |
| (-[WebVideoFullscreenHUDWindowController remainingTimeText]): |
| (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): |
| (-[WebVideoFullscreenHUDWindowController rewind:]): |
| (-[WebVideoFullscreenHUDWindowController fastForward:]): |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Fix iOS build. |
| |
| * storage/StorageTracker.cpp: |
| (WebCore::StorageTracker::syncDeleteAllOrigins): |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Stop using SQLiteFileSystem in the storage code |
| https://bugs.webkit.org/show_bug.cgi?id=139549 |
| |
| Reviewed by Sam Weinig. |
| |
| Just inline the SQLiteFileSystem calls into their respective call sites. |
| This is more preparation for moving the old storage code into WebKit proper. |
| |
| * storage/StorageAreaSync.cpp: |
| (WebCore::StorageAreaSync::deleteEmptyDatabase): |
| * storage/StorageTracker.cpp: |
| (WebCore::StorageTracker::trackerDatabasePath): |
| (WebCore::ensureDatabaseFileExists): |
| (WebCore::StorageTracker::openTrackerDatabase): |
| (WebCore::truncateDatabaseFile): |
| (WebCore::StorageTracker::syncDeleteAllOrigins): |
| (WebCore::StorageTracker::syncDeleteOrigin): |
| (WebCore::StorageTracker::diskUsageForOrigin): |
| |
| 2014-12-11 Alexey Proskuryakov <ap@apple.com> |
| |
| Unreviewed, rolling out r177155. |
| |
| Caused crashes on webarchive tests. |
| |
| Reverted changeset: |
| |
| "[SVG Masking] Enable the use of <mask> elements for -webkit- |
| mask-image" |
| https://bugs.webkit.org/show_bug.cgi?id=139294 |
| http://trac.webkit.org/changeset/177155 |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Call StorageThread::releaseFastMallocFreeMemoryInAllThreads from WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=139547 |
| |
| Reviewed by Sam Weinig. |
| |
| This is another step towards moving StorageThread (and friends) to WebKit. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::releaseMemory): |
| |
| 2014-12-11 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| ASSERTION FAILED: animatedTypes[0].properties.size() == 1 in WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue. |
| https://bugs.webkit.org/show_bug.cgi?id=139046. |
| |
| Reviewed by Dirk Schulze. |
| |
| Test: svg/animations/unsupported-animate-element-attributes.svg. |
| |
| The SVG base animator element should not animate an attribute if it is not |
| supported by the target SVG element. Besides the CSS presentation attributes, |
| every SVG element defines which attributes can be animated by including them |
| between BEGIN_DECLARE_ANIMATED_PROPERTIES and END_DECLARE_ANIMATED_PROPERTIES |
| in the definition of the class. This definition builds attribute-properties map. |
| When restarting the animation, the animator looks for all the attributes that |
| match the animated attribute name. If the supported attribute-properties map |
| does not include the animated attribute name, an empty element-properties list |
| should be returned. When getting an empty element-properties list, the animator |
| should not start any animation for the unsupported attribute. |
| |
| Do not start the animation if the animated attribute is not supported by |
| the target SVG element. |
| * svg/SVGAnimateElementBase.cpp: |
| (WebCore::SVGAnimateElementBase::resetAnimatedType): |
| |
| Return an empty element-properties list if the animated attribute is not |
| supported by the target SVG element. |
| * svg/SVGAnimatedTypeAnimator.cpp: |
| (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName): |
| |
| 2014-12-10 Dean Jackson <dino@apple.com> |
| |
| InstancedArray crashes attempting to draw out of bounds |
| https://bugs.webkit.org/show_bug.cgi?id=139521 |
| |
| Reviewed by Simon Fraser. |
| |
| We were not doing index validation correctly for instancing. |
| |
| Test: fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::validateVertexAttributes): We need to check |
| the number of instances drawn against the amount of instance data that has |
| been provided, taking into account the number of repeats (the divisor). |
| (WebCore::WebGLRenderingContext::drawArrays): Added some whitespace to make it more clear. |
| (WebCore::WebGLRenderingContext::validateDrawElements): This needs to take a primcount |
| parameter so that it can correctly validate the call (when used from drawElementsInstanced). |
| (WebCore::WebGLRenderingContext::drawElements): New signature to validate. |
| (WebCore::WebGLRenderingContext::drawArraysInstanced): Rearrange this a bit. The |
| primcount validation is already being done by the validateDrawArrays call. Also, there |
| was a bogus UNUSED_PARAM hanging around. |
| (WebCore::WebGLRenderingContext::drawElementsInstanced): Similar rearrangement. Use |
| the primcount parameter. |
| * html/canvas/WebGLRenderingContext.h: |
| |
| 2014-12-11 Radu Stavila <stavila@adobe.com> |
| |
| [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image |
| https://bugs.webkit.org/show_bug.cgi?id=139294 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch links together all parts required for the functionality which improves |
| the -webkit-mask-image property by allowing it to reference a <mask> element defined |
| in an inline or external SVG document. |
| Support for this new functionality has been added in a previous patch, under issue |
| https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how |
| the new functionality works can be found in the ChangeLog for that commit. |
| The containsSVGDocument in ScrollView has been removed because it was added in the |
| previous patch but is no longer required. |
| |
| Tests: css3/masking/mask-base64.html |
| css3/masking/mask-multiple-values.html |
| css3/masking/mask-svg-clipped-fragmentId.html |
| css3/masking/mask-svg-fragmentId.html |
| css3/masking/mask-svg-inline-fragmentId.html |
| css3/masking/mask-svg-inline-invalid-fragmentId.html |
| css3/masking/mask-svg-invalid-fragmentId.html |
| css3/masking/mask-svg-no-fragmentId-tiled.html |
| css3/masking/mask-svg-no-fragmentId.html |
| css3/masking/mask-svg-script-entire-svg-to-mask.html |
| css3/masking/mask-svg-script-mask-to-entire-svg.html |
| css3/masking/mask-svg-script-mask-to-none.html |
| css3/masking/mask-svg-script-mask-to-png.html |
| css3/masking/mask-svg-script-none-to-mask.html |
| css3/masking/mask-svg-script-none-to-png.html |
| css3/masking/mask-svg-script-png-to-mask.html |
| css3/masking/mask-svg-script-png-to-none.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFillShorthand): |
| (WebCore::CSSParser::parseFillProperty): |
| (WebCore::CSSParser::parseMaskImage): |
| * css/CSSParser.h: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustStyleForMaskImages): |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::StyleResolver::loadPendingSVGDocuments): |
| (WebCore::StyleResolver::createMaskImageOperations): |
| (WebCore::StyleResolver::loadPendingImages): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper): |
| (WebCore::MaskImagePropertyWrapper::equals): |
| (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): |
| * platform/graphics/MaskImageOperation.cpp: |
| (WebCore::MaskImageOperation::~MaskImageOperation): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::maskClipRect): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::calculateFillTileSize): |
| (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::~RenderElement): |
| (WebCore::RenderElement::updateFillImages): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/style/FillLayer.h: |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::setMaskImage): |
| * rendering/style/RenderStyle.h: |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Restore interface state when stopping optimized fullscreen. |
| https://bugs.webkit.org/show_bug.cgi?id=139465 |
| |
| Reviewed by Simon Fraser. |
| |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| (-[WebVideoFullscreenController fullscreenMayReturnToInline:]): add empty implementation. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: add declaration |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): restore interface context when optimized mode ends. |
| (WebVideoFullscreenInterfaceAVKit::setIsOptimized): restore interface context when optimized mode ends. |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Remove unused storage header includes |
| https://bugs.webkit.org/show_bug.cgi?id=139540 |
| |
| Reviewed by Antti Koivisto. |
| |
| * storage/StorageAreaImpl.cpp: |
| * storage/StorageAreaSync.cpp: |
| * storage/StorageNamespaceImpl.cpp: |
| (WebCore::StorageNamespaceImpl::localStorageNamespace): Deleted. |
| (WebCore::StorageNamespaceImpl::sessionStorageNamespace): Deleted. |
| (WebCore::StorageNamespaceImpl::transientLocalStorageNamespace): Deleted. |
| * storage/StorageNamespaceImpl.h: |
| * storage/StorageSyncManager.cpp: |
| * storage/StorageThread.cpp: |
| * storage/StorageTracker.cpp: |
| |
| 2014-12-11 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (Async Text Input): Text input method state is not reset when reloading a page |
| https://bugs.webkit.org/show_bug.cgi?id=139504 |
| rdar://problem/19034674 |
| |
| Reviewed by Enrica Casucci. |
| |
| Explicitly notify EditorClient when a composition is voluntarily canceled by WebCore. |
| These are almost certainly not all the places where this happens, but this fixes the bug, |
| and lays the groundwork for using this new client call instead of didChangeSelection |
| hacks. |
| |
| * editing/Editor.cpp: |
| (WebCore::Editor::clear): |
| (WebCore::Editor::cancelComposition): |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::willTransitionToCommitted): |
| * page/EditorClient.h: |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the storage strategy |
| https://bugs.webkit.org/show_bug.cgi?id=139519 |
| |
| Reviewed by Antti Koivisto. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::localStorage): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::~Page): |
| (WebCore::Page::sessionStorage): |
| (WebCore::Page::setStorageNamespaceProvider): |
| * page/Page.h: |
| (WebCore::Page::storageNamespaceProvider): |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::localStorage): |
| (WebCore::PageGroup::transientLocalStorage): |
| * platform/PlatformStrategies.h: |
| (WebCore::PlatformStrategies::PlatformStrategies): |
| (WebCore::PlatformStrategies::storageStrategy): Deleted. |
| * storage/StorageNamespace.cpp: Removed. |
| * storage/StorageNamespace.h: |
| * storage/StorageStrategy.cpp: Removed. |
| * storage/StorageStrategy.h: Removed. |
| |
| 2014-12-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move click counter logic back to WebKitWebViewBase |
| https://bugs.webkit.org/show_bug.cgi?id=137685 |
| |
| Reviewed by Martin Robinson. |
| |
| Remove GtkClickCounter. |
| |
| * PlatformGTK.cmake: |
| * platform/gtk/GtkClickCounter.cpp: Removed. |
| * platform/gtk/GtkClickCounter.h: Removed. |
| |
| 2014-12-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Implement sizes attribute for link tag |
| https://bugs.webkit.org/show_bug.cgi?id=125775 |
| |
| Reviewed by Martin Robinson. |
| |
| * bindings/gobject/WebKitDOMCustom.cpp: |
| (webkit_dom_html_link_element_set_sizes): Add custom setter implementation. |
| * bindings/gobject/WebKitDOMCustomUnstable.h: |
| * bindings/js/JSHTMLLinkElementCustom.cpp: |
| (WebCore::JSHTMLLinkElement::sizes): Remove custom getter implementation. |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (HasUnstableCustomAPI): Mark WebKitDOMHTMLLinkElement as having custom unstable API. |
| * html/HTMLLinkElement.idl: Mark sizes attribute as CustomSetter |
| instead of Custom, since the getter can be autogenerated, and make |
| it available to the GObject DOM bindings too. |
| |
| 2014-12-10 Chris Dumez <cdumez@apple.com> |
| |
| http://omfgdogs.info/ only animates when you resize the window |
| https://bugs.webkit.org/show_bug.cgi?id=139435 |
| <rdar://problem/19190493> |
| |
| Reviewed by Simon Fraser. |
| |
| After r163928, we would fail to animate a gif if: |
| - it is used as a background image of a 0-height html element |
| - it is used as a background image of a 0-height body element whose |
| background is delegated to the root (because the root has no |
| background). |
| |
| This is because in such cases, shouldRepaintForImageAnimation() |
| should use the background rect instead of the renderer's overflow |
| rect to determine if the image is inside the viewport. Both cases |
| are addressed in this patch. |
| |
| Tests: fast/images/animated-gif-body-delegated-background-image.html |
| fast/images/animated-gif-body-outside-viewport.html |
| fast/images/animated-gif-html-background-image.html |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::shouldRepaintForImageAnimation): |
| * testing/Internals.cpp: |
| (WebCore::Internals::hasPausedImageAnimations): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-12-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * html/canvas/WebGLDrawBuffers.cpp: |
| Yosemite is 101000, not 10100. |
| Also, __MAC_OS_X_VERSION_MIN_REQUIRED is only defined for PLATFORM(MAC). |
| |
| 2014-12-10 Zalan Bujtas <zalan@apple.com> |
| |
| Continuously repainting large parts of Huffington Post. |
| https://bugs.webkit.org/show_bug.cgi?id=139468 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch eliminates redundant repaint requests for inlines when neither the parent |
| block flow nor any of the inline children are dirty. |
| Previously, |
| 1. simple line layout always recalculated inline content positions regardless of whether |
| the content needed relayout at all; as a result, it always triggered full repaint. |
| 2. inline tree layout ignored the needslayout flag on the last line and treated it dirty |
| (unless it broke cleanly (<div>foo<br></div>)). |
| This was an ancient workaround for an editing/insert use case, but it seems not to be the case anymore. |
| |
| Tests: fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html |
| fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::layoutInlineChildren): |
| (WebCore::RenderBlockFlow::layoutSimpleLines): Check if we need to trigger layout at all. |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::determineStartPosition): Remove the last line dirty hack. If it |
| happens to introduce regression, we should fix it at the caller site to make the line dirty. |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add an empty storage namespace provider |
| https://bugs.webkit.org/show_bug.cgi?id=139520 |
| |
| Reviewed by Tim Horton. |
| |
| * loader/EmptyClients.cpp: |
| (WebCore::fillWithEmptyClients): |
| |
| 2014-12-10 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: |
| |
| 2014-12-10 Beth Dakin <bdakin@apple.com> |
| |
| WK2: Add initial support for immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139511 |
| |
| Reviewed by Tim Horton. |
| |
| SPI needed for immediate actions. |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: Added. |
| |
| 2014-12-10 Martin Hock <mhock@apple.com> |
| |
| [iOS] Add setting to ignore viewport scaling constraints |
| https://bugs.webkit.org/show_bug.cgi?id=139466 |
| <rdar://problem/19200328> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * WebCore.exp.in: |
| * page/Settings.in: Add setting to ignore viewport scaling constraints. |
| * page/ViewportConfiguration.cpp: Ignore viewport scaling constraints based on preference. |
| (WebCore::ViewportConfiguration::initialScale): |
| (WebCore::ViewportConfiguration::minimumScale): |
| (WebCore::ViewportConfiguration::allowsUserScaling): |
| * page/ViewportConfiguration.h: |
| (WebCore::ViewportConfiguration::setIgnoreScalingConstraints): |
| (WebCore::ViewportConfiguration::allowsUserScaling): Moved to cpp. |
| |
| 2014-12-10 Andreas Kling <akling@apple.com> |
| |
| Speculative fix for assertion "frame().view() == this" |
| <rdar://problem/18419449> |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| I have not reproduced this issue, but we can safely ignore animation |
| notifications for cached pages. |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::newImageAnimationFrameAvailable): |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add session storage handling to StorageNamespaceProvider |
| https://bugs.webkit.org/show_bug.cgi?id=139507 |
| |
| Reviewed by Tim Horton. |
| |
| * page/Page.cpp: |
| (WebCore::Page::sessionStorage): |
| * storage/StorageNamespaceProvider.h: |
| |
| 2014-12-10 Roger Fong <roger_fong@apple.com> |
| |
| Unreviewed. Follow-up patch to r177099. |
| https://bugs.webkit.org/show_bug.cgi?id=133634 |
| <rdar://problem/15949588> |
| |
| Enable GL_EXT_draw_buffers on iOS as well. |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| |
| 2014-12-10 Roger Fong <roger_fong@apple.com> |
| |
| Implement Multiple Render Targets as WebGL 1 extension. |
| https://bugs.webkit.org/show_bug.cgi?id=133634. |
| <rdar://problem/15949588> |
| |
| Reviewed by Brent Fulgham. |
| |
| Tested by: |
| webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html |
| |
| Enable the implementation now that an underlying driver bug has been resolved. |
| Do not enable for desktop platforms older that OS X 10.10. |
| * html/canvas/WebGLDrawBuffers.cpp: |
| (WebCore::WebGLDrawBuffers::supported): |
| |
| 2014-12-10 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r164329): Input fields are not honoring the maxlength attribute |
| https://bugs.webkit.org/show_bug.cgi?id=139447 |
| |
| Reviewed by Benjamin Poulain. |
| |
| The bug was caused by String::substring being called with the selection's end offset |
| in the second argument instead of the selection's length in handleBeforeTextInsertedEvent. |
| |
| Fixed the bug by passing the right second argument to String::substring. |
| |
| Test: fast/forms/input-maxlength-inserting-in-middle.html |
| |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add a missing null check. |
| |
| * page/Page.cpp: |
| (WebCore::Page::~Page): |
| |
| 2014-12-10 Antti Koivisto <antti@apple.com> |
| |
| Crash when creating CSSCalcBinaryOperation |
| https://bugs.webkit.org/show_bug.cgi?id=134886 |
| rdar://problem/17663561 |
| |
| Reviewed by Chris Dumez. |
| |
| Test: fast/css/calc-binary-operation-crash.html |
| |
| * css/CSSCalculationValue.cpp: |
| (WebCore::determineCategory): |
| |
| Ensure that both axis are within the addSubtractResult table. |
| Remove unneeded CalcOther test. The call site guarantees it doesn't happen and the normal cases would handle it anyway. |
| Also strengthen some asserts. |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add WebStorageNamespaceProvider::closeLocalStorage |
| https://bugs.webkit.org/show_bug.cgi?id=139502 |
| |
| Reviewed by Tim Horton. |
| |
| * page/Page.cpp: |
| (WebCore::Page::~Page): |
| Call StorageNamespaceProvider::removePage. |
| |
| * storage/StorageNamespaceProvider.h: |
| (WebCore::StorageNamespaceProvider::optionalLocalStorageNamespace): |
| Helper function that returns the local storage namespace if one exists. |
| |
| 2014-12-10 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] MathML tokens with text fail to expose their text content via AtkText |
| https://bugs.webkit.org/show_bug.cgi?id=139454 |
| |
| Reviewed by Chris Fleizach. |
| |
| Expose the text content of the element for non-anonymous RenderMathMLOperators. |
| This is needed because for ATK we expose the rendered element itself; not the |
| descendant text renderers. Also include MathML tokens as objects which should |
| implement AtkText. |
| |
| Test: accessibility/math-text.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::textUnderElement): |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (getInterfaceMaskFromObject): |
| |
| 2014-12-10 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Use appsrcs instead of unconnected queues |
| https://bugs.webkit.org/show_bug.cgi?id=139490 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (webkit_web_audio_src_init): |
| (webKitWebAudioSrcConstructed): |
| (webKitWebAudioSrcFinalize): |
| (webKitWebAudioSrcSetProperty): |
| (webKitWebAudioSrcLoop): |
| (webKitWebAudioSrcChangeState): |
| Previously we directly chained buffers into unconnected queues, |
| which confused some code inside GStreamer and caused some harmless |
| warnings. Now we use appsrcs instead, which also allows us to remove |
| quite some code. |
| |
| 2014-12-10 Enrica Casucci <enrica@apple.com> |
| |
| Fix iOS builders for 8.0 |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebCore.exp.in: |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| (-[WebVideoFullscreenController enterFullscreen:mode:]): |
| (-[WebVideoFullscreenController requestHideAndExitFullscreen]): |
| (-[WebVideoFullscreenController enterFullscreen:]): Deleted. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| |
| |
| 2014-12-10 peavo@outlook.com <peavo@outlook.com> |
| |
| [Curl] Cache entry is sometimes deleted when request receives a not modified response. |
| https://bugs.webkit.org/show_bug.cgi?id=139339 |
| |
| Reviewed by Alex Christensen. |
| |
| Sometimes it happens that a request receives a not modified response, |
| but the cache entry has already been deleted by another request. |
| This can be avoided by locking a cache entry while there are pending |
| requests for the cache entry's url. |
| |
| * platform/network/curl/CurlCacheEntry.h: |
| (WebCore::CurlCacheEntry::addClient): |
| (WebCore::CurlCacheEntry::removeClient): |
| (WebCore::CurlCacheEntry::hasClients): |
| * platform/network/curl/CurlCacheManager.cpp: |
| (WebCore::CurlCacheManager::didReceiveResponse): |
| (WebCore::CurlCacheManager::didFail): |
| (WebCore::CurlCacheManager::addCacheEntryClient): |
| (WebCore::CurlCacheManager::removeCacheEntryClient): |
| * platform/network/curl/CurlCacheManager.h: |
| * platform/network/curl/ResourceHandleManager.cpp: |
| (WebCore::isHttpNotModified): |
| (WebCore::headerCallback): |
| (WebCore::ResourceHandleManager::initializeHandle): |
| |
| 2014-12-10 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Use a buffer pool for allocations in the AudioDestination |
| https://bugs.webkit.org/show_bug.cgi?id=139487 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (webKitWebAudioSrcLoop): |
| (webKitWebAudioSrcChangeState): |
| Use a buffer pool for the allocations instead of allocating a |
| new small buffer for every 128 samples we produce. |
| |
| 2014-12-10 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK] Add support for text-decoration-skip |
| https://bugs.webkit.org/show_bug.cgi?id=131540 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| No new tests. This is covered by existing layout tests. |
| |
| * platform/graphics/cairo/FontCairo.cpp: |
| (WebCore::GlyphIterationState): Added this class, a modified version of the Mac |
| port's implementation. |
| (WebCore::Font::dashesForIntersectionsWithRect): Ditto. |
| * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added an implementation for |
| HarfBuzz that just fills out the GlyphBuffer, but does not render it. |
| (WebCore::Font::drawComplexText): Use the new getGlyphsAndAdvancesForComplexText |
| in a similar way to the Mac port. |
| * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): We need to pass the current |
| character index to GlyphBuffer:add since it's used by dashesForIntersectionsWithRect |
| and otherwise it will be uninitialized when we try to access it. |
| |
| 2014-12-10 Andreas Kling <akling@apple.com> |
| |
| REGRESSION(r177048) 11 failures on layout tests fast/selectors. |
| <https://webkit.org/b/139483> |
| |
| Unreviewed fix for bots. |
| |
| When rolling out the broken change, I accidentally also rolled out |
| a bug fix that Benjamin had made to sibling invalidation. |
| Restore his implementation of nodeOrItsAncestorNeedsStyleRecalc(). |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::nodeOrItsAncestorNeedsStyleRecalc): |
| (WebCore::updateStyleIfNeededForNode): |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| |
| 2014-12-08 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] AudioSourceProvider support in the MediaPlayer |
| https://bugs.webkit.org/show_bug.cgi?id=78883 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| GStreamer-based audio source provider for the GTK and EFL |
| ports. This new component gathers decoded raw audio data from the |
| MediaPlayer and pipes it to an AudioBus when required by the |
| User Agent. |
| |
| * PlatformEfl.cmake: New files in the build. |
| * PlatformGTK.cmake: Ditto. |
| * platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: Added. |
| (WebCore::onAppsinkNewBufferCallback): Function called when a new |
| buffer can be pulled from appsink. |
| (WebCore::onGStreamerDeinterleavePadAddedCallback): Function |
| called when a new source pad has been added to deinterleave. |
| (WebCore::onGStreamerDeinterleaveReadyCallback): Function called |
| when the deinterleave element completed the configuration of all |
| its source pads. |
| (WebCore::copyGstreamerBuffersToAudioChannel): Called for each |
| channel of the AudioBus that needs data as input. |
| (WebCore::AudioSourceProviderGStreamer::AudioSourceProviderGStreamer): |
| Create an audio bin that by default routes buffers only to |
| autoaudiosink. A new route is added if the provider has a client. |
| (WebCore::AudioSourceProviderGStreamer::~AudioSourceProviderGStreamer): |
| Clean buffer adapters and audio bin. |
| (WebCore::AudioSourceProviderGStreamer::configureAudioBin): |
| (WebCore::AudioSourceProviderGStreamer::provideInput): Transfer |
| data from the buffer adapters to the bus channels. |
| (WebCore::AudioSourceProviderGStreamer::handleAudioBuffer): Pull a |
| buffer from appsink and queue it to the buffer adapter. |
| (WebCore::AudioSourceProviderGStreamer::setClient): Complete the |
| construction of the audio bin by adding a new chain to the tee |
| element. This new chain will deinterleave the buffer stream to |
| planar audio channels and route them to an appsink per channel for |
| data extraction. |
| (WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad): |
| A new appsink after a new source pad has been added to deinterleave. |
| (WebCore::AudioSourceProviderGStreamer::deinterleavePadsConfigured): |
| Configure the client Node format (number of channels and sample |
| rate) once the provider knows how many audio channels are managed |
| by the pipeline. |
| (WebCore::cleanUpElementsAfterDeinterleaveSourcePadCallback): |
| (WebCore::AudioSourceProviderGStreamer::cleanUpElementsAfterDeinterleaveSourcePad): |
| Remove the elements after the given deinterleave source pad. |
| (WebCore::AudioSourceProviderGStreamer::reset): Cleanup the |
| deinterleave source pads. This is especially needed before the |
| whole pipeline goes to NULL and later on prerolls again. |
| * platform/audio/gstreamer/AudioSourceProviderGStreamer.h: Added. |
| (WebCore::AudioSourceProviderGStreamer::create): Use this to |
| create the provider and get an OwnPtr of it. |
| (WebCore::AudioSourceProviderGStreamer::client): Provider client getter. |
| (WebCore::AudioSourceProviderGStreamer::getAudioBin): Audio bin |
| getter, used by the media player to configure its |
| playbin::audio-sink property. |
| * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
| Provider life cycle management and reset the audio provider before |
| going to NULL. |
| (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamer::cancelLoad): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamer::didEnd): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Configure |
| the audio source provider if needed. |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| (WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider): |
| Provider getter, used by MediaPlayer and MediaElement. |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Scrolling to anchor tags does nothing in vertical-rl writing mode |
| https://bugs.webkit.org/show_bug.cgi?id=137838 |
| |
| Reviewed by David Hyatt. |
| |
| Scroll to a particular tag, and make sure the viewport is rendered as expected. |
| |
| Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html |
| fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html |
| fast/events/scroll-to-anchor-vertical-writing-mode-contained.html |
| fast/events/scroll-to-anchor-vertical-writing-mode.html |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollToAnchor): |
| * rendering/ScrollBehavior.cpp: |
| * rendering/ScrollBehavior.h: |
| |
| 2014-12-09 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| REGRESSION(r155906): Page content disappears on Tuaw article after loading |
| https://bugs.webkit.org/show_bug.cgi?id=138100 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: ManualTests/float-layer-not-painting.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens, |
| it can change whether the float's renderer has a self painting layer. |
| So in that case, we need to update the flag on the FloatingObject |
| instance for that float. |
| |
| 2014-12-09 Andreas Kling <akling@apple.com> |
| |
| Roll out r165076. |
| <rdar://problem/18490587> |
| |
| This change broke selection when editing Confluence wiki pages. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::nodeOrItsAncestorNeedsStyleRecalc): |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * dom/Document.cpp: |
| (WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted. |
| (WebCore::Document::updateStyleIfNeededForNode): Deleted. |
| * dom/Document.h: |
| * editing/htmlediting.cpp: |
| (WebCore::isEditablePosition): |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::forwardEvent): |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Fix iOS build after r177035. |
| |
| Unreviewed. |
| |
| I accidentally added my line to WebCore.exp.in inside an |
| #IF PLATFORM(MAC) block. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Enable automatic optimized fullscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=139437 |
| |
| Reviewed by Eric Carlson. |
| |
| Anticipate transition to optimized video fullscreen mode when entering background. |
| |
| * WebCore.exp.in: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection. |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete Node::boundingBox() |
| https://bugs.webkit.org/show_bug.cgi?id=139333 |
| |
| Conceptually, boundingBox() should be on RenderInline. In addition, |
| Node::boundingBox() is completely broken for inline elements: it |
| makes a rect from the top left of the first inline child to the |
| bottom right of the last inline child, disregarding the intermediate |
| inline children. This breaks with vertical text and with line |
| breaks. |
| |
| What makes this problem worse is that some functions actually rely |
| on this bad behavior. These functions are functions that use the |
| Node's so-called "bounding box" to scroll to an anchor tag. |
| |
| This patch goes through all the call sites of Node::boundingBox(), |
| and segregates them into calls that expect the true bounding box |
| and calls that need this false bounding box. This patch then moves |
| this false bounding box into RenderElement, using the name |
| anchorRect(). Callers what want the correct bounding box have been |
| updated to use RenderElement::absoluteBoundingBoxRect(). |
| |
| Reviewed by Zalan Bujtas. |
| |
| No new tests because there should be no behavior change. |
| |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySliderThumb::elementRect): Use |
| RenderObject::absoluteBoundingBoxRect() |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getUpperLeftCorner): Deleted. |
| (WebCore::ContainerNode::getLowerRightCorner): Deleted. |
| (WebCore::ContainerNode::boundingBox): Deleted. |
| * dom/ContainerNode.h: |
| * dom/Element.cpp: |
| (WebCore::Element::scrollIntoView): Use RenderElement::anchorRect(). |
| (WebCore::Element::scrollIntoViewIfNeeded): Ditto. |
| (WebCore::Element::updateFocusAppearance): Ditto. |
| * dom/Node.cpp: |
| (WebCore::Node::boundingBox): Deleted. |
| * dom/Node.h: |
| (WebCore::Node::pixelSnappedBoundingBox): Deleted. |
| * html/ColorInputType.cpp: |
| (WebCore::ColorInputType::elementRectRelativeToRootView): Use |
| RenderObject::absoluteBoundingBoxRect() |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto. |
| * html/ValidationMessage.cpp: |
| (WebCore::ValidationMessage::buildBubbleTree): Ditto. |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollElementToRect): Use |
| RenderElement::anchorRect(). |
| (WebCore::FrameView::scrollToAnchor): Ditto. |
| * page/SpatialNavigation.cpp: |
| (WebCore::nodeRectInAbsoluteCoordinates): Use |
| RenderObject::absoluteBoundingBoxRect() |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode. |
| (WebCore::RenderElement::getLowerRightCorner): Moved from |
| ContainerNode. |
| (WebCore::RenderElement::anchorRect): Moved from ContainerNode. |
| * rendering/RenderObject.h: |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::topOfFirstText): Helper for |
| RenderElement::anchorRect() |
| * rendering/RenderText.h: |
| |
| 2014-12-09 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1” |
| https://bugs.webkit.org/show_bug.cgi?id=139453 |
| rdar://problem/19052192 |
| |
| Reviewed by Pratik Solanki. |
| |
| Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path |
| if it was the first thing needed from it. |
| |
| * platform/network/cf/ResourceResponseCFNet.cpp: |
| (WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor. |
| |
| 2014-12-09 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN |
| https://bugs.webkit.org/show_bug.cgi?id=139402 |
| |
| Reviewed by Chris Fleizach. |
| |
| Expose tables and their children using existing table AtkRole types, |
| token elements using the new ATK_ROLE_STATIC, and row-like elements |
| using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row |
| and <ms> as math text. |
| |
| No new tests; instead, added MathML elements to roles-exposed.html. |
| |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isMathToken): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::isMathToken): |
| (WebCore::AccessibilityRenderObject::isMathText): |
| (WebCore::AccessibilityRenderObject::isMathTableRow): |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| * css/mathml.css: |
| (ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): |
| (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted. |
| * mathml/mathtags.in: |
| |
| 2014-12-09 Dean Jackson <dino@apple.com> |
| |
| [Apple] Use Accelerate framework to speed-up FEGaussianBlur |
| https://bugs.webkit.org/show_bug.cgi?id=139310 |
| |
| Unreviewed followup, after comments by Andreas Kling. |
| |
| It was pointed out that we already have a USE(ACCELERATE), so |
| we don't need a HAVE(ACCELERATE) :) |
| |
| * platform/graphics/filters/FEGaussianBlur.cpp: |
| (WebCore::FEGaussianBlur::platformApplyGeneric): |
| (WebCore::FEGaussianBlur::platformApply): |
| |
| 2014-12-09 Alberto Garcia <berto@igalia.com> |
| |
| Unreviewed. Style fix following r177019. |
| |
| Use nullptr instead of 0. |
| |
| * bindings/gobject/ConvertToUTF8String.cpp: |
| (convertToUTF8String): |
| |
| 2014-12-09 Javier Fernandez <jfernandez@igalia.com> |
| |
| Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957. |
| https://bugs.webkit.org/show_bug.cgi?id=139445 |
| |
| Reviewed by Darin Adler. |
| |
| The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if |
| we use a helper function to locate the previous sibling with overhanging floats. |
| |
| These changes has been suggested as part of the patch review for bug #139150, which |
| landed in r176957. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::avoidsFloats): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats): |
| (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::isGridItem): |
| |
| 2014-12-09 Alberto Garcia <berto@igalia.com> |
| |
| convertToUTF8String converts null string to empty string |
| https://bugs.webkit.org/show_bug.cgi?id=133904 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp |
| |
| Return 0 if the string is null. |
| |
| * bindings/gobject/ConvertToUTF8String.cpp: |
| (convertToUTF8String): |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| When invalidating fullscreen, cancel instead of stop optimizedFullscfreen. |
| https://bugs.webkit.org/show_bug.cgi?id=139145 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop |
| * platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen. |
| |
| 2014-12-09 Alberto Garcia <berto@igalia.com> |
| |
| [Media][GTK][EFL] Reduce style updates (painting) in controls |
| https://bugs.webkit.org/show_bug.cgi?id=137773 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Don't update media controls if they are not visible, and |
| initialize slider to a zero value. |
| |
| * Modules/mediacontrols/mediaControlsBase.js: |
| (Controller.prototype.createControls): |
| (Controller.prototype.handleDurationChange): |
| (Controller.prototype.updateProgress): |
| (Controller.prototype.updateTime): |
| * Modules/mediacontrols/mediaControlsGtk.js: |
| (ControllerGtk.prototype.updateTime): |
| |
| 2014-12-09 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Add video/mp2t as alternative mimetype for MPEG TS |
| https://bugs.webkit.org/show_bug.cgi?id=139433 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::mimeTypeCache): |
| It's used e.g. on http://www.jwplayer.com/html5/mediasource/ . |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Enable activating optimized fullscreen mode from standard fulscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=139137 |
| |
| Reviewed by Jer Noble. |
| |
| Going from standard fullscreen mode to optimized fullscreen mode requires the ability to |
| update the fullscreen mode in HTMLMediaElement and a new standard-and-optimized-fullscreen mode. |
| |
| This change KVO observes AVKit's optimizedFullscreenActive and forwards the change down to HTMLMediaElement so it can adjust behavior appropriately. |
| It also hides the standard fullscreen window when going into this mode. |
| When exiting fullscreen from standard-and-optimized, first exit fullscreen immediately, then stopOptimizedFullscreen, and notify of completion when |
| optimizedFullscreen goes inactive. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::fullscreenMode): |
| Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode. |
| * WebCore.exp.in: New export for WebVideoFullscreenModelVideoElement::fullscreenModeChanged |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::displayType): |
| Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode. |
| * html/HTMLMediaElement.h: Add new fullscreen mode. |
| (WebCore::HTMLMediaElement::fullscreenModeChanged): Update fullscreen mode so it does optimized fullscreen mode behaviors when applicable. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare setOptimizedActive |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (-[WebAVVideoLayer setPlayerViewController:]): observe optimizedFullscreenActive |
| (-[WebAVVideoLayer observeValueForKeyPath:ofObject:change:context:]): respond to changes to optimizedFullscreenActive |
| (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Init members. |
| (WebVideoFullscreenInterfaceAVKit::playerController): |
| Give player controller a reference to the WebVideoFullscreenInterface so it can pass along mode change state. |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Handle new fullscreen modes. |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto |
| (WebVideoFullscreenInterfaceAVKit::invalidate): ditto |
| (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto |
| (WebVideoFullscreenInterfaceAVKit::setOptimizedActive): Handle changes to fullscreen mode. |
| Also handle the case that exiting fullscreen happend when optimized mode ends. |
| * platform/ios/WebVideoFullscreenModel.h: declare fullscreenModeChanged() |
| * platform/ios/WebVideoFullscreenModelVideoElement.h: declare fullscreenModeChanged() |
| * platform/ios/WebVideoFullscreenModelVideoElement.mm: add fullscreenModeChanged() |
| (WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement): Init members. |
| (WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Added. Update video element fullscreen mode. |
| |
| 2014-12-08 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the iOS build after r177002 |
| |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| |
| 2014-12-07 Roger Fong <roger_fong@apple.com> |
| |
| Implementation EXT_sRGB as a WebGL1 extension. |
| https://bugs.webkit.org/show_bug.cgi?id=109332. |
| <rdar://problem/17363470> |
| |
| Reviewed by Dean Jackson. |
| |
| Tested by: |
| webgl/1.0.3/conformance/webgl/ext-sRGB.html |
| fast/canvas/webgl/constants.html |
| |
| This patch implements the SRGB extension for WebGL1. |
| Details of the extension specification are outlined here: |
| https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/ |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * html/canvas/EXTsRGB.cpp: Added. |
| (WebCore::EXTsRGB::EXTsRGB): |
| (WebCore::EXTsRGB::~EXTsRGB): |
| (WebCore::EXTsRGB::getName): |
| * html/canvas/EXTsRGB.h: Added. |
| * html/canvas/EXTsRGB.idl: Added. |
| * html/canvas/WebGLExtension.h: |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::checkStatus): |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): |
| (WebCore::WebGLRenderingContext::renderbufferStorage): |
| (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): |
| * html/canvas/WebGLRenderingContext.h: |
| * html/canvas/WebGLRenderingContext.idl: |
| * platform/graphics/Extensions3D.h: |
| * platform/graphics/GraphicsContext3D.cpp: |
| (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): |
| (WebCore::GraphicsContext3D::getClearBitsByFormat): |
| (WebCore::GraphicsContext3D::getChannelBitsByFormat): |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::texImage2D): |
| |
| 2014-12-08 Dean Jackson <dino@apple.com> |
| |
| [Apple] Use Accelerate framework to speed-up FEGaussianBlur |
| https://bugs.webkit.org/show_bug.cgi?id=139310 |
| <rdar://problem/18434594> |
| |
| Reviewed by Simon Fraser. |
| |
| Using Apple's Accelerate framework provides faster blurs |
| than the parallel jobs approach, especially since r168577 |
| which started performing retina-accurate filters. |
| |
| Using Accelerate.framework to replace the existing box blur (what |
| we use to approximate Gaussian blurs) gets about a 20% speedup on |
| desktop class machines, but between a 2x-6x speedup on iOS hardware. |
| Obviously this depends on the size of the content being blurred, |
| but it is still good. |
| |
| The change is to intercept the platformApply function on |
| FEGaussianBlur and send it off to Accelerate. |
| |
| There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html |
| |
| * platform/graphics/filters/FEGaussianBlur.cpp: |
| (WebCore::kernelPosition): Move this to a file static function from the .h. |
| (WebCore::accelerateBoxBlur): The Accelerate implementation. |
| (WebCore::standardBoxBlur): The default generic/standard implementation. |
| (WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form. |
| (WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available. |
| * platform/graphics/filters/FEGaussianBlur.h: |
| (WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp. |
| |
| 2014-12-08 Beth Dakin <bdakin@apple.com> |
| |
| Copy and Lookup menu items should be disabled when something is not copyable |
| https://bugs.webkit.org/show_bug.cgi?id=139423 |
| |
| Reviewed by Tim Horton. |
| |
| New function allowCopy() indicates whether the HitTestResult would allow itself to |
| be copied onto the pasteboard. |
| * WebCore.exp.in: |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::allowsCopy): |
| * rendering/HitTestResult.h: |
| |
| 2014-12-08 Chris Dumez <cdumez@apple.com> |
| |
| Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow() |
| https://bugs.webkit.org/show_bug.cgi?id=139420 |
| |
| Reviewed by Simon Fraser. |
| |
| Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to |
| changeAffectsVisualOverflow(). This has no behavior change as |
| changeRequiresLayout() calls changeAffectsVisualOverflow(). However, |
| this is clearer as text-shadow affects the visual overflow (similarly |
| to box-shadow). |
| |
| No new tests, no behavior change. |
| |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeAffectsVisualOverflow): |
| (WebCore::RenderStyle::changeRequiresLayout): |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Fix typo. |
| |
| * storage/StorageNamespaceImpl.cpp: |
| (WebCore::localStorageNamespaceMap): |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| WebStorageNamespaceProvider should create StorageNamespaceImpls |
| https://bugs.webkit.org/show_bug.cgi?id=139419 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebCore.exp.in: |
| Export new symbols. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Make StorageNamespaceImpl.h a private header. |
| |
| * storage/StorageNamespaceImpl.cpp: |
| (WebCore::localStorageNamespaceMap): |
| Use NeverDestroyed. |
| |
| (WebCore::StorageNamespaceImpl::createSessionStorageNamespace): |
| (WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace): |
| Add new functions for creating namespaces. |
| |
| (WebCore::StorageNamespaceImpl::localStorageNamespace): |
| (WebCore::StorageNamespaceImpl::sessionStorageNamespace): |
| Call the new functions. |
| |
| * storage/StorageNamespaceImpl.h: |
| Add new members, make sure to deprecate the ones we don't want anyone calling. |
| |
| * storage/StorageNamespaceProvider.cpp: |
| (WebCore::StorageNamespaceProvider::localStorageNamespace): |
| (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace): |
| * storage/StorageNamespaceProvider.h: |
| Pass the quota when creating storage namespaces. |
| |
| 2014-12-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| Move the new :nth-child() and :nth-last-child() out of experimental |
| https://bugs.webkit.org/show_bug.cgi?id=139329 |
| |
| Reviewed by Andreas Kling. |
| |
| The code is stable. |
| Feedback has only been positive. |
| All the known issues have been reported to the CSS WG. |
| |
| The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child(). |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| |
| 2014-12-08 Benjamin Poulain <bpoulain@apple.com> |
| |
| A selector should not match anything if there is a subselector after a non-scrollbar pseudo element |
| https://bugs.webkit.org/show_bug.cgi?id=139336 |
| rdar://problem/19051623 |
| |
| Reviewed by Andreas Kling. |
| |
| Tests: fast/css/duplicated-after-pseudo-element.html |
| fast/css/duplicated-before-pseudo-element.html |
| fast/css/simple-selector-after-pseudo-element.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::constructFragments): |
| The code filtering out simple selectors was only considering |
| the relation CSSSelector::SubSelector. That comes from SelectorChecker where |
| the relation considered is the one from the previous selector. |
| |
| In this case, the relation is the extracted from the current simple selector, |
| which is the relation with the following selector. |
| |
| When a single simple selector was following a pseudo element, the relation evaluated |
| to descendant/adjacent/direct-adjacent and we were skipping the early return. |
| That simple selector was evaluated as a regular filter on the element. |
| |
| In the CSS JIT, we can just remove that test altogether. Fragments are built one after |
| the other. By definition, the evaluated simple selector belong to the current fragment. |
| |
| 2014-12-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix the parsing of advanced :lang() after r176902 |
| https://bugs.webkit.org/show_bug.cgi?id=139379 |
| |
| Reviewed by Andreas Kling. |
| |
| There were two mistakes that were only caught in debug: |
| |
| The lexer was not calling isIdentifierStart() before parseIdentifier(). |
| Some identifier we were parsing should have been invalid. |
| This was caught with an assertion in parseIdentifier(). |
| |
| The other issue is that we were accumulating pointer to freed memory. |
| The tokenizer for LANGRANGE was creating a new string with a StringBuilder. |
| The problem is that CSSParserString does not keep the source string alive. |
| Consequently, the list of language range was accumulating pointers to dead |
| StringImpls. |
| |
| The fix there is to simply extend the token to take the original asterisk character |
| from the input. That is not elegant but that's efficient and we know |
| the buffer lifetime. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::realLex): |
| * css/CSSGrammar.y.in: Fix the indentation of a language range rule. |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the 32-bit build. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Inline elements whose parents have small line-height are laid out too low |
| https://bugs.webkit.org/show_bug.cgi?id=139375 |
| |
| Reviewed by Dave Hyatt. |
| |
| This is a port of the Blink patch at |
| https://src.chromium.org/viewvc/blink?revision=155253&view=revision. |
| |
| When laying out inline elements, we try to align leaf children's parents' |
| baselines across the entire line. However, if you set line-height: 0px on a |
| span, the entire InlineBox which represents that span will have a height of |
| 0, and therefore be laid out entirely on the baseline. In addition, we will |
| try to vertically center the leaf text in the span's InlineBox, which means |
| the leaf text will be vertically centered on the baseline. All the other |
| major browsers do not have this behavior; instead, they line up the boxes |
| as you would expect. |
| |
| This bug led to a rendering problem on the front page of the New York Times. |
| |
| Here is the ChangeLog from the Blink patch: |
| |
| Fix baseline position when it is outside the element's box |
| |
| Specifically, we shouldn't force the baseline to be inside the element. IE |
| and FF don't do this, and it's incompatible with the CSS spec: |
| |
| "The baseline of an 'inline-block' is the baseline of its last line box in |
| the normal flow, unless it has either no in-flow line boxes or if its |
| 'overflow' property has a computed value other than 'visible', in which case |
| the baseline is the bottom margin edge." |
| -- http://www.w3.org/TR/CSS21/visudet.html#leading |
| |
| It doesn't have a special case for "baseline is outside of the element's |
| margin box". |
| |
| Test: fast/text/small-line-height.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::baselinePosition): |
| |
| 2014-12-08 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] YouTube plug-in replacement should support partial urls |
| https://bugs.webkit.org/show_bug.cgi?id=139400 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Modules/plugins/YouTubePluginReplacement.cpp: |
| (WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL. |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Build fix. |
| |
| * platform/network/soup/CookieJarSoup.cpp: |
| (WebCore::deleteAllCookiesModifiedSince): |
| |
| 2014-12-08 Andreas Kling <akling@apple.com> |
| |
| Roll out r175352. |
| <https://webkit.org/b/139146> |
| |
| This change caused some unexpected assertions in line box teardown. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::willBeDestroyed): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::willBeDestroyed): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::willBeRemovedFromTree): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::willBeDestroyed): |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::willBeDestroyed): |
| * rendering/RenderReplaced.h: |
| |
| 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Narrow non-breaking space does not fall back to a correct font |
| https://bugs.webkit.org/show_bug.cgi?id=139335 |
| |
| Reviewed by Enrica Casucci. |
| |
| Test: fast/text/narrow-non-breaking-space.html |
| |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::requiresCustomFallbackFont): |
| (WebCore::FontCache::getCustomFallbackFont): |
| |
| 2014-12-08 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Fix the WebKit build with the public SDK |
| |
| Include header UIKit.h. |
| |
| * platform/spi/ios/MediaPlayerSPI.h: |
| |
| 2014-12-08 Chris Dumez <cdumez@apple.com> |
| |
| Revert r176293 & r176275 |
| |
| Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type |
| instead of size_t. There is some disagreement regarding the long-term direction |
| of the API and we shouldn’t leave the API partly transitioned to unsigned type |
| while making a decision. |
| |
| * WebCore.exp.in: |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::jsArray): |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| * cssjit/SelectorCompiler.cpp: |
| * editing/TextIterator.cpp: |
| (WebCore::SearchBuffer::append): |
| (WebCore::SearchBuffer::prependContext): |
| (WebCore::SearchBuffer::search): |
| (WebCore::SearchBuffer::length): |
| * html/HTMLFormElement.cpp: |
| (WebCore::removeFromVector): |
| * html/parser/HTMLParserIdioms.h: |
| * html/parser/XSSAuditor.cpp: |
| * platform/SharedBuffer.cpp: |
| (WebCore::SharedBuffer::duplicateDataBufferIfNecessary): |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Make deleting all cookies after a given date a little more sane |
| https://bugs.webkit.org/show_bug.cgi?id=139409 |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebCore.exp.in: |
| Update exports. |
| |
| * platform/network/PlatformCookieJar.h: |
| * platform/network/cf/CookieJarCFNet.cpp: |
| * platform/network/curl/CookieJarCurl.cpp: |
| * platform/network/soup/CookieJarSoup.cpp: |
| Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it |
| to take an std::chrono::system_clock::time_point instead. |
| |
| * platform/network/mac/CookieJarMac.mm: |
| (WebCore::cookieStorage): |
| Helper function that returns an NSHTTPCookieStorage given a network session. |
| |
| (WebCore::deleteAllCookiesModifiedSince): |
| Get the cookie storage from the network storage instead of just getting the global one. |
| |
| 2014-12-08 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176953, add an unreachable return to make GCC happy. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::subresourceCachePolicy): |
| |
| 2014-12-08 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] Grid items must set a new formatting context. |
| https://bugs.webkit.org/show_bug.cgi?id=139150 |
| |
| Reviewed by David Hyatt. |
| |
| Grid item's margins must not collapse even when they may be adjoining to |
| its content's margins. Also, setting a new formatting context prevents any |
| 'float' protruding content on the adjoining grid items. |
| |
| This patch also renames the expandsToEncloseOverhangingFloats to be more generic now, |
| determining whether a new formatting context is set or not. This affects not only to |
| how floats behave, but whether margins should collapse or not. |
| |
| Tests: fast/css-grid-layout/float-not-protruding-into-next-grid-item.html |
| fast/css-grid-layout/grid-item-margins-not-collapse.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted. |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function. |
| (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function. |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::createsNewFormattingContext): Added. |
| (WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function. |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::isGridItem): Added. |
| |
| 2014-12-08 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841> |
| (https://bugs.webkit.org/show_bug.cgi?id=139227) |
| |
| * platform/spi/ios/AVKitSPI.h: |
| |
| 2014-12-08 Chris Dumez <cdumez@apple.com> |
| |
| Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy() |
| https://bugs.webkit.org/show_bug.cgi?id=139350 |
| |
| Reviewed by Antti Koivisto. |
| |
| Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy() |
| and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed |
| to the network stack, and isn't supposed to be used as input inside WebCore. |
| |
| No new tests, no behavior change. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::subresourceCachePolicy): |
| |
| 2014-12-08 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK] UserMedia Permission Request API |
| https://bugs.webkit.org/show_bug.cgi?id=136449 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Very basic constraints validation support in the GStreamer |
| MediaStreamCenter. This is needed so the GTK C API tests using the |
| getUserMedia() API would not time out. |
| |
| * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: |
| (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer): |
| (WebCore::MediaStreamCenterGStreamer::validateRequestConstraints): |
| (WebCore::MediaStreamCenterGStreamer::createMediaStream): |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Remove ResourceHandle::loadsBlocked() |
| https://bugs.webkit.org/show_bug.cgi?id=139401 |
| |
| Reviewed by Daniel Bates. |
| |
| This hasn't returned true since Leopard, so get rid of it. |
| |
| * page/Chrome.cpp: |
| (WebCore::Chrome::canRunModalNow): |
| * platform/network/ResourceHandle.h: |
| * platform/network/cf/ResourceHandleCFNet.cpp: |
| (WebCore::ResourceHandle::loadsBlocked): Deleted. |
| * platform/network/curl/ResourceHandleCurl.cpp: |
| (WebCore::ResourceHandle::loadsBlocked): Deleted. |
| * platform/network/mac/ResourceHandleMac.mm: |
| (WebCore::ResourceHandle::loadsBlocked): Deleted. |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::ResourceHandle::loadsBlocked): Deleted. |
| |
| 2014-12-08 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: iOS: VoiceOver gets hung on some websites consistently. |
| https://bugs.webkit.org/show_bug.cgi?id=139331 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| iFrames are attachments on iOS, but they do not have attachment views. As a result, |
| WebCore would return incorrect information for the element count and index of children elements. |
| |
| No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore. |
| |
| * accessibility/AccessibilityMockObject.h: |
| (WebCore::AccessibilityMockObject::isDetachedFromParent): |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isDetachedFromParent): |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityElementCount]): |
| (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]): |
| (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]): |
| (-[WebAccessibilityObjectWrapper accessibilityContainer]): |
| |
| 2014-12-08 Doron Wloschowsky <doron_wloschowsky@scee.net> |
| |
| Webkit using Harfbuzz does not display Arabic script correctly |
| https://bugs.webkit.org/show_bug.cgi?id=136337 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Using reinterpret_cast to convert hb_codepoint_t* into UChar* |
| doesn't work on big endian systems. |
| |
| * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: |
| (WebCore::harfBuzzGetGlyph): |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Major cleanup of AudioDestination implementation |
| https://bugs.webkit.org/show_bug.cgi?id=139370 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: |
| (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): |
| Add an audioresample element before the audio sink. The audio sink |
| might not be able to handle our sampling rate. |
| |
| (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): |
| (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer): |
| (WebCore::AudioDestinationGStreamer::stop): |
| (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted. |
| Don't use a wavparse element but directly link the raw audio from |
| the source to the audio sink. |
| |
| (WebCore::AudioDestinationGStreamer::start): |
| Catch errors when going to PLAYING early, we might not get an error |
| message. |
| |
| * platform/audio/gstreamer/AudioDestinationGStreamer.h: |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (getGStreamerMonoAudioCaps): |
| (webKitWebAudioSrcConstructed): |
| (webKitWebAudioSrcChangeState): |
| Don't use a WAV encoder but directly output raw audio. Also don't |
| include a unneeded audioconvert element before the interleave. |
| |
| (webKitWebAudioSrcLoop): |
| Add timestamps and durations to the output buffers, map them in |
| READWRITE mode and actually keep them mapped until we're sure |
| nothing is actually writing into them. |
| |
| (webKitWebAudioSrcLoop): |
| Pause the task on errors instead of continuously calling it again |
| immediately. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Use gst_message_parse_buffering() |
| https://bugs.webkit.org/show_bug.cgi?id=139365 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): |
| Use gst_message_parse_buffering() instead of manually getting |
| the percentage from the message's structure. While the latter |
| is supposed to work and part of the ABI stability guarantee, |
| it's just not nice and overly complicated. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Minor cleanup of the AudioFileReader implementation |
| https://bugs.webkit.org/show_bug.cgi?id=139367 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: |
| (WebCore::AudioFileReader::~AudioFileReader): |
| Don't call gst_bus_remove_signal_watch(), the source was already |
| destroyed together with the main context and doing it again here |
| will give a g_critical(). |
| |
| (WebCore::AudioFileReader::handleSample): |
| Calculate the number of samples from the actual buffer size |
| and the bytes-per-frame instead of the buffer duration. Using |
| the buffer duration can lead to rounding errors and might cause |
| too few samples to be copied over later. |
| |
| (WebCore::AudioFileReader::handleMessage): |
| Set the pipeline to GST_STATE_NULL immediately when receiving |
| errors to prevent other follow-up error messages from propagating |
| through the bus and spamming the user's terminal with g_warnings(). |
| |
| (WebCore::AudioFileReader::handleNewDeinterleavePad): |
| Sync the state of the queue and sink after deinterleave with |
| the parent state instead of just setting them to READY. That |
| way we potentially go to PAUSED state a bit earlier already |
| and prevent a potential race condition that could cause buffers |
| to arrive in the new elements in READY state already (which would |
| fail). |
| |
| (WebCore::AudioFileReader::plugDeinterleave): |
| Handle multiple decodebin source pads by ignoring all following |
| ones just in case there are multiple for whatever reason. |
| |
| (WebCore::AudioFileReader::decodeAudioForBusCreation): |
| Catch errors from going to PAUSED state early. We might not |
| get a error message at all if we're unlucky. |
| |
| (WebCore::AudioFileReader::plugDeinterleave): |
| (WebCore::AudioFileReader::createBus): |
| (WebCore::AudioFileReader::handleSample): |
| Downmix to mono if required instead of just using the front |
| left channel and claiming it is mono. Downmixing from stereo |
| to mono will mix both channels instead of just taking the left. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Handle CLOCK_LOST and LATENCY messages |
| https://bugs.webkit.org/show_bug.cgi?id=139341 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::handleMessage): |
| Handle CLOCK_LOST message by shortly going back to PAUSED state |
| and then to PLAYING again to let the pipeline select a new clock |
| for us. |
| This can happen if the stream that ends in a sink that provides |
| the current clock disappears, for example if the audio sink |
| provides the clock and the audio stream is disabled. It also |
| happens relatively often with HTTP adaptive streams when switching |
| between different variants of a stream. |
| |
| Also handle the LATENCY message by triggering the default GStreamer |
| mechanism to update the latency. This can happen if the latency of |
| live elements changes, or for one reason or another a new live element |
| is added or removed from the pipeline. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Use audio-filter property on GStreamer >= 1.4.2 |
| https://bugs.webkit.org/show_bug.cgi?id=139360 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::createAudioSink): |
| (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): |
| Since 1.4.0 there is an audio-filter property we can use to place |
| the pitch-preserving filter at a more canonical position inside |
| the pipeline. Since 1.4.2 this property also handles all necessary |
| conversions for us. |
| This simplifies our sink code a bit because we don't have to create |
| a custom sink bin anymore. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Add video/flv to the list of supported mimetypes |
| https://bugs.webkit.org/show_bug.cgi?id=139344 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::mimeTypeCache): |
| Add video/flv additional to video/x-flv to the list of supported |
| mimetypes. It's used on some websites, e.g. |
| http://www.jwplayer.com/html5/formats/ |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Remove GStreamer 0.10 #ifdefs. |
| https://bugs.webkit.org/show_bug.cgi?id=138921 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/GStreamerUtilities.cpp: |
| (WebCore::initializeGStreamer): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::buffered): |
| Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least. |
| |
| 2014-12-08 Sebastian Dröge <sebastian@centricular.com> |
| |
| [GStreamer] Add application/x-mpegurl to the list of supported mimetypes. |
| https://bugs.webkit.org/show_bug.cgi?id=139343 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::mimeTypeCache): |
| It's an alternative mimetype for the already supported |
| application/vnd.apple.mpegurl (aka HLS) and adding it |
| allows all streams on http://www.jwplayer.com/html5/hls/ |
| to be played. |
| |
| 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [TextureMapper] Normalize pattern transform for pattern compositing |
| https://bugs.webkit.org/show_bug.cgi?id=139374 |
| |
| Reviewed by Martin Robinson. |
| |
| In CoordGfx/TexMapGL, pattern compositing (for background image) uses |
| the patternTransform shader uniform. However, current implementation |
| miscalculates its transform matrix. It uses simple rectToRect |
| transformationMatrix which produces unnormalized garbage term. |
| This causes unexpected behavior at the fragmentation stage in some |
| mobile GPUs. |
| |
| It should calculate its scale based on tileSize and contentSize, |
| and its position based on tilePhase and contentSize. |
| |
| No new tests because the bug only occurs on some mobile GPUs. |
| |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::computePatternTransformIfNeeded): |
| |
| 2014-12-07 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8 |
| https://bugs.webkit.org/show_bug.cgi?id=128739 |
| |
| Reviewed by Martin Robinson. |
| |
| Removed UTF-8 conversion of HTTP header values (SOUP and CURL). |
| Removed unnecessary UTF-8 conversion of HTTP header names (SOUP). |
| Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL). |
| Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename. |
| |
| Test: http/tests/xmlhttprequest/response-special-characters.html |
| |
| * platform/network/curl/CurlDownload.cpp: |
| (WebCore::CurlDownload::headerCallback): Removed header conversion. |
| * platform/network/curl/ResourceHandleManager.cpp: |
| (WebCore::headerCallback): Ditto. |
| (WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI. |
| * platform/network/soup/ResourceRequestSoup.cpp: |
| (WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion. |
| (WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII. |
| (WebCore::ResourceRequest::toSoupMessage): Ditto. |
| (WebCore::ResourceRequest::updateFromSoupMessage): |
| * platform/network/soup/ResourceResponseSoup.cpp: |
| (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion. |
| (WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8. |
| |
| 2014-12-07 Dan Bernstein <mitz@apple.com> |
| |
| Introduce and deploy a function that allocates and returns an instance of a soft-linked class |
| https://bugs.webkit.org/show_bug.cgi?id=139348 |
| |
| Reviewed by Anders Carlsson. |
| |
| In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler |
| picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead |
| to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo |
| doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus |
| avoiding the ambiguity. |
| |
| * editing/mac/DataDetection.mm: |
| (WebCore::DataDetection::detectItemAroundHitTestResult): |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (-[WebMediaSessionHelper allocateVolumeView]): |
| (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): |
| * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: |
| (WebCore::AudioSourceProviderAVFObjC::createMix): |
| * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: |
| * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): |
| (WebCore::SourceBufferPrivateAVFObjC::abort): |
| (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): |
| |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the |
| expected class. |
| |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::showLetterpressedGlyphsWithAdvances): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::createQTMovie): |
| (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer): |
| * platform/graphics/mac/PDFDocumentImageMac.mm: |
| (WebCore::PDFDocumentImage::createPDFDocument): |
| * platform/ios/PlatformSpeechSynthesizerIOS.mm: |
| (SOFT_LINK_CONSTANT): |
| (-[WebSpeechSynthesisWrapper speakUtterance:]): |
| * platform/ios/WebCoreMotionManager.mm: |
| (-[WebCoreMotionManager initializeOnMainThread]): |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (-[WebAVPlayerController init]): |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreen): |
| * platform/mac/ContentFilterMac.mm: |
| (WebCore::ContentFilter::ContentFilter): |
| |
| * platform/mac/SoftLinking.h: Added alloc##className##instance(). |
| |
| * platform/mac/WebVideoFullscreenController.mm: |
| (-[WebVideoFullscreenController setVideoElement:]): |
| * platform/mediastream/mac/AVAudioCaptureSource.mm: |
| (WebCore::AVAudioCaptureSource::setupCaptureSession): |
| * platform/mediastream/mac/AVCaptureDeviceManager.mm: |
| (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType): |
| * platform/mediastream/mac/AVMediaCaptureSource.mm: |
| (WebCore::AVMediaCaptureSource::setupSession): |
| * platform/mediastream/mac/AVVideoCaptureSource.mm: |
| (WebCore::AVVideoCaptureSource::setupCaptureSession): |
| * platform/network/ios/QuickLook.mm: |
| (WebCore::registerQLPreviewConverterIfNeeded): |
| (WebCore::QuickLookHandle::QuickLookHandle): |
| |
| 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add Since tags to GObject DOM bindings documentation |
| https://bugs.webkit.org/show_bug.cgi?id=139356 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Now that we have a small stable API, and new symbols are added |
| manually, we can also add the version to the symbols file, that |
| the code generator can ue to add Since tags to the gtk-doc. |
| |
| * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols |
| added for 2.8. |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateConstants): Add Since tag to gtk-doc if there's a version |
| number for the symbol in the .symbols file. |
| (GenerateFunction): Ditto. |
| (ReadStableSymbols): |
| |
| 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Missing API detected in GObject DOM bindings after r176630 |
| https://bugs.webkit.org/show_bug.cgi?id=139201 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Bring back WebKitDOMDeprecated and add custom versions of the |
| removed symbols as deprecated in favor of the new ones. Also add |
| the new ones as stable API. |
| |
| * CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS. |
| * PlatformGTK.cmake: Ditto. |
| * PlatformMac.cmake: Ditto. |
| * bindings/gobject/WebKitDOMDeprecated.cpp: Added. |
| (webkit_dom_html_element_get_inner_html): |
| (webkit_dom_html_element_set_inner_html): |
| (webkit_dom_html_element_get_outer_html): |
| (webkit_dom_html_element_set_outer_html): |
| * bindings/gobject/WebKitDOMDeprecated.h: Added. |
| * bindings/gobject/WebKitDOMDeprecated.symbols: Added. |
| * bindings/gobject/webkitdom.symbols: |
| |
| 2014-12-06 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176915. |
| |
| DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater |
| only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override |
| is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false. |
| |
| That's why r176915 broke the build on non PLATFORM(COCOA) platforms, |
| such as GTK, EFL, Apple Windows. |
| |
| Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) |
| guard, so there is no reason to define it for non COCOA platforms. |
| |
| * platform/graphics/GraphicsLayerUpdater.cpp: |
| * platform/graphics/GraphicsLayerUpdater.h: |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Fix build with newer versions of clang. |
| rdar://problem/18978733 |
| |
| Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit. |
| |
| * page/scrolling/AsyncScrollingCoordinator.h: |
| * page/scrolling/ScrollingStateFixedNode.h: |
| * page/scrolling/ScrollingStateFrameScrollingNode.h: |
| * page/scrolling/ScrollingStateOverflowScrollingNode.h: |
| * page/scrolling/ScrollingStateStickyNode.h: |
| * page/scrolling/ScrollingTreeFrameScrollingNode.h: |
| (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted. |
| * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h: |
| * platform/graphics/GraphicsLayerUpdater.h: |
| * platform/mac/ScrollbarThemeMac.h: |
| (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted. |
| (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted. |
| * rendering/RenderLayerCompositor.h: |
| * rendering/RenderSnapshottedPlugIn.h: |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Fix build with newer versions of clang. |
| rdar://problem/18978687 |
| |
| Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit. |
| |
| * html/HTMLElement.h: |
| * html/HTMLMediaElement.h: |
| * html/track/VTTCue.h: |
| * loader/FrameNetworkingContext.h: |
| (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted. |
| * loader/cache/CachedImage.h: |
| * page/SuspendableTimer.h: |
| * platform/Scrollbar.h: |
| * platform/graphics/InbandTextTrackPrivate.h: |
| * rendering/RenderBlockFlow.h: |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Follow-up build fix. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Fix build with newer versions of clang. |
| rdar://problem/18978689 |
| |
| Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to |
| know whether we can add an override or not. |
| |
| Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic. |
| |
| * Configurations/Base.xcconfig: |
| * Modules/webdatabase/DatabaseBackendBase.cpp: |
| (WebCore::guidForOriginAndName): |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]): |
| * editing/cocoa/HTMLConverter.mm: |
| (_shadowForShadowStyle): |
| (HTMLConverter::_addTableForElement): |
| * platform/graphics/SVGGlyph.cpp: |
| (WebCore::isCompatibleArabicForm): |
| * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: |
| (WebCore::AudioSourceProviderAVFObjC::createMix): |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::showLetterpressedGlyphsWithAdvances): |
| * platform/ios/PlatformSpeechSynthesizerIOS.mm: |
| (-[WebSpeechSynthesisWrapper speakUtterance:]): |
| * platform/ios/WebCoreMotionManager.mm: |
| (-[WebCoreMotionManager initializeOnMainThread]): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::spannedRows): |
| (WebCore::RenderTableSection::spannedColumns): |
| |
| 2014-12-06 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Compile error, missing guard. |
| https://bugs.webkit.org/show_bug.cgi?id=139338 |
| |
| Reviewed by Alex Christensen. |
| |
| There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::realLex): |
| |
| 2014-12-05 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: I cannot activate links on the mobile version of news.google.com |
| https://bugs.webkit.org/show_bug.cgi?id=139330 |
| |
| Reviewed by Simon Fraser. |
| |
| This website only listens for touch events. VoiceOver normally dispatches click and mouse events, |
| so on iOS this falls and VoiceOver is not able to activate anything. |
| |
| The solution here is to dispatch simulated touch down/up events. |
| |
| Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::press): |
| (WebCore::AccessibilityObject::dispatchTouchEvent): |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isDetachedFromParent): |
| * page/EventHandler.h: |
| * page/ios/EventHandlerIOS.mm: |
| (WebCore::EventHandler::dispatchSimulatedTouchEvent): |
| * platform/ios/PlatformEventFactoryIOS.h: |
| * platform/ios/PlatformEventFactoryIOS.mm: |
| (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder): |
| (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent): |
| |
| 2014-12-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Directional single quotation marks are not rotated in vertical text |
| https://bugs.webkit.org/show_bug.cgi?id=138526 |
| |
| Reviewed by Darin Adler. |
| |
| In vertical text, directional single quotation marks are not rotated along with |
| the rest of the letters. |
| |
| Test: fast/text/vertical-quotation-marks.html |
| |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::shouldIgnoreRotation): |
| |
| 2014-12-05 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags |
| https://bugs.webkit.org/show_bug.cgi?id=139014 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Consider each language range in :lang() that consists of an asterisk |
| immediately followed by an identifier beginning with an ASCII hyphen |
| as a valid input for the selector as specified in [1]. |
| |
| [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo |
| |
| Test: fast/css/parsing-css-lang.html |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::realLex): |
| |
| 2014-12-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Programmatic scrolling and content changes are not always synchronized |
| https://bugs.webkit.org/show_bug.cgi?id=139245 |
| rdar://problem/18833612 |
| |
| Reviewed by Anders Carlsson. |
| |
| For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate() |
| calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested |
| scroll position to the scrolling thread. |
| |
| Once the scrolling thread commits, it calls back to the main thread via |
| scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second |
| call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem, |
| because some other scroll may have happened in the meantime; when the timer |
| fires, it can sometimes restore a stale scroll position. |
| |
| Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll() |
| for programmatic scrolls, since we know that requestScrollPositionUpdate() |
| already did the updateScrollPositionAfterAsyncScroll(). |
| |
| Test: |
| ManualTests/programmatic-scroll-flicker.html |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::reset): nullptr. |
| (WebCore::FrameView::setScrollPosition): Ditto. |
| (WebCore::FrameView::setWasScrolledByUser): Ditto. |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for |
| isProgrammaticScroll just to make sure we use the same value for the duration of this function. |
| (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing |
| if this is a programmatic scroll. |
| |
| 2014-12-05 Timothy Horton <timothy_horton@apple.com> |
| |
| Build fix. |
| |
| * platform/spi/mac/TUCallSPI.h: |
| |
| 2014-12-05 Roger Fong <roger_fong@apple.com> |
| |
| [Win] proj files copying over too many resources.. |
| https://bugs.webkit.org/show_bug.cgi?id=139315. |
| <rdar://problem/19148278> |
| |
| Reviewed by Brent Fulgham. |
| |
| * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output. |
| |
| 2014-12-05 Timothy Horton <timothy_horton@apple.com> |
| |
| Use the system string for telephone number menu |
| https://bugs.webkit.org/show_bug.cgi?id=139324 |
| <rdar://problem/18726471> |
| |
| * platform/spi/mac/TUCallSPI.h: Added. |
| Actually add the SPI header from the last commit. |
| |
| 2014-12-05 Tim Horton <timothy_horton@apple.com> |
| |
| Use the system string for telephone number menu |
| https://bugs.webkit.org/show_bug.cgi?id=139324 |
| <rdar://problem/18726471> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac/TUCallSPI.h: Added. |
| Add an SPI header. |
| |
| 2014-12-05 Jer Noble <jer.noble@apple.com> |
| |
| [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update(). |
| https://bugs.webkit.org/show_bug.cgi?id=139316 |
| |
| Reviewed by Eric Carlson. |
| |
| Similarly to our asynchronous error reporting, return the absolute value of the error code. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::systemCodeForError): |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Fix build on Windows. |
| |
| * page/SessionIDHash.h: |
| |
| 2014-12-05 Zalan Bujtas <zalan@apple.com> |
| |
| Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes. |
| https://bugs.webkit.org/show_bug.cgi?id=139311 |
| |
| Reviewed by Tim Horton. |
| |
| Not testable. |
| |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden): |
| |
| 2014-12-05 Andreas Kling <akling@apple.com> |
| |
| PassRef should deref on destruction if pointee was not moved. |
| <https://webkit.org/b/139309> |
| |
| Reviewed by Antti Koivisto. |
| |
| Remove calls to PassRef::dropRef() since it's no longer necessary to manually |
| notify PassRef that you didn't move the pointee. |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::createFor): |
| (WebCore::RenderElement::setStyle): |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::resolveTree): |
| |
| 2014-12-05 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix style sharing with the "type" and "readonly" attributes |
| https://bugs.webkit.org/show_bug.cgi?id=139283 |
| |
| Reviewed by Antti Koivisto. |
| |
| There are two bugs adressed with this patch: |
| 1) The attributes "type" and "readonly" where only handled correctly |
| for input elements. For everything else, they could incorrectly |
| be ignored for style sharing. |
| 2) The handling of attributes was incorrect for selector lists, leading |
| to various bugs (incorrect style sharing in some cases, disabling |
| style sharing on valid cases). |
| |
| For [1], the problem was that attribute checking had been limited to |
| StyleResolver::canShareStyleWithControl(). That function is for handling |
| the special states of input element. For any other element, the attributes |
| were simply ignored. |
| |
| For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector() |
| was not recursive, which caused it to ignored any nested selector list. This used to be |
| correct but since we have advanced selectors we can no longer assumed selectors are not nested. |
| |
| A second issue was that any attribute in a selector list was causing us to fall back |
| to the slow case. Now that we have the fast :matches(), we really don't want that. |
| |
| The function containsUncommonAttributeSelector() was transformed into a recursive function |
| tracking where we are in the selector. |
| |
| At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then |
| updated on the stack of each recursive call. |
| |
| For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse |
| into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag |
| is set to false to evaluate any following selectors. |
| After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag |
| is back to true and we can continue evaluating with the curren top level state. |
| |
| From some logging, I discovered that the attribute handling is way too aggressive. |
| This is not a regression and I cannot fix that easily so I left a fixme. |
| |
| Tests: fast/css/data-attribute-style-sharing-1.html |
| fast/css/data-attribute-style-sharing-2.html |
| fast/css/data-attribute-style-sharing-3.html |
| fast/css/data-attribute-style-sharing-4.html |
| fast/css/data-attribute-style-sharing-5.html |
| fast/css/data-attribute-style-sharing-6.html |
| fast/css/data-attribute-style-sharing-7.html |
| fast/css/readonly-attribute-style-sharing-1.html |
| fast/css/readonly-attribute-style-sharing-2.html |
| fast/css/readonly-attribute-style-sharing-3.html |
| fast/css/readonly-attribute-style-sharing-4.html |
| fast/css/readonly-attribute-style-sharing-5.html |
| fast/css/readonly-attribute-style-sharing-6.html |
| fast/css/readonly-attribute-style-sharing-7.html |
| fast/css/type-attribute-style-sharing-1.html |
| fast/css/type-attribute-style-sharing-2.html |
| fast/css/type-attribute-style-sharing-3.html |
| fast/css/type-attribute-style-sharing-4.html |
| fast/css/type-attribute-style-sharing-5.html |
| fast/css/type-attribute-style-sharing-6.html |
| fast/css/type-attribute-style-sharing-7.html |
| |
| * css/RuleSet.cpp: |
| (WebCore::containsUncommonAttributeSelector): |
| (WebCore::RuleData::RuleData): |
| (WebCore::selectorListContainsAttributeSelector): Deleted. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithControl): |
| (WebCore::StyleResolver::canShareStyleWithElement): |
| |
| 2014-12-05 Jer Noble <jer.noble@apple.com> |
| |
| [WTF] MediaTime should support round-tripping from and to doubles. |
| https://bugs.webkit.org/show_bug.cgi?id=139248 |
| |
| Reviewed by Eric Carlson. |
| |
| Check whether the MediaTime's underlying data is floating point before converting |
| to a CMTime or QTTime. |
| |
| * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: |
| (WebCore::toCMTime): |
| * platform/graphics/mac/MediaTimeQTKit.mm: |
| (WebCore::toQTTime): |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Add a private browsing mode to MiniBrowser |
| https://bugs.webkit.org/show_bug.cgi?id=139308 |
| |
| Reviewed by Sam Weinig. |
| |
| Use -1 instead of -2 for the deleted value. |
| |
| * page/SessionIDHash.h: |
| |
| 2014-12-05 Chris Dumez <cdumez@apple.com> |
| |
| Move 'text-emphasis-style' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139285 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'text-emphasis-style' CSS property to the new StyleBuilder by |
| using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle): |
| (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle): |
| |
| 2014-12-05 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] remove "enter optimized fullscreen" gesture |
| https://bugs.webkit.org/show_bug.cgi?id=139301 |
| |
| Reviewed by Jer Noble. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer. |
| |
| 2014-12-05 Beth Dakin <bdakin@apple.com> |
| |
| rdar://problem/19156353 Additional build-fixes needed. |
| |
| Rubber-stamped by Tim Horton. |
| |
| This is a bit unfortunate, but we need to always forward-declare this for now. |
| * platform/spi/mac/QuickLookMacSPI.h: |
| |
| 2014-12-05 David Kilzer <ddkilzer@apple.com> |
| |
| FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY |
| <http://webkit.org/b/139286> |
| |
| Reviewed by Daniel Bates. |
| |
| * Configurations/FeatureDefines.xcconfig: Switch back to using |
| PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8. |
| |
| 2014-12-05 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allow host application to opt-out of alternate fullscreen pt. 2 |
| https://bugs.webkit.org/show_bug.cgi?id=139227 |
| |
| Reviewed by Jer Noble and Anders Carlsson |
| |
| * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of |
| WebVideoFullscreenInterfaceAVKit::setupFullscreen. |
| |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for |
| WebVideoFullscreenInterfaceAVKit::setupFullscreen change. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto. |
| |
| 2014-12-05 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebCore/platform/graphics module |
| https://bugs.webkit.org/show_bug.cgi?id=139290 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Fix a build warning by removing parameter name from function. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/freetype/FontCacheFreeType.cpp: |
| (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): |
| |
| 2014-12-05 sungmin cho <sungmin17.cho@lge.com> |
| |
| GraphicsLayerTextureMapper: Rename parameter to be more clear |
| https://bugs.webkit.org/show_bug.cgi?id=139288 |
| |
| Reviewed by Martin Robinson. |
| |
| Rename 'media' to 'platformLayer'. |
| |
| No new tests, no change in functionality. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer): |
| |
| 2014-12-04 Mark Rowe <mrowe@apple.com> |
| |
| Fix pre-Yosemite builds. |
| |
| The #ifs in two SPI wrapper headers were incorrect, resulting in code being included |
| prior to Yosemite that required Yosemite to compile. |
| |
| * platform/spi/mac/NSSharingServicePickerSPI.h: |
| * platform/spi/mac/NSSharingServiceSPI.h: |
| |
| 2014-12-02 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: timeline probe records have inaccurate per-probe hit counts |
| https://bugs.webkit.org/show_bug.cgi?id=138976 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Update the signature for breakpointActionProbe to take batchId and sampleId. |
| Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html. |
| |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::breakpointActionProbe): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createProbeSampleData): |
| * inspector/TimelineRecordFactory.h: |
| |
| 2014-12-04 Adenilson Cavalcanti <cavalcantii@gmail.com> |
| |
| Groove/inset/outset borders show solid if the color is black |
| https://bugs.webkit.org/show_bug.cgi?id=58608 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: fast/borders/mixed-border-style2.html |
| |
| This patch will lighten/darken the border side colors, handling |
| border decoration in a similar way as Firefox does. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::drawLineForBoxSide): |
| (WebCore::RenderObject::calculateBorderStyleColor): |
| * rendering/RenderObject.h: |
| |
| 2014-12-04 Chris Dumez <cdumez@apple.com> |
| |
| Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139250 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'aspect-ratio' CSS property to the new StyleBuilder by |
| using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted. |
| (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio): |
| (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio): |
| |
| 2014-12-04 Timothy Horton <timothy_horton@apple.com> |
| |
| Further fix the 32-bit build. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| |
| 2014-12-04 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the 32-bit build. |
| |
| * page/mac/TextIndicatorWindow.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| |
| 2014-12-04 Tim Horton <timothy_horton@apple.com> |
| |
| TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139252 |
| <rdar://problem/19140827> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::createWithSelectionInFrame): |
| (WebCore::TextIndicator::TextIndicator): |
| * page/TextIndicator.h: |
| (WebCore::TextIndicator::selectionRectInWindowCoordinates): |
| (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): |
| (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted. |
| (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted. |
| Go back to keeping the rects in "window" coordinates. |
| |
| * page/mac/TextIndicatorWindow.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| Let callers pass in the contentRect instead of trying to share the code |
| to compute it, since it needs to be different for legacy and modern WebKit. |
| |
| 2014-12-04 Oliver Hunt <oliver@apple.com> |
| |
| Serialization of MapData object provides unsafe access to internal types |
| https://bugs.webkit.org/show_bug.cgi?id=138653 |
| |
| Reviewed by Geoffrey Garen. |
| |
| We now keep the value portion of the key/value pair in MapData as a |
| separate stack. This allows us to maintain the spec semantic of |
| "atomic" serialisation of the key/value pair without retaining the |
| use of a potentially invalid iterator. |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneSerializer::serialize): |
| |
| 2014-12-04 Radu Stavila <stavila@adobe.com> |
| |
| [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image |
| https://bugs.webkit.org/show_bug.cgi?id=139092 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch improves the -webkit-mask-image property by allowing it to reference |
| a <mask> element defined in an inline or external SVG document. |
| Up until now, each image to be used as a mask consisted of a FillLayer object |
| whose m_image member represented the mask. Now, in order to accomodate |
| <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1) |
| a new class was created (MaskImageOperation) and added as a member of the |
| FillLayer. As such, from now on, all FillLayer objects used for masking will |
| store the masking information in this new member. |
| When parsing the -webkit-mask-image property (or the -webkit-mask shorthand) |
| a new MaskImageOperation object is created for each image. If the value represents |
| an external URL, a pending SVG document will be created which will be loaded |
| during the phase that loads the pending resources. When the download is complete, |
| the MaskImageOperation is notified by the CachedSVGDocument class and checks if |
| the received download is a valid SVG and the requested fragment identifier |
| actually exists and identifies a <mask> element. If it does, that element's |
| renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers. |
| Otherwise, the MaskImageOperation class will use the already downloaded data |
| buffer to create a CachedImage from it and use that instead, basically emulating |
| the previous behavior, when only images were accepted. This ensures that all existing |
| behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting |
| generated images (e.g. linear-gradient) works as it did before. |
| |
| No new tests required, this patch doesn't change any current functionality. |
| It only adds support for referencing <mask> elements for the -webkit-mask-image |
| property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::cssText): |
| (WebCore::CSSValue::destroy): |
| * css/CSSValue.h: |
| (WebCore::CSSValue::isWebKitCSSResourceValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::State::clear): |
| (WebCore::StyleResolver::createMaskImageOperations): |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments): |
| * css/WebKitCSSResourceValue.cpp: Added. |
| (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue): |
| (WebCore::WebKitCSSResourceValue::customCSSText): |
| (WebCore::WebKitCSSResourceValue::isCSSValueNone): |
| * css/WebKitCSSResourceValue.h: Added. |
| (WebCore::WebKitCSSResourceValue::create): |
| (WebCore::WebKitCSSResourceValue::innerValue): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::addCachedResource): |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGDocument.cpp: |
| (WebCore::CachedSVGDocument::CachedSVGDocument): |
| (WebCore::CachedSVGDocument::finishLoading): |
| * loader/cache/CachedSVGDocument.h: |
| * loader/cache/CachedSVGDocumentReference.cpp: |
| (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference): |
| (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference): |
| (WebCore::CachedSVGDocumentReference::load): |
| * loader/cache/CachedSVGDocumentReference.h: |
| * page/FrameView.cpp: |
| (WebCore::FrameView::isSVGDocument): |
| * page/FrameView.h: |
| * page/Page.cpp: |
| (WebCore::Page::createPageFromBuffer): |
| * page/Page.h: |
| * platform/ScrollView.h: |
| (WebCore::ScrollView::isSVGDocument): |
| * platform/graphics/MaskImageOperation.cpp: Added. |
| (WebCore::MaskImageOperation::create): |
| (WebCore::MaskImageOperation::MaskImageOperation): |
| (WebCore::MaskImageOperation::~MaskImageOperation): |
| (WebCore::MaskImageOperation::isCSSValueNone): |
| (WebCore::MaskImageOperation::cssValue): |
| (WebCore::MaskImageOperation::isMaskLoaded): |
| (WebCore::MaskImageOperation::setRenderLayerImageClient): |
| (WebCore::MaskImageOperation::addRendererImageClient): |
| (WebCore::MaskImageOperation::removeRendererImageClient): |
| (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference): |
| (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished |
| downloading and checks if it can find a valid <mask> element. |
| (WebCore::MaskImageOperation::drawMask): |
| (WebCore::MaskImageOperation::getSVGMasker): |
| * platform/graphics/MaskImageOperation.h: Added. |
| * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in |
| order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters. |
| (WebCore::BackgroundImageGeometry::setNoRepeatX): |
| (WebCore::BackgroundImageGeometry::setNoRepeatY): |
| (WebCore::BackgroundImageGeometry::useFixedAttachment): |
| (WebCore::BackgroundImageGeometry::clip): |
| (WebCore::BackgroundImageGeometry::relativePhase): |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted. |
| * rendering/RenderBoxModelObject.h: |
| (WebCore::BackgroundImageGeometry::BackgroundImageGeometry): |
| (WebCore::BackgroundImageGeometry::destOrigin): |
| (WebCore::BackgroundImageGeometry::setDestOrigin): |
| (WebCore::BackgroundImageGeometry::destRect): |
| (WebCore::BackgroundImageGeometry::setDestRect): |
| (WebCore::BackgroundImageGeometry::phase): |
| (WebCore::BackgroundImageGeometry::setPhase): |
| (WebCore::BackgroundImageGeometry::tileSize): |
| (WebCore::BackgroundImageGeometry::setTileSize): |
| (WebCore::BackgroundImageGeometry::spaceSize): |
| (WebCore::BackgroundImageGeometry::setSpaceSize): |
| (WebCore::BackgroundImageGeometry::setPhaseX): |
| (WebCore::BackgroundImageGeometry::setPhaseY): |
| (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry): |
| (WebCore::BackgroundImageGeometry::hasNonLocalGeometry): |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted. |
| (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted. |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): |
| (WebCore::RenderLayer::~RenderLayer): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerMaskImageInfo.cpp: Added. |
| (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers. |
| (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer. |
| (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary). |
| (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer. |
| (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo): |
| (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo): |
| (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint. |
| (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint. |
| (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients. |
| Updates list of internal and external SVG references. |
| (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references. |
| * rendering/RenderLayerMaskImageInfo.h: Added. |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isRenderSVGResourceMasker): |
| * rendering/style/FillLayer.cpp: |
| (WebCore::FillLayer::FillLayer): |
| (WebCore::FillLayer::operator=): |
| (WebCore::FillLayer::operator==): |
| (WebCore::FillLayer::cullEmptyLayers): |
| (WebCore::FillLayer::hasNonEmptyMaskImage): |
| (WebCore::FillLayer::imagesAreLoaded): |
| * rendering/style/FillLayer.h: |
| (WebCore::FillLayer::maskImage): |
| (WebCore::FillLayer::imageOrMaskImage): |
| (WebCore::FillLayer::setMaskImage): |
| (WebCore::FillLayer::clearMaskImage): |
| (WebCore::FillLayer::hasMaskImage): |
| * rendering/svg/RenderSVGResourceMasker.cpp: |
| (WebCore::RenderSVGResourceMasker::applySVGMask): |
| (WebCore::RenderSVGResourceMasker::applyResource): |
| (WebCore::RenderSVGResourceMasker::drawMaskForRenderer): |
| * rendering/svg/RenderSVGResourceMasker.h: |
| * svg/SVGMaskElement.cpp: |
| (WebCore::SVGMaskElement::createElementRenderer): |
| (WebCore::SVGMaskElement::addClientRenderLayer): |
| (WebCore::SVGMaskElement::removeClientRenderLayer): |
| * svg/SVGMaskElement.h: |
| * svg/SVGUseElement.cpp: |
| (WebCore::SVGUseElement::setCachedDocument): |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::dataChanged): |
| |
| 2014-12-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176789. |
| https://bugs.webkit.org/show_bug.cgi?id=139255 |
| |
| Broke the non Mac-WK2 builds (Requested by stavila on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Remove isSpecifiedFont boolean from FontDescription" |
| https://bugs.webkit.org/show_bug.cgi?id=139233 |
| http://trac.webkit.org/changeset/176789 |
| |
| 2014-12-03 Antti Koivisto <antti@apple.com> |
| |
| Remove isSpecifiedFont boolean from FontDescription |
| https://bugs.webkit.org/show_bug.cgi?id=139233 |
| |
| Reviewed by Andreas Kling. |
| |
| It is barely used. |
| |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInheritFontFamily): |
| (WebCore::StyleBuilderCustom::applyValueFontFamily): |
| * platform/graphics/FontDescription.cpp: |
| (WebCore::genericFamiliesSet): |
| (WebCore::FontDescription::hasGenericFirstFamily): |
| |
| Add a function to test for generic families. |
| |
| * platform/graphics/FontDescription.h: |
| (WebCore::FontDescription::FontDescription): |
| (WebCore::FontDescription::setTextRenderingMode): |
| (WebCore::FontDescription::operator==): |
| (WebCore::FontDescription::isSpecifiedFont): Deleted. |
| (WebCore::FontDescription::setIsSpecifiedFont): Deleted. |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::computeUseBackslashAsYenSymbol): |
| |
| This is the only client. |
| Figure out the equivalent information dynamically if needed. |
| |
| 2014-12-03 Joonghun Park <jh718.park@samsung.com> |
| |
| Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard |
| https://bugs.webkit.org/show_bug.cgi?id=139019 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests, no behavior changes. |
| |
| * dom/DataTransfer.cpp: |
| (WebCore::DataTransfer::DataTransfer): |
| * dom/DataTransfer.h: |
| * editing/Editor.cpp: |
| (WebCore::Editor::dispatchCPPEvent): |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::EventHandler::createDraggingDataTransfer): |
| * platform/Pasteboard.h: |
| * platform/efl/PasteboardEfl.cpp: |
| (WebCore::Pasteboard::createForCopyAndPaste): |
| (WebCore::Pasteboard::createPrivate): |
| (WebCore::Pasteboard::createForDragAndDrop): |
| * platform/gtk/PasteboardGtk.cpp: |
| (WebCore::Pasteboard::createForCopyAndPaste): |
| (WebCore::Pasteboard::createForGlobalSelection): |
| (WebCore::Pasteboard::createPrivate): |
| (WebCore::Pasteboard::createForDragAndDrop): |
| (WebCore::Pasteboard::create): Deleted. |
| * platform/ios/PasteboardIOS.mm: |
| (WebCore::Pasteboard::createForCopyAndPaste): |
| (WebCore::Pasteboard::createPrivate): |
| * platform/mac/PasteboardMac.mm: |
| (WebCore::Pasteboard::createForCopyAndPaste): |
| (WebCore::Pasteboard::createPrivate): |
| (WebCore::Pasteboard::createForDragAndDrop): |
| (WebCore::Pasteboard::create): Deleted. |
| * platform/win/PasteboardWin.cpp: |
| (WebCore::Pasteboard::createForCopyAndPaste): |
| (WebCore::Pasteboard::createPrivate): |
| (WebCore::Pasteboard::createForDragAndDrop): |
| |
| 2014-12-03 Benjamin Poulain <bpoulain@apple.com> |
| |
| Get rid of FrameLoaderClient::dispatchWillRequestResource |
| https://bugs.webkit.org/show_bug.cgi?id=139235 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| It is useless. |
| |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted. |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestResource): |
| |
| 2014-12-03 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| List markers in RTL languages do not draw the first character. |
| https://bugs.webkit.org/show_bug.cgi?id=139244 |
| |
| Reviewed by Simon Fraser. |
| |
| Off-by-one error when reversing the string (from LTR to RTL) |
| |
| Test: fast/lists/rtl-marker.html |
| |
| * rendering/RenderListMarker.cpp: |
| (WebCore::RenderListMarker::paint): |
| |
| 2014-12-03 Beth Dakin <bdakin@apple.com> |
| |
| <input> elements get whitespace action menu instead of editable text menu |
| https://bugs.webkit.org/show_bug.cgi?id=139241 |
| -and corresponding- |
| rdar://problem/19072083 |
| |
| Reviewed by Sam Weinig. |
| |
| Since we will hit test form controls as form controls, we need a new function to |
| determine if the hit point is over text inside that form control or not. |
| * WebCore.exp.in: |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::isOverTextInsideFormControlElement): |
| * rendering/HitTestResult.h: |
| |
| 2014-12-03 Tim Horton <timothy_horton@apple.com> |
| |
| Keyboard input should be disabled in the preview popover |
| https://bugs.webkit.org/show_bug.cgi?id=139219 |
| <rdar://problem/19052381> |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/ChromeClient.h: |
| (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): |
| Allow ChromeClient to disable the dispatch of "fake" mouseMove events |
| that happens during scrolling. |
| |
| 2014-12-03 Antti Koivisto <antti@apple.com> |
| |
| Remove genericFamily enum from FontDescription |
| https://bugs.webkit.org/show_bug.cgi?id=139207 |
| |
| Reviewed by Andreas Kling. |
| |
| We use predefined AtomicStrings for generic families. The side enum adds no information. |
| |
| * css/CSSFontSelector.cpp: |
| (WebCore::resolveGenericFamily): |
| (WebCore::CSSFontSelector::getFontData): |
| |
| Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't. |
| |
| (WebCore::CSSFontSelector::resolvesFamilyFor): |
| (WebCore::fontDataForGenericFamily): Deleted. |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::ApplyPropertyFontFamily::applyInheritValue): |
| (WebCore::ApplyPropertyFontFamily::applyInitialValue): |
| (WebCore::ApplyPropertyFontFamily::applyValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::checkForGenericFamilyChange): |
| |
| Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent. |
| |
| (WebCore::StyleResolver::initializeFontStyle): |
| * platform/graphics/FontDescription.h: |
| (WebCore::FontDescription::FontDescription): |
| (WebCore::FontDescription::useFixedDefaultSize): |
| (WebCore::FontDescription::setWeight): |
| (WebCore::FontDescription::equalForTextAutoSizing): |
| (WebCore::FontDescription::operator==): |
| (WebCore::FontDescription::genericFamily): Deleted. |
| (WebCore::FontDescription::setGenericFamily): Deleted. |
| * platform/mac/ThemeMac.mm: |
| (WebCore::ThemeMac::controlFont): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::adjustStyle): |
| |
| Reset the lineheight unconditionally for buttons. |
| This always happened before because the explicitly set generic family made the font compare false. |
| |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::systemFont): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::systemFont): |
| (WebCore::RenderThemeMac::setFontFromControlSize): |
| * style/StyleResolveForDocument.cpp: |
| (WebCore::Style::resolveForDocument): |
| |
| Resolve document style for final value immediately as it can't be affected by @font-face rules. |
| |
| 2014-12-03 Zalan Bujtas <zalan@apple.com> |
| |
| ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow. |
| https://bugs.webkit.org/show_bug.cgi?id=139188 |
| rdar://problem/18502182 |
| |
| Reviewed by David Hyatt. |
| |
| This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch |
| with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant(). |
| (descendant's parent is expected to be a RenderBlockFlow) |
| |
| Test: fast/multicol/svg-content-as-column-spanner-crash.html |
| |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::isValidColumnSpanner): |
| |
| 2014-12-03 peavo@outlook.com <peavo@outlook.com> |
| |
| [TexMap] Redundant method in GraphicsLayerTextureMapper. |
| https://bugs.webkit.org/show_bug.cgi?id=138005 |
| |
| Reviewed by Alex Christensen. |
| |
| The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used |
| instead of the GraphicsLayerTextureMapper method startedAnimation(). |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): |
| (WebCore::GraphicsLayerTextureMapper::addAnimation): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| |
| 2014-12-03 Jeremy Jones <jeremyj@apple.com> |
| |
| Subtitle menu should only appear when useful. |
| https://bugs.webkit.org/show_bug.cgi?id=139133 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options. |
| (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option. |
| |
| 2014-12-03 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed |
| https://bugs.webkit.org/show_bug.cgi?id=139071 |
| |
| Reviewed by Chris Fleizach. |
| |
| Adds a new InlineRole accessibility role type for non-focusable inline |
| elements which have an event handler or attribute suggesting possible |
| inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and |
| EFL. On the Mac, it is currently ignored to preserve existing behavior. |
| |
| Added new test cases to the existing roles-exposed.html test. |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added. |
| * accessibility/AccessibilityObject.h: Added InlineRole. |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole. |
| * accessibility/atk/AccessibilityObjectAtk.cpp: |
| (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects. |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| * accessibility/mac/AccessibilityObjectMac.mm: |
| (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects. |
| * html/HTMLTagNames.in: Added 'time'. |
| |
| 2014-12-03 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Hang when calling -[AVAsset resolvedURL]. |
| https://bugs.webkit.org/show_bug.cgi?id=139223 |
| |
| Reviewed by Eric Carlson. |
| |
| On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long |
| time. Treat this AVAsset property similar to other "metadata" properties, and check the load status |
| of the property before requesting it. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto. |
| (WebCore::assetMetadataKeyNames): Add @"resolvedURL". |
| |
| 2014-12-03 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseViewportProperty): |
| |
| 2014-12-03 Chris Dumez <cdumez@apple.com> |
| |
| Move 'display' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139218 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'display' CSS property to the new StyleBuilder. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted. |
| (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyDisplay::applyValue): Deleted. |
| (WebCore::ApplyPropertyDisplay::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::isValidDisplayValue): |
| (WebCore::StyleBuilderCustom::applyInheritDisplay): |
| (WebCore::StyleBuilderCustom::applyValueDisplay): |
| * css/makeprop.pl: |
| Add support for passing multiple values for Custom option, e.g.: |
| 'Custom=Inherit|Value'. This was useful as we did not need custom |
| code for display's initial value. |
| |
| 2014-12-03 Chris Dumez <cdumez@apple.com> |
| |
| Modernize the CSSParser code |
| https://bugs.webkit.org/show_bug.cgi?id=139209 |
| |
| Reviewed by Antti Koivisto. |
| |
| Modernize the CSSParser code by: |
| - Using more references instead of pointers |
| - Using nullptr instead of 0 |
| |
| No new tests, no behavior change. |
| |
| 2014-12-03 David Kilzer <ddkilzer@apple.com> |
| |
| [iOS] REGRESSION (r176622): WebCore fails to link |
| |
| Speculative fix for the following build failure: |
| |
| Ld WebCore |
| Undefined symbols for architecture armv7s: |
| "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from: |
| __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o |
| |
| * bindings/js/JSDeviceMotionEventCustom.cpp: Include |
| <runtime/IdentifierInlines.h> to define missing symbol. |
| |
| 2014-12-02 Dean Jackson <dino@apple.com> |
| |
| [Media] Audio content shouldn't have fullscreen buttons, even if in a video element |
| https://bugs.webkit.org/show_bug.cgi?id=139200 |
| <rdar://problem/18914506> |
| |
| Reviewed by Eric Carlson. |
| |
| An audio-only resource, even if loaded into a <video> element, should not |
| present the fullscreen or optimised fullscreen controls. This includes a |
| MediaDocument, which is always a <video> element. We can detect this by |
| examining the length of the videoTracks property as our content loads. |
| |
| Test: media/audio-as-video-fullscreen.html |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller): Initialize a hasVisualMedia to false. |
| (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true. |
| (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and |
| updateOptimizedFullscreenButton methods into this single spot, and check for |
| hasVisualMedia. |
| (Controller.prototype.updateFullscreenButton): Deleted. |
| (Controller.prototype.updateOptimizedFullscreenButton): Deleted. |
| |
| * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports. |
| |
| 2014-12-02 Dean Jackson <dino@apple.com> |
| |
| Missing support for innerHTML on SVGElement |
| https://bugs.webkit.org/show_bug.cgi?id=136903 |
| |
| Unreviewed followup from r176630. Minor style nits that I missed in my review. |
| |
| * dom/Element.h: Remove unnecessary parameter name. |
| * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup. |
| (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): |
| |
| 2014-12-03 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| [EFL] Add subtle crypto to the build system |
| https://bugs.webkit.org/show_bug.cgi?id=138612 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| It is obvious to make Efl use GnuTLS as well, |
| and since there seems no reason why to separate |
| Efl and Gtk implementations from each other, I |
| also propose renaming the gtk directory and file |
| suffixes to gnutls. |
| |
| No new tests needed. |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp. |
| (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): |
| (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): |
| * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp. |
| (WebCore::CryptoAlgorithmAES_KW::platformEncrypt): |
| (WebCore::CryptoAlgorithmAES_KW::platformDecrypt): |
| * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp. |
| (WebCore::getGnutlsDigestAlgorithm): |
| (WebCore::calculateSignature): |
| (WebCore::CryptoAlgorithmHMAC::platformSign): |
| (WebCore::CryptoAlgorithmHMAC::platformVerify): |
| * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp. |
| (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): |
| (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): |
| * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp. |
| (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): |
| (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): |
| * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp. |
| (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): |
| (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): |
| * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp. |
| (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): |
| * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp. |
| (WebCore::CryptoDigest::CryptoDigest): |
| (WebCore::CryptoDigest::~CryptoDigest): |
| (WebCore::CryptoDigest::create): |
| (WebCore::CryptoDigest::addBytes): |
| (WebCore::CryptoDigest::computeHash): |
| * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp. |
| (WebCore::CryptoKeyRSA::CryptoKeyRSA): |
| (WebCore::CryptoKeyRSA::create): |
| (WebCore::CryptoKeyRSA::~CryptoKeyRSA): |
| (WebCore::CryptoKeyRSA::restrictToHash): |
| (WebCore::CryptoKeyRSA::isRestrictedToHash): |
| (WebCore::CryptoKeyRSA::keySizeInBits): |
| (WebCore::CryptoKeyRSA::buildAlgorithmDescription): |
| (WebCore::CryptoKeyRSA::exportData): |
| (WebCore::CryptoKeyRSA::generatePair): |
| * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp. |
| (WebCore::getDefaultWebCryptoMasterKey): |
| (WebCore::wrapSerializedCryptoKey): |
| (WebCore::unwrapSerializedCryptoKey): |
| * crypto/keys/CryptoKeyRSA.h: |
| |
| 2014-12-02 Benjamin Poulain <benjamin@webkit.org> |
| |
| Little cleanup of the default stylesheet |
| https://bugs.webkit.org/show_bug.cgi?id=139168 |
| |
| Reviewed by Antti Koivisto. |
| |
| The default stylesheet has a lot of historical junk that need cleaning. This patch addresses |
| only the bits that do not change behaviors and have positive perf and readability impact. |
| |
| I have limited :matches() to attributes for now. The idea is to only target |
| simple selectors that are not used for filtering by the collectors. |
| We should eventually clean up more cases, one thing at a time. |
| |
| Tests: fast/css/map-tag-default-display.html |
| fast/selectors/map-tag-default-display.html |
| |
| * css/html.css: |
| (map): Deleted. |
| map was explicitely setting its display to inline. Remove that since it is the default. |
| |
| (head): Deleted. |
| (meta): Deleted. |
| (title): Deleted. |
| (link): Deleted. |
| (style): Deleted. |
| (script): Deleted. |
| (div): Deleted. |
| (layer): Deleted. |
| (article, aside, footer, header, hgroup, main, nav, section): Deleted. |
| (address): Deleted. |
| (head, link, meta, script, style, title): |
| (address, article, aside, div, footer, header, hgroup, layer, main, nav, section): |
| Group the standard blocks in a single rule. |
| |
| (input:matches([type="hidden"], [type="image"], [type="file"])): |
| (input:matches([type="radio"], [type="checkbox"])): |
| (input:matches([type="button"], [type="submit"], [type="reset"])): |
| (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button): |
| (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active): |
| (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active): |
| (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): |
| (input:matches([type="checkbox"], [type="radio"]):checked): |
| (input:matches([type="checkbox"], [type="radio"]):checked:disabled): |
| (select:matches([size], [multiple], [size][multiple])): |
| (select:matches([size="0"], [size="1"])): |
| (input[type="hidden"], input[type="image"], input[type="file"]): Deleted. |
| (input[type="radio"], input[type="checkbox"]): Deleted. |
| (input[type="button"], input[type="submit"], input[type="reset"]): Deleted. |
| (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted. |
| (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted. |
| (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted. |
| (input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted. |
| (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted. |
| (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted. |
| (select[size][multiple]): Deleted. |
| (select[size="1"]): Deleted. |
| Group every selector lists that only differentiates complex selectors through attributes |
| into a simple complex selector with :matches(). |
| |
| 2014-12-02 Mark Lam <mark.lam@apple.com> |
| |
| Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved. |
| https://bugs.webkit.org/show_bug.cgi?id=138821 |
| |
| Not reviewed. |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneDeserializer::deserializeString): |
| * editing/TextIterator.cpp: |
| (WebCore::SearchBuffer::isBadMatch): |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::buildSelectionHighlight): |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::fontDataForCharacter): |
| (WebCore::SegmentedFontData::containsCharacter): |
| (WebCore::SegmentedFontData::isLoading): |
| * platform/graphics/WOFFFileFormat.cpp: |
| (WebCore::convertWOFFToSfnt): |
| * platform/graphics/cairo/GradientCairo.cpp: |
| (WebCore::Gradient::platformGradient): |
| * platform/image-decoders/gif/GIFImageDecoder.cpp: |
| (WebCore::GIFImageDecoder::clearFrameBufferCache): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintFillLayers): |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::firstNamedGridLineBeforePosition): |
| (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): |
| * svg/SVGFontElement.cpp: |
| (WebCore::kerningForPairOfStringsAndGlyphs): |
| * svg/SVGPathByteStream.h: |
| (WebCore::SVGPathByteStream::append): |
| * xml/XPathNodeSet.h: |
| (WebCore::XPath::NodeSet::begin): |
| (WebCore::XPath::NodeSet::end): |
| |
| 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Fix build break EFL port since r176696 |
| https://bugs.webkit.org/show_bug.cgi?id=139215 |
| |
| Unreviewed, build fix for EFL port. |
| |
| * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory. |
| |
| 2014-12-02 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Table captions and table rows are missing from the accessible hierarchy |
| https://bugs.webkit.org/show_bug.cgi?id=139005 |
| |
| Reviewed by Chris Fleizach. |
| |
| Expose table captions and rows via ATK. Accomplishing the former is done |
| by role mapping and inclusion of the object as a child of the table for |
| ATK. Accomplishing the latter was mostly a matter of deleting all the ATK |
| platform code that had been forcing rows to be ignored. Because captions |
| are not being exposed on the Mac, they are now explicitly being ignored |
| for that platform. |
| |
| Tests: accessibility/aria-table-hierarchy.html |
| accessibility/table-hierarchy.html |
| |
| * accessibility/AccessibilityObject.h: |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole. |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children. |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetNChildren): Removed special handling for tables. |
| (webkitAccessibleRefChild): Removed special handling for tables. |
| (webkitAccessibleGetIndexInParent): Removed special handling for table cells. |
| (atkRole): Corrected broken mapping for RowRole. |
| (getNChildrenForTable): Deleted. |
| (getChildForTable): Deleted. |
| (getIndexInParentForCellInRow): Deleted. |
| * accessibility/mac/AccessibilityObjectMac.mm: |
| (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children. |
| |
| 2014-12-02 Alexey Proskuryakov <ap@apple.com> |
| |
| http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests |
| https://bugs.webkit.org/show_bug.cgi?id=139149 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: Added ApplicationCache::deleteAllCaches. |
| |
| * loader/appcache/ApplicationCache.h: |
| * loader/appcache/ApplicationCache.cpp: |
| (WebCore::ApplicationCache::deleteAllCaches): Added. |
| |
| * loader/appcache/ApplicationCacheStorage.cpp: |
| (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to |
| have this function called when there is no database file. |
| |
| * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs, |
| because WebKit style. |
| |
| 2014-12-02 Tim Horton <timothy_horton@apple.com> |
| |
| Remove a SnowLeopard-era quirk for QuickLook |
| https://bugs.webkit.org/show_bug.cgi?id=139208 |
| <rdar://problem/19121822> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::subresourceCachePolicy): |
| * loader/FrameLoaderClient.h: |
| * platform/mac/QuickLookMac.h: Removed. |
| * platform/mac/QuickLookMac.mm: Removed. |
| |
| 2014-12-02 Anders Carlsson <andersca@apple.com> |
| |
| Begin stubbing out a StorageNamespaceProvider class |
| https://bugs.webkit.org/show_bug.cgi?id=139203 |
| |
| Reviewed by Tim Horton. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::localStorage): |
| If the page has a storage namespace provider, get the local storage from it. |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| Move the storage namespace provider from the configuration. |
| |
| (WebCore::Page::setStorageNamespaceProvider): |
| Add a setter. This will be used by setGroupName. |
| |
| * page/Page.h: |
| (WebCore::Page::storageNamespaceProvider): |
| Add a getter. |
| |
| * page/PageConfiguration.cpp: |
| * page/PageConfiguration.h: |
| Add a storage namespace provider member. |
| |
| * storage/StorageNamespaceProvider.cpp: |
| (WebCore::StorageNamespaceProvider::StorageNamespaceProvider): |
| (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider): |
| (WebCore::StorageNamespaceProvider::addPage): |
| (WebCore::StorageNamespaceProvider::removePage): |
| (WebCore::StorageNamespaceProvider::localStorageNamespace): |
| (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace): |
| * storage/StorageNamespaceProvider.h: |
| Stub out a storage namespace provider class. |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| More build fixing. |
| |
| * platform/spi/mac/QuickLookMacSPI.h: |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Another build fix. |
| |
| * platform/spi/mac/NSMenuSPI.h: |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/QuickLookMacSPI.h: |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/QuickLookMacSPI.h: |
| |
| 2014-12-02 Eric Carlson <eric.carlson@apple.com> |
| |
| Unreviewed, fix typo introduced in r176673. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Should use standardQuickLookMenuItem for apps that don't implement customizations |
| https://bugs.webkit.org/show_bug.cgi?id=139193 |
| -and corresponding- |
| rdar://problem/18944696 |
| |
| Reviewed by Anders Carlsson. |
| |
| New SPI headers. |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac/NSMenuSPI.h: Added. |
| * platform/spi/mac/QuickLookMacSPI.h: Added. |
| |
| 2014-12-02 Gavin Barraclough <barraclough@apple.com> |
| |
| Generalize PageActivityAssertionToken |
| https://bugs.webkit.org/show_bug.cgi?id=139106 |
| |
| Reviewed by Sam Weinig. |
| |
| PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler |
| to count user visible activity in progress on the page (currently page load and media playback). |
| Use of an RAII type is prevents a number of possible errors, including double counting a single |
| media element, or failing to decrement the count after a media element has been deallocated. |
| |
| The current implementation has a number of drawbacks that have been addressed by this refactoring: |
| - specific to single use in PageThrottler class - not reusable. |
| - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation |
| are not encapsulated (are in the client type, PageThrottler). |
| - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every |
| increment requires an object allocation. |
| - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this |
| is internally implemented using a reference counted type, resulting in two counters being |
| incremented (one in the PageActivityAssertionToken, one in the PageThrottler). |
| |
| In the reimplementation: |
| - a callback is provided via a lambda function, which allows for easy reuse without a lot of |
| boilerplate code. |
| - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the |
| RefCounter type. |
| - a single count within RefCounter::Count stores the counter value, and also manage the lifetime |
| of this object. |
| - standard RefPtrs are used to manage references to the RefCounter::Count. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| - removed PageActivityAssertionToken.cpp/.h |
| * html/HTMLMediaElement.cpp: |
| - removed PageActivityAssertionToken.h |
| * html/HTMLMediaElement.h: |
| - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count> |
| * loader/FrameLoader.cpp: |
| - removed PageActivityAssertionToken.h |
| * loader/FrameLoader.h: |
| - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count> |
| * loader/SubresourceLoader.cpp: |
| - removed PageActivityAssertionToken.h |
| * loader/SubresourceLoader.h: |
| - removed class PageActivityAssertionToken |
| * page/Page.cpp: |
| - removed PageActivityAssertionToken.h |
| (WebCore::Page::Page): |
| - removed Page* parameter to PageThrottler |
| * page/Page.h: |
| - removed class PageActivityAssertionToken |
| * page/PageActivityAssertionToken.cpp: Removed. |
| * page/PageActivityAssertionToken.h: Removed. |
| - removed PageActivityAssertionToken.cpp/.h |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter. |
| (WebCore::PageThrottler::mediaActivityToken): |
| - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count> |
| (WebCore::PageThrottler::pageLoadActivityToken): |
| - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count> |
| (WebCore::PageThrottler::pageActivityCounterValueDidChange): |
| - merged functionality of incrementActivityCount/decrementActivityCount |
| (WebCore::PageThrottler::incrementActivityCount): Deleted. |
| - see pageActivityCounterValueDidChange |
| (WebCore::PageThrottler::decrementActivityCount): Deleted. |
| - see pageActivityCounterValueDidChange |
| * page/PageThrottler.h: |
| (WebCore::PageThrottler::weakPtr): Deleted. |
| - no longer required; this functionality is now encapsulated within RefCounter. |
| |
| 2014-12-02 Tim Horton <timothy_horton@apple.com> |
| |
| Always show the arrow for text selection services |
| https://bugs.webkit.org/show_bug.cgi?id=139191 |
| <rdar://problem/18903995> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| * page/mac/ServicesOverlayController.mm: |
| Move a few things to DataDetectorsSPI.h. |
| |
| (WebCore::ServicesOverlayController::buildPhoneNumberHighlights): |
| (WebCore::ServicesOverlayController::buildSelectionHighlight): |
| Make use of the real DDHighlightStyle names. |
| Add DDHighlightStyleButtonShowAlways for selection services. |
| |
| 2014-12-02 Anders Carlsson <andersca@apple.com> |
| |
| Fix iOS build. |
| |
| * WebCore.exp.in: |
| |
| 2014-12-02 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)' |
| https://bugs.webkit.org/show_bug.cgi?id=139162 |
| |
| Reviewed by Darin Adler. |
| |
| Add support for calculated values in 'flex' CSS property. |
| Previously, those did not work in release builds, and were hitting |
| an assertion in debug builds. |
| |
| Test: fast/css/flex-calculated-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validCalculationUnit): |
| Do not call RefPtr::release() as we are not interested in the return |
| value. Assign nullptr to the member instead. |
| |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::parseFillPositionComponent): |
| (WebCore::CSSParser::parseCubicBezierTimingFunctionValue): |
| (WebCore::CSSParser::parseFontWeight): |
| (WebCore::CSSParser::parsedDouble): |
| (WebCore::CSSParser::colorIntFromValue): |
| (WebCore::CSSParser::parseColorParameters): |
| (WebCore::CSSParser::parseHSLParameters): |
| (WebCore::CSSParser::parseFlex): |
| * css/CSSParser.h: |
| |
| 2014-12-02 Eric Carlson <eric.carlson@apple.com> |
| |
| Fix logging typo |
| https://bugs.webkit.org/show_bug.cgi?id=139182 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| No new tests, only logging code is changed. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string. |
| |
| 2014-12-02 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the WinINet based network implementation |
| https://bugs.webkit.org/show_bug.cgi?id=139187 |
| |
| Reviewed by Andreas Kling. |
| |
| This code was only used by the Windows CE port. Now it's unused. |
| |
| * platform/network/ResourceHandle.h: |
| * platform/network/ResourceHandleInternal.h: |
| (WebCore::ResourceHandleInternal::ResourceHandleInternal): |
| * platform/network/win/AuthenticationChallenge.h: Removed. |
| * platform/network/win/CookieJarWin.cpp: Removed. |
| * platform/network/win/CredentialStorageWin.cpp: Removed. |
| * platform/network/win/ProxyServerWin.cpp: Removed. |
| * platform/network/win/ResourceError.h: Removed. |
| * platform/network/win/ResourceHandleWin.cpp: Removed. |
| * platform/network/win/ResourceRequest.h: Removed. |
| * platform/network/win/ResourceResponse.h: Removed. |
| * platform/network/win/SocketStreamError.h: Removed. |
| * platform/network/win/SocketStreamHandle.h: Removed. |
| * platform/network/win/SocketStreamHandleWin.cpp: Removed. |
| |
| 2014-12-02 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'column-span' CSS property to 'calc(2 * 3)' |
| https://bugs.webkit.org/show_bug.cgi?id=139170 |
| |
| Reviewed by Darin Adler. |
| |
| Add support for calculated values for 'column-span' and 'column-width' |
| CSS properties. Previously, these were not working in release builds |
| and hitting assertions in debug builds. |
| |
| Tests: fast/css/column-width-calculated-value.html |
| fast/css/webkit-column-span-calculated-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| |
| 2014-12-02 Anders Carlsson <andersca@apple.com> |
| |
| Remove visited link handling from PageGroup |
| https://bugs.webkit.org/show_bug.cgi?id=139185 |
| |
| Reviewed by Sam Weinig. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/HistoryController.cpp: |
| * page/Chrome.cpp: |
| (WebCore::ChromeClient::populateVisitedLinks): Deleted. |
| * page/ChromeClient.h: |
| * page/DefaultVisitedLinkStore.cpp: Removed. |
| * page/DefaultVisitedLinkStore.h: Removed. |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::~Page): |
| (WebCore::Page::visitedLinkStore): |
| (WebCore::Page::setVisitedLinkStore): |
| (WebCore::Page::removeAllVisitedLinks): Deleted. |
| * page/Page.h: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::PageGroup): |
| (WebCore::PageGroup::visitedLinkStore): Deleted. |
| (WebCore::PageGroup::isLinkVisited): Deleted. |
| (WebCore::PageGroup::addVisitedLinkHash): Deleted. |
| (WebCore::PageGroup::addVisitedLink): Deleted. |
| (WebCore::PageGroup::removeVisitedLink): Deleted. |
| (WebCore::PageGroup::removeVisitedLinks): Deleted. |
| (WebCore::PageGroup::removeAllVisitedLinks): Deleted. |
| (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted. |
| * page/PageGroup.h: |
| |
| 2014-12-02 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> |
| |
| Use references instead of pointers in EditingStyle |
| https://bugs.webkit.org/show_bug.cgi?id=137918 |
| |
| Reviewed by Darin Adler. |
| |
| * editing/EditingStyle.cpp: |
| (WebCore::extractPropertyValue): |
| (WebCore::identifierForStyleProperty): |
| (WebCore::textColorFromStyle): |
| (WebCore::backgroundColorFromStyle): |
| (WebCore::textAlignResolvingStartAndEnd): |
| (WebCore::EditingStyle::triStateOfStyle): |
| (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): |
| (WebCore::EditingStyle::prepareToApplyAt): |
| (WebCore::EditingStyle::removeStyleFromRulesAndContext): |
| (WebCore::StyleChange::StyleChange): |
| (WebCore::setTextDecorationProperty): |
| (WebCore::StyleChange::extractTextStyles): |
| (WebCore::diffTextDecorations): |
| (WebCore::fontWeightIsBold): |
| (WebCore::extractPropertiesNotIn): |
| (WebCore::getPropertiesNotIn): |
| * editing/EditingStyle.h: |
| |
| 2014-12-02 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [GStreamer] Media Source sending seek event fails. |
| https://bugs.webkit.org/show_bug.cgi?id=139181 |
| |
| Reviewed by Philippe Normand. |
| |
| There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch, |
| and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails. |
| |
| No new tests needed. |
| |
| * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: |
| (webkit_media_src_init): |
| |
| 2014-12-02 Chris Dumez <cdumez@apple.com> |
| |
| Move 'font-family' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139172 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'font-family' CSS property to the new StyleBuilder by using |
| custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyFontFamily::applyValue): Deleted. |
| (WebCore::ApplyPropertyFontFamily::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyInitialFontFamily): |
| (WebCore::StyleBuilderCustom::applyInheritFontFamily): |
| (WebCore::StyleBuilderCustom::applyValueFontFamily): |
| |
| 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| Fix class was previously declared as a struct warnings |
| https://bugs.webkit.org/show_bug.cgi?id=139131 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| No new tests needed. |
| |
| * platform/graphics/texmap/TextureMapperGL.h: |
| |
| 2014-12-02 Sylvain Galineau <galineau@adobe.com> |
| |
| Missing support for innerHTML on SVGElement |
| https://bugs.webkit.org/show_bug.cgi?id=136903 |
| |
| Reviewed by Dean Jackson. |
| |
| Two parts to this patch: |
| 1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml |
| 2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node |
| |
| The latter part was ported over from Blink. |
| |
| Test: svg/in-html/svg-inner-html.html |
| |
| * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element. |
| * dom/Element.cpp: |
| (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static. |
| (WebCore::Element::innerHTML): Moved from HTMLElement. |
| (WebCore::Element::outerHTML): Moved from HTMLElement. |
| (WebCore::Element::setOuterHTML): Moved from HTMLElement. |
| (WebCore::Element::setInnerHTML): Moved from HTMLElement. |
| * dom/Element.h: |
| * dom/Element.idl: |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::innerHTML): Deleted. |
| (WebCore::HTMLElement::outerHTML): Deleted. |
| (WebCore::HTMLElement::setInnerHTML): Deleted. |
| (WebCore::mergeWithNextTextNode): Deleted. |
| (WebCore::HTMLElement::setOuterHTML): Deleted. |
| * html/HTMLElement.h: |
| * html/HTMLElement.idl: |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement. |
| (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node. |
| (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion. |
| (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node. |
| (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context. |
| (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace. |
| * html/parser/HTMLTreeBuilder.h: |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem. |
| (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added. |
| |
| 2014-11-20 Jeffrey Pfau <jpfau@apple.com> |
| |
| Add cancelable version of willSendRequest |
| https://bugs.webkit.org/show_bug.cgi?id=138987 |
| |
| Reviewed by Anders Carlsson. |
| |
| Covered by existing tests. |
| |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::willSendRequest): |
| * loader/ResourceLoader.h: |
| |
| 2014-12-01 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child() |
| https://bugs.webkit.org/show_bug.cgi?id=139001 |
| |
| Reviewed by Andreas Kling. |
| |
| When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list), |
| we were previously ignoring the arguments. |
| |
| That behavior seems to be confusing for users. We made the proposal to include the selector list |
| like when using :matches(): |
| http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html |
| David Baron also agrees with this behavior: |
| http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html |
| |
| This patch adds the specificity computation. |
| |
| Tests: fast/css/nth-child-specificity-1.html |
| fast/css/nth-child-specificity-2.html |
| fast/css/nth-last-child-specificity-1.html |
| fast/css/nth-last-child-specificity-2.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::matchSelectorList): |
| * css/SelectorChecker.h: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-12-01 Chris Dumez <cdumez@apple.com> |
| |
| Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138938 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties |
| from StyleResolver to the new StyleBuilder by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue): |
| (WebCore::StyleBuilderCustom::applyInitialTextShadow): |
| (WebCore::StyleBuilderCustom::applyInheritTextShadow): |
| (WebCore::StyleBuilderCustom::applyValueTextShadow): |
| (WebCore::StyleBuilderCustom::applyInitialBoxShadow): |
| (WebCore::StyleBuilderCustom::applyInheritBoxShadow): |
| (WebCore::StyleBuilderCustom::applyValueBoxShadow): |
| (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow): |
| (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow): |
| (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-12-01 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system |
| https://bugs.webkit.org/show_bug.cgi?id=139085 |
| |
| Reviewed by Andreas Kling. |
| |
| * PlatformEfl.cmake: |
| Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break. |
| |
| 2014-12-01 Zalan Bujtas <zalan@apple.com> |
| |
| Twitter avatar moves when hovering/unhovering the "follow" button. |
| https://bugs.webkit.org/show_bug.cgi?id=139147 |
| rdar://problem/19096508 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not |
| get repositioned when their inline box wrappers move. |
| Ideally, out of flow positioned renderers do not have inline wrappers by the time we start |
| placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()), |
| they are still part of the inline box tree. |
| This patch prevents those renderer boxes from getting positioned as part of the inline box placement. |
| They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine(). |
| |
| Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html |
| |
| * rendering/InlineBox.cpp: |
| (WebCore::InlineBox::adjustPosition): |
| |
| 2014-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla |
| https://bugs.webkit.org/show_bug.cgi?id=139164 |
| <rdar://problem/19107247> |
| |
| Reviewed by Beth Dakin. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::createWithSelectionInFrame): |
| Null-check the ImageBuffer in addition to the Image. |
| |
| 2014-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove IWebCookieManager on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=139144 |
| |
| Reviewed by Sam Weinig. |
| |
| Remove code that handles overriding the cookie storage. |
| |
| * platform/network/NetworkStorageSession.h: |
| * platform/network/cf/NetworkStorageSessionCFNet.cpp: |
| (WebCore::cookieStorageOverride): Deleted. |
| (WebCore::overrideCookieStorage): Deleted. |
| (WebCore::overridenCookieStorage): Deleted. |
| * platform/network/cf/ResourceHandleCFNet.cpp: |
| (WebCore::ResourceHandle::createCFURLConnection): |
| |
| 2014-12-01 Dean Jackson <dino@apple.com> |
| |
| [iOS Media] Slider knob should not have a border |
| https://bugs.webkit.org/show_bug.cgi?id=139160 |
| <rdar://problem/19075185> |
| |
| Reviewed by Jer Noble. |
| |
| The change in r175715 required adding !important to a bunch |
| of rules for pseudo elements. The border width of slider knobs |
| for media controls should be zero, so add an !important there. |
| |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change |
| border to border-width and force it to zero. |
| |
| 2014-12-01 Chris Dumez <cdumez@apple.com> |
| |
| Take into consideration canvas drawing for throttling DOM timers |
| https://bugs.webkit.org/show_bug.cgi?id=139140 |
| <rdar://problem/19102218> |
| |
| Reviewed by Andreas Kling. |
| |
| Take into consideration canvas drawing for throttling DOM timers so |
| that: |
| - Timers drawing on a visible canvas can no longer get throttled. |
| This fixes the following sites: |
| - http://hint.fm/wind/ |
| - http://radar.weather.gov/Conus/full_loop.php |
| - Timers that are drawing on a canvas that is not user observable |
| now get throttled, thus using less CPU. As an example, on |
| http://hint.fm/wind/, CPU usage is at 110% when the canvas is |
| inside the viewport on my machine. CPU usage would remain at |
| 110% when scrolling the canvas outside the viewport before this |
| patch. After this patch, the CPU usage goes down to 5% when |
| the canvas is outside the viewport. |
| |
| Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html |
| fast/canvas/canvas-outside-viewport-timer-throttling.html |
| |
| * bindings/js/JSCSSStyleDeclarationCustom.cpp: |
| (WebCore::JSCSSStyleDeclaration::putDelegate): |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged): |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement): |
| (WebCore::DOMTimer::scriptDidCauseElementRepaint): |
| (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted. |
| (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted. |
| * page/DOMTimer.h: |
| |
| 2014-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=139158 |
| |
| Reviewed by Simon Fraser. |
| |
| RenderingContexts are only created if the primary SimpleFontData is an SVG font, |
| but dashesForIntersectionWithRect() uses the first character's SimpleFontData. |
| One might be an SVG font but the other might not be. |
| |
| Note that this brittle design will be fixed with the SVG -> OTF translator. |
| |
| Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html |
| |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::dashesForIntersectionsWithRect): |
| |
| 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Fix not always calling mediaPlayer seek. |
| https://bugs.webkit.org/show_bug.cgi?id=139139 |
| |
| Reviewed by Jer Noble. |
| |
| Original comment states that media source shall always be notified of seek if it's not closed. |
| |
| No new tests needed. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::seekTimerFired): |
| |
| 2014-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Implement yellow highlight for WebKit1 data detectors |
| https://bugs.webkit.org/show_bug.cgi?id=138956 |
| <rdar://problem/18992185> |
| |
| Reviewed by Beth Dakin. |
| |
| * page/TextIndicator.cpp: |
| (WebCore::TextIndicator::createWithSelectionInFrame): |
| (WebCore::TextIndicator::TextIndicator): |
| * page/TextIndicator.h: |
| (WebCore::TextIndicator::selectionRectInScreenCoordinates): |
| (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): |
| (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted. |
| (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted. |
| Store TextIndicator rects in screen coordinates, since that's what we |
| want anyway, and this makes it easier to share this code between the WebKits. |
| |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (WebCore::TextIndicatorWindow::setTextIndicator): |
| Avoid some rect conversion because the TextIndicator rects are already in screen coordinates. |
| |
| 2014-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove old site specific quirks code that was added in 2009 |
| https://bugs.webkit.org/show_bug.cgi?id=139141 |
| |
| Reviewed by Antti Koivisto. |
| |
| * platform/network/NetworkingContext.h: |
| * platform/network/ResourceHandleInternal.h: |
| (WebCore::ResourceHandleInternal::ResourceHandleInternal): |
| * platform/network/mac/ResourceHandleMac.mm: |
| (WebCore::ResourceHandle::start): |
| |
| 2014-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: DOMExceptions do not show the error message string in Pause Reason section |
| https://bugs.webkit.org/show_bug.cgi?id=138988 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/WebInjectedScriptHost.cpp: |
| (WebCore::WebInjectedScriptHost::type): |
| Give all DOM Exception types the "error" RemoteObject subtype. |
| |
| 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm. |
| https://bugs.webkit.org/show_bug.cgi?id=139075. |
| |
| Reviewed by Jer Noble. |
| |
| Specification requires from us to unset timestamps for trackBuffers |
| during abort() method. |
| |
| Test: media/media-source/media-source-append-nonsync-sample-after-abort.html |
| |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::resetParserState): |
| (WebCore::SourceBuffer::abort): |
| * Modules/mediasource/SourceBuffer.h: |
| |
| 2014-12-01 Chris Dumez <cdumez@apple.com> |
| |
| Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle |
| https://bugs.webkit.org/show_bug.cgi?id=138999 |
| |
| Reviewed by Sam Weinig. |
| |
| Transform StyleBuilderCustom into a class and mark it as a friend of |
| RenderStyle. This is needed because some of the StyleBuilderCustom |
| functions need to access RenderStyle's private API. |
| |
| No new tests, no behavior change. |
| |
| * css/StyleBuilderCustom.h: |
| Move functions from StyleBuilderFunctions namespace to |
| StyleBuilderCustom class. |
| |
| * css/makeprop.pl: |
| Use StyleBuilderCustom scope instead of StyleBuilderFunctions for |
| custom implementation. |
| |
| * rendering/style/RenderStyle.h: |
| Mark StyleBuilderCustom class as a friend, similarly to what was |
| already done for DeprecatedStyleBuilder and StyleResolver. |
| |
| 2014-11-17 Oliver Hunt <oliver@apple.com> |
| |
| Make sure range based iteration of Vector<> still receives bounds checking |
| https://bugs.webkit.org/show_bug.cgi?id=138821 |
| |
| Reviewed by Mark Lam. |
| |
| There are a few uses of begin()/end() that explicitly require pointers, |
| so we use getPtr() to extract the underlying pointer generically. |
| |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneDeserializer::deserializeString): |
| * editing/TextIterator.cpp: |
| (WebCore::SearchBuffer::isBadMatch): |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::buildSelectionHighlight): |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::fontDataForCharacter): |
| (WebCore::SegmentedFontData::containsCharacter): |
| (WebCore::SegmentedFontData::isLoading): |
| * platform/graphics/WOFFFileFormat.cpp: |
| (WebCore::convertWOFFToSfnt): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintFillLayers): |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::firstNamedGridLineBeforePosition): |
| (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): |
| * svg/SVGFontElement.cpp: |
| (WebCore::kerningForPairOfStringsAndGlyphs): |
| * svg/SVGPathByteStream.h: |
| (WebCore::SVGPathByteStream::append): |
| * xml/XPathNodeSet.h: |
| (WebCore::XPath::NodeSet::begin): |
| (WebCore::XPath::NodeSet::end): |
| |
| 2014-11-29 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Fix a build warning when CSS_SCROLL_SNAP is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=139084 |
| |
| Reviewed by Andrei Bucur. |
| |
| Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class. |
| |
| * rendering/style/StyleScrollSnapPoints.cpp: |
| (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted(). |
| |
| 2014-11-29 Sam Weinig <sam@webkit.org> |
| |
| Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139104 |
| |
| Reviewed by Anders Carlsson. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueWebkitLocale): |
| (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode): |
| (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation): |
| (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf): |
| (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-29 Anders Carlsson <andersca@apple.com> |
| |
| Add an EmptyVisitedLinkStore implementation |
| https://bugs.webkit.org/show_bug.cgi?id=139102 |
| |
| Reviewed by Sam Weinig. |
| |
| * loader/EmptyClients.cpp: |
| (WebCore::fillWithEmptyClients): |
| * loader/EmptyClients.h: |
| |
| 2014-11-28 Sam Weinig <sam@webkit.org> |
| |
| Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139053 |
| |
| Reviewed by Andreas Kling. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertInitialLetter): |
| (WebCore::StyleBuilderConverter::convertTextStrokeWidth): |
| (WebCore::StyleBuilderConverter::convertLineBoxContain): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-26 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] HTTP source element lacks SCHEDULING query support |
| https://bugs.webkit.org/show_bug.cgi?id=139064 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| No new tests, covered by http/tests/media/hls. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING |
| queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin |
| to configure itself for adaptive streaming playback scenarios. |
| |
| 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Remove E_Dbus dependency |
| https://bugs.webkit.org/show_bug.cgi?id=136355 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8. |
| Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface. |
| This patch replaces E_Dbus implementation to Eldbus. |
| |
| * PlatformEfl.cmake: |
| * platform/efl/BatteryProviderEfl.cpp: |
| (WebCore::BatteryProviderEfl::BatteryProviderEfl): |
| (WebCore::BatteryProviderEfl::~BatteryProviderEfl): |
| (WebCore::BatteryProviderEfl::stopUpdating): |
| (WebCore::batteryProperties): |
| (WebCore::batteryPropertiesChanged): |
| (WebCore::BatteryProviderEfl::deviceTypeCallback): |
| (WebCore::BatteryProviderEfl::enumerateDevices): |
| (WebCore::BatteryProviderEfl::startUpdating): |
| (WebCore::BatteryProviderEfl::setBatteryStatus): |
| (WebCore::BatteryProviderEfl::timerFired): Deleted. |
| (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted. |
| (WebCore::BatteryProviderEfl::setBatteryClient): Deleted. |
| * platform/efl/BatteryProviderEfl.h: |
| (WebCore::BatteryProviderEfl::connection): |
| (WebCore::BatteryProviderEfl::setSignalHandler): |
| (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted. |
| |
| 2014-11-27 Antti Koivisto <antti@apple.com> |
| |
| CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108 |
| https://bugs.webkit.org/show_bug.cgi?id=139057 |
| |
| Reviewed by Anders Carlsson. |
| |
| No test, don't know how to repro. |
| |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer. |
| |
| 2014-11-27 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Meter and Option elements do not expose their id attribute |
| https://bugs.webkit.org/show_bug.cgi?id=139017 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| The options in a collapsed select element lack a node, so get the id |
| attribute from the associated action element. In the case of a meter, |
| the meter element itself is not exposed; its RenderMeter is instead. |
| So associate the meter element's id with the exposed RenderMeter. |
| |
| No new tests. Instead, updated existing expectations to reflect the fix. |
| |
| * accessibility/AccessibilityObject.h: |
| * accessibility/AccessibilityProgressIndicator.cpp: |
| (WebCore::AccessibilityProgressIndicator::element): |
| * accessibility/AccessibilityProgressIndicator.h: |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetAttributes): |
| |
| 2014-11-27 Anders Carlsson <andersca@apple.com> |
| |
| Add a Page::setVisitedLinkStore member function |
| https://bugs.webkit.org/show_bug.cgi?id=139065 |
| |
| Reviewed by Antti Koivisto. |
| |
| This will be used in a subsequent commit. |
| |
| * WebCore.exp.in: |
| * page/Page.cpp: |
| (WebCore::Page::setVisitedLinkStore): |
| * page/Page.h: |
| |
| 2014-11-25 Sukolsak Sakshuwong <sukolsak@gmail.com> |
| |
| Add parsing for :dir() |
| https://bugs.webkit.org/show_bug.cgi?id=138932 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Add support for parsing :dir() pseudo class. The implementation of selector |
| matching will be in a follow-up patch. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectFunctionTypeToken): |
| * css/CSSSelector.cpp: |
| (WebCore::appendPseudoClassFunctionTail): |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorPseudoClassAndCompatibilityElementMap.in: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-11-25 Anders Carlsson <andersca@apple.com> |
| |
| Remove user content handling from PageGroup |
| https://bugs.webkit.org/show_bug.cgi?id=139051 |
| |
| Reviewed by Antti Koivisto. |
| |
| Remove m_userContentController from PageGroup and the related functions and symbol exports. |
| |
| * WebCore.exp.in: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::PageGroup): |
| (WebCore::PageGroup::~PageGroup): |
| (WebCore::PageGroup::addPage): |
| (WebCore::PageGroup::removePage): |
| (WebCore::PageGroup::addUserScriptToWorld): Deleted. |
| (WebCore::PageGroup::addUserStyleSheetToWorld): Deleted. |
| (WebCore::PageGroup::removeUserScriptFromWorld): Deleted. |
| (WebCore::PageGroup::removeUserStyleSheetFromWorld): Deleted. |
| (WebCore::PageGroup::removeUserScriptsFromWorld): Deleted. |
| (WebCore::PageGroup::removeUserStyleSheetsFromWorld): Deleted. |
| (WebCore::PageGroup::removeAllUserContent): Deleted. |
| * page/PageGroup.h: |
| |
| 2014-11-25 Anders Carlsson <andersca@apple.com> |
| |
| Add a user content controller to WebViewGroup and use it for user content |
| https://bugs.webkit.org/show_bug.cgi?id=139043 |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebCore.exp.in: |
| Export symbols. |
| |
| * page/Page.cpp: |
| (WebCore::Page::setUserContentController): |
| Invalidate the injected style cache when setting a new user content controller. |
| |
| 2014-11-25 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] gstmpegts is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=139039 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/graphics/gstreamer/GStreamerUtilities.cpp: |
| (WebCore::initializeGStreamer): Initialize the gstmpegts library. |
| |
| 2014-11-24 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| Fix unused variable warning in Biquad.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=139031 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests needed. |
| |
| * platform/audio/Biquad.cpp: |
| |
| 2014-11-24 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| Remove Qt cruft related to tap higlighting |
| https://bugs.webkit.org/show_bug.cgi?id=139030 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests needed. |
| |
| * CMakeLists.txt: |
| * page/GestureTapHighlighter.cpp: Removed. |
| * page/GestureTapHighlighter.h: Removed. |
| |
| 2014-11-24 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value |
| https://bugs.webkit.org/show_bug.cgi?id=139013 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Fix the parsing and re-serialization of :lang pseudo class selector when |
| it has multiple arguments with same value e.g. :lang(en, en, en). Previously, |
| given :lang(en, en, en) selector, it was parsed and reserialized |
| as :lang(enenen) instead of :lang(en, en, en) |
| |
| Related test on parsing and re-serialization of css selectors is updated. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::appendArgumentList): |
| |
| 2014-11-24 Zalan Bujtas <zalan@apple.com> |
| |
| Fix r176527. Iterate through the text renderers. |
| https://bugs.webkit.org/show_bug.cgi?id=139007 |
| |
| Reviewed by Antti Koivisto. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| |
| 2014-11-24 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak |
| https://bugs.webkit.org/show_bug.cgi?id=139035 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move new line logic to FlowContents class. |
| This is in preparation to support <br>. |
| |
| No change in functionality. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::TextFragment::TextFragment): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::nextFragment): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::isNewline): |
| (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted. |
| |
| 2014-11-24 Benjamin Poulain <benjamin@webkit.org> |
| |
| Move :placeholder-shown out of experimental |
| https://bugs.webkit.org/show_bug.cgi?id=138998 |
| |
| Reviewed by Andreas Kling. |
| |
| The pseudo class :placeholder-shown is used by the inspector, disabling it breaks |
| the sidebar. |
| |
| The implementation has been stable for a while, we can move it to stable. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorPseudoClassAndCompatibilityElementMap.in: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown): |
| |
| 2014-11-24 Antti Koivisto <antti@apple.com> |
| |
| Avoid String concatenation with line break iterator |
| https://bugs.webkit.org/show_bug.cgi?id=139034 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Test: fast/text/simple-lines-multiple-renderers-break.html |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::initializeSegments): |
| |
| Include String too so it doesn't need to be fetched from the renderer. |
| |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): |
| |
| Make this iterative instead of recursive. |
| Uset setPriorContext to provide previous characters instead of concatenating |
| the string from all the previous segments. |
| |
| (WebCore::SimpleLineLayout::findNextNonWhitespace): |
| (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): |
| |
| Search using segments instead of the concatenated string. |
| |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): |
| (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow): |
| (WebCore::SimpleLineLayout::FlowContents::runWidth): |
| (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted. |
| (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted. |
| (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted. |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::characterAt): |
| (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition): |
| (WebCore::SimpleLineLayout::FlowContents::segmentForPosition): |
| |
| 2014-11-24 Zalan Bujtas <zalan@apple.com> |
| |
| SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout. |
| https://bugs.webkit.org/show_bug.cgi?id=139007 |
| |
| Reviewed by Antti Koivisto. |
| |
| Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html |
| fast/text/simple-line-layout-multiple-renderers-with-float.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| |
| 2014-11-22 Sam Weinig <sam@webkit.org> |
| |
| Move the '-webkit-box-reflext' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=139008 |
| |
| Reviewed by Anders Carlsson. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertReflection): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-24 Antti Koivisto <antti@apple.com> |
| |
| Remove unused Style struct from SimpleLineLayout.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=139027 |
| |
| Reviewed by Sam Weinig. |
| |
| It was moved to FlowContents. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::Style::Style): Deleted. |
| |
| 2014-11-24 peavo@outlook.com <peavo@outlook.com> |
| |
| [Curl] Compile error in ResourceHandleManager.cpp. |
| https://bugs.webkit.org/show_bug.cgi?id=139026 |
| |
| Reviewed by Brent Fulgham. |
| |
| The parameter types of the constructor of the Timer class has changed. |
| |
| * platform/network/curl/ResourceHandleManager.cpp: |
| (WebCore::ResourceHandleManager::ResourceHandleManager): |
| (WebCore::ResourceHandleManager::downloadTimerCallback): |
| * platform/network/curl/ResourceHandleManager.h: |
| |
| 2014-11-24 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Unskip the skipped ATK tests in roles-exposed.html |
| https://bugs.webkit.org/show_bug.cgi?id=139016 |
| |
| Reviewed by Chris Fleizach. |
| |
| There was one test that could not be unskipped without making a change |
| for that one to pass: mapping DocumentRegionRole to ATK_ROLE_PANEL. The |
| rest of the "fix" is just unskipping tests for ATK and updating the test |
| expectations. |
| |
| No new tests needed. |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| |
| 2014-11-23 Antti Koivisto <antti@apple.com> |
| |
| Use segment vector for FlowContents |
| https://bugs.webkit.org/show_bug.cgi?id=139015 |
| |
| Reviewed by Zalan Bujtas. |
| |
| And FlowContents::Segment struct and use it. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): |
| |
| Use segments. |
| If there is only one segment there is nothing to do. Bail out. |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::initializeSegments): |
| |
| Move initialization to a function so m_segments can be const. |
| Don't add empty end segment, handle the end case in code. |
| |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): |
| |
| Simplify and use segments. |
| |
| (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): |
| |
| Replace hand-rolled binary search with std::lower_bounds. |
| |
| (WebCore::SimpleLineLayout::FlowContents::segmentForRenderer): |
| (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): |
| (WebCore::SimpleLineLayout::FlowContents::renderer): Deleted. |
| (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): Deleted. |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::hasOneSegment): |
| (WebCore::SimpleLineLayout::FlowContents::length): |
| (WebCore::SimpleLineLayout::FlowContents::isEnd): |
| (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): Deleted. |
| |
| Renamed. |
| |
| (WebCore::SimpleLineLayout::FlowContents::segmentForPosition): |
| |
| Inline the fast path. |
| |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer): |
| |
| 2014-11-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Extend WKRenderObject and WKRenderLayer with some more useful data |
| https://bugs.webkit.org/show_bug.cgi?id=139006 |
| |
| Reviewed by Sam Weinig. |
| |
| Export WebCore::RenderLayerBacking::backingStoreMemoryEstimate() const. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-22 Antti Koivisto <antti@apple.com> |
| |
| Make locale part of the SimpleLineLayout::FlowContent::Style |
| https://bugs.webkit.org/show_bug.cgi?id=139004 |
| |
| Reviewed by Zalan Bujtas. |
| |
| That's the only part of style not extracted out of RenderStyle in the constructor. |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::Style::Style): |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| |
| Also remove RenderBlockFlow member since it is now unused. |
| |
| (WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted. |
| |
| Move to cpp. |
| |
| 2014-11-22 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Accessible names missing for imagemap images and links |
| https://bugs.webkit.org/show_bug.cgi?id=127288 |
| |
| Reviewed by Chris Fleizach. |
| |
| Return the alt text, if present, for the accessible name for image maps |
| and image map links for ATK. Also expose the accessible element with |
| ATK_ROLE_IMAGE_MAP instead of ATK_ROLE_IMAGE. |
| |
| Test: accessibility/image-with-alt-and-map.html |
| |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isImageMap): |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetName): |
| (atkRole): |
| |
| 2014-11-22 Andreas Kling <akling@apple.com> |
| |
| Remove unused Document::ignoreAutofocus(). |
| <https://webkit.org/b/139002> |
| |
| Reviewed by Antti Koivisto. |
| |
| No one ever actually changes this flag, so let's remove it. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| (WebCore::Document::ignoreAutofocus): Deleted. |
| (WebCore::Document::setIgnoreAutofocus): Deleted. |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::shouldAutofocus): |
| |
| 2014-11-22 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176459 to fix GTK build. |
| |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): |
| (WebCore::ScrollAnimatorNone::requestAnimationTimerFired): |
| * platform/ScrollAnimatorNone.h: |
| |
| 2014-11-22 Andreas Kling <akling@apple.com> |
| |
| Convert PassRefPtr return types to RefPtr. |
| <https://webkit.org/b/138995> |
| |
| Reviewed by Anders Carlsson. |
| |
| Convert an assortment of DOM and HTML related functions |
| to return RefPtr instead of PassRefPtr. |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed iOS build fix; move new symbols out of Mac-only exports. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-21 Timothy Horton <timothy_horton@apple.com> |
| |
| Remove a file that r176499 presumably did not mean to add. |
| |
| * WebCore.exp.in.orig: Removed. |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| Support multiple signatures of diagnostic logging. |
| https://bugs.webkit.org/show_bug.cgi?id=138690 |
| |
| Reviewed by Anders Carlsson. |
| |
| Pull logDiagnosticMessage() out of ChromeClient and make a new client interface, |
| DiagnosticLoggingClient, which supports multiple kinds of diagnostic logging, |
| namely: simple logging without a parameter, logging with a success parameter, and |
| logging with a generic string value parameter. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): Use DiagnosticLoggingClient. |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto. |
| * loader/SubframeLoader.cpp: |
| (WebCore::logPluginRequest): Ditto. |
| * page/ChromeClient.h: |
| (WebCore::ChromeClient::logDiagnosticMessage): Deleted. |
| * page/DiagnosticLoggingClient.h: |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Added. |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Added. |
| (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Added. |
| (WebCore::DiagnosticLoggingClient::~DiagnosticLoggingClient): Empty destructor. |
| |
| Rename Page::PageClient to PageConfiguration, and pass that configuration from |
| Page into MainFrame upon construction. |
| |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::InspectorOverlay::overlayPage): Use PageConfiguration instead of PageClients. |
| * loader/EmptyClients.cpp: |
| (WebCore::fillWithEmptyClients): Ditto. |
| * loader/EmptyClients.h: |
| * page/MainFrame.cpp: |
| (WebCore::MainFrame::MainFrame): Pass loaderClientForMainFrame through to the |
| Frame constructor. |
| (WebCore::MainFrame::create): Takes a PageConfiguration. |
| * page/MainFrame.h: |
| (WebCore::MainFrame::diagnosticLoggingClient): Simple accessor. |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::PageClients::PageClients): Deleted. |
| (WebCore::Page::PageClients::~PageClients): Deleted. |
| * page/Page.h: |
| * page/PageConfiguration.cpp: Added. |
| (WebCore::PageConfiguration::PageConfiguration): Renamed from PageClients(). |
| (WebCore::PageConfiguration::~PageConfiguration): Renamed from ~PageClients(). |
| * page/PageConfiguration.h: Added. |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::dataChanged): Use PageConfiguration instead of PageClients. |
| |
| Add new files and symbols to the project. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Throttled DOMTimers can prevent their document from being garbage collected |
| https://bugs.webkit.org/show_bug.cgi?id=138915 |
| |
| Reviewed by Andreas Kling. |
| |
| Throttled DOMTimers whose interval depend on viewport changes would |
| keep a Vector of elements outside viewport causing them to be throttled |
| so that we could check later on (upon scroll or layout) if those |
| elements are still outside viewport. The issue is that these elements |
| could potentially be removed from the document (and destroyed) after |
| the timer has fired. To handle this, DOMTimer was ref'ing the |
| elements. Unfortunately, this was causing us to leak the document |
| as the elements in the Vector would keep the document alive. |
| |
| To handle this issue, this patch updates the DOMTimer Vector to use |
| weak pointers. The WeakPtrFactory is stored in ElementRareData to |
| avoid wasting memory for all kinds of Elements (it is a fair assumption |
| that the number of elements whose style is animated via timers is low). |
| |
| Test: fast/dom/throttled-timer-running-on-document-destruction.html |
| |
| * dom/Element.cpp: |
| (WebCore::Element::createWeakPtr): |
| * dom/Element.h: |
| * dom/ElementRareData.cpp: |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::weakPtrFactory): |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimerFireState::elementsChangedOutsideViewport): |
| (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange): |
| * page/DOMTimer.h: |
| |
| 2014-11-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r176459. |
| |
| r176459 removed Timer parameter in timer callbacks only for Mac port. |
| So this patch applies it to remaining classes for EFL port. |
| |
| No new tests, fix build break. |
| |
| * Modules/mediastream/RTCDTMFSender.cpp: |
| (WebCore::RTCDTMFSender::RTCDTMFSender): |
| * Modules/mediastream/RTCDataChannel.cpp: |
| (WebCore::RTCDataChannel::RTCDataChannel): |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::RTCPeerConnection): |
| * Modules/vibration/Vibration.cpp: |
| (WebCore::Vibration::Vibration): |
| (WebCore::Vibration::timerFired): |
| * Modules/vibration/Vibration.h: |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::GCController): |
| * platform/efl/BatteryProviderEfl.cpp: |
| (WebCore::BatteryProviderEfl::BatteryProviderEfl): |
| (WebCore::BatteryProviderEfl::timerFired): |
| * platform/efl/BatteryProviderEfl.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
| (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| * platform/graphics/texmap/TextureMapper.cpp: |
| (WebCore::BitmapTexturePool::BitmapTexturePool): |
| (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired): |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: |
| (WebCore::CompositingCoordinator::CompositingCoordinator): |
| (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired): |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.h: |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer): |
| (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: |
| * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: |
| (WebCore::CoordinatedImageBacking::CoordinatedImageBacking): |
| (WebCore::CoordinatedImageBacking::clearContentsTimerFired): |
| * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: |
| * platform/mock/DeviceMotionClientMock.cpp: |
| (WebCore::DeviceMotionClientMock::DeviceMotionClientMock): |
| (WebCore::DeviceMotionClientMock::timerFired): |
| * platform/mock/DeviceMotionClientMock.h: |
| * platform/mock/TimerEventBasedMock.h: |
| (WebCore::TimerEvent::TimerEvent): |
| (WebCore::TimerEvent::timerFired): |
| |
| 2014-11-21 Benjamin Poulain <bpoulain@apple.com> |
| |
| Start using the new :not() and :matches() in the Web Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=138978 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| There are only minor pending issues on :not() and :matches(). The feedback |
| has only been positive so far. It is time to move them out the experimental |
| flag. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectFunctionTypeToken): |
| * css/CSSSelector.cpp: |
| (WebCore::simpleSelectorSpecificityInternal): |
| (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): |
| (WebCore::appendSelectorList): |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::determineLinkMatchType): |
| * css/SelectorPseudoClassAndCompatibilityElementMap.in: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, iOS build fix after r176462. |
| |
| Export a few extra symbols. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Properties in CSSPropertyNames.in should use the new StyleBuilder by default |
| https://bugs.webkit.org/show_bug.cgi?id=138983 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch makes using the new StyleBuilder the default and drops the |
| [NewStyleBuilder] option as a result. A new [LegacyStyleBuilder] option |
| is introduced for CSS properties that are not generated in the new |
| StyleBuilder yet. |
| |
| * css/CSSPropertyNames.in: |
| * css/SVGCSSPropertyNames.in: |
| * css/makeprop.pl: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Regression(r176202): line-height is wrong on marco.org |
| https://bugs.webkit.org/show_bug.cgi?id=138970 |
| |
| Reviewed by Simon Fraser. |
| |
| After r176202, on iOS with IOS_TEXT_AUTOSIZING enabled, we would |
| multiply the lineHeight by RenderStyle::textSizeAdjust()::multiplier() |
| unconditionally. However, we're only supposed to do so if |
| RenderStyle::textSizeAdjust()::isPercentage() returns true. This |
| patch reintroduces the textSizeAdjust().isPercentage() check that was |
| inadvertently dropped when refactoring the code to be shared between |
| iOS and OS X. |
| |
| Additionally, the multiplier is only supposed the be applied if the |
| input CSSPrimitiveValue is a Length or a Number. However, after |
| r176202, we would apply the multiplier if the CSSPrimitiveValue is |
| a Percentage or a Number. This patch updates the code to match the |
| behavior prior to r176202. |
| |
| Test: fast/css/line-height-text-autosizing.html |
| |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::convertLineHeight): |
| (WebCore::StyleBuilderFunctions::applyValueLineHeight): |
| |
| 2014-11-21 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const |
| https://bugs.webkit.org/show_bug.cgi?id=138905 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| The crash log indicates that m_renderer is null at the time we ask ancestorsOfType(). |
| This is more of a speculative fix, since I am not entirely sure m_renderer is null when we enter the method. |
| |
| Unable to determine cause of crash or how to reproduce on demand. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored): |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorUnknown. |
| https://bugs.webkit.org/show_bug.cgi?id=138986 |
| |
| Reviewed by Eric Carlson. |
| |
| When we recieve an error with the code AVErrorUnknown, look for an underlying error from CoreMedia (or another |
| lower-level framework) with a (presumably) more informative error code, and return that code instead. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::systemCodeForError): |
| (WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError): |
| (WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError): |
| |
| 2014-11-21 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Unclear that user and password are autofilled, no VoiceOver version of the yellow outline. |
| https://bugs.webkit.org/show_bug.cgi?id=138904 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Add an attribute that marks when a text field is auto-filled. |
| |
| Test: accessibility/auto-filled-value.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::isValueAutofilled): |
| * accessibility/AccessibilityObject.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| |
| 2014-11-21 Andreas Kling <akling@apple.com> |
| |
| RenderElement::removeChild() doesn't need a return value. |
| <https://webkit.org/b/138985> |
| |
| Reviewed by Pantti Koivisto. |
| |
| Nobody uses the return value from RenderElement::removeChild(). |
| Change it to return void and remove all the unnecessary plumbing. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::removeChild): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::removeChild): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderButton.cpp: |
| (WebCore::RenderButton::removeChild): |
| * rendering/RenderButton.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::removeChild): |
| (WebCore::RenderElement::removeChildInternal): |
| * rendering/RenderElement.h: |
| * rendering/RenderMenuList.cpp: |
| (RenderMenuList::removeChild): |
| * rendering/RenderMenuList.h: |
| * rendering/RenderRuby.cpp: |
| (WebCore::RenderRubyAsInline::removeChild): |
| (WebCore::RenderRubyAsBlock::removeChild): |
| * rendering/RenderRuby.h: |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::removeChild): |
| * rendering/RenderRubyRun.h: |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring): |
| (WebCore::RenderMathMLRootWrapper::removeChild): |
| * rendering/mathml/RenderMathMLRoot.h: |
| * rendering/mathml/RenderMathMLScripts.cpp: |
| (WebCore::RenderMathMLScripts::removeChildInternal): |
| (WebCore::RenderMathMLScripts::removeChild): |
| (WebCore::RenderMathMLScriptsWrapper::removeChildInternal): |
| (WebCore::RenderMathMLScriptsWrapper::removeChild): |
| * rendering/mathml/RenderMathMLScripts.h: |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::removeChild): |
| * rendering/svg/RenderSVGContainer.h: |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::removeChild): |
| * rendering/svg/RenderSVGInline.h: |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::removeChild): |
| * rendering/svg/RenderSVGRoot.h: |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::removeChild): |
| * rendering/svg/RenderSVGText.h: |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able |
| https://bugs.webkit.org/show_bug.cgi?id=138960 |
| <rdar://problem/19056715> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add some DataDetectors SPI. |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Random crashes inside media libraries when creating then destroying media quickly. |
| https://bugs.webkit.org/show_bug.cgi?id=138980 |
| |
| Reviewed by Eric Carlson. |
| |
| Speculative fix for random crashes in the layout tests which occur randomly but regularly. The theory is |
| that creating-then-destroying our media objects too quickly triggers crashes deep within the media frameworks |
| when their initialization threads don't have a chance to complete before the main player object is destroyed. |
| Test out this theory by delaying the destruction of the AVPlayer object for 1s after its owner is destroyed. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Delay of 1-2s after the first paint of a video frame. |
| https://bugs.webkit.org/show_bug.cgi?id=138979 |
| |
| Reviewed by Eric Carlson. |
| |
| Only bother waiting for a signal that a new image is ready when the image isn't ready in the first place. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): |
| |
| 2014-11-21 Glenn Adams <glenn@skynav.com> and Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics. |
| https://bugs.webkit.org/show_bug.cgi?id=89235 |
| |
| Reviewed by Eric Seidel and Dave Hyatt. |
| |
| This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break), |
| and enables testing on (apple) mac ports. Follow on patches will enable these tests on |
| other ports as they are incrementally verified. |
| |
| See also wiki documentation at: |
| [1] http://trac.webkit.org/wiki/LineBreaking |
| [2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping |
| |
| Tests: css3/line-break/line-break-auto-centered.html |
| css3/line-break/line-break-auto-half-kana.html |
| css3/line-break/line-break-auto-hyphens.html |
| css3/line-break/line-break-auto-inseparables.html |
| css3/line-break/line-break-auto-iteration-marks.html |
| css3/line-break/line-break-auto-postfixes.html |
| css3/line-break/line-break-auto-prefixes.html |
| css3/line-break/line-break-auto-sound-marks.html |
| css3/line-break/line-break-loose-centered.html |
| css3/line-break/line-break-loose-half-kana.html |
| css3/line-break/line-break-loose-hyphens.html |
| css3/line-break/line-break-loose-inseparables.html |
| css3/line-break/line-break-loose-iteration-marks.html |
| css3/line-break/line-break-loose-postfixes.html |
| css3/line-break/line-break-loose-prefixes.html |
| css3/line-break/line-break-loose-sound-marks.html |
| css3/line-break/line-break-normal-centered.html |
| css3/line-break/line-break-normal-half-kana.html |
| css3/line-break/line-break-normal-hyphens.html |
| css3/line-break/line-break-normal-inseparables.html |
| css3/line-break/line-break-normal-iteration-marks.html |
| css3/line-break/line-break-normal-postfixes.html |
| css3/line-break/line-break-normal-prefixes.html |
| css3/line-break/line-break-normal-sound-marks.html |
| css3/line-break/line-break-strict-centered.html |
| css3/line-break/line-break-strict-half-kana.html |
| css3/line-break/line-break-strict-hyphens.html |
| css3/line-break/line-break-strict-inseparables.html |
| css3/line-break/line-break-strict-iteration-marks.html |
| css3/line-break/line-break-strict-postfixes.html |
| css3/line-break/line-break-strict-prefixes.html |
| css3/line-break/line-break-strict-sound-marks.html |
| |
| These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped |
| in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports. |
| |
| * platform/text/LineBreakIteratorPoolICU.h: |
| (WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword): |
| Add static function to construct ICU locale argument (also used as pool key) with additional |
| break keyword. |
| (LineBreakIteratorPool): |
| (WebCore::LineBreakIteratorPool::take): |
| (WebCore::LineBreakIteratorPool::put): |
| Remove direct dependency from ICU library (and types), moving that dependency into |
| new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp). |
| Update to take line break mode into account. |
| Create (and cache) different break iterators depending on line break mode (in addition to locale), |
| which entails expanding pool entry key format to optionally append "@break=" + |
| "loose"|"normal"|"strict" keyword to locale string. |
| |
| * platform/text/TextBreakIterator.h: |
| (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): |
| (WebCore::LazyLineBreakIterator::isLooseCJKMode): |
| (WebCore::LazyLineBreakIterator::get): |
| (WebCore::LazyLineBreakIterator::reset): |
| (LazyLineBreakIterator): |
| Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al. |
| Add state member to indicate line break mode. |
| |
| * platform/text/TextBreakIteratorICU.cpp: |
| (WebCore::acquireLineBreakIterator): |
| Use new line break mode when making iterator from pool. |
| Handle change of return type of LineBreakIteratorPool::take() to non-ICU type, |
| i.e., TextBreakIterator* instead of ICU's UBreakIterator*. |
| (WebCore::releaseLineBreakIterator): |
| Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type, |
| i.e., TextBreakIterator* instead of ICU's UBreakIterator*. |
| (WebCore): |
| (WebCore::isCJKLocale): |
| New functions for determining if CJK rules apply. |
| (WebCore::openLineBreakIterator): |
| New function for abstracting opening of ICU style line break iterator. This is now |
| used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there. |
| This function also takes into account the line break mode. |
| |
| Note that this function only calls ubrk_openRules() when the author has opted-in via |
| using the -webkit-line-break CSS property. Eventually, we would like to be able to |
| customize the rules that ICU's line breaking algorithm uses (especially for CJK text); |
| however, ubrk_openRules() currently parses its input string to create a DFA and is |
| therefore very slow. In fact, it's so slow that increasing our cache size in |
| LineBreakIteratorPool doesn't actually help enough. Also note that the default value |
| for the line-break CSS property is 'auto'. |
| (WebCore::closeLineBreakIterator): |
| (WebCore::mapLineIteratorModeToRules): |
| New function for abstracting closing of ICU style line break iterator. This is now |
| used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): |
| Pass line break iterator mode flag when reseting LazyLineBreakIterator. |
| Add looseMode local variable to prevent need for computing under isBreakable(). |
| |
| * rendering/RenderText.cpp: |
| (WebCore::mapLineBreakToIteratorMode): |
| Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths |
| and RenderBlock::LineBreaker::nextLineBreak. |
| (WebCore): |
| (WebCore::RenderText::computePreferredLogicalWidths): |
| Ensure (lazy line) breakIterator is initialized for line break mode. |
| Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak. |
| |
| * rendering/RenderText.h: |
| (WebCore): |
| Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths |
| and RenderBlock::LineBreaker::nextLineBreak. |
| |
| * rendering/break_lines.cpp: |
| (WebCore): |
| Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition. |
| (WebCore::isBreakableSpace): |
| Add externally specified loose mode parameter to prevent need to invoke line break iterator |
| accessor method on each invocation. Use new loose mode flavors off NBP functions. |
| (WebCore::needsLineBreakIterator): |
| Use enum NBSP behavior template parameter rather than boolean. |
| (WebCore::nextBreakablePositionNonLoosely): |
| Extend name to distinguish from loose flavor of this function. |
| (WebCore::nextBreakablePositionLoosely): |
| Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut |
| table cannot be used. |
| (WebCore::nextBreakablePosition): |
| (WebCore::nextBreakablePositionIgnoringNBSP): |
| Use (renamed) non-loose flavor of NBP. |
| (WebCore::nextBreakablePositionLoose): |
| (WebCore::nextBreakablePositionIgnoringNBSPLoose): |
| Introduce loose flavor of NBP template expansions. |
| |
| * rendering/break_lines.h: |
| (WebCore): |
| (WebCore::isBreakable): |
| Add externally specified loose mode parameter to prevent need to invoke line break iterator |
| accessor method on each invocation. |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| More build fixes. |
| |
| * Modules/mediastream/MediaStream.cpp: |
| (WebCore::MediaStream::MediaStream): |
| |
| 2014-11-21 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allocate volume view on the main thread |
| https://bugs.webkit.org/show_bug.cgi?id=138971 |
| rdar://problem/18016958 |
| |
| Reviewed by Jer Noble. |
| |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (-[WebMediaSessionHelper allocateVolumeView]): New, dispatch to the main thread if necessary before allocating |
| the volume view. |
| (-[WebMediaSessionHelper initWithCallback:]): Call allocateVolumeView. |
| |
| 2014-11-21 Zalan Bujtas <zalan@apple.com> |
| |
| REGRESSION(r175259) Simple line layout text measuring behavior changed. |
| https://bugs.webkit.org/show_bug.cgi?id=138947 |
| rdar://problem/19050653 |
| |
| Reviewed by Antti Koivisto. |
| |
| In certain cases, when block flow needs to compute the preferred width of a particular text |
| renderer, we use the non-simple line layout text measuring. |
| However, the same text renderer might end up at simple line layout later. |
| Complex line layout measures text including the trailing space and it subtracts |
| (the constant value of) space width afterwards, while simple line layout measures |
| runs without the extra space. |
| In such cases, this may result different word widths and produce unexpected line breaking. (preferred width != final width) |
| In long term, any text renderer qualified for simple line layout should go through the simple |
| text measuring code path. (https://bugs.webkit.org/show_bug.cgi?id=138973) |
| For now, just copy complex line layout behaviour. This also matches the previous simple line layout line breaking implementation. |
| |
| Test: fast/text/simple-line-text-measuring-with-trailing-space.html |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| More Windows build fixes. |
| |
| * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: |
| (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost): |
| (WebCore::LegacyCACFLayerTreeHost::renderTimerFired): |
| * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: |
| * platform/mock/GeolocationClientMock.cpp: |
| (WebCore::GeolocationClientMock::GeolocationClientMock): |
| (WebCore::GeolocationClientMock::permissionTimerFired): |
| (WebCore::GeolocationClientMock::controllerTimerFired): |
| * platform/mock/GeolocationClientMock.h: |
| |
| 2014-11-21 Andreas Kling <akling@apple.com> |
| |
| RenderMathMLScripts isPrescript() helper should take a reference. |
| <https://webkit.org/b/138975> |
| |
| Reviewed by Antti Koivisto. |
| |
| Tidy this up a bit, since it's never called with a null pointer. |
| |
| * rendering/mathml/RenderMathMLScripts.cpp: |
| (WebCore::isPrescript): |
| (WebCore::RenderMathMLScripts::fixAnonymousStyles): |
| (WebCore::RenderMathMLScripts::addChildInternal): |
| (WebCore::RenderMathMLScripts::removeChildInternal): |
| (WebCore::RenderMathMLScripts::layout): |
| (WebCore::RenderMathMLScriptsWrapper::addChildInternal): |
| (WebCore::RenderMathMLScriptsWrapper::removeChildInternal): |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Windows build fixes. |
| |
| * plugins/PluginPackage.cpp: |
| (WebCore::PluginPackage::freeLibraryTimerFired): |
| (WebCore::PluginPackage::PluginPackage): |
| * plugins/PluginPackage.h: |
| * plugins/PluginStream.cpp: |
| (WebCore::PluginStream::PluginStream): |
| (WebCore::PluginStream::delayDeliveryTimerFired): |
| (WebCore::PluginStream::deliverData): Deleted. |
| * plugins/PluginStream.h: |
| * plugins/PluginView.cpp: |
| (WebCore::PluginView::popPopupsStateTimerFired): |
| (WebCore::PluginView::requestTimerFired): |
| (WebCore::PluginView::invalidateTimerFired): |
| (WebCore::PluginView::PluginView): |
| (WebCore::PluginView::lifeSupportTimerFired): |
| (WebCore::PluginView::performRequest): Deleted. |
| (WebCore::PluginView::setValue): Deleted. |
| (WebCore::PluginView::setParameters): Deleted. |
| (WebCore::PluginView::userAgent): Deleted. |
| * plugins/PluginView.h: |
| * plugins/win/PluginMessageThrottlerWin.cpp: |
| (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): |
| (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): |
| * plugins/win/PluginMessageThrottlerWin.h: |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able |
| https://bugs.webkit.org/show_bug.cgi?id=138960 |
| <rdar://problem/19056715> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Softlink some SPI. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| Move TextIndicator{Window} to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138954 |
| <rdar://problem/18992185> |
| |
| Some adjustments by Csaba Osztrogonác. |
| Reviewed by Anders Carlsson. |
| |
| Move TextIndicator and TextIndicatorWindow to WebCore so that both |
| WebKits can share the implementation. |
| |
| * CMakeLists.txt: |
| Build TextIndicator. |
| |
| * WebCore.exp.in: |
| Export TextIndicator{Window} symbols for the WebKits. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/TextIndicator.cpp: Renamed from Source/WebKit2/Shared/TextIndicator.cpp. |
| * page/TextIndicator.h: Renamed from Source/WebKit2/Shared/TextIndicator.h. |
| Straighforward move of TextIndicator from WebKit2, except: |
| |
| Move TextIndicator::Data and TextIndicator::PresentationTransition out directly |
| into the WebCore namespace to allow for implementation of WebKit2 argument coders. |
| |
| Use Image instead of ShareableBitmap internally. |
| |
| Move the TextIndicatorData encode/decode to WebCoreArgumentCoders. |
| |
| * page/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.h. |
| * page/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.mm. |
| Straighforward move of TextIndicatorWindow from WebKit2. |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Remove the Timer parameters from timer callbacks |
| https://bugs.webkit.org/show_bug.cgi?id=138974 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::MediaKeySession): |
| (WebCore::MediaKeySession::keyRequestTimerFired): |
| (WebCore::MediaKeySession::addKeyTimerFired): |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::GeoNotifier::GeoNotifier): |
| (WebCore::Geolocation::GeoNotifier::timerFired): |
| (WebCore::Geolocation::Geolocation): |
| (WebCore::Geolocation::resumeTimerFired): |
| * Modules/geolocation/Geolocation.h: |
| * Modules/indexeddb/IDBTransactionBackend.cpp: |
| (WebCore::IDBTransactionBackend::IDBTransactionBackend): |
| (WebCore::IDBTransactionBackend::taskTimerFired): |
| * Modules/indexeddb/IDBTransactionBackend.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::SourceBuffer): |
| (WebCore::SourceBuffer::appendBufferTimerFired): |
| (WebCore::SourceBuffer::removeTimerFired): |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/MediaStream.cpp: |
| (WebCore::MediaStream::MediaStream): |
| (WebCore::MediaStream::scheduledEventTimerFired): |
| * Modules/mediastream/MediaStream.h: |
| * Modules/mediastream/RTCDTMFSender.cpp: |
| (WebCore::RTCDTMFSender::RTCDTMFSender): |
| (WebCore::RTCDTMFSender::scheduledEventTimerFired): |
| * Modules/mediastream/RTCDTMFSender.h: |
| * Modules/mediastream/RTCDataChannel.cpp: |
| (WebCore::RTCDataChannel::RTCDataChannel): |
| (WebCore::RTCDataChannel::scheduledEventTimerFired): |
| * Modules/mediastream/RTCDataChannel.h: |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::RTCPeerConnection): |
| (WebCore::RTCPeerConnection::scheduledEventTimerFired): |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::Notification): |
| (WebCore::Notification::taskTimerFired): |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback): |
| (WebCore::NotificationCenter::NotificationRequestCallback::timerFired): |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/websockets/WebSocketChannel.cpp: |
| (WebCore::WebSocketChannel::WebSocketChannel): |
| (WebCore::WebSocketChannel::resumeTimerFired): |
| (WebCore::WebSocketChannel::closingTimerFired): |
| * Modules/websockets/WebSocketChannel.h: |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::AXObjectCache): |
| (WebCore::AXObjectCache::notificationPostTimerFired): |
| * accessibility/AXObjectCache.h: |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::GCController): |
| (WebCore::GCController::gcTimerFired): |
| * bindings/js/GCController.h: |
| * css/CSSFontFaceSource.h: |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::CSSFontSelector): |
| (WebCore::CSSFontSelector::beginLoadTimerFired): |
| * css/CSSFontSelector.h: |
| * css/CSSImageGeneratorValue.cpp: |
| (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::sweepMatchedPropertiesCache): |
| * css/StyleResolver.h: |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| (WebCore::Document::visualUpdatesSuppressionTimerFired): |
| (WebCore::Document::styleRecalcTimerFired): |
| (WebCore::Document::optimizedStyleSheetUpdateTimerFired): |
| (WebCore::Document::sharedObjectPoolClearTimerFired): |
| (WebCore::Document::updateFocusAppearanceTimerFired): |
| (WebCore::Document::pendingTasksTimerFired): |
| (WebCore::Document::webkitWillEnterFullScreenForElement): |
| (WebCore::Document::webkitDidExitFullScreenForElement): |
| (WebCore::Document::fullScreenChangeDelayTimerFired): |
| (WebCore::Document::loadEventDelayTimerFired): |
| (WebCore::Document::didAssociateFormControlsTimerFired): |
| (WebCore::Document::domCookieCacheExpiryTimerFired): |
| * dom/Document.h: |
| * dom/EventSender.h: |
| (WebCore::EventSender::timerFired): |
| (WebCore::EventSender<T>::EventSender): |
| * dom/ScriptRunner.cpp: |
| (WebCore::ScriptRunner::ScriptRunner): |
| (WebCore::ScriptRunner::timerFired): |
| * dom/ScriptRunner.h: |
| * dom/ScriptedAnimationController.cpp: |
| (WebCore::ScriptedAnimationController::ScriptedAnimationController): |
| (WebCore::ScriptedAnimationController::animationTimerFired): |
| * dom/ScriptedAnimationController.h: |
| * dom/StyledElement.cpp: |
| (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner): |
| (WebCore::PresentationAttributeCacheCleaner::cleanCache): |
| * editing/AlternativeTextController.cpp: |
| (WebCore::AlternativeTextController::AlternativeTextController): |
| (WebCore::AlternativeTextController::timerFired): |
| * editing/AlternativeTextController.h: |
| * editing/Editor.cpp: |
| (WebCore::Editor::Editor): |
| (WebCore::Editor::updateEditorUINowIfScheduled): |
| (WebCore::Editor::editorUIUpdateTimerFired): |
| (WebCore::Editor::scanSelectionForTelephoneNumbers): Deleted. |
| * editing/Editor.h: |
| * editing/FrameSelection.cpp: |
| (WebCore::FrameSelection::FrameSelection): |
| (WebCore::FrameSelection::caretBlinkTimerFired): |
| * editing/FrameSelection.h: |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::SpellChecker): |
| (WebCore::SpellChecker::timerFiredToProcessQueuedRequest): |
| * editing/SpellChecker.h: |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::HTMLFormElement): |
| (WebCore::HTMLFormElement::requestAutocompleteTimerFired): |
| * html/HTMLFormElement.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMediaElement.h: |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::HTMLPlugInElement): |
| (WebCore::HTMLPlugInElement::swapRendererTimerFired): |
| * html/HTMLPlugInElement.h: |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): |
| (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): |
| * html/HTMLPlugInImageElement.h: |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::HTMLSourceElement): |
| (WebCore::HTMLSourceElement::errorEventTimerFired): |
| * html/HTMLSourceElement.h: |
| * html/HTMLTrackElement.cpp: |
| (WebCore::HTMLTrackElement::HTMLTrackElement): |
| (WebCore::HTMLTrackElement::loadTimerFired): |
| * html/HTMLTrackElement.h: |
| * html/MediaController.cpp: |
| (MediaController::MediaController): |
| (MediaController::asyncEventTimerFired): |
| (MediaController::clearPositionTimerFired): |
| (MediaController::timeupdateTimerFired): |
| * html/MediaController.h: |
| * html/MediaDocument.cpp: |
| (WebCore::MediaDocument::MediaDocument): |
| (WebCore::MediaDocument::replaceMediaElementTimerFired): |
| * html/MediaDocument.h: |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::SearchInputType): |
| (WebCore::SearchInputType::searchEventTimerFired): |
| * html/SearchInputType.h: |
| * html/ValidationMessage.cpp: |
| (WebCore::ValidationMessage::setMessage): |
| (WebCore::ValidationMessage::setMessageDOMAndStartTimer): |
| (WebCore::ValidationMessage::buildBubbleTree): |
| (WebCore::ValidationMessage::requestToHideMessage): |
| (WebCore::ValidationMessage::deleteBubbleTree): |
| * html/ValidationMessage.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::WebGLRenderingContext): |
| (WebCore::WebGLRenderingContext::dispatchContextLostEvent): |
| (WebCore::WebGLRenderingContext::maybeRestoreContext): |
| * html/canvas/WebGLRenderingContext.h: |
| * html/parser/HTMLParserScheduler.cpp: |
| (WebCore::HTMLParserScheduler::HTMLParserScheduler): |
| (WebCore::HTMLParserScheduler::continueNextChunkTimerFired): |
| * html/parser/HTMLParserScheduler.h: |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlPanelElement::MediaControlPanelElement): |
| (WebCore::MediaControlPanelElement::transitionTimerFired): |
| (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): |
| (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): |
| * html/shadow/MediaControlElements.h: |
| * html/shadow/MediaControls.cpp: |
| (WebCore::MediaControls::MediaControls): |
| (WebCore::MediaControls::hideFullscreenControlsTimerFired): |
| * html/shadow/MediaControls.h: |
| * html/shadow/SpinButtonElement.cpp: |
| (WebCore::SpinButtonElement::SpinButtonElement): |
| (WebCore::SpinButtonElement::repeatingTimerFired): |
| * html/shadow/SpinButtonElement.h: |
| * html/track/LoadableTextTrack.cpp: |
| (WebCore::LoadableTextTrack::LoadableTextTrack): |
| (WebCore::LoadableTextTrack::loadTimerFired): |
| * html/track/LoadableTextTrack.h: |
| * html/track/VTTRegion.cpp: |
| (WebCore::VTTRegion::VTTRegion): |
| (WebCore::VTTRegion::scrollTimerFired): |
| * html/track/VTTRegion.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask): |
| (WebCore::ChangeRegionOversetTask::timerFired): |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask): |
| (WebCore::RevalidateStyleAttributeTask::timerFired): |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask): |
| (WebCore::InspectorBackendDispatchTask::timerFired): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::InspectorOverlay::InspectorOverlay): |
| (WebCore::InspectorOverlay::updatePaintRectsTimerFired): |
| * inspector/InspectorOverlay.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::DocumentLoader): |
| (WebCore::DocumentLoader::handleSubstituteDataLoadNow): |
| (WebCore::DocumentLoader::handleSubstituteDataLoadSoon): |
| (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): |
| * loader/DocumentLoader.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::FrameLoader): |
| (WebCore::FrameLoader::checkTimerFired): |
| * loader/FrameLoader.h: |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::ImageLoader): |
| (WebCore::ImageLoader::timerFired): |
| * loader/ImageLoader.h: |
| * loader/LinkLoader.cpp: |
| (WebCore::LinkLoader::LinkLoader): |
| (WebCore::LinkLoader::linkLoadTimerFired): |
| (WebCore::LinkLoader::linkLoadingErrorTimerFired): |
| * loader/LinkLoader.h: |
| * loader/NavigationScheduler.cpp: |
| (WebCore::NavigationScheduler::NavigationScheduler): |
| (WebCore::NavigationScheduler::timerFired): |
| * loader/NavigationScheduler.h: |
| * loader/PingLoader.cpp: |
| (WebCore::PingLoader::PingLoader): |
| * loader/PingLoader.h: |
| (WebCore::PingLoader::timeoutTimerFired): |
| * loader/ProgressTracker.cpp: |
| (WebCore::ProgressTracker::ProgressTracker): |
| (WebCore::ProgressTracker::progressHeartbeatTimerFired): |
| * loader/ProgressTracker.h: |
| * loader/ResourceLoadScheduler.cpp: |
| (WebCore::ResourceLoadScheduler::ResourceLoadScheduler): |
| (WebCore::ResourceLoadScheduler::requestTimerFired): |
| * loader/ResourceLoadScheduler.h: |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::TextTrackLoader): |
| (WebCore::TextTrackLoader::cueLoadTimerFired): |
| * loader/TextTrackLoader.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::Callback::Callback): |
| (WebCore::CachedResource::Callback::timerFired): |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::CachedResourceLoader): |
| (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired): |
| * loader/cache/CachedResourceLoader.h: |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::IconDatabase): |
| (WebCore::IconDatabase::syncTimerFired): |
| * loader/icon/IconDatabase.h: |
| * page/AutoscrollController.cpp: |
| (WebCore::AutoscrollController::AutoscrollController): |
| (WebCore::AutoscrollController::autoscrollTimerFired): |
| * page/AutoscrollController.h: |
| * page/CaptionUserPreferences.cpp: |
| (WebCore::CaptionUserPreferences::CaptionUserPreferences): |
| (WebCore::CaptionUserPreferences::timerFired): |
| * page/CaptionUserPreferences.h: |
| * page/CaptionUserPreferencesMediaAF.cpp: |
| (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): |
| (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): |
| * page/CaptionUserPreferencesMediaAF.h: |
| * page/DeviceController.cpp: |
| (WebCore::DeviceController::DeviceController): |
| (WebCore::DeviceController::fireDeviceEvent): |
| * page/DeviceController.h: |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::EventHandler): |
| (WebCore::EventHandler::cursorUpdateTimerFired): |
| (WebCore::EventHandler::autoHideCursorTimerFired): |
| (WebCore::EventHandler::recognizeLongMousePress): |
| (WebCore::EventHandler::fakeMouseMoveEventTimerFired): |
| (WebCore::EventHandler::hoverTimerFired): |
| * page/EventHandler.h: |
| * page/EventSource.cpp: |
| (WebCore::EventSource::EventSource): |
| (WebCore::EventSource::connectTimerFired): |
| * page/EventSource.h: |
| * page/FocusController.cpp: |
| (WebCore::FocusController::FocusController): |
| (WebCore::FocusController::focusRepaintTimerFired): |
| * page/FocusController.h: |
| * page/Frame.cpp: |
| (WebCore::Frame::Frame): |
| (WebCore::Frame::overflowAutoScrollTimerFired): |
| * page/Frame.h: |
| * page/FrameView.cpp: |
| (WebCore::FrameView::FrameView): |
| (WebCore::FrameView::delayedScrollEventTimerFired): |
| (WebCore::FrameView::speculativeTilingEnableTimerFired): |
| (WebCore::FrameView::layoutTimerFired): |
| (WebCore::FrameView::updateEmbeddedObjectsTimerFired): |
| (WebCore::FrameView::flushAnyPendingPostLayoutTasks): |
| (WebCore::FrameView::postLayoutTimerFired): |
| * page/FrameView.h: |
| * page/PageOverlay.cpp: |
| (WebCore::PageOverlay::PageOverlay): |
| (WebCore::PageOverlay::fadeAnimationTimerFired): |
| * page/PageOverlay.h: |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| (WebCore::Settings::imageLoadingSettingsTimerFired): |
| * page/Settings.h: |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): |
| (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): |
| (WebCore::AnimationControllerPrivate::animationTimerFired): |
| * page/animation/AnimationControllerPrivate.h: |
| * page/mac/ServicesOverlayController.h: |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::ServicesOverlayController): |
| (WebCore::ServicesOverlayController::determineActiveHighlightTimerFired): |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator): |
| (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired): |
| * page/scrolling/AsyncScrollingCoordinator.h: |
| * page/scrolling/ios/ScrollingCoordinatorIOS.h: |
| * page/scrolling/ios/ScrollingCoordinatorIOS.mm: |
| (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS): |
| (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired): |
| * page/scrolling/mac/ScrollingCoordinatorMac.h: |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac): |
| (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired): |
| * platform/HysteresisActivity.h: |
| (WebCore::HysteresisActivity::HysteresisActivity): |
| (WebCore::HysteresisActivity::hysteresisTimerFired): |
| * platform/ScrollAnimator.cpp: |
| (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): |
| (WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): |
| (WebCore::ScrollAnimator::verticalScrollSnapTimerFired): |
| * platform/ScrollAnimator.h: |
| * platform/Scrollbar.cpp: |
| (WebCore::Scrollbar::Scrollbar): |
| (WebCore::Scrollbar::autoscrollTimerFired): |
| * platform/Scrollbar.h: |
| * platform/Timer.h: |
| (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer): |
| (WebCore::Timer::Timer): Deleted. |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::MediaSession): |
| (WebCore::MediaSession::clientDataBufferingTimerFired): |
| * platform/audio/MediaSession.h: |
| * platform/graphics/BitmapImage.cpp: |
| (WebCore::BitmapImage::startAnimation): |
| (WebCore::BitmapImage::advanceAnimation): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::MediaPlayer): |
| (WebCore::MediaPlayer::reloadTimerFired): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/ShadowBlur.cpp: |
| (WebCore::ScratchBuffer::ScratchBuffer): |
| (WebCore::ScratchBuffer::timerFired): |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: |
| (WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC): |
| (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired): |
| * platform/graphics/ca/LayerPool.cpp: |
| (WebCore::LayerPool::LayerPool): |
| (WebCore::LayerPool::pruneTimerFired): |
| * platform/graphics/ca/LayerPool.h: |
| * platform/graphics/ca/TileController.cpp: |
| (WebCore::TileController::TileController): |
| (WebCore::TileController::tileRevalidationTimerFired): |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/ca/TileGrid.cpp: |
| (WebCore::TileGrid::TileGrid): |
| (WebCore::TileGrid::cohortRemovalTimerFired): |
| * platform/graphics/ca/TileGrid.h: |
| * platform/graphics/cg/IOSurfacePool.cpp: |
| (WebCore::IOSurfacePool::IOSurfacePool): |
| (WebCore::IOSurfacePool::collectionTimerFired): |
| * platform/graphics/cg/IOSurfacePool.h: |
| * platform/graphics/cg/SubimageCacheWithTimer.cpp: |
| (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): |
| (WebCore::MediaPlayerPrivateQTKit::seekTimerFired): |
| * platform/ios/LegacyTileCache.h: |
| * platform/ios/LegacyTileCache.mm: |
| (WebCore::LegacyTileCache::LegacyTileCache): |
| (WebCore::LegacyTileCache::tileCreationTimerFired): |
| * platform/mac/HIDGamepadProvider.cpp: |
| (WebCore::HIDGamepadProvider::HIDGamepadProvider): |
| (WebCore::HIDGamepadProvider::connectionDelayTimerFired): |
| (WebCore::HIDGamepadProvider::inputNotificationTimerFired): |
| * platform/mac/HIDGamepadProvider.h: |
| * platform/mac/ScrollAnimatorMac.h: |
| * platform/mac/ScrollAnimatorMac.mm: |
| (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): |
| (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): |
| (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired): |
| (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): |
| * platform/mock/DeviceOrientationClientMock.cpp: |
| (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock): |
| (WebCore::DeviceOrientationClientMock::timerFired): |
| * platform/mock/DeviceOrientationClientMock.h: |
| * platform/mock/PlatformSpeechSynthesizerMock.cpp: |
| (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock): |
| (WebCore::PlatformSpeechSynthesizerMock::speakingFinished): |
| * platform/mock/PlatformSpeechSynthesizerMock.h: |
| * platform/network/DNSResolveQueue.cpp: |
| (WebCore::DNSResolveQueue::DNSResolveQueue): |
| (WebCore::DNSResolveQueue::timerFired): |
| * platform/network/DNSResolveQueue.h: |
| * platform/network/NetworkStateNotifier.h: |
| * platform/network/ResourceHandle.cpp: |
| (WebCore::ResourceHandle::failureTimerFired): |
| * platform/network/ResourceHandle.h: |
| * platform/network/ResourceHandleInternal.h: |
| (WebCore::ResourceHandleInternal::ResourceHandleInternal): |
| * platform/network/mac/NetworkStateNotifierMac.cpp: |
| (WebCore::NetworkStateNotifier::networkStateChangeTimerFired): |
| (WebCore::NetworkStateNotifier::NetworkStateNotifier): |
| * rendering/ImageQualityController.cpp: |
| (WebCore::ImageQualityController::ImageQualityController): |
| (WebCore::ImageQualityController::highQualityRepaintTimerFired): |
| * rendering/ImageQualityController.h: |
| * rendering/RenderButton.cpp: |
| (WebCore::RenderButton::styleDidChange): |
| (WebCore::RenderButton::timerFired): |
| * rendering/RenderButton.h: |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::RenderLayerCompositor): |
| (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired): |
| (WebCore::RenderLayerCompositor::layerFlushTimerFired): |
| (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired): |
| * rendering/RenderLayerCompositor.h: |
| * rendering/RenderMarquee.cpp: |
| (WebCore::RenderMarquee::RenderMarquee): |
| (WebCore::RenderMarquee::timerFired): |
| * rendering/RenderMarquee.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): |
| (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired): |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderProgress.cpp: |
| (WebCore::RenderProgress::RenderProgress): |
| (WebCore::RenderProgress::animationTimerFired): |
| * rendering/RenderProgress.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::RenderView): |
| (WebCore::RenderView::lazyRepaintTimerFired): |
| * rendering/RenderView.h: |
| * replay/EventLoopInputDispatcher.cpp: |
| (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher): |
| (WebCore::EventLoopInputDispatcher::timerFired): |
| * replay/EventLoopInputDispatcher.h: |
| * storage/StorageAreaImpl.cpp: |
| (WebCore::StorageAreaImpl::StorageAreaImpl): |
| (WebCore::StorageAreaImpl::closeDatabaseTimerFired): |
| (WebCore::StorageAreaImpl::closeDatabaseIfIdle): |
| * storage/StorageAreaImpl.h: |
| * storage/StorageAreaSync.cpp: |
| (WebCore::StorageAreaSync::StorageAreaSync): |
| (WebCore::StorageAreaSync::scheduleFinalSync): |
| (WebCore::StorageAreaSync::syncTimerFired): |
| (WebCore::StorageAreaSync::scheduleSync): |
| * storage/StorageAreaSync.h: |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::svgLoadEventTimerFired): |
| * svg/SVGElement.h: |
| * svg/SVGScriptElement.cpp: |
| (WebCore::SVGScriptElement::SVGScriptElement): |
| * svg/SVGStyleElement.cpp: |
| (WebCore::SVGStyleElement::SVGStyleElement): |
| * svg/SVGUseElement.cpp: |
| (WebCore::SVGUseElement::SVGUseElement): |
| * svg/animation/SMILTimeContainer.cpp: |
| (WebCore::SMILTimeContainer::SMILTimeContainer): |
| (WebCore::SMILTimeContainer::timerFired): |
| * svg/animation/SMILTimeContainer.h: |
| * xml/XMLHttpRequestProgressEventThrottle.cpp: |
| (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle): |
| (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents): |
| * xml/XMLHttpRequestProgressEventThrottle.h: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'transition-delay' CSS property to a calculated value |
| https://bugs.webkit.org/show_bug.cgi?id=138784 |
| |
| Reviewed by Sam Weinig. |
| |
| Update CSSPrimitiveValue::computeTime() to use primitiveType() instead |
| of m_primitiveUnitType so that it properly handles calculated values. |
| Without this, we would hit the ASSERT_NOT_REACHED() assertion in |
| computeTime() for calculated values. |
| |
| Test: fast/css/transition-delay-calculated-value.html |
| |
| * css/CSSPrimitiveValue.h: |
| (WebCore::CSSPrimitiveValue::computeTime): |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r175381): -webkit-mask-box-image is broken |
| https://bugs.webkit.org/show_bug.cgi?id=138969 |
| <rdar://problem/19054471> |
| |
| Reviewed by Simon Fraser. |
| |
| After r175381, the StyleBuilder would call NinePieceImage::setMaskDefaults() |
| *after* calling CSSToStyleMap::mapNinePieceImage(), instead of *before*, for |
| -webkit-mask-box-image CSS property. This was causing the mask defaults to |
| overwrite what was set by mapNinePieceImage(). |
| |
| Test: fast/css/webkit-mask-box-image.html |
| |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertBorderMask): |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'font' CSS property to 'calc(2 * 3)' |
| https://bugs.webkit.org/show_bug.cgi?id=138933 |
| |
| Reviewed by Darin Adler. |
| |
| The CSS Parser was not handling calculated values when parsing the font |
| weight. This would lead us to hit an assertion when parsing a font |
| property whose weight is set to a calculated value. |
| |
| This patch updates parseFontWeight() to properly handle calculated |
| values. |
| |
| Test: fast/css/font-calculated-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseFontWeight): |
| |
| 2014-11-21 Bear Travis <betravis@gmail.com> |
| |
| [CSS Font Loading] Switch to dispatching events asynchronously |
| https://bugs.webkit.org/show_bug.cgi?id=138755 |
| |
| Reviewed by Simon Fraser. |
| |
| Moving FontLoader to dispatch events and notify callbacks similarly |
| to EventSender or the GenericEventQueue. Several bugs have popped |
| up in the past because FontLoader has been sending events during |
| layout, and there is no need for that to be the case. |
| |
| Covered by existing font loader event tests. Added an additional |
| test for the svg case, fontloader-svg-select. |
| |
| * css/FontLoader.cpp: |
| (WebCore::FontLoader::didLayout): |
| (WebCore::FontLoader::timerFired): Adding asynchronous callback. |
| (WebCore::FontLoader::scheduleEvent): Add an event to the dispatch |
| queue. |
| (WebCore::FontLoader::firePendingEvents): Modified to handle the |
| loading done event and callbacks. |
| (WebCore::FontLoader::loadingDone): Modified to spin up the timer |
| rather than immediately dispatching events. |
| * css/FontLoader.h: |
| |
| 2014-11-21 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the internal Apple Mavericks build after <https://trac.webkit.org/changeset/176448> |
| (https://bugs.webkit.org/show_bug.cgi?id=138930) |
| |
| Declare NSCachedURLResponse SPI when building without the Apple Internal SDK and with the Apple |
| Internal SDK when building for OS X Mavericks or earlier. |
| |
| * platform/spi/cf/CFNetworkSPI.h: |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Make memoryCache() return a reference |
| https://bugs.webkit.org/show_bug.cgi?id=138939 |
| |
| Reviewed by Antti Koivisto. |
| |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResource): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::replayXHR): |
| (WebCore::InspectorResourceAgent::setCacheDisabled): |
| (WebCore::InspectorResourceAgent::mainFrameNavigated): |
| * loader/DocumentLoader.cpp: |
| (WebCore::areAllLoadersPageCacheAcceptable): |
| (WebCore::DocumentLoader::finishedLoading): |
| (WebCore::DocumentLoader::responseReceived): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::willSendRequest): |
| (WebCore::SubresourceLoader::didReceiveResponse): |
| (WebCore::SubresourceLoader::didFail): |
| (WebCore::SubresourceLoader::willCancel): |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::addIncrementalDataBuffer): |
| (WebCore::CachedImage::finishLoading): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::deadDecodedDataDeletionIntervalForResourceType): |
| (WebCore::CachedResource::~CachedResource): |
| (WebCore::CachedResource::failBeforeStarting): |
| (WebCore::CachedResource::addClientToSet): |
| (WebCore::CachedResource::removeClient): |
| (WebCore::CachedResource::destroyDecodedDataIfNeeded): |
| (WebCore::CachedResource::setDecodedSize): |
| (WebCore::CachedResource::setEncodedSize): |
| (WebCore::CachedResource::didAccessDecodedData): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): |
| (WebCore::CachedResourceLoader::requestResource): |
| (WebCore::CachedResourceLoader::revalidateResource): |
| (WebCore::CachedResourceLoader::loadResource): |
| (WebCore::CachedResourceLoader::clearPreloads): |
| (WebCore::CachedResourceLoader::printPreloadStats): |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::memoryCache): |
| (WebCore::MemoryCache::removeRequestFromCache): |
| (WebCore::MemoryCache::removeRequestFromSessionCaches): |
| * loader/cache/MemoryCache.h: |
| * loader/cocoa/DiskCacheMonitorCocoa.mm: |
| (WebCore::DiskCacheMonitor::resourceBecameFileBacked): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::willPaintContents): |
| (WebCore::FrameView::didPaintContents): |
| * platform/MemoryPressureHandler.cpp: |
| (WebCore::MemoryPressureHandler::releaseCriticalMemory): |
| * testing/Internals.cpp: |
| (WebCore::Internals::isLoadingFromMemoryCache): |
| |
| 2014-11-21 Daniel Bates <dabates@apple.com> |
| |
| [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC |
| https://bugs.webkit.org/show_bug.cgi?id=138930 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h. |
| * loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file |
| CFNetworkSPI.h and include header CFNetworkSPI.h. |
| * loader/mac/ResourceLoaderMac.mm: Ditto. |
| * platform/audio/ios/MediaSessionManagerIOS.mm: Substitute MediaPlayerSPI.h for MPAVRoutingControllerSPI.h. |
| * platform/spi/cf/CFNetworkSPI.h: Add more SPI. |
| * platform/spi/cg/CoreGraphicsSPI.h: Ditto. |
| * platform/spi/cocoa/QuartzCoreSPI.h: Ditto. |
| * platform/spi/ios/MediaPlayerSPI.h: Renamed from Source/WebCore/platform/spi/ios/MPAVRoutingControllerSPI.h. |
| |
| 2014-11-21 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: MathML expressions are misread by VoiceOver |
| https://bugs.webkit.org/show_bug.cgi?id=138948 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| The logic for deciding what's the radicand and an index was too tied to children placement. |
| We should instead pull directly from the source. |
| |
| Test: platform/mac/accessibility/mathml-root.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::mathRadicandObject): |
| (WebCore::AccessibilityRenderObject::mathRootIndexObject): |
| * rendering/mathml/RenderMathMLRoot.h: |
| |
| 2014-11-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| Remove the remaining vestiges of minimal-ui |
| https://bugs.webkit.org/show_bug.cgi?id=138890 |
| |
| Reviewed by Sam Weinig. |
| |
| In ViewportArguments' setViewportFeature(), I skip the warning for now. |
| |
| * WebCore.exp.in: |
| * dom/ViewportArguments.cpp: |
| (WebCore::setViewportFeature): |
| * dom/ViewportArguments.h: |
| (WebCore::ViewportArguments::ViewportArguments): |
| (WebCore::ViewportArguments::operator==): |
| * page/ViewportConfiguration.cpp: |
| (WebCore::ViewportConfiguration::ViewportConfiguration): |
| (WebCore::ViewportConfiguration::initialScale): |
| (WebCore::ViewportConfiguration::minimumScale): |
| (WebCore::ViewportConfiguration::updateConfiguration): |
| (WebCore::ViewportConfiguration::viewportArgumentsLength): |
| (WebCore::ViewportConfiguration::layoutWidth): |
| (WebCore::ViewportConfiguration::layoutHeight): |
| (WebCore::ViewportConfigurationTextStream::operator<<): |
| (WebCore::ViewportConfiguration::description): |
| (WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI): Deleted. |
| (WebCore::ViewportConfiguration::activeMinimumLayoutSizeInScrollViewCoordinates): Deleted. |
| (WebCore::ViewportConfiguration::resetMinimalUI): Deleted. |
| (WebCore::ViewportConfiguration::didFinishDocumentLoad): Deleted. |
| * page/ViewportConfiguration.h: |
| (WebCore::ViewportConfiguration::minimumLayoutSizeForMinimalUI): Deleted. |
| (WebCore::ViewportConfiguration::usesMinimalUI): Deleted. |
| |
| 2014-11-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| Web Inspector: do not show invalid specificity for dynamic cases of :matches() |
| https://bugs.webkit.org/show_bug.cgi?id=138911 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): |
| (WebCore::functionalPseudoClassStaticSpecificity): |
| (WebCore::staticSpecificityInternal): |
| (WebCore::CSSSelector::staticSpecificity): |
| (WebCore::CSSSelector::specificity): Deleted. |
| * css/CSSSelector.h: |
| Add an additional computation path for the inspector. |
| |
| The regular path ignores everything inside function pseudo classes. |
| This new path takes the static specificity of the regular path, then evaluate |
| recursively all the selector lists inside any level of :matches(). |
| |
| If two complex selector of selector list do not have the same specificity, |
| we bail out and refuse to compute a static specificity representing the selector. |
| |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::buildObjectForSelectorHelper): |
| (WebCore::selectorsFromSource): |
| (WebCore::InspectorStyleSheet::buildObjectForSelector): |
| Do not add the complexity to the inspector's CSSSelector structure whenever |
| it is dynamic. |
| |
| 2014-11-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| Remove InspectorCSSAgent::buildArrayForRuleList() |
| https://bugs.webkit.org/show_bug.cgi?id=138907 |
| |
| Reviewed by Andreas Kling. |
| |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::buildArrayForRuleList): Deleted. |
| * inspector/InspectorCSSAgent.h: |
| |
| 2014-11-20 Zalan Bujtas <zalan@apple.com> |
| |
| REGRESSION (174986): CSS clip property is ignored when border-radius is present. |
| https://bugs.webkit.org/show_bug.cgi?id=138935 |
| rdar://problem/18965984 |
| |
| Reviewed by Simon Fraser. |
| |
| Revert back to r163382 and fix bug 127729 properly. Save the graphics context when paint and clip rects are |
| the same, but the clip rect has radius. |
| Each iteration on ::clipRect() from r163382 onwards just introduced yet another regression. |
| |
| Test: fast/clip/css-clip-does-not-work-when-border-radius-is-present.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::clipToRect): |
| |
| 2014-11-20 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed the custom allocator for PODRedBlackTree |
| https://bugs.webkit.org/show_bug.cgi?id=138942 |
| |
| Reviewed by Sam Weinig. |
| |
| bmalloc is fast enough. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/PODArena.h: Removed. |
| * platform/PODFreeListArena.h: Removed. This is the point of the patch. |
| |
| * platform/PODIntervalTree.h: |
| (WebCore::PODIntervalTree::PODIntervalTree): Deleted. As a side effect |
| of removing our custom allocator, we can no longer have a special |
| "I'm not initialized yet" state. Instead, the tree either exists or not, |
| like an idiomatic C++ object. |
| |
| * platform/PODRedBlackTree.h: |
| (WebCore::PODRedBlackTree::PODRedBlackTree): Ditto. |
| |
| (WebCore::PODRedBlackTree::~PODRedBlackTree): We need to clear in our |
| destructor because we can no longer rely on the arena destructor |
| implicitly freeing our tree nodes. |
| |
| Side note: This change basically removes the whole reason for having |
| a purpose-built tree for POD data. We should probably remove this whole |
| data structure in a follow-up patch, and just use a standard tree. |
| |
| (WebCore::PODRedBlackTree::clear): |
| (WebCore::PODRedBlackTree::add): |
| (WebCore::PODRedBlackTree::remove): |
| (WebCore::PODRedBlackTree::contains): |
| (WebCore::PODRedBlackTree::visitInorder): |
| (WebCore::PODRedBlackTree::size): |
| (WebCore::PODRedBlackTree::checkInvariants): |
| (WebCore::PODRedBlackTree::dump): |
| (WebCore::PODRedBlackTree::deleteNode): |
| (WebCore::PODRedBlackTree::markFree): Use normal new/delete, and mark |
| ourselves as fast allocated so we get the bmalloc goodness. |
| |
| (WebCore::PODRedBlackTree::isInitialized): Deleted. |
| (WebCore::PODRedBlackTree::initIfNeeded): Deleted. |
| |
| * rendering/FloatingObjects.cpp: |
| (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow): |
| (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock): |
| (WebCore::FloatingObjects::FloatingObjects): |
| (WebCore::FloatingObjects::clear): |
| (WebCore::FloatingObjects::addPlacedObject): |
| (WebCore::FloatingObjects::removePlacedObject): |
| (WebCore::FloatingObjects::computePlacedFloatsTree): |
| (WebCore::FloatingObjects::placedFloatsTree): |
| (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat): |
| (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat): |
| (WebCore::FloatingObjects::logicalLeftOffset): |
| (WebCore::FloatingObjects::logicalRightOffset): POD tree had a slightly |
| weird behavior in which it was valid to use some of its APIs without |
| first initializing it, but not others. It's not really possible to model |
| that behavior with normal C++ objects that use new/delete, so instead |
| I added some explicit NULL checks. |
| |
| * rendering/FloatingObjects.h: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::intervalArena): Deleted. |
| * rendering/RenderView.h: Removed custom-allocator-related cruft. |
| |
| 2014-11-20 Dean Jackson <dino@apple.com> |
| |
| Support unprefixed animation event types |
| https://bugs.webkit.org/show_bug.cgi?id=138931 |
| <rdar://problem/18943167> |
| |
| Reviewed by Simon Fraser. |
| |
| Tests: animations/unprefixed-events-mixed-with-prefixed.html |
| animations/unprefixed-events.html |
| |
| Support the unprefixed animation event names: |
| - animationstart (was webkitAnimationStart) |
| - animationiteration (was webkitAnimationIteration) |
| - animationend (was webkitAnimationEnd) |
| |
| (Yes, event types are case sensitive and yes, this will |
| likely cause some head-scratching as people change content) |
| |
| The approach here is to follow what transitions does: |
| - listener only for old event name -> fire old event name |
| - listener for both old and new event name -> fire new event name |
| - listener only for new event name -> fire new event name |
| |
| That way pages that were trying to anticipate the new event name |
| won't get duplicate events. |
| |
| * CMakeLists.txt: Add new AnimationEvent* stuff. |
| * DerivedSources.make: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| |
| * bindings/js/JSBindingsAllInOne.cpp: New files for all in one builds. |
| * dom/DOMAllInOne.cpp: |
| |
| * dom/AnimationEvent.cpp: Added. Copied from WebKitAnimationEvent.cpp. |
| (WebCore::AnimationEventInit::AnimationEventInit): |
| (WebCore::AnimationEvent::AnimationEvent): |
| (WebCore::AnimationEvent::~AnimationEvent): |
| (WebCore::AnimationEvent::animationName): |
| (WebCore::AnimationEvent::elapsedTime): |
| (WebCore::AnimationEvent::eventInterface): |
| * dom/AnimationEvent.h: Added. Copied from WebKitAnimationEvent.h. |
| * dom/AnimationEvent.idl: Added. Copied from WebKitAnimationEvent.idl. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::addListenerTypeIfNeeded): Handle new event types. |
| |
| * dom/EventNames.h: New names. |
| * dom/EventNames.in: |
| |
| * dom/EventTarget.cpp: |
| (WebCore::legacyType): Provide a mapping from the new names to the older |
| prefixed forms. |
| |
| * html/HTMLAttributeNames.in: Support the on* attributes, even though I |
| hate them and wish this approach would die. |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap): |
| |
| * page/DOMWindow.h: New names, and constructors. |
| * page/DOMWindow.idl: |
| |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Fire new type. |
| |
| * page/animation/KeyframeAnimation.cpp: Fire the new types of events. |
| (WebCore::KeyframeAnimation::onAnimationStart): |
| (WebCore::KeyframeAnimation::onAnimationIteration): |
| (WebCore::KeyframeAnimation::onAnimationEnd): |
| (WebCore::KeyframeAnimation::sendAnimationEvent): |
| |
| 2014-11-20 Tim Horton <timothy_horton@apple.com> |
| |
| Remove a piece of DataDetectors SPI that we aren't using anymore |
| https://bugs.webkit.org/show_bug.cgi?id=138917 |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| |
| 2014-11-20 Beth Dakin <bdakin@apple.com> |
| |
| Invalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result |
| https://bugs.webkit.org/show_bug.cgi?id=138568 |
| -and corresponding- |
| rdar://problem/18904600 |
| |
| Reviewed by Tim Horton. |
| |
| Add an optional parameter indicating whether or not to include images. |
| * WebCore.exp.in: |
| * editing/cocoa/HTMLConverter.h: |
| * editing/cocoa/HTMLConverter.mm: |
| (WebCore::editingAttributedStringFromRange): |
| |
| 2014-11-20 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Fix the !ENABLE(SVG_FONTS) build after r176276 |
| https://bugs.webkit.org/show_bug.cgi?id=138924 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| No new tests because there is no behavior change. |
| |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestFont): |
| |
| 2014-11-19 Ada Chan <adachan@apple.com> |
| |
| Add a way to mute an AudioContext. |
| https://bugs.webkit.org/show_bug.cgi?id=138104 |
| |
| Reviewed by Eric Carlson. |
| |
| Keep a muted state in AudioDestinationNode. If m_muted is true, |
| zero out the audio buffers. |
| |
| No new tests, since it's difficult to test whether the audio is indeed muted. |
| |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::AudioContext): |
| Call pageMutedStateDidChange() so it'll initialize the destination audio node's muted state accordingly. |
| (WebCore::AudioContext::pageMutedStateDidChange): |
| Set the destination audio node's muted state to match the page's muted state. |
| |
| * Modules/webaudio/AudioDestinationNode.cpp: |
| (WebCore::AudioDestinationNode::AudioDestinationNode): |
| Initialize m_muted. |
| (WebCore::AudioDestinationNode::render): |
| If m_muted is true, call AudioBus::zero() to zero out the buffers. |
| * Modules/webaudio/AudioDestinationNode.h: |
| (WebCore::AudioDestinationNode::setMuted): |
| Set m_muted. |
| |
| 2014-11-20 Chris Dumez <cdumez@apple.com> |
| |
| Crash when destroying a Document that has a throttled timer still running |
| https://bugs.webkit.org/show_bug.cgi?id=138914 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Upon destruction, a throttled DOMTimer whose interval depends on |
| viewport changes will try to unregister itself from the view. It gets |
| the view pointer from its Document. However, scriptExecutionContext() |
| can return null if the Document is being destroyed (i.e. ~DOMTimer() |
| is called from ~ScriptExecutionContext(), as the ScriptExecutionContext |
| owns the DOMTimer). |
| |
| This patch adds a null check for scriptExecutionContext() in the |
| DOMTimer destructor to avoid this issue. |
| |
| Test: fast/dom/throttled-timer-running-on-document-destruction.html |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::~DOMTimer): |
| |
| (WebCore::DOMTimer::unregisterForViewportChanges): |
| Add assertion to make sure scriptExecutionContext() does not return |
| null. |
| |
| (WebCore::DOMTimerFireState::setChangedStyleOfElementOutsideViewport): Deleted. |
| Killed this function as this was dead code. |
| |
| 2014-11-20 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Introduce text fragment continuation. |
| https://bugs.webkit.org/show_bug.cgi?id=138274 |
| |
| This patch extends simple line layout coverage to multiple text renderers. |
| When a particular render flow has multiple text renderers (but not any other type) |
| then we use simple line layout to process and paint the content. -other, existing requirements still apply |
| so that for example if the content requires decoration, we bail out of simple line layout. |
| |
| FlowContent now supports multiple renderes. It continuously reads content from sibling renderers |
| so that the simple line layout parser sees it as one monolithic block of content. Run positions |
| are all relative to the block and they get resolved to renderer's positions on demand. |
| (painting, computing bounding rects etc) |
| |
| Reviewed by Antti Koivisto. |
| |
| Performance test already been added for the multiple rendere use case, |
| correctness is covered by existing test cases. |
| Test: fast/text/simple-lines-mutliple-renderers.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts. |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position. |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): |
| (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering. |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::create): |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to |
| ligature which later can produce unexpected line breaks and out sync rendering in general. |
| (WebCore::SimpleLineLayout::FlowContents::renderer): |
| (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): |
| (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed. |
| (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::runWidth): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| |
| 2014-11-20 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176396. |
| https://bugs.webkit.org/show_bug.cgi?id=138926 |
| |
| revealed some WebCore::BidiResolver issue. rollout this for |
| now. (Requested by zalan on #webkit). |
| |
| Reverted changeset: |
| |
| "Simple line layout: Introduce text fragment continuation." |
| https://bugs.webkit.org/show_bug.cgi?id=138274 |
| http://trac.webkit.org/changeset/176396 |
| |
| 2014-11-20 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Introduce text fragment continuation. |
| https://bugs.webkit.org/show_bug.cgi?id=138274 |
| |
| This patch extends simple line layout coverage to multiple text renderers. |
| When a particular render flow has multiple text renderers (but not any other type) |
| then we use simple line layout to process and paint the content. -other, existing requirements still apply |
| so that for example if the content requires decoration, we bail out of simple line layout. |
| |
| FlowContent now supports multiple renderes. It continuously reads content from sibling renderers |
| so that the simple line layout parser sees it as one monolithic block of content. Run positions |
| are all relative to the block and they get resolved to renderer's positions on demand. |
| (painting, computing bounding rects etc) |
| |
| Reviewed by Antti Koivisto. |
| |
| Performance test already been added for the multiple rendere use case, |
| correctness is covered by existing test cases. |
| Test: fast/text/simple-lines-mutliple-renderers.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts. |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position. |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): |
| (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering. |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::create): |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to |
| ligature which later can produce unexpected line breaks and out sync renderering in general. |
| (WebCore::SimpleLineLayout::FlowContents::renderer): |
| (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): |
| (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed. |
| (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::runWidth): |
| * rendering/SimpleLineLayoutFlowContents.h: |
| (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| |
| 2014-11-20 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Compile error when GStreamer is enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=138925 |
| |
| Reviewed by Philippe Normand. |
| |
| A guard is missing for an overridden method. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| |
| 2014-11-20 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Provide convenience API in DOM bindings to post messages to user message handlers |
| https://bugs.webkit.org/show_bug.cgi?id=138871 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Adds a convenience function in the WebKitGTK+ DOM bindings to post |
| messages to user message handlers in a way convenient way more |
| convenient than using the autogenerated bindings. |
| |
| * bindings/gobject/WebKitDOMCustom.cpp: |
| (webkit_dom_dom_window_webkit_message_handlers_post_message): |
| Added new convenience API function to post messages to user message |
| handlers. |
| * bindings/gobject/WebKitDOMCustom.h: Ditto. |
| * bindings/gobject/WebKitDOMCustom.symbols: Ditto. |
| |
| 2014-11-12 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Replace the usage of size_t by unsigned |
| https://bugs.webkit.org/show_bug.cgi?id=136218 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In general, size_t should be used for sizes of objects in |
| memory. We're using it to represent indexes and spans in the |
| grid. Now that the maximum number of tracks is 1 million, it |
| should be safe to replace them by unsigned integers. |
| |
| No new tests as there is no change in functionality. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseGridTrackRepeatFunction): |
| * css/StyleResolver.cpp: |
| (WebCore::createImplicitNamedGridLinesFromGridArea): |
| (WebCore::createGridTrackList): |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::GridIterator::GridIterator): |
| (WebCore::RenderGrid::GridIterator::nextGridItem): |
| (WebCore::RenderGrid::GridIterator::isEmptyAreaEnough): |
| (WebCore::RenderGrid::GridIterator::nextEmptyGridArea): |
| (WebCore::RenderGrid::GridSizingData::GridSizingData): |
| (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): |
| (WebCore::RenderGrid::gridTrackSize): |
| (WebCore::RenderGrid::distributeSpaceToTracks): |
| (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): |
| (WebCore::RenderGrid::ensureGridSize): |
| (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): |
| (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid): |
| (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): |
| (WebCore::RenderGrid::populateGridPositions): |
| * rendering/RenderGrid.h: |
| * rendering/style/GridCoordinate.h: |
| (WebCore::GridSpan::integerSpan): |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::GridResolvedPosition::explicitGridColumnCount): |
| (WebCore::GridResolvedPosition::explicitGridRowCount): |
| (WebCore::explicitGridSizeForSide): |
| (WebCore::GridResolvedPosition::resolveNamedGridLinePositionFromStyle): |
| (WebCore::GridResolvedPosition::resolveGridPositionFromStyle): |
| (WebCore::GridResolvedPosition::resolveGridPositionAgainstOppositePosition): |
| (WebCore::firstNamedGridLineBeforePosition): |
| (WebCore::GridResolvedPosition::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): |
| (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): |
| * rendering/style/GridResolvedPosition.h: |
| (WebCore::GridResolvedPosition::adjustGridPositionForRowEndColumnEndSide): |
| (WebCore::GridResolvedPosition::adjustGridPositionForSide): |
| (WebCore::GridResolvedPosition::GridResolvedPosition): |
| (WebCore::GridResolvedPosition::toInt): |
| * rendering/style/StyleGridData.h: |
| |
| 2014-11-20 Andreas Kling <akling@apple.com> |
| |
| Remove "document has no sibling rules" optimization. |
| <https://webkit.org/b/138902> |
| |
| Reviewed by Antti Koivisto. |
| |
| We were keeping a document-level flag to track whether there are any |
| sibling rules in any active style sheets. |
| |
| This information was used to do.. nothing. |
| |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::usesSiblingRules): Deleted. |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection): |
| (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags): |
| (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags): |
| * dom/DocumentStyleSheetCollection.h: |
| (WebCore::DocumentStyleSheetCollection::usesSiblingRules): Deleted. |
| (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride): Deleted. |
| * mathml/MathMLMathElement.cpp: |
| (WebCore::MathMLMathElement::insertedInto): Deleted. |
| * mathml/MathMLMathElement.h: |
| |
| 2014-11-20 Andreas Kling <akling@apple.com> |
| |
| Caret renderer is always a RenderBlock. |
| <https://webkit.org/b/138912> |
| |
| Reviewed by Chris Dumez. |
| |
| Tighten typing in the code that finds and deals with the renderer |
| used to paint the caret (it's always a RenderBlock.) |
| |
| * editing/FrameSelection.cpp: |
| (WebCore::CaretBase::updateCaretRect): |
| (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout): |
| (WebCore::DragCaretController::caretRenderer): |
| (WebCore::repaintCaretForLocalRect): |
| (WebCore::CaretBase::paintCaret): |
| * editing/FrameSelection.h: |
| * editing/VisiblePosition.cpp: |
| (WebCore::VisiblePosition::absoluteCaretBounds): |
| * editing/htmlediting.cpp: |
| (WebCore::rendererForCaretPainting): |
| (WebCore::localCaretRectInRendererForCaretPainting): |
| (WebCore::absoluteBoundsForLocalCaretRect): |
| * editing/htmlediting.h: |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paintCaret): |
| |
| 2014-11-20 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r172854): Web Viewer in FileMaker does not render a Base64 encoded animated-GIF |
| https://bugs.webkit.org/show_bug.cgi?id=138807 |
| <rdar://problem/18829540> |
| |
| Reviewed by Simon Fraser. |
| |
| Animation gets paused because WebKit thinks the GIF is outside of the view. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::windowClipRect): |
| |
| We need to convert to window coordinates in paintsEntireContents mode too so these functions are consistent. |
| This matters with some WK1 API clients. |
| |
| 2014-11-19 Chris Dumez <cdumez@apple.com> |
| |
| Move 'clip' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138909 |
| |
| Reviewed by Andreas Kling. |
| |
| Move 'clip' CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyClip::convertToLength): Deleted. |
| (WebCore::ApplyPropertyClip::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyClip::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyClip::applyValue): Deleted. |
| (WebCore::ApplyPropertyClip::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyInitialClip): |
| (WebCore::StyleBuilderFunctions::applyInheritClip): |
| (WebCore::StyleBuilderFunctions::applyValueClip): |
| |
| 2014-11-19 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| Remove dead code from TiledBackingStore |
| https://bugs.webkit.org/show_bug.cgi?id=138864 |
| |
| Reviewed by Andreas Kling. |
| |
| Since r168151, paint() method, m_commitTileUpdatesOnIdleEventLoop and related code are not used. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/TiledBackingStore.cpp: |
| (WebCore::TiledBackingStore::TiledBackingStore): |
| (WebCore::TiledBackingStore::setTileSize): |
| (WebCore::TiledBackingStore::invalidate): |
| (WebCore::TiledBackingStore::createTiles): |
| (WebCore::TiledBackingStore::paint): Deleted. |
| (WebCore::TiledBackingStore::startTileBufferUpdateTimer): Deleted. |
| (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): Deleted. |
| (WebCore::TiledBackingStore::startBackingStoreUpdateTimer): Deleted. |
| (WebCore::TiledBackingStore::backingStoreUpdateTimerFired): Deleted. |
| * platform/graphics/TiledBackingStore.h: |
| (WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop): Deleted. |
| |
| 2014-11-19 Andreas Kling <akling@apple.com> |
| |
| Remove "document has no ::before and/or ::after rules" optimization. |
| <https://webkit.org/b/138897> |
| |
| Reviewed by Antti Koivisto. |
| |
| This optimization has been dead for a long time, since the default UA |
| style contains both ::before and ::after rules. |
| |
| * css/RuleFeature.cpp: |
| (WebCore::recursivelyCollectFeaturesFromSelector): |
| (WebCore::RuleFeatureSet::add): |
| (WebCore::RuleFeatureSet::clear): |
| * css/RuleFeature.h: |
| (WebCore::RuleFeatureSet::RuleFeatureSet): |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::usesBeforeAfterRules): Deleted. |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection): |
| (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags): |
| (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags): |
| * dom/DocumentStyleSheetCollection.h: |
| (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules): Deleted. |
| (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride): Deleted. |
| * html/HTMLQuoteElement.cpp: |
| (WebCore::HTMLQuoteElement::insertedInto): Deleted. |
| * html/HTMLQuoteElement.h: |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::needsPseudoElement): |
| |
| 2014-11-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [OS X] Upright vertical text is completely broken for multi-code-unit codepoints |
| https://bugs.webkit.org/show_bug.cgi?id=138891 |
| |
| Reviewed by Dan Bernstein. |
| |
| We were assuming that we can use the string index (in UTF-16) as the glyph |
| index. This falls down when a single codepoint (and glyph) contians |
| multiple code units. |
| |
| Test: platform/mac/fast/text/multiple-codeunit-vertical-upright.html |
| |
| * platform/graphics/GlyphPage.h: |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: |
| (WebCore::GlyphPage::fill): |
| |
| 2014-11-19 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the Apple Internal Mavericks build after <https://trac.webkit.org/changeset/176347> |
| (https://bugs.webkit.org/show_bug.cgi?id=136863) |
| |
| Define enumerator NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain when building without |
| the Apple Internal SDK or with the Apple Internal SDK on OS X Mavericks or earlier. |
| |
| * platform/spi/cf/CFNetworkSPI.h: |
| |
| 2014-11-16 Sam Weinig <sam@webkit.org> |
| |
| Move the 'quotes' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138788 |
| |
| Reviewed by Chris Dumez. |
| |
| Test: fast/css/content/content-quotes-07.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| Fix the parser to only accept none as a valid primitive identifier. Tested in |
| the newly added content-quotes-07.html. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertQuotes): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| Move "quotes" to the new style builder. |
| |
| * rendering/style/RenderStyle.h: |
| Add an initialQuotes() function for use in the auto-generated style builder. |
| |
| 2014-11-19 Dean Jackson <dino@apple.com> |
| |
| Handle unprefixed @keyframes rule |
| https://bugs.webkit.org/show_bug.cgi?id=138899 |
| <rdar://problem/18943117> |
| |
| Reviewed by Simon Fraser. |
| |
| Support the parsing of unprefixed @keyframes. In |
| CSSParser, assign the same token identifier to |
| the prefixed and unprefixed forms. This will |
| keep compatibility with older content. If a page |
| has both forms, then whatever comes last will |
| win (as it does if you had duplicate names of the same |
| form). |
| |
| Tests: animations/unprefixed-keyframes-rule.html |
| animations/unprefixed-keyframes.html |
| |
| * css/CSSGrammar.y.in: Rename the WEBKIT_KEYFRAME_RULE_SYM symbol to |
| be KEYFRAME_RULE_SYM. Same with KEYFRAMES_SYM. |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectAtToken): Look for the @keyframes style |
| strings and assign the new token values. |
| |
| 2014-11-19 Andreas Kling <akling@apple.com> |
| |
| Move pseudo-style code from RenderObject to RenderElement. |
| <https://webkit.org/b/138880> |
| |
| Reviewed by Antti Koivisto. |
| |
| Migrate get*PseudoStyle() to RenderElement, and the selection color |
| functions along with them. This gets rid of a DOM ancestor walk in |
| pseudo style lookup. |
| |
| Narrow down some argument types to keep things building. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::logicalLeftSelectionGap): |
| (WebCore::RenderBlock::logicalRightSelectionGap): |
| (WebCore::styleForFirstLetter): |
| (WebCore::RenderBlock::updateFirstLetterStyle): |
| (WebCore::RenderBlock::createFirstLetterRenderer): |
| * rendering/RenderBlock.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::getCachedPseudoStyle): |
| (WebCore::RenderElement::getUncachedPseudoStyle): |
| (WebCore::RenderElement::selectionColor): |
| (WebCore::RenderElement::selectionPseudoStyle): |
| (WebCore::RenderElement::selectionForegroundColor): |
| (WebCore::RenderElement::selectionEmphasisMarkColor): |
| (WebCore::RenderElement::selectionBackgroundColor): |
| * rendering/RenderElement.h: |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::selectionBackgroundColor): Deleted. |
| (WebCore::RenderObject::selectionColor): Deleted. |
| (WebCore::RenderObject::selectionPseudoStyle): Deleted. |
| (WebCore::RenderObject::selectionForegroundColor): Deleted. |
| (WebCore::RenderObject::selectionEmphasisMarkColor): Deleted. |
| (WebCore::RenderObject::getCachedPseudoStyle): Deleted. |
| (WebCore::RenderObject::getUncachedPseudoStyle): Deleted. |
| * rendering/RenderObject.h: |
| * rendering/RenderText.h: |
| (WebCore::RenderText::getCachedPseudoStyle): |
| (WebCore::RenderText::selectionBackgroundColor): |
| (WebCore::RenderText::selectionForegroundColor): |
| (WebCore::RenderText::selectionEmphasisMarkColor): |
| * rendering/svg/SVGInlineTextBox.cpp: |
| (WebCore::SVGInlineTextBox::paintSelectionBackground): |
| (WebCore::SVGInlineTextBox::paint): |
| |
| 2014-11-19 Tim Horton <timothy_horton@apple.com> |
| |
| Add an optional entry transition (from selection highlight) to TextIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=138856 |
| <rdar://problem/18840128> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Add an export. |
| |
| * platform/spi/cocoa/QuartzCoreSPI.h: |
| Add some SPI. |
| |
| 2014-11-19 Chris Dumez <cdumez@apple.com> |
| |
| Move 'outline-style' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138882 |
| |
| Reviewed by Sam Weinig. |
| |
| Move 'outline-style' CSS property from DeprecatedStyleBuilder to the |
| new StyleBuilder by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyDefault::setValue): Deleted. |
| (WebCore::ApplyPropertyDefault::applyValue): Deleted. |
| (WebCore::ApplyPropertyDefault::createHandler): Deleted. |
| (WebCore::ApplyPropertyOutlineStyle::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyOutlineStyle::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyOutlineStyle::applyValue): Deleted. |
| (WebCore::ApplyPropertyOutlineStyle::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyInheritOutlineStyle): |
| (WebCore::StyleBuilderFunctions::applyInitialOutlineStyle): |
| (WebCore::StyleBuilderFunctions::applyValueOutlineStyle): |
| |
| 2014-11-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JSContext inspection Resource search does not work |
| https://bugs.webkit.org/show_bug.cgi?id=131252 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Test: inspector/debugger/search-scripts.html |
| |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::searchInResources): |
| A little cleanup. |
| |
| 2014-11-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide $exception in the console for the thrown exception value |
| https://bugs.webkit.org/show_bug.cgi?id=138726 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Tests: inspector/debugger/command-line-api-exception-nested-catch.html |
| inspector/debugger/command-line-api-exception.html |
| |
| * inspector/CommandLineAPIModuleSource.js: |
| Expose $exception in the more complete command line API. |
| |
| 2014-11-19 David Hyatt <hyatt@apple.com> |
| |
| Images/replaced elements that are as tall as a page should be on their own page |
| https://bugs.webkit.org/show_bug.cgi?id=138886 - <rdar://problem/18296371> |
| |
| Reviewed by Dean Jackson. |
| |
| Added fast/multicol/tall-image-behavior.html (and RL/LR variants) |
| |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::computeReplacedAndTextLineTopAndBottom): |
| * rendering/InlineFlowBox.h: |
| Add a new method that computes the line top and line bottom ignoring all margins, |
| overflow and line-height. This allows us to see if a line that is taller than a page |
| can be made to fit if we ignored margins and unused descent. |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::adjustLinePositionForPagination): |
| Call the new helper function, computeReplacedAndTextLineTopAndBottom and push |
| to a new page if we see that we can fit on a page by ourselves without blank space |
| included. |
| |
| 2014-11-18 Ada Chan <adachan@apple.com> |
| |
| Take Web Audio into account for the Page::isPlayingAudio() API. |
| https://bugs.webkit.org/show_bug.cgi?id=137464 |
| |
| Reviewed by Jer Noble. |
| |
| Make AudioContext a subclass of AudioProducer. It figures out whether there's |
| audio playing by checking whether its AudioDestinationNode is playing (and not |
| silent). It calls Document::updateIsPlayingAudio() whenever its audio playing |
| state has changed. |
| |
| Test: webaudio/web-audio-is-playing.html |
| |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::lazyInitialize): |
| Add itself to the Document's list of AudioProducers if it's not an offline |
| audio context. |
| (WebCore::AudioContext::uninitialize): |
| Remove itself from the Document's list of AudioProducers if it's not an offline |
| audio context. |
| (WebCore::AudioContext::stop): |
| Tell the document to update its audio playing state. |
| (WebCore::AudioContext::isPlayingAudio): |
| Return true if the audio context hasn't been stopped and its destination node is |
| playing audio. |
| (WebCore::AudioContext::pageMutedStateDidChange): |
| Add a FIXME for now. |
| (WebCore::AudioContext::isPlayingAudioDidChange): |
| Call Document::updateIsPlayingAudio(). |
| * Modules/webaudio/AudioContext.h: |
| |
| * Modules/webaudio/AudioDestinationNode.cpp: |
| (WebCore::AudioDestinationNode::AudioDestinationNode): |
| Initialize m_isSilent and m_isEffectivelyPlayingAudio. |
| (WebCore::AudioDestinationNode::render): |
| Call setIsSilent() with the appropriate value after rendering. |
| (WebCore::AudioDestinationNode::isPlayingDidChange): |
| Call updateIsEffectivelyPlayingAudio(). |
| (WebCore::AudioDestinationNode::setIsSilent): |
| If m_isSilent has changed, call updateIsEffectivelyPlayingAudio(). |
| (WebCore::AudioDestinationNode::updateIsEffectivelyPlayingAudio): |
| If m_isEffectivelyPlayingAudio has changed, call AudioContext::isPlayingAudioDidChange(). |
| * Modules/webaudio/AudioDestinationNode.h: |
| (WebCore::AudioDestinationNode::isPlaying): |
| (WebCore::AudioDestinationNode::isPlayingAudio): |
| |
| * Modules/webaudio/DefaultAudioDestinationNode.cpp: |
| (WebCore::DefaultAudioDestinationNode::isPlaying): |
| Return whether the AudioDestination is playing. |
| * Modules/webaudio/DefaultAudioDestinationNode.h: |
| |
| * platform/audio/AudioIOCallback.h: |
| * platform/audio/ios/AudioDestinationIOS.cpp: |
| (WebCore::AudioDestinationIOS::start): |
| Call setIsPlaying() instead. |
| (WebCore::AudioDestinationIOS::stop): |
| Ditto. |
| (WebCore::AudioDestinationIOS::setIsPlaying): |
| If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange(). |
| * platform/audio/ios/AudioDestinationIOS.h: |
| |
| * platform/audio/mac/AudioDestinationMac.cpp: |
| (WebCore::AudioDestinationMac::start): |
| Call setIsPlaying() instead. |
| (WebCore::AudioDestinationMac::stop): |
| Ditto. |
| (WebCore::AudioDestinationMac::setIsPlaying): |
| If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange(). |
| * platform/audio/mac/AudioDestinationMac.h: |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::isPagePlayingAudio): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| Add internals.isPagePlayingAudio() for testing. |
| |
| 2014-11-19 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the Apple Internal Mountain Lion build after <https://trac.webkit.org/changeset/176347> |
| (https://bugs.webkit.org/show_bug.cgi?id=136863) |
| |
| Only import header CFNSURLConnection.h when building for iOS or OS X Yosemite. |
| |
| * platform/spi/cf/CFNetworkSPI.h: |
| |
| 2014-11-19 Antti Koivisto <antti@apple.com> |
| |
| Fix TilesAdded bitmask |
| https://bugs.webkit.org/show_bug.cgi?id=138883 |
| |
| Reviewed by Simon Fraser. |
| |
| Simon spotted this. |
| |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| Use 1LLU << 29 instead of 1LLU < 29 |
| This worked before by pure luck as bit 0 is unused. |
| |
| 2014-11-19 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit build with public iOS SDK |
| https://bugs.webkit.org/show_bug.cgi?id=136863 |
| |
| Reviewed by David Kilzer. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add private headers CFNetworkSPI.h and |
| NS{CalendarDate, String, URLDownload}SPI.h. |
| * loader/cocoa/DiskCacheMonitorCocoa.mm: Move forward declaration of |
| CFNetwork data types and functions from here to file CFNetworkSPI.h and |
| include header CFNetworkSPI.h. |
| * platform/network/mac/ResourceHandleMac.mm: Substitute CFNetworkSPI.h for |
| CFURLRequestSPI.h as the content of the latter was incorporated into the former. |
| * platform/spi/cf/CFNetworkSPI.h: Added. |
| * platform/spi/cf/CFURLRequestSPI.h: Removed; incorporated its functionality |
| into CFNetworkSPI.h |
| * platform/spi/cocoa/NSCalendarDateSPI.h: Added. |
| * platform/spi/cocoa/NSStringSPI.h: Added. |
| * platform/spi/cocoa/NSURLDownloadSPI.h: Added. |
| |
| 2014-11-19 Benjamin Poulain <bpoulain@apple.com> |
| |
| Get rid of AccessibilityObject::setRoleValue() |
| https://bugs.webkit.org/show_bug.cgi?id=138861 |
| |
| Reviewed by Chris Fleizach. |
| |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::setRoleValue): Deleted. |
| |
| 2014-11-19 Philippe Normand <pnormand@igalia.com> |
| |
| Missing NULL-check in VideoTrack::setLanguage |
| https://bugs.webkit.org/show_bug.cgi?id=138867 |
| |
| Reviewed by Jer Noble. |
| |
| * html/track/VideoTrack.cpp: |
| (WebCore::VideoTrack::setLanguage): Prevent change event creation |
| on an empty video track list. |
| |
| 2014-11-19 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Safari fails to load a web page with VoiceOver |
| https://bugs.webkit.org/show_bug.cgi?id=138849 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Sometimes an inlineElementContinuation will continue to an inline RenderBlock, so we case this incorrectly and bad things happen. |
| |
| Test: accessibility/inline-block-assertion.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::startOfContinuations): |
| |
| 2014-11-19 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: RenderTreeAsText should use rangeForRenderer() when dumping simple line text. |
| https://bugs.webkit.org/show_bug.cgi?id=138847 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to support multiple renderers for simple line layout. |
| Use rangeForRenderer() to get runs for a particular renderer as opposed to for the entire flow. |
| |
| Not testable. |
| |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::write): |
| |
| 2014-11-19 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Compile error when CSS_SELECTORS_LEVEL4 is not enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=138870 |
| |
| Reviewed by Alex Christensen. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::simpleSelectorSpecificityInternal): |
| |
| 2014-11-19 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Screen braille input doesn't work on forms. |
| https://bugs.webkit.org/show_bug.cgi?id=138804 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Allow iOS to set values of text fields through the API. |
| |
| Test: platform/ios-sim/accessibility/set-value.html |
| |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper _accessibilitySetValue:]): |
| |
| 2014-11-19 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add renderer based rect collecting to RunResolver. |
| https://bugs.webkit.org/show_bug.cgi?id=138818 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to multiple renderers support. |
| RunResolver should be able to collect rects for a particular renderer |
| that might overlap multiple runs. (or might just be a subset of a Run) |
| |
| Covered by existing tests. |
| |
| * rendering/SimpleLineLayoutFlowContents.cpp: |
| (WebCore::SimpleLineLayout::FlowContents::renderer): It operates on a single renderer currently. |
| (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): It operates on a single renderer currently. |
| * rendering/SimpleLineLayoutFlowContents.h: |
| * rendering/SimpleLineLayoutFunctions.cpp: |
| (WebCore::SimpleLineLayout::computeTextBoundingBox): |
| (WebCore::SimpleLineLayout::computeTextFirstRunLocation): |
| (WebCore::SimpleLineLayout::collectTextAbsoluteRects): |
| (WebCore::SimpleLineLayout::collectTextAbsoluteQuads): |
| (WebCore::SimpleLineLayout::showLineLayoutForFlow): |
| * rendering/SimpleLineLayoutResolver.cpp: |
| (WebCore::SimpleLineLayout::baselinePosition): |
| (WebCore::SimpleLineLayout::linePosition): |
| (WebCore::SimpleLineLayout::lineSize): |
| (WebCore::SimpleLineLayout::RunResolver::Run::rect): |
| (WebCore::SimpleLineLayout::RunResolver::Run::rectForTextRenderer): |
| (WebCore::SimpleLineLayout::RunResolver::Run::baseline): |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| (WebCore::SimpleLineLayout::RunResolver::Run::computeRect): |
| (WebCore::SimpleLineLayout::RunResolver::RunResolver): |
| * rendering/SimpleLineLayoutResolver.h: |
| |
| 2014-11-19 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Add selector checker for :lang pseudo class in Selectors level 4 |
| https://bugs.webkit.org/show_bug.cgi?id=138281 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Add selector checker for :lang pseudo class in Selectors level 4. |
| |
| The language tags matching is specified in [1,2]. |
| |
| [1] http://www.ietf.org/rfc/rfc4647.txt |
| [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo |
| |
| Tests: fast/selectors/lang-extended-filtering.html |
| fast/selectors/lang-multiple.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::containslanguageSubtagMatchingRange): |
| (WebCore::matchesLangPseudoClass): |
| (WebCore::matchesLangPseudoClassDeprecated): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-11-18 Philippe Normand <pnormand@igalia.com> |
| |
| start/stop method for AudioBufferSourceNodes and OscillatorNodes can take no args |
| https://bugs.webkit.org/show_bug.cgi?id=138739 |
| |
| Reviewed by Darin Adler. |
| |
| The patch is inspired by the following Blink revision by |
| <rtoy@google.com>: |
| <https://src.chromium.org/viewvc/blink?view=rev&revision=160845> |
| |
| Test: webaudio/dom-exceptions.html |
| |
| * Modules/webaudio/AudioBufferSourceNode.cpp: |
| (WebCore::AudioBufferSourceNode::start): |
| (WebCore::AudioBufferSourceNode::startPlaying): |
| (WebCore::AudioBufferSourceNode::noteGrainOn): |
| (WebCore::AudioBufferSourceNode::startGrain): Deleted. |
| * Modules/webaudio/AudioBufferSourceNode.h: |
| * Modules/webaudio/AudioBufferSourceNode.idl: |
| * Modules/webaudio/AudioScheduledSourceNode.cpp: |
| (WebCore::AudioScheduledSourceNode::start): |
| (WebCore::AudioScheduledSourceNode::stop): |
| * Modules/webaudio/AudioScheduledSourceNode.h: |
| * Modules/webaudio/OscillatorNode.idl: |
| |
| 2014-11-18 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add the initial implementation of dynamic specificity for :matches() |
| https://bugs.webkit.org/show_bug.cgi?id=138822 |
| |
| Reviewed by Andreas Kling. |
| |
| Previously we completely ignored the selector list of :matches() when computing |
| the specificity of the selector. |
| |
| The spec (http://dev.w3.org/csswg/selectors4/#specificity) says: |
| "The specificity of a :matches() pseudo-class, however, is the specificity |
| of the most specific complex selector that matched the given element." |
| |
| This patch does just that. |
| |
| In the CSS JIT, we only consider specificities that can be computed statically |
| for now, this should be extended later. |
| When the specificity is dynamic, we fall back to SelectorChecker. In that case, |
| we execute every selector of the selector list and we keep the maximum value |
| as the specificity for the whole :matches(). |
| |
| Tests: fast/css/matches-specificity-1.html |
| fast/css/matches-specificity-2.html |
| fast/css/matches-specificity-3.html |
| fast/css/matches-specificity-4.html |
| fast/css/matches-specificity-5.html |
| fast/css/matches-specificity-6.html |
| fast/css/matches-specificity-7.html |
| fast/css/matches-specificity-8.html |
| fast/css/matches-specificity-9.html |
| fast/css/matches-specificity-10.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::selectorSpecificity): |
| (WebCore::maxSpecificity): |
| (WebCore::CSSSelector::specificity): |
| (WebCore::simpleSelectorSpecificityInternal): |
| (WebCore::CSSSelector::simpleSelectorSpecificity): |
| :matches() itself should not have any specificity. The specificity of its components |
| is computed in SelectorChecker. |
| |
| Since :matches() is no longer accounted as a class B specificity, I had to finish |
| the specificity of :not() or some test breaks. |
| |
| * css/CSSSelector.h: |
| * css/PageRuleCollector.cpp: |
| (WebCore::comparePageRules): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| We can no longer shortcut the execution when context.pseudoElementEffective is false. |
| There is no guarantee that a following selector wouldn't match with a higher specificity. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::constructFragments): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| |
| 2014-11-18 David Kilzer <ddkilzer@apple.com> |
| |
| FeatureDefines.xcconfig: Switch from using PLATFORM_NAME to SDK selectors |
| <http://webkit.org/b/138813> |
| |
| Reviewed by Mark Rowe. |
| |
| * Configurations/FeatureDefines.xcconfig: Switch to using SDK |
| selectors. |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'z-index' / 'flex-shrink' CSS properties to a calculated value |
| https://bugs.webkit.org/show_bug.cgi?id=138783 |
| |
| Reviewed by Andreas Kling. |
| |
| Update operators converting CSSPrimitiveValue to integer / floating |
| point types to properly handle calculated values (e.g. 'calc(2 * 3)'). |
| Previously, this was not working in release builds and we would hit an |
| ASSERT_NOT_REACHED() in debug builds. |
| |
| Tests: fast/css/flex-shrink-calculated-value.html |
| fast/css/z-index-calculated-value.html |
| |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::operator unsigned short): |
| (WebCore::CSSPrimitiveValue::operator int): |
| (WebCore::CSSPrimitiveValue::operator unsigned): |
| (WebCore::CSSPrimitiveValue::operator float): |
| |
| 2014-11-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176263 and r176273. |
| https://bugs.webkit.org/show_bug.cgi?id=138854 |
| |
| Underlines are hideous. (Requested by litherum on #webkit). |
| |
| Reverted changesets: |
| |
| "Use underlining metrics from the font file" |
| https://bugs.webkit.org/show_bug.cgi?id=138762 |
| http://trac.webkit.org/changeset/176263 |
| |
| "iOS build fix." |
| http://trac.webkit.org/changeset/176273 |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Add a setting to toggle DOMTimer throttling support |
| https://bugs.webkit.org/show_bug.cgi?id=138844 |
| <rdar://problem/19020874> |
| |
| Reviewed by Andreas Kling. |
| |
| Add a setting to disable DOM timers throttling, in order to help |
| developers determine if a specific issue is caused by timer |
| throttling. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimerFireState::contextDocument): |
| (WebCore::DOMTimerFireState::scriptMadeUserObservableChanges): |
| (WebCore::DOMTimer::isDOMTimersThrottlingEnabled): |
| (WebCore::DOMTimer::updateThrottlingStateIfNecessary): |
| * page/DOMTimer.h: |
| * page/Settings.in: |
| |
| 2014-11-18 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Invoking dictionary lookup on text in some search fields searches for |
| incorrect item |
| https://bugs.webkit.org/show_bug.cgi?id=138853 |
| -and corresponding- |
| rdar://problem/18912505 |
| |
| Reviewed by Tim Horton. |
| |
| Get the visible position based on the frame, not just the renderer. |
| * editing/mac/DictionaryLookup.mm: |
| (WebCore::rangeForDictionaryLookupAtHitTestResult): |
| |
| 2014-11-18 David Hyatt <hyatt@apple.com> |
| |
| REGRESSION (r167210): Invalid cast in WebCore::RenderBlock::blockSelectionGaps |
| https://bugs.webkit.org/show_bug.cgi?id=137590 |
| |
| Reviewed by Dean Jackson. |
| |
| Added fast/block/selection-block-gaps-crash.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::blockSelectionGaps): |
| Check that we really are a RenderBlock before recurring. |
| |
| 2014-11-18 Andreas Kling <akling@apple.com> |
| |
| Avoid synchronous style recalc in Document.activeElement |
| <https://webkit.org/b/138850> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This subtly changes the behavior of <input autofocus>, which was caught by |
| a layout test. Auto-focus doesn't happen until the render tree is attached, |
| although it was possible to force it by accessing document.activeElement. |
| |
| Now auto-focus is always lazy. This is consistent with other browser engines. |
| |
| ~1% progression on Speedometer locally. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::activeElement): |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Have Vector::capacity() return an unsigned instead of a size_t |
| https://bugs.webkit.org/show_bug.cgi?id=138842 |
| |
| Reviewed by Andreas Kling. |
| |
| Update the code base now that Vector::capacity() returns an unsigned |
| type instead of a size_t. |
| |
| No new tests, no behavior change. |
| |
| * editing/TextIterator.cpp: |
| (WebCore::SearchBuffer::append): |
| (WebCore::SearchBuffer::prependContext): |
| (WebCore::SearchBuffer::search): |
| (WebCore::SearchBuffer::length): |
| * platform/SharedBuffer.cpp: |
| (WebCore::SharedBuffer::duplicateDataBufferIfNecessary): |
| |
| 2014-11-18 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed the custom allocator for ListHashSet nodes |
| https://bugs.webkit.org/show_bug.cgi?id=138841 |
| |
| Reviewed by Andreas Kling. |
| |
| Uses of ListHashSet no longer need to declare an inline capacity, |
| since that was only used to specify the capacity of the custom allocator. |
| |
| * dom/DOMNamedFlowCollection.h: |
| * dom/DocumentEventQueue.h: |
| * dom/DocumentStyleSheetCollection.h: |
| * dom/NamedFlowCollection.h: |
| * html/FormController.h: |
| * rendering/FloatingObjects.h: |
| * rendering/RenderBlock.h: |
| |
| 2014-11-18 David Hyatt <hyatt@apple.com> |
| |
| REGRESSION(r152313): Inline-block element doesn't wrap properly |
| https://bugs.webkit.org/show_bug.cgi?id=138846 - <rdar://problem/18838703> |
| |
| Reviewed by Simon Fraser. |
| |
| Added fast/inline-block/inline-block-empty-spans.html |
| |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::BreakingContext::canBreakAtThisPosition): |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Multicolumn layout with negative line spacing and orphans causes pieces of letters to be shown at the bottom of columns |
| https://bugs.webkit.org/show_bug.cgi?id=138204 |
| |
| Reviewed by Dave Hyatt. |
| |
| This code is responsible for pushing block elements to the next column if |
| the "orphans" CSS property is triggered. The mechanism by which this is |
| achieved is to push the block down such that the origin of the block is |
| at the origin of the next column. However, if there is negative line |
| spacing, the top portion of the text might actually be on top of the |
| origin of the block. Therefore, the block wasn't being pushed down enough |
| to entirely contain its text, so the top pieces were being drawn on the |
| previous column. |
| |
| Test: fast/multicol/orphans-negative-line-spacing.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::adjustLinePositionForPagination): |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| DOMTimers sometimes don't get unthrottled on scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=138838 |
| |
| Reviewed by Antti Koivisto. |
| |
| DOMTimers sometimes didn't get unthrottled on scrolling. This is |
| because we stopped listening for viewport changes every time the |
| timer fires, but we didn't listen for those changes again if we |
| decided the timer should stay throttled after the timer's action |
| was executed. |
| |
| We should listen for viewport changes again after executing the |
| timer's action, if there are elements outside the viewport causing |
| the DOMTimer to be throttled, even if the throttleState hasn't |
| changed (i.e the timer stays throttled). |
| |
| Test: fast/dom/timer-unthrottle-on-scroll.html |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::updateThrottlingStateIfNecessary): |
| (WebCore::DOMTimer::updateTimerIntervalIfNecessary): |
| (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange): |
| |
| 2014-11-18 Daniel Bates <dbates@webkit.org> |
| |
| [iOS] Make WebCore build and link with public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=136487 |
| |
| Reviewed by David Kilzer. |
| |
| * bindings/objc/DOMInternal.mm: Include header NSMapTableSPI.h. |
| * bindings/objc/WebScriptObject.mm: Ditto; Also fix style nit, substitute |
| #import for #include when importing header WTFString.h. |
| * bridge/objc/objc_instance.mm: Include header NSMapTableSPI.h and remove |
| #import NSMapTable.h as the former will import the latter. |
| * platform/ios/PlatformEventFactoryIOS.mm: Include header wtf/CurrentTime.h |
| for the declaration of WTF::currentTime(). |
| * platform/ios/wak/WebCoreThread.mm: Remove unnecessary include of header CoreFoundation/CFPriv.h. |
| * platform/spi/ios/AVKitSPI.h: Add more SPI. |
| * platform/spi/ios/MPAVRoutingControllerSPI.h: Ditto. |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Subclass CachedFont for SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| |
| Reviewed by Simon Fraser. |
| |
| Re-landing due to flakey bots. |
| |
| CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it. |
| Splitting out this SVG-specific code into a subclass of CachedFont |
| cleans up the design. |
| |
| No new tests because there is no behavior change. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): There are two sections |
| in this function; one for SVG fonts and one for regular fonts. |
| I've moved these two sections into CachedFont and SVGCachedFont, |
| thereby simplifying this function. |
| (WebCore::CSSFontFaceSource::ensureFontData): Ditto. |
| (WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header. |
| (WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto. |
| (WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto. |
| * css/CSSFontFaceSource.h: Put functions that are simple enough to |
| be inlined here. |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience |
| function. |
| (WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean |
| from CSSFontSelector to CachedResourceHandle regarding if we should |
| be using SVGCachedFont instead of CachedFont. |
| * css/CSSFontFaceSrcValue.h: New convenience function. |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResourceType): Update for new |
| CachedResource type |
| (WebCore::cachedResourcesForFrame): Ditto. |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::CachedFont): |
| (WebCore::CachedFont::ensureCustomFontData): Taken from |
| CSSFontFaceSource::getFontData() |
| (WebCore::CachedFont::getFontData): Ditto. |
| (WebCore::CachedFont::platformDataFromCustomData): Ditto. |
| (WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont. |
| (WebCore::CachedFont::getSVGFontById): Ditto. |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::defaultPriorityForResourceType): Update for new enum |
| type. |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::createResource): Takes new boolean. |
| (WebCore::CachedResourceLoader::requestFont): Ditto. |
| (WebCore::CachedResourceLoader::checkInsecureContent): Update for |
| new enum type |
| (WebCore::CachedResourceLoader::canRequest): Ditto. |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGFont.cpp: Added. |
| (WebCore::CachedSVGFont::CachedSVGFont): Moved from |
| CSSFontFaceSource::getFontData() and CachedFont |
| (WebCore::CachedSVGFont::getFontData): Ditto. |
| (WebCore::CachedSVGFont::platformDataFromCustomData): Ditto. |
| (WebCore::CachedSVGFont::ensureCustomFontData): Ditto. |
| (WebCore::CachedSVGFont::getSVGFontById): Ditto. |
| (WebCore::CachedSVGFont::firstFontFace): Ditto. |
| * loader/cache/CachedSVGFont.h: Subclass CachedFont. |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::getStatistics): Update for new enum. |
| * svg/SVGFontFaceUriElement.cpp: |
| (WebCore::isSVGFontTarget): Convenience function. |
| (WebCore::SVGFontFaceUriElement::loadFont): Update for new |
| boolean. |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Update the Vector API to deal with unsigned types instead of size_t |
| https://bugs.webkit.org/show_bug.cgi?id=138824 |
| |
| Reviewed by Andreas Kling. |
| |
| Update code base to fix build errors related to the typing changes |
| in the Vector API (size_t -> unsigned). |
| |
| No new tests, no behavior change. |
| |
| * WebCore.exp.in: |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::jsArray): |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| * cssjit/SelectorCompiler.cpp: |
| * html/HTMLFormElement.cpp: |
| (WebCore::removeFromVector): |
| * html/parser/HTMLParserIdioms.h: |
| * html/parser/XSSAuditor.cpp: |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewed iOS build fix |
| |
| * platform/graphics/ios/SimpleFontDataIOS.mm: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2014-11-18 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| * platform/graphics/ios/SimpleFontDataIOS.mm: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2014-11-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176264. |
| https://bugs.webkit.org/show_bug.cgi?id=138837 |
| |
| caused many test failures (Requested by litherum on #webkit). |
| |
| Reverted changeset: |
| |
| "Subclass CachedFont for SVG fonts" |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| http://trac.webkit.org/changeset/176264 |
| |
| 2014-11-18 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt |
| SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| |
| Reviewed by David Kilzer. |
| |
| Add SPI wrapper headers {Dispatch, DynamicLinker, IOPMLib, MachVM, NSPointerFunctions, MobileGestalt}SPI.h |
| that forward declare applicable libdispatch, dyld, IOKit, mach, Foundation, MobileGestalt SPI |
| and use these headers instead of the including private headers corresponding to these libraries/frameworks. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add private headers MobileGestaltSPI.h and |
| MachVMSPI.h, and project headers DynamicLinkerSPI.h, NSPointerFunctionsSPI.h, |
| DispatchSPI.h and IOPMLibSPI.h. Also, sort files in Xcode project. |
| * bindings/objc/DOMInternal.mm: Include header NSPointerFunctionsSPI.h. |
| * bridge/objc/objc_instance.mm: Ditto; Also, sort #import directives. |
| * platform/cocoa/DisplaySleepDisablerCocoa.cpp: Substitute header IOPMLibSPI.h |
| for private header IOKit/pwr_mgt/IOPMLib.h. |
| * platform/cocoa/MemoryPressureHandlerCocoa.mm: Substitute header DispatchSPI.h |
| for private header dispatch/private.h. |
| * platform/graphics/ios/FontServicesIOS.mm: Substitute header DynamicLinkerSPI.h |
| for private header mach-o/dyld_priv.h. |
| * platform/ios/PlatformScreenIOS.mm: Substitute header MobileGestaltSPI.h for |
| private header MobileGestalt.h. |
| * platform/spi/cocoa/DispatchSPI.h: Added. |
| * platform/spi/cocoa/DynamicLinkerSPI.h: Added. |
| * platform/spi/cocoa/IOPMLibSPI.h: Added. |
| * platform/spi/cocoa/MachVMSPI.h: Added. |
| * platform/spi/cocoa/NSPointerFunctionsSPI.h: Added. |
| * platform/spi/ios/MobileGestaltSPI.h: Added. |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Subclass CachedFont for SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| |
| Reviewed by Simon Fraser. |
| |
| CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it. |
| Splitting out this SVG-specific code into a subclass of CachedFont |
| cleans up the design. |
| |
| No new tests because there is no behavior change. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): There are two sections |
| in this function; one for SVG fonts and one for regular fonts. |
| I've moved these two sections into CachedFont and SVGCachedFont, |
| thereby simplifying this function. |
| (WebCore::CSSFontFaceSource::ensureFontData): Ditto. |
| (WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header. |
| (WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto. |
| (WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto. |
| * css/CSSFontFaceSource.h: Put functions that are simple enough to |
| be inlined here. |
| * css/CSSFontFaceSrcValue.cpp: |
| (WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience |
| function. |
| (WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean |
| from CSSFontSelector to CachedResourceHandle regarding if we should |
| be using SVGCachedFont instead of CachedFont. |
| * css/CSSFontFaceSrcValue.h: New convenience function. |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResourceType): Update for new |
| CachedResource type |
| (WebCore::cachedResourcesForFrame): Ditto. |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::CachedFont): |
| (WebCore::CachedFont::ensureCustomFontData): Taken from |
| CSSFontFaceSource::getFontData() |
| (WebCore::CachedFont::getFontData): Ditto. |
| (WebCore::CachedFont::platformDataFromCustomData): Ditto. |
| (WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont. |
| (WebCore::CachedFont::getSVGFontById): Ditto. |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::defaultPriorityForResourceType): Update for new enum |
| type. |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::createResource): Takes new boolean. |
| (WebCore::CachedResourceLoader::requestFont): Ditto. |
| (WebCore::CachedResourceLoader::checkInsecureContent): Update for |
| new enum type |
| (WebCore::CachedResourceLoader::canRequest): Ditto. |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGFont.cpp: Added. |
| (WebCore::CachedSVGFont::CachedSVGFont): Moved from |
| CSSFontFaceSource::getFontData() and CachedFont |
| (WebCore::CachedSVGFont::getFontData): Ditto. |
| (WebCore::CachedSVGFont::platformDataFromCustomData): Ditto. |
| (WebCore::CachedSVGFont::ensureCustomFontData): Ditto. |
| (WebCore::CachedSVGFont::getSVGFontById): Ditto. |
| (WebCore::CachedSVGFont::firstFontFace): Ditto. |
| * loader/cache/CachedSVGFont.h: Subclass CachedFont. |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::getStatistics): Update for new enum. |
| * svg/SVGFontFaceUriElement.cpp: |
| (WebCore::isSVGFontTarget): Convenience function. |
| (WebCore::SVGFontFaceUriElement::loadFont): Update for new |
| boolean. |
| |
| 2014-11-18 Myles C. Maxfield <litherum@gmail.com> |
| |
| Use underlining metrics from the font file |
| https://bugs.webkit.org/show_bug.cgi?id=138762 |
| |
| Reviewed by Dave Hyatt. |
| |
| Test: platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness.html |
| |
| * platform/graphics/FontMetrics.h: Adding variables for text decoration thickness and |
| underline position. |
| (WebCore::FontMetrics::FontMetrics): |
| (WebCore::FontMetrics::decorationThickness): |
| (WebCore::FontMetrics::setDecorationThickness): |
| (WebCore::FontMetrics::underlinePosition): |
| (WebCore::FontMetrics::setUnderlinePosition): |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: |
| (WebCore::SimpleFontData::platformInit): Initialize new FontMetrics members. |
| * platform/graphics/ios/SimpleFontDataIOS.mm: |
| (WebCore::SimpleFontData::platformInit): Ditto. |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::platformInit): Ditto. |
| * platform/graphics/win/SimpleFontDataCGWin.cpp: |
| (WebCore::SimpleFontData::platformInit): Ditto. |
| * platform/graphics/win/SimpleFontDataCairoWin.cpp: |
| (WebCore::SimpleFontData::platformInit): Ditto. |
| * platform/graphics/win/SimpleFontDataWin.cpp: |
| (WebCore::SimpleFontData::initGDIFont): Ditto. |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDecoration): Use FontMetrics data. |
| * style/InlineTextBoxStyle.cpp: |
| (WebCore::computeUnderlineOffset): Ditto. |
| (WebCore::visualOverflowForDecorations): Ditto. |
| * style/InlineTextBoxStyle.h: |
| (WebCore::textDecorationStrokeThickness): Deleted. |
| * svg/SVGFontData.cpp: |
| (WebCore::SVGFontData::initializeFontData): Initialize new FontMetrics members. |
| |
| 2014-11-17 David Hyatt <hyatt@apple.com> |
| |
| Improve Ruby selection (getting rid of overlap and improving gap filling) |
| https://bugs.webkit.org/show_bug.cgi?id=138250 |
| |
| Reviewed by Dean Jackson. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::selectionGaps): |
| (WebCore::RenderBlock::blockSelectionGaps): |
| Add Ruby text in along with the Ruby base. |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::inlineSelectionGaps): |
| Don't let block gaps get filled in here. |
| |
| * rendering/RenderRubyBase.h: |
| Expose accessor to the ruby run. |
| |
| * rendering/RenderRubyText.cpp: |
| (WebCore::RenderRubyText::rubyRun): |
| * rendering/RenderRubyText.h: |
| Add accessor to the ruby run. |
| |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::selectionTop): |
| (WebCore::RootInlineBox::selectionBottom): |
| Improve selectionTop and selectionBottom of ruby bases to avoid the |
| ruby text. Improve the selectionTop and selectionBottom of ruby texts |
| to fill the gap up to the previous/next line as appropriate. |
| |
| 2014-11-18 Shivakumar JM <shiva.jm@samsung.com> |
| |
| crypto: Use sequence<> instead of KeyUsage[] in IDL. |
| https://bugs.webkit.org/show_bug.cgi?id=138823 |
| |
| Reviewed by Darin Adler. |
| |
| Use sequence<KeyUsage> instead of KeyUsage[] in crypto IDL as per spec: https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/ |
| Overview.html#SubtleCrypto-method-generateKey |
| |
| No new tests, no behavior change. |
| |
| * crypto/SubtleCrypto.idl: |
| |
| 2014-11-18 Philippe Normand <pnormand@igalia.com> |
| |
| HRTFDatabaseLoader is not an absolute condition to run audioContext |
| https://bugs.webkit.org/show_bug.cgi?id=138829 |
| |
| Reviewed by Jer Noble. |
| |
| This patch is a port of the following Blink revision by |
| <keonho07.kim@samsung.com>: |
| <https://src.chromium.org/viewvc/blink?revision=167887&view=revision> |
| |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::AudioContext): |
| (WebCore::AudioContext::isRunnable): Deleted. |
| * Modules/webaudio/AudioContext.h: |
| (WebCore::AudioContext::hrtfDatabaseLoader): Deleted. |
| * Modules/webaudio/AudioDestinationNode.cpp: |
| (WebCore::AudioDestinationNode::render): |
| * Modules/webaudio/OfflineAudioDestinationNode.cpp: |
| (WebCore::OfflineAudioDestinationNode::offlineRender): |
| * Modules/webaudio/PannerNode.cpp: |
| (WebCore::PannerNode::PannerNode): |
| (WebCore::PannerNode::process): |
| (WebCore::PannerNode::initialize): |
| (WebCore::PannerNode::setPanningModel): |
| * Modules/webaudio/PannerNode.h: |
| * Modules/webaudio/RealtimeAnalyser.cpp: |
| * Modules/webaudio/RealtimeAnalyser.h: |
| * platform/audio/HRTFDatabaseLoader.cpp: |
| (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary): |
| |
| 2014-11-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176218. |
| https://bugs.webkit.org/show_bug.cgi?id=138827 |
| |
| seems to have caused regressions on the perf bots (Requested |
| by lajava on #webkit). |
| |
| Reverted changeset: |
| |
| "[CSS Grid Layout] Upgrade align-self and align-items parsing |
| to CSS 3" |
| https://bugs.webkit.org/show_bug.cgi?id=133359 |
| http://trac.webkit.org/changeset/176218 |
| |
| 2014-11-18 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Crash getting the orientation of a MenuListOption after the MenuList was removed from the document |
| https://bugs.webkit.org/show_bug.cgi?id=138727 |
| |
| Reviewed by Chris Fleizach. |
| |
| AccessibilityMenuListOption::elementRect() returns the value of the |
| grandparent MenuList, asserting that the grandparent exists with that |
| role. But it is possible to have an existing MenuListOption and remove |
| the element which had been backing that MenuList from the document. |
| Adding null checks prior to the assertions prevents our crashing if the |
| parent or grandparent was removed. |
| |
| Test: platform/gtk/accessibility/combobox-descendants-orientation-crash.html |
| |
| * accessibility/AccessibilityMenuListOption.cpp: |
| (WebCore::AccessibilityMenuListOption::elementRect): |
| |
| 2014-11-17 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix a small indentation mistake in SelectorCodeGenerator::generateNthFilterTest |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthFilterTest): |
| |
| 2014-11-17 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix two bad function names of HTMLFormControlElement |
| https://bugs.webkit.org/show_bug.cgi?id=138790 |
| |
| Reviewed by Andreas Kling. |
| |
| Darin suggested some name improvements in https://bugs.webkit.org/show_bug.cgi?id=138769 |
| |
| * dom/CheckedRadioButtons.cpp: |
| (WebCore::RadioButtonGroup::add): |
| (WebCore::RadioButtonGroup::updateCheckedState): |
| (WebCore::RadioButtonGroup::requiredAttributeChanged): |
| (WebCore::RadioButtonGroup::remove): |
| (WebCore::RadioButtonGroup::updateValidityForAllButtons): |
| (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons): Deleted. |
| * html/FileInputType.cpp: |
| (WebCore::FileInputType::setFiles): |
| * html/HTMLButtonElement.cpp: |
| (WebCore::HTMLButtonElement::computeWillValidate): |
| (WebCore::HTMLButtonElement::recalcWillValidate): Deleted. |
| * html/HTMLButtonElement.h: |
| * html/HTMLFieldSetElement.h: |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::requiredAttributeChanged): |
| (WebCore::HTMLFormControlElement::computeWillValidate): |
| (WebCore::HTMLFormControlElement::willValidate): |
| (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): |
| (WebCore::HTMLFormControlElement::isValidFormControlElement): |
| (WebCore::HTMLFormControlElement::updateValidity): |
| (WebCore::HTMLFormControlElement::setCustomValidity): |
| (WebCore::HTMLFormControlElement::recalcWillValidate): Deleted. |
| (WebCore::HTMLFormControlElement::setNeedsValidityCheck): Deleted. |
| * html/HTMLFormControlElement.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::runPostTypeUpdateTasks): |
| (WebCore::HTMLInputElement::parseAttribute): |
| (WebCore::HTMLInputElement::setChecked): |
| (WebCore::HTMLInputElement::setValueInternal): |
| (WebCore::HTMLInputElement::setValueFromRenderer): |
| (WebCore::HTMLInputElement::computeWillValidate): |
| (WebCore::HTMLInputElement::parseMaxLengthAttribute): |
| (WebCore::HTMLInputElement::recalcWillValidate): Deleted. |
| * html/HTMLInputElement.h: |
| * html/HTMLKeygenElement.h: |
| * html/HTMLOutputElement.h: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::deselectItems): |
| (WebCore::HTMLSelectElement::optionSelectedByUser): |
| (WebCore::HTMLSelectElement::listBoxSelectItem): |
| (WebCore::HTMLSelectElement::add): |
| (WebCore::HTMLSelectElement::parseAttribute): |
| (WebCore::HTMLSelectElement::childrenChanged): |
| (WebCore::HTMLSelectElement::optionElementChildrenChanged): |
| (WebCore::HTMLSelectElement::setLength): |
| (WebCore::HTMLSelectElement::selectAll): |
| (WebCore::HTMLSelectElement::updateListBoxSelection): |
| (WebCore::HTMLSelectElement::selectOption): |
| (WebCore::HTMLSelectElement::restoreFormControlState): |
| (WebCore::HTMLSelectElement::parseMultipleAttribute): |
| (WebCore::HTMLSelectElement::reset): |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::parseAttribute): |
| (WebCore::HTMLTextAreaElement::subtreeHasChanged): |
| (WebCore::HTMLTextAreaElement::setValue): |
| (WebCore::HTMLTextAreaElement::setNonDirtyValue): |
| |
| 2014-11-17 Sukolsak Sakshuwong <sukolsak@gmail.com> |
| |
| Add parsing for :role() |
| https://bugs.webkit.org/show_bug.cgi?id=138310 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Add support for parsing :role() pseudo class. The implementation of selector |
| matching will be in a follow-up patch. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectFunctionTypeToken): |
| * css/CSSSelector.cpp: |
| (WebCore::appendPseudoClassFunctionTail): |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorPseudoClassAndCompatibilityElementMap.in: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-11-17 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK1] Sometimes, missing tiles in -webkit-overflow-scrolling: touch in UIWebViews |
| https://bugs.webkit.org/show_bug.cgi?id=138815 |
| rdar://problem/18746203 |
| |
| Reviewed by Tim Horton. |
| |
| The scroll-velocity-related data members on FrameView, added in r168233, were uninitialized in UIWebViews, |
| so FrameView::computeCoverageRect() could return garbage results, leading to too much or too little tile coverage. |
| |
| We still add additional coverage from the new inclusion of a margin area, but, for simplicity, leave that the same |
| between WK1 and WK2 for now. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::FrameView): |
| |
| 2014-11-17 Chris Dumez <cdumez@apple.com> |
| |
| Add initial layout testing coverage for timer throttling |
| https://bugs.webkit.org/show_bug.cgi?id=138809 |
| |
| Reviewed by Simon Fraser. |
| |
| Add isTimerThrottled() API to Internals so that we can add layout test |
| coverage for timer throttling. |
| |
| Tests: fast/dom/nested-timer-invisible-element-throttling.html |
| fast/dom/nested-timer-visible-element-throttling.html |
| fast/dom/repeating-timer-invisible-element-throttling.html |
| fast/dom/repeating-timer-visible-element-throttling.html |
| |
| * page/DOMTimer.h: |
| * testing/Internals.cpp: |
| (WebCore::Internals::isTimerThrottled): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-11-17 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Rename FlowContentIterator and move implementation to SimpleLineLayoutFlowContents.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=138799 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to support multiple renderers. |
| The FlowContents class will be used not just when we create runs, but also when we resolve them at painting time. |
| |
| No change in functionality. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): |
| (WebCore::SimpleLineLayout::nextFragment): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::textWidth): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent): Deleted. |
| (WebCore::SimpleLineLayout::FlowContentIterator::style): Deleted. |
| (WebCore::SimpleLineLayout::computeLineLeft): Deleted. |
| * rendering/SimpleLineLayoutFlowContents.cpp: Added. |
| (WebCore::SimpleLineLayout::FlowContents::FlowContents): |
| (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContents::textWidth): |
| * rendering/SimpleLineLayoutFlowContents.h: Added. |
| (WebCore::SimpleLineLayout::FlowContents::Style::Style): |
| (WebCore::SimpleLineLayout::FlowContents::style): |
| (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| Unreviewed, rolling out r176232. |
| |
| Broke the Mac build. Will investigate offline. |
| |
| Reverted changeset: |
| |
| "[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, |
| MobileGestalt" |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| http://trac.webkit.org/changeset/176232 |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt |
| SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| |
| Reviewed by David Kilzer. |
| |
| Add SPI wrapper headers {Dispatch, DynamicLinker, IOPMLib, MachVM, NSPointerFunctions, MobileGestalt}SPI.h |
| that forward declare applicable libdispatch, dyld, IOKit, mach, Foundation, MobileGestalt SPI |
| and use these headers instead of the including private headers corresponding to these libraries/frameworks. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add private headers MobileGestaltSPI.h and |
| MachVMSPI.h, and project headers DynamicLinkerSPI.h, NSPointerFunctionsSPI.h, |
| DispatchSPI.h and IOPMLibSPI.h. Also, sort files in Xcode project. |
| * bindings/objc/DOMInternal.mm: Include header NSPointerFunctionsSPI.h. |
| * bridge/objc/objc_instance.mm: Ditto; Also, sort #import directives. |
| * platform/cocoa/DisplaySleepDisablerCocoa.cpp: Substitute header IOPMLibSPI.h |
| for private header IOKit/pwr_mgt/IOPMLib.h. |
| * platform/cocoa/MemoryPressureHandlerCocoa.mm: Substitute header DispatchSPI.h |
| for private header dispatch/private.h. |
| * platform/graphics/ios/FontServicesIOS.mm: Substitute header DynamicLinkerSPI.h |
| for private header mach-o/dyld_priv.h. |
| * platform/ios/PlatformScreenIOS.mm: Substitute header MobileGestaltSPI.h for |
| private header MobileGestalt.h. |
| * platform/spi/cocoa/DispatchSPI.h: Added. |
| * platform/spi/cocoa/DynamicLinkerSPI.h: Added. |
| * platform/spi/cocoa/IOPMLibSPI.h: Added. |
| * platform/spi/cocoa/MachVMSPI.h: Added. |
| * platform/spi/cocoa/NSPointerFunctionsSPI.h: Added. |
| * platform/spi/ios/MobileGestaltSPI.h: Added. |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] CoreText and CoreUI SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138760 |
| |
| Reviewed by David Kilzer. |
| |
| Add a SPI wrapper header CoreUISPI.h that forward declares CoreUI SPI |
| and use this header instead of including private headers of CoreUI directly. |
| |
| Additionally, add more forward declarations for CoreText SPI. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add project header CoreUISPI.h. |
| * platform/graphics/ios/FontCacheIOS.mm: Include header CoreTextSPI.h instead |
| of including CoreText headers directly. |
| * platform/graphics/mac/FontMac.mm: Include header CoreUISPI.h instead |
| of including CoreUI headers directly. |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Remove unnecessary |
| include of CoreText headers. These headers will be included by header |
| CoreTextSPI.h (at the top of the file). |
| * platform/graphics/mac/SimpleFontDataMac.mm: Remove forward declaration |
| of CTFontDescriptorIsSystemUIFont() and include of header CTFontDescriptorPriv.h |
| as this duplicates the logic in CoreTextSPI.h, which is included in this file. |
| * platform/spi/cocoa/CoreTextSPI.h: Added more forward declarations. Simplified |
| #include directives. |
| * platform/spi/ios/CoreUISPI.h: Added. |
| * rendering/RenderThemeIOS.mm: Move CoreUI externs from this file to file |
| CoreUISPI.h and include header CoreUISPI.h. |
| |
| 2014-11-17 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Drop 16bit support temporarily. |
| https://bugs.webkit.org/show_bug.cgi?id=138796 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to multiple renderers support. |
| It requires code refactoring on top of the coming multiple renderers codebase. |
| (Not expecting any significant coverage shrinking.) |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContentIterator::textWidth): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): |
| (WebCore::SimpleLineLayout::nextFragment): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::create): |
| |
| 2014-11-17 Tim Horton <timothy_horton@apple.com> |
| |
| DataDetectors PageOverlay callbacks can come in to the wrong overlay |
| https://bugs.webkit.org/show_bug.cgi?id=138801 |
| <rdar://problem/18991369> |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/PageOverlay.cpp: |
| (WebCore::generatePageOverlayID): |
| (WebCore::PageOverlay::PageOverlay): |
| * page/PageOverlay.h: |
| Give each PageOverlay a unique ID. |
| |
| 2014-11-17 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3 |
| https://bugs.webkit.org/show_bug.cgi?id=133359 |
| |
| Reviewed by David Hyatt. |
| |
| Broaden justify-self's parsing name as a preparation of migrating |
| align-self, align-items and justify-items to the CSS 3 Alignment syntax. |
| |
| The current naming was too tied to justify-self and needs to |
| be broadened. This will reduce the follow-up implementations' |
| patches. |
| |
| Upgrade align-self and align-items parsing to CSS 3 |
| |
| This change migrates the 2 properties to the CSS 3 Alignment |
| parsing. The new parsing is identical to how we parse |
| 'justify-self'. The 2 properties need to be migrated together |
| as they are used in tandem in CSSComputedStyleDeclaration. |
| |
| This change also removes EAlignItems as it is now unused. |
| |
| Tests: css3/parse-align-items.html |
| css3/parse-align-self.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::valueForItemPositionWithOverflowAlignment): Added. Builds the CSSValue for the for the alignment properties. |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::isKeywordPropertyID): Removed align-items and align-self from the list. |
| (WebCore::isValidKeywordPropertyAndValue): Removed align-items and align-self from the list. |
| (WebCore::CSSParser::parseValue): Added align-items and align-self to the list and call to the generic parsing fuction for the alignment properties. |
| (WebCore::isBaselinePositionKeyword): Utility function added to identify Baseline keyword values. |
| (WebCore::CSSParser::parseItemPositionOverflowPosition): Generic parsing fuction for the alignment properties. |
| (WebCore::CSSParser::parseJustifySelf): Deleted. |
| * css/CSSParser.h: |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Refactoring some mapping functions. |
| (WebCore::CSSPrimitiveValue::operator ItemPosition): Added. Replace the old EAlignItems enumeration. |
| (WebCore::CSSPrimitiveValue::operator OverflowAlignment): Added. |
| (WebCore::CSSPrimitiveValue::operator EAlignItems): Deleted. |
| (WebCore::CSSPrimitiveValue::operator EJustifySelf): Deleted. |
| (WebCore::CSSPrimitiveValue::operator EJustifySelfOverflowAlignment): Deleted. |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): Added a new adjustment to resolve the "auto" vale on the alignment properties. |
| (WebCore::StyleResolver::adjustStyleForAlignment): Added. Function to resolve the "auto" vale on the alignment properties. |
| (WebCore::StyleResolver::applyProperty): |
| (WebCore::isDisplayFlexibleBox): Deleted. Moved to the RenderStyle. |
| (WebCore::isDisplayGridBox): Deleted. Moved to the RenderStyle. |
| (WebCore::isDisplayFlexibleOrGridBox): Deleted. Moved to the RenderStyle. |
| * css/StyleResolver.h: |
| * rendering/RenderBox.cpp: |
| (WebCore::flexItemHasStretchAlignment): Adapted to the new ItemPosition enum. |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::firstLineBaseline): Adapted to the new ItemPosition enum. |
| (WebCore::resolveAlignment): Consider also that align-items could be "auto", since it's the default now. |
| (WebCore::RenderFlexibleBox::styleDidChange): Adapted to the new ItemPosition enum. |
| (WebCore::RenderFlexibleBox::alignmentForChild): Adapted to the new ItemPosition enum. |
| (WebCore::RenderFlexibleBox::needToStretchChild): Adapted to the new ItemPosition enum. |
| (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Adapted to the new ItemPosition enum. |
| (WebCore::RenderFlexibleBox::alignChildren): Adapted to the new ItemPosition enum. |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderFullScreen.cpp: |
| (WebCore::createFullScreenStyle): Adapted to the new ItemPosition enum. |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::adjustInnerStyle): Adapted to the new ItemPosition enum. |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRoot::updateStyle): Adapted to the new ItemPosition enum. |
| * rendering/mathml/RenderMathMLScripts.cpp: |
| (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Adapted to the new ItemPosition enum. |
| (WebCore::RenderMathMLScripts::fixAnonymousStyles): Adapted to the new ItemPosition enum. |
| * rendering/style/RenderStyle.h: Adapted to the new ItemPosition enum. |
| * rendering/style/RenderStyleConstants.h: Adapted to the new ItemPosition enum. |
| * rendering/style/StyleRareNonInheritedData.cpp: Adapted to the new ItemPosition enum. |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Adapted to the new ItemPosition enum. |
| (WebCore::StyleRareNonInheritedData::operator==): Adapted to the new ItemPosition enum. |
| * rendering/style/StyleRareNonInheritedData.h: Adapted to the new ItemPosition enum. |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::determineChange): Changes in the alignItems property will cause a Detach. |
| |
| 2014-11-17 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Attribute text in HTMLAnchorElement should behave as per specification. |
| https://bugs.webkit.org/show_bug.cgi?id=138557 |
| |
| Reviewed by Darin Adler. |
| |
| attribute text in HTMLAnchorElement should not be readonly as per specification |
| http://www.w3.org/TR/html/text-level-semantics.html#dom-a-text. It should behave as textContent attribute. |
| Also This matches the behavior of Chrome 38 and FireFox. |
| |
| Test: fast/dom/HTMLAnchorElement/anchor-text-attribute.html |
| |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::text): |
| (WebCore::HTMLAnchorElement::setText): |
| * html/HTMLAnchorElement.h: |
| * html/HTMLAnchorElement.idl: |
| |
| 2014-11-17 Chris Dumez <cdumez@apple.com> |
| |
| Throttle timers that change the style of elements outside the viewport |
| https://bugs.webkit.org/show_bug.cgi?id=138292 |
| |
| Reviewed by Antti Koivisto. |
| |
| Throttle timers that change the style of elements outside the viewport |
| to 1 second, similarly to what was already done for timers interacting |
| with non user observable plugins. To be conservative, we don't throttle |
| timers that also cause DOM Tree modifications (e.g. adding/removing |
| nodes, modify element attributes). |
| |
| On huffingtonpost.com, the CPU usage is at ~17% when the top scrolling |
| banner is inside the viewport on my machine. Without this patch, CPU |
| usage would stay ~17% when the banner is outside the viewport. Thanks |
| to timer throttling, CPU usage now goes down to ~1.5%, without user |
| observable side effects. The timers get unthrottled when they are |
| inside the viewport again (i.e. due to scrolling or layout). |
| |
| On espn.com, the CPU usage goes down from ~7% at the top of the page |
| to ~1% when scrolling to the bottom of the page. On ebay.com, CPU |
| usage goes down from ~25% at the top of the page to less than 1% when |
| scrolling to the bottom of the page. |
| |
| 2014-11-17 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Compile error, CoreGraphics header file included. |
| https://bugs.webkit.org/show_bug.cgi?id=138795 |
| |
| Reviewed by Brent Fulgham. |
| |
| CoreGraphics is not available on WinCairo. |
| |
| * platform/graphics/win/FontCacheWin.cpp: |
| |
| 2014-11-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176169. |
| https://bugs.webkit.org/show_bug.cgi?id=138797 |
| |
| Appears to have broken svg/custom/anchor-on-use.svg (Requested |
| by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Attribute text in HTMLAnchorElement should behave as per |
| specification." |
| https://bugs.webkit.org/show_bug.cgi?id=138557 |
| http://trac.webkit.org/changeset/176169 |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] AVKit and MediaPlayer SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138756 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a SPI wrapper headers {AVKit, MPAVRoutingController}SPI.h that forward declares |
| AVKit and MPAVRoutingController SPI, respectively, and use these header instead of |
| including private headers of AVKit and MediaPlayer directly. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add project and private header AVKitSPI.h |
| and MPAVRoutingControllerSPI.h, respectively. |
| * platform/audio/ios/MediaSessionManagerIOS.mm: Include header MPAVRoutingControllerSPI.h |
| instead of including the private header MPAVRoutingController.h. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include header AVKitSPI.h |
| instead of including AVKit headers directly. |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the Mac build after <https://trac.webkit.org/changeset/176204> |
| (https://bugs.webkit.org/show_bug.cgi?id=138751) |
| |
| Move declaration of CAContext to be before the declaration of CALayer since |
| the latter depends on the former. |
| |
| * platform/spi/cocoa/QuartzCoreSPI.h: |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] QuartzCore SPI not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138751 |
| |
| Reviewed by David Kilzer. |
| |
| Add a SPI wrapper header called QuartzCoreSPI.h that forward declares |
| QuartzCore SPI and use this header instead of including private headers |
| of QuartzCore directly. |
| |
| * WebCore.xcodeproj/project.pbxproj: Added private header QuartzCoreSPI.h. |
| * platform/graphics/ca/mac/PlatformCAFiltersMac.h: Removed; incorporated its |
| functionality into QuartzCoreSPI.h. |
| * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Substitute header |
| QuartzCoreSPI.h for PlatformCAFiltersMac.h as the content of the latter |
| was incorporated into the former. |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: Move CALayer and CATiledLayer |
| forward declarations from this file to file QuartzCoreSPI.h and include |
| header QuartzCoreSPI.h instead of including CATiledLayerPrivate.h directly. Also |
| remove header PlatformCAFiltersMac.h as its content is incorporated into QuartzCoreSPI.h |
| * platform/ios/LegacyTileCache.mm: Include headers CoreGraphicsSPI.h and QuartzCoreSPI.h |
| instead of including QuartzCore headers directly. |
| * platform/ios/LegacyTileGrid.mm: Include header QuartzCoreSPI.h instead |
| of including QuartzCore headers directly. Also sort the list of #include directives. |
| * platform/ios/LegacyTileGridTile.mm: Include header QuartzCoreSPI.h |
| instead of including QuartzCore headers directly. |
| * platform/spi/cocoa/QuartzCoreSPI.h: Added. |
| |
| 2014-11-17 Chris Dumez <cdumez@apple.com> |
| |
| Move more CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138766 |
| |
| Reviewed by Darin Adler. |
| |
| Move more CSS properties from DeprecatedStyleBuilder to the new |
| StyleBuilder: |
| line-height |
| word-spacing |
| -webkit-marquee-repetition |
| -webkit-text-underline-position |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::csstoLengthConversionDataWithTextZoomFactor): Deleted. |
| (WebCore::ApplyPropertyMarqueeRepetition::applyValue): Deleted. |
| (WebCore::ApplyPropertyMarqueeRepetition::createHandler): Deleted. |
| (WebCore::ApplyPropertyTextUnderlinePosition::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextUnderlinePosition::createHandler): Deleted. |
| (WebCore::ApplyPropertyLineHeight::applyValue): Deleted. |
| (WebCore::ApplyPropertyLineHeight::createHandler): Deleted. |
| (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Deleted. |
| (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::createHandler): Deleted. |
| (WebCore::ApplyPropertyWordSpacing::applyValue): Deleted. |
| (WebCore::ApplyPropertyWordSpacing::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertMarqueeRepetition): |
| (WebCore::StyleBuilderConverter::convertTextUnderlinePosition): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::csstoLengthConversionDataWithTextZoomFactor): |
| (WebCore::StyleBuilderFunctions::convertLineHeight): |
| (WebCore::StyleBuilderFunctions::applyValueWordSpacing): |
| (WebCore::StyleBuilderFunctions::applyInheritLineHeight): |
| (WebCore::StyleBuilderFunctions::applyInitialLineHeight): |
| (WebCore::StyleBuilderFunctions::applyValueLineHeight): |
| |
| 2014-11-16 Andreas Kling <akling@apple.com> |
| |
| Avoid synchronous style recalc when mutating a Node inside FrameSelection. |
| <https://webkit.org/b/138791> |
| |
| Reviewed by Antti Koivisto. |
| |
| We can safely clear the RenderView's selection without doing a synchronous |
| style recalc first. |
| |
| This is a small progression on Speedometer locally. |
| |
| * editing/FrameSelection.cpp: |
| (WebCore::DragCaretController::nodeWillBeRemoved): |
| (WebCore::FrameSelection::respondToNodeModification): |
| (WebCore::clearRenderViewSelection): Deleted. |
| |
| Merged clearRenderViewSelection() into the call sites and removed |
| the now-unnecessary protection of the Document. |
| |
| 2014-11-17 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allow host application to opt-out of alternate fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=138787 |
| |
| Reviewed by Darin Adler. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::optimizedFullscreenSupported): Check mediaSession().allowsAlternateFullscreen. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::enterFullscreenOptimized): Do nothing if |
| mediaSession().allowsAlternateFullscreen says it isn't allowed. |
| |
| * html/HTMLMediaSession.cpp: |
| (WebCore::HTMLMediaSession::allowsAlternateFullscreen): New, check settings. |
| * html/HTMLMediaSession.h: |
| |
| * page/Settings.cpp: Add allowsAlternateFullscreen. |
| * page/Settings.in: Ditto. |
| |
| 2014-11-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| Replace RenderSVGResource::cast<T>() with downcast<T>() |
| https://bugs.webkit.org/show_bug.cgi?id=138290 |
| |
| Reviewed by Chris Dumez. |
| |
| Add type traits for the RenderSVGResource hierarchy. This enables |
| using the typecasting framework in getRenderSVGResourceById() that |
| in return renders the RenderSVGResource::cast<>() template and all |
| the static s_resourceType member variables in the hierarchy removable. |
| |
| * WebCore.order: |
| * rendering/svg/RenderSVGResource.h: |
| (WebCore::RenderSVGResource::cast): Deleted. |
| * rendering/svg/RenderSVGResourceClipper.h: |
| * rendering/svg/RenderSVGResourceContainer.h: |
| (WebCore::getRenderSVGResourceById): |
| * rendering/svg/RenderSVGResourceFilter.h: |
| (isType): |
| * rendering/svg/RenderSVGResourceLinearGradient.h: |
| * rendering/svg/RenderSVGResourceMarker.h: |
| * rendering/svg/RenderSVGResourceMasker.h: |
| * rendering/svg/RenderSVGResourcePattern.h: |
| * rendering/svg/RenderSVGResourceRadialGradient.h: |
| * rendering/svg/RenderSVGResourceSolidColor.h: |
| |
| 2014-11-16 Benjamin Poulain <benjamin@webkit.org> |
| |
| Implement :valid and :invalid matching for the fieldset element |
| https://bugs.webkit.org/show_bug.cgi?id=138769 |
| |
| Reviewed by Darin Adler. |
| |
| In the latest HTML spec, the pseudo classes :valid and :invalid match |
| a fieldset element based on its descendants: |
| https://html.spec.whatwg.org/#selector-valid |
| https://html.spec.whatwg.org/#selector-invalid |
| |
| This patch adds that behavior. |
| |
| There are two key problems to solve with these pseudo classes on fieldset: |
| -Efficient matching. |
| -Style invalidation when any of the descendant changes. |
| |
| To implement the style invalidation, I have modified HTMLFormControlElement |
| to notify its ancestor when its state changes. |
| |
| The first change is making the state fully internal to HTMLFormControlElement, |
| we do not want subclass to be able to change the behavior and forget to update |
| the ancestors. |
| |
| To achieve that encapsulation, the interface was changed a bit: |
| -Neither willValidate() nor isValidFormControlElement() inherit from Element. |
| Instead, willValidate() is the implementation of FormAssociatedElement's interface |
| and it is final. The method isValidFormControlElement() becomes completely internal |
| to HTMLFormControlElement. |
| -Since willValidate() should no longer be re-implemented by subclass, the elements |
| that were depending on it have been migrated to recalcWillValidate() to set |
| the initial state as needed. |
| |
| With the validity state fully encapsulated in HTMLFormControlElement, all I need |
| is a way to communicate that information to HTMLFieldSetElement ancestors. |
| This is done in two cases: |
| -The validity state changes. |
| -The tree changes in a way that would make the input element not a descendant |
| of a HTMLFieldSetElement. |
| |
| The invalidation is simply done by walking up the ancestors and adding the current |
| element to a "validity dependency list" on each HTMLFieldSetElement. |
| |
| Tests: fast/css/pseudo-invalid-fieldset-invalidation-optimization.html |
| fast/css/pseudo-invalid-fieldset-style-sharing.html |
| fast/css/pseudo-invalid-fieldset.html |
| fast/css/pseudo-valid-fieldset-invalidation-optimization.html |
| fast/css/pseudo-valid-fieldset-style-sharing.html |
| fast/css/pseudo-valid-fieldset.html |
| fast/selectors/invalid-fieldset-style-update-1.html |
| fast/selectors/invalid-fieldset-style-update-2.html |
| fast/selectors/invalid-fieldset-style-update-3.html |
| fast/selectors/invalid-fieldset-style-update-4.html |
| fast/selectors/invalid-fieldset-style-update-5.html |
| fast/selectors/valid-fieldset-style-update-1.html |
| fast/selectors/valid-fieldset-style-update-2.html |
| fast/selectors/valid-fieldset-style-update-3.html |
| fast/selectors/valid-fieldset-style-update-4.html |
| fast/selectors/valid-fieldset-style-update-5.html |
| |
| * css/SelectorCheckerTestFunctions.h: |
| (WebCore::isInRange): |
| (WebCore::isOutOfRange): |
| (WebCore::isInvalid): |
| (WebCore::isValid): |
| The hack "ContainsValidityStyleRules" is in the way of correct styling |
| of FieldSet and Form. |
| It is not the right way to get stylesheet properties anyway. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::canShareStyleWithControl): |
| Make sure style sharing does not incorrectly share style for fieldset elements. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| (WebCore::Document::containsValidityStyleRules): Deleted. |
| (WebCore::Document::setContainsValidityStyleRules): Deleted. |
| * dom/Element.h: |
| (WebCore::Element::matchesValidPseudoClass): |
| (WebCore::Element::matchesInvalidPseudoClass): |
| (WebCore::Element::willValidate): Deleted. |
| (WebCore::Element::isValidFormControlElement): Deleted. |
| * html/FormAssociatedElement.cpp: |
| (WebCore::FormAssociatedElement::customError): |
| * html/FormAssociatedElement.h: |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::matchesValidPseudoClass): |
| (WebCore::HTMLFieldSetElement::matchesInvalidPseudoClass): |
| (WebCore::HTMLFieldSetElement::addInvalidDescendant): |
| (WebCore::HTMLFieldSetElement::removeInvalidDescendant): |
| Each HTMLFormControlElement that has constraint validation adds or removes |
| itself from its HTMLFieldSetElement ancestors. |
| |
| It should be possible to just keep track of a count instead of a HashSet. |
| I decided to got with the HashSet to make the code more robust and easier |
| to debug. A few assertions ensure that the HashSet is actually used as a counter. |
| |
| * html/HTMLFieldSetElement.h: |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::addInvalidElementToAncestorFromInsertionPoint): |
| (WebCore::removeInvalidElementToAncestorFromInsertionPoint): |
| |
| (WebCore::HTMLFormControlElement::insertedInto): |
| (WebCore::HTMLFormControlElement::removedFrom): |
| One tricky part of those two functions is that we cannot use |
| matchesValidPseudoClass() or matchesInvalidPseudoClass(). |
| |
| The reason is that HTMLFieldSetElement is a subclass of HTMLFormControlElement |
| and it has its own definition of what Valid and Invalid mean when matching selectors. |
| |
| In HTMLFormControlElement, we must use the internal state, |
| willValidate() and isValidFormControlElement() must be used directly. |
| |
| (WebCore::HTMLFormControlElement::matchesValidPseudoClass): |
| (WebCore::HTMLFormControlElement::matchesInvalidPseudoClass): |
| (WebCore::HTMLFormControlElement::willValidate): |
| (WebCore::addInvalidElementToAncestors): |
| (WebCore::removeInvalidElementFromAncestors): |
| (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): |
| (WebCore::HTMLFormControlElement::setNeedsValidityCheck): |
| (WebCore::HTMLFormControlElement::isValidFormControlElement): Deleted. |
| * html/HTMLFormControlElement.h: |
| (WebCore::HTMLFormControlElement::isValidFormControlElement): |
| * html/HTMLKeygenElement.h: |
| * html/HTMLObjectElement.h: |
| * html/HTMLOutputElement.h: |
| |
| 2014-11-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Add typecasting support for GraphicsLayerTextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=138741 |
| |
| Reviewed by Martin Robinson. |
| |
| Add type traits for the GraphicsLayerTextureMapper class. |
| This enables using typecasting functions instead of |
| toGraphicsLayerTextureMapper(). |
| |
| Remove toTextureMapperLayer() casting function which actually |
| returned the TextureMapperLayer object that belonged to the |
| passed-in GraphicsLayerTextureMapper. Instead, the GraphicsLayer |
| object is now downcasted and the TextureMapperLayer is accessed |
| by calling the GraphicsLayerTextureMapper::layer() method. |
| |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::isGraphicsLayerTextureMapper): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::toTextureMapperLayerVector): |
| (WebCore::GraphicsLayerTextureMapper::commitLayerChanges): |
| (WebCore::toTextureMapperLayer): Deleted. |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| (WebCore::toGraphicsLayerTextureMapper): Deleted. |
| |
| 2014-11-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/loader to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=138646 |
| |
| Reviewed by Chris Dumez. |
| |
| Replace OwnPtr with std::unique_ptr<> and std::make_unique<>. |
| However this patch leaves ResourceRequest::adopt() because this need |
| to be handled by different patch. |
| |
| No new tests, no behavior changes. |
| |
| * loader/DocumentThreadableLoader.cpp: |
| (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest): |
| (WebCore::DocumentThreadableLoader::preflightSuccess): |
| * loader/DocumentThreadableLoader.h: |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::SubresourceLoader): |
| (WebCore::SubresourceLoader::didReceiveResponse): |
| (WebCore::SubresourceLoader::notifyDone): |
| * loader/SubresourceLoader.h: |
| * loader/TextTrackLoader.h: |
| * loader/appcache/ApplicationCacheHost.h: |
| * loader/appcache/ApplicationCacheStorage.cpp: |
| (WebCore::ApplicationCacheStorage::storeCopyOfCache): |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestPreload): |
| (WebCore::CachedResourceLoader::clearPreloads): |
| (WebCore::CachedResourceLoader::printPreloadStats): |
| * loader/cache/CachedResourceLoader.h: |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::deleteAllPreparedStatements): |
| (WebCore::readySQLiteStatement): |
| * loader/icon/IconDatabase.h: |
| * loader/icon/IconRecord.h: |
| |
| 2014-11-16 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'order' CSS property to a calculated value |
| https://bugs.webkit.org/show_bug.cgi?id=138780 |
| |
| Reviewed by Darin Adler. |
| |
| CSS Calculated values were not handled by the CSS parser for 'order' |
| CSS property. As a result, using calculated values wouldn't work in |
| release builds and would hit an assertion in debug builds. |
| |
| This patch updates the CSS parser to directly convert the |
| CSS Calculated value into a simple integer CSSPrimitiveValue for |
| 'order' property. We could have marked CSS Calculated values as |
| valid in the CSS Parser instead but this would have brought issues: |
| - The calculated value needs to be adjusted to INT_MIN + 2 if it is less |
| than that. This would force us to calculate the expression anyway. |
| - The StyleBuilder would need updating to properly handle CSS Calculated |
| values for 'order'. |
| |
| Test: fast/css/order-calculated-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| |
| 2014-11-16 Chris Dumez <cdumez@apple.com> |
| |
| Assertion hit when setting a very large value to 'border-width' / 'font-size' CSS properties |
| https://bugs.webkit.org/show_bug.cgi?id=138770 |
| |
| Reviewed by Darin Adler. |
| |
| When setting a very large value to a CSS property, it is represented internally as |
| infinity. r166114 already tried to deal with this by adding an std::isinf() check |
| in CSSValuePool::createValue() and returning an identifier CSSPrimitiveValue with |
| CSSValueInvalid value in such case. The issue is that doing leads to the |
| StyleBuilder getting a CSSValueInvalid CSSPrimitive value as input, which is not |
| handled and leads to assertions. |
| |
| This patch updates the CSSParser to detect cases where the double value is |
| infinity earlier (in CSSParser::validUnit() and parseSimpleLengthValue()), so |
| that we mark the value as invalid and actually drop it. As a result, |
| CSSPrimitiveValues with CSSValueInvalid value no longer make their way to the |
| StyleBuilder. |
| |
| Test: fast/css/style-builder-infinite-value.html |
| fast/css/infinite-floating-value.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::parseSimpleLengthValue): |
| (WebCore::CSSParser::validUnit): |
| * css/CSSValuePool.cpp: |
| (WebCore::CSSValuePool::createValue): |
| |
| 2014-11-16 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Attribute text in HTMLAnchorElement should behave as per specification. |
| https://bugs.webkit.org/show_bug.cgi?id=138557 |
| |
| Reviewed by Darin Adler. |
| |
| attribute text in HTMLAnchorElement should not be readonly as per specification |
| http://www.w3.org/TR/html/text-level-semantics.html#dom-a-text. It should behave as textContent attribute. |
| Also This matches the behavior of Chrome 38 and FireFox. |
| |
| Test: fast/dom/HTMLAnchorElement/anchor-text-attribute.html |
| |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::text): |
| (WebCore::HTMLAnchorElement::setText): |
| * html/HTMLAnchorElement.h: |
| * html/HTMLAnchorElement.idl: |
| |
| 2014-11-16 Chris Dumez <cdumez@apple.com> |
| |
| Move 'vertical-align' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138764 |
| |
| Reviewed by Darin Adler. |
| |
| Move 'vertical-align' CSS property from DeprecatedStyleBuilder to the |
| new StyleBuilder by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyVerticalAlign::applyValue): Deleted. |
| (WebCore::ApplyPropertyVerticalAlign::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueVerticalAlign): |
| |
| 2014-11-16 Tim Horton <timothy_horton@apple.com> |
| |
| Use TextIndicator instead of the built in Lookup highlight |
| https://bugs.webkit.org/show_bug.cgi?id=138775 |
| <rdar://problem/18953982> |
| |
| Follow-up to r176164. |
| |
| * platform/spi/mac/LookupSPI.h: |
| (WebCore::canDisableLookupIndicator): Deleted. |
| Remove canDisableLookupIndicator. |
| |
| 2014-11-16 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting '-webkit-line-clamp' CSS property to a calculated value |
| https://bugs.webkit.org/show_bug.cgi?id=138777 |
| |
| Reviewed by Benjamin Poulain. |
| |
| CSS Calculated values were not handled when converting a CSSPrimitiveValue |
| to a LineClampValue. As a result, we would hit an ASSERT_NOT_REACHED() |
| assertion. To address this issue, this patch updates the code to use |
| primitiveType() / getValue<>() instead of m_primitiveUnitType / |
| m_value.num, as those getter function properly handle CSS Calculated |
| values. |
| |
| Test: fast/css/webkit-line-clamp-calculated-value.html |
| |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::operator LineClampValue): |
| |
| 2014-11-16 Tim Horton <timothy_horton@apple.com> |
| |
| Use TextIndicator instead of the built in Lookup highlight |
| https://bugs.webkit.org/show_bug.cgi?id=138775 |
| <rdar://problem/18953982> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| Remove a WKSI import/export that we don't need anymore. |
| |
| * platform/spi/mac/LookupSPI.h: Added. |
| (WebCore::canDisableLookupIndicator): |
| Add Lookup SPI header. |
| Add a 'canDisableLookupIndicator', which must be called in any translation |
| unit that wants to use either of the soft-linked constants related to |
| that functionality, before calling the get* function. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * editing/mac/DictionaryLookup.mm: |
| (WebCore::rangeForDictionaryLookupForSelection): |
| (WebCore::rangeForDictionaryLookupAtHitTestResult): |
| Adopt the Lookup SPI header. |
| |
| 2014-11-16 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] REGRESSION(r166288): Accessible values are no longer accessible via AT-SPI2 |
| https://bugs.webkit.org/show_bug.cgi?id=138776 |
| |
| Reviewed by Chris Fleizach. |
| |
| r166288 used #if...#else instead of #if...#endif, thus disabling the old |
| AtkValue support. Unfortunately AT-SPI2 doesn't yet have support for the |
| new AtkValue API. Thus r166288 broke access to value-holding elements for |
| AT-SPI2 assistive technologies. Replacing #else with #endif fixes things. |
| |
| No new tests because catching this regression would require AT-SPI2. |
| |
| * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: |
| (webkitAccessibleValueGetMinimumIncrement): |
| (webkitAccessibleValueInterfaceInit): |
| |
| 2014-11-16 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Expose the blockquote element using ATK_ROLE_BLOCK_QUOTE |
| https://bugs.webkit.org/show_bug.cgi?id=138771 |
| |
| Reviewed by Chris Fleizach. |
| |
| Add BlockquoteRole and assigns it to blockquote elements. Make |
| corresponding changes to platform role mappings: ATK_ROLE_BLOCK_QUOTE |
| for GTK and EFL; AXGroup (which was being used already) for the Mac. |
| |
| No new tests are required. Instead, updated the existing expectations |
| to reflect the new mapping. |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::determineAccessibilityRole): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::isBlockquote): |
| * accessibility/AccessibilityObject.h: |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (createAccessibilityRoleMap): |
| |
| 2014-11-16 Chris Dumez <cdumez@apple.com> |
| |
| Crash when setting 'alt' CSS property to inherit or initial |
| https://bugs.webkit.org/show_bug.cgi?id=138774 |
| <rdar://problem/18995409> |
| |
| Reviewed by Chris Fleizach. |
| |
| The StyleResolver was not handling 'inherit' or 'initial' values for |
| 'alt' CSS property. As a result, the code was assuming the CSSValue |
| was a CSSPrimitiveValue (although it could be a CSSInitialValue or |
| a CSSInheritValue). In such case, the code would dereference a null |
| pointer because primitiveValue is initialized using: |
| CSSPrimitiveValue* primitiveValue = is<CSSPrimitiveValue>(*value) |
| ? downcast<CSSPrimitiveValue>(value) |
| : nullptr; |
| |
| Test: fast/css/alt-inherit-initial.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-15 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Lists with selectable children should have ATK_ROLE_LIST_BOX |
| https://bugs.webkit.org/show_bug.cgi?id=127060 |
| |
| Reviewed by Chris Fleizach. |
| |
| Corrected the mapping from ATK_ROLE_LIST to ATK_ROLE_LIST_BOX. |
| |
| No new tests. Instead, updated the expectations of roles-exposed.html to |
| reflect the corrected mapping. |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| |
| 2014-11-15 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Video and audio elements should be exposed using ATK's video and audio roles. |
| https://bugs.webkit.org/show_bug.cgi?id=138767 |
| |
| Reviewed by Chris Fleizach. |
| |
| Map AudioRole and VideoRole to ATK_ROLE_AUDIO and ATK_ROLE_VIDEO |
| respectively, falling back on the existing mapping to ATK_ROLE_EMBEDDED |
| in environments which have an older version of ATK. |
| |
| No new tests are required. Instead, existing expectations were updated |
| to reflect the new mapping. |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| |
| 2014-11-15 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Expose the footer element as ATK_ROLE_FOOTER |
| https://bugs.webkit.org/show_bug.cgi?id=138773 |
| |
| Reviewed by Chris Fleizach. |
| |
| Map FooterRole to ATK_ROLE_FOOTER. |
| |
| No new tests. Unskipped a test that verifies this mapping. |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| |
| 2014-11-14 Dean Jackson <dino@apple.com> |
| |
| Rename WebKitCSSKeyframe(s)Rule into CSSKeyframe(s)Rule |
| https://bugs.webkit.org/show_bug.cgi?id=138763 |
| <rdar://problem/18991569> |
| |
| Reviewed by Simon Fraser. |
| |
| Globally rename WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to |
| CSSKeyframeRule and CSSKeyframesRule respectively. |
| |
| This *may* break some existing content, but is compatible with |
| what Blink and Firefox are doing. To minimize breakage, I kept an |
| alias for the old constant values on CSSRule: WEBKIT_KEYFRAMES_RULE |
| and WEBKIT_KEYFRAME_RULE. |
| |
| Covered by existing tests. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSCSSRuleCustom.cpp: |
| (WebCore::toJS): |
| * bindings/objc/DOMCSS.mm: |
| (kitClass): |
| * css/CSSGrammar.y.includes: |
| * css/CSSKeyframeRule.cpp: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.cpp. |
| (WebCore::StyleKeyframe::StyleKeyframe): |
| (WebCore::StyleKeyframe::~StyleKeyframe): |
| (WebCore::StyleKeyframe::mutableProperties): |
| (WebCore::StyleKeyframe::parseKeyString): |
| (WebCore::StyleKeyframe::cssText): |
| (WebCore::CSSKeyframeRule::CSSKeyframeRule): |
| (WebCore::CSSKeyframeRule::~CSSKeyframeRule): |
| (WebCore::CSSKeyframeRule::style): |
| (WebCore::CSSKeyframeRule::reattach): |
| * css/CSSKeyframeRule.h: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.h. |
| (WebCore::StyleKeyframe::create): |
| (WebCore::StyleKeyframe::keyText): |
| (WebCore::StyleKeyframe::setKeyText): |
| (WebCore::StyleKeyframe::getKeys): |
| (WebCore::StyleKeyframe::properties): |
| * css/CSSKeyframeRule.idl: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.idl. |
| * css/CSSKeyframesRule.cpp: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.cpp. |
| (WebCore::StyleRuleKeyframes::StyleRuleKeyframes): |
| (WebCore::StyleRuleKeyframes::~StyleRuleKeyframes): |
| (WebCore::StyleRuleKeyframes::parserAppendKeyframe): |
| (WebCore::StyleRuleKeyframes::wrapperAppendKeyframe): |
| (WebCore::StyleRuleKeyframes::wrapperRemoveKeyframe): |
| (WebCore::StyleRuleKeyframes::findKeyframeIndex): |
| (WebCore::CSSKeyframesRule::CSSKeyframesRule): |
| (WebCore::CSSKeyframesRule::~CSSKeyframesRule): |
| (WebCore::CSSKeyframesRule::setName): |
| (WebCore::CSSKeyframesRule::appendRule): |
| (WebCore::CSSKeyframesRule::insertRule): |
| (WebCore::CSSKeyframesRule::deleteRule): |
| (WebCore::CSSKeyframesRule::findRule): |
| (WebCore::CSSKeyframesRule::cssText): |
| (WebCore::CSSKeyframesRule::length): |
| (WebCore::CSSKeyframesRule::item): |
| (WebCore::CSSKeyframesRule::cssRules): |
| (WebCore::CSSKeyframesRule::reattach): |
| * css/CSSKeyframesRule.h: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.h. |
| (WebCore::StyleRuleKeyframes::create): |
| (WebCore::StyleRuleKeyframes::keyframes): |
| (WebCore::StyleRuleKeyframes::name): |
| (WebCore::StyleRuleKeyframes::setName): |
| (WebCore::StyleRuleKeyframes::copy): |
| * css/CSSKeyframesRule.idl: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.idl. |
| * css/CSSParser.cpp: |
| * css/CSSRule.h: |
| * css/CSSRule.idl: |
| * css/CSSStyleSheet.cpp: |
| * css/RuleSet.cpp: |
| * css/StyleResolver.cpp: |
| * css/StyleRule.cpp: |
| (WebCore::StyleRuleBase::createCSSOMWrapper): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::asCSSRuleList): |
| |
| 2014-11-15 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r176137): iOS build broke after moving DataDetectors scanning code to WebCore |
| |
| This regressed with the following commit: |
| |
| Move DataDetectors scanning code to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138731 |
| <rdar://problem/18877535> |
| |
| This fixes the following build failures: |
| |
| In file included from WebCore/editing/mac/DataDetection.mm:29: |
| WebCore/platform/spi/mac/DataDetectorsSPI.h:66:11: error: unknown type name 'NSRect' |
| @property NSRect highlightFrame; |
| ^ |
| WebCore/editing/mac/DataDetection.mm:42:28: error: use of undeclared identifier 'DataDetection' |
| RetainPtr<DDActionContext> DataDetection::detectItemAroundHitTestResult(const HitTestResult& hitTestResult, FloatRect& detectedDataBoundingBox, RefPtr<Range>& detectedDataRange) |
| ^ |
| 2 errors generated. |
| |
| * WebCore.exp.in: |
| (DataDetection::detectItemAroundHitTestResult): Move symbol from |
| shared section to Mac-only section. |
| * editing/mac/DataDetection.mm: Add PLATFORM(MAC) check around |
| the entire implementation since it it unused on iOS. |
| * platform/spi/mac/DataDetectorsSPI.h: Expand PLATFORM(MAC) |
| check around DDActionContext class declarations. |
| |
| 2014-11-14 Benjamin Poulain <benjamin@webkit.org> |
| |
| Compute the selector specificity as we match simple selectors |
| https://bugs.webkit.org/show_bug.cgi?id=138718 |
| |
| Reviewed by Andreas Kling. |
| |
| This is an other tiny step toward dynamic specificity. Instead of computing |
| the entire specificity at the end, compute it dynamically as we are matching |
| each individual simple selector. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificity): |
| (WebCore::CSSSelector::simpleSelectorSpecificity): |
| (WebCore::CSSSelector::addSpecificities): |
| (WebCore::CSSSelector::specificityForPage): |
| (WebCore::CSSSelector::specificityForOneSelector): Deleted. |
| * css/CSSSelector.h: |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::match): |
| (WebCore::SelectorChecker::matchRecursively): |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::matchSelectorList): |
| * css/SelectorChecker.h: |
| |
| 2014-11-14 Andreas Kling <akling@apple.com> |
| |
| [mac] Only images that are actually purgeable should be advertised as such. |
| <https://webkit.org/b/138759> |
| <rdar://problem/13205438> |
| |
| Reviewed by Tim Horton. |
| |
| Instead of saying that all images on >=Yosemite are purgeable, have BitmapImage |
| forward the question to CGImage for the correct answer. |
| |
| The memory may be marked non-volatile by frameworks underneath WebKit at any |
| given time, but that's not something we need to worry about. |
| |
| * platform/graphics/BitmapImage.cpp: |
| (WebCore::BitmapImage::decodedDataIsPurgeable): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/cg/BitmapImageCG.cpp: |
| (WebCore::BitmapImage::decodedDataIsPurgeable): |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::ImageSource::createFrameAtIndex): |
| * platform/spi/cg/CoreGraphicsSPI.h: |
| |
| 2014-11-14 Zalan Bujtas <zalan@apple.com> |
| |
| Remove computeTextPaintStyle's RenderText dependency. |
| https://bugs.webkit.org/show_bug.cgi?id=138754 |
| |
| Reviewed by Simon Fraser. |
| |
| So that we can compute text paint style across renderers in simple line layout. |
| |
| No change in functionality. |
| |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paint): |
| * rendering/SimpleLineLayoutFunctions.cpp: |
| (WebCore::SimpleLineLayout::paintFlow): |
| * rendering/TextPaintStyle.cpp: |
| (WebCore::computeTextPaintStyle): |
| * rendering/TextPaintStyle.h: |
| |
| 2014-11-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Get rid of WebFontCache |
| https://bugs.webkit.org/show_bug.cgi?id=134752 |
| |
| Reviewed by Dave Hyatt. |
| |
| No new tests because there is no behavior change. |
| |
| * Configurations/WebCore.xcconfig: |
| * PlatformMac.cmake: |
| * WebCore.exp.in: |
| * WebCore.order: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::acceptableChoice): |
| (WebCore::betterChoice): |
| (WebCore::toTraitsMask): |
| (WebCore::desiredFamilyToAvailableFamilyDictionary): |
| (WebCore::rememberDesiredFamilyToAvailableFamilyMapping): |
| (WebCore::fontWithFamily): |
| (WebCore::invalidateFontCache): |
| (WebCore::FontCache::getTraitsInFamily): |
| (WebCore::FontCache::createFontPlatformData): |
| * platform/mac/WebFontCache.h: Removed. |
| * platform/mac/WebFontCache.mm: Removed. |
| |
| 2014-11-14 Daniel Bates <dabates@apple.com> |
| |
| [iOS] NSFileManager and QuickLook SPI not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138742 |
| |
| Reviewed by Pratik Solanki. |
| |
| Add a SPI wrapper headers {NSFileManager, QuickLook}SPI.h that forward declares |
| NSFileManager and QuickLook SPI, respectively, and use these header instead of |
| including private headers of Foundation and QuickLook directly. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add project and private header QuickLookSPI.h |
| and NSFileManagerSPI.h, respectively. |
| * platform/network/ios/QuickLook.mm: Include headers QuickLookSPI.h and NSFileManagerSPI.h |
| instead of including headers of QuickLook and Foundation directly. |
| * platform/spi/cocoa/NSFileManagerSPI.h: Added. |
| * platform/spi/ios/QuickLookSPI.h: Added. |
| |
| 2014-11-14 Daniel Bates <dabates@apple.com> |
| |
| [iOS] CoreGraphics SPI not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138709 |
| |
| Reviewed by David Kilzer. |
| |
| Add a SPI wrapper header called CoreGraphicsSPI.h that forward declares |
| CoreGraphics SPI and use this header instead of including private headers |
| of CoreGraphics directly. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add WebCore private header CoreGraphicsSPI.h. Also remove header |
| CGFontUnicodeSupportSPI.h as its functionality has been incorporated into header CoreGraphicsSPI.h. |
| * WebCore.vcxproj/WebCore.vcxproj: Add WebCore private header CoreGraphicsSPI.h. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Add directories platform/spi and platform/spi/cg. |
| * WebCore.vcxproj/WebCoreCG.props: Add include directory platform/spi/cg. |
| * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy WebCore headers from directory platform/spi/cg. This |
| is necessary because WebCore/platform/graphics/SimpleFontData.h includes CoreGraphicsSPI.h. And |
| WebCore/platform/graphics/SimpleFontData.h is compiled for the Apple Windows port. |
| * platform/graphics/SimpleFontData.h: Move CGFontRenderingStyle declaration and associated enum |
| from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h. |
| * platform/graphics/cg/BitmapImageCG.cpp: Remove unnecessary #include of header CGContextPrivate.h. |
| * platform/graphics/cg/ColorCG.cpp: Include header CoreGraphicsSPI.h instead of including headers |
| of CoreGraphics directly. |
| * platform/graphics/cg/GraphicsContextCG.cpp: Move forward declarations of CoreGraphics functions |
| from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h. Also sort the list |
| of #include directives. |
| * platform/graphics/cg/ImageSourceCG.cpp: Include header CoreGraphicsSPI.h instead of including |
| headers of CoreGraphics directly. |
| * platform/graphics/cg/PDFDocumentImage.cpp: Ditto. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Ditto. |
| * platform/graphics/ios/FontCacheIOS.mm: Include header CoreGraphicsSPI.h instead of including |
| header <CoreGraphics/CGFontUnicodeSupport.h> directly. |
| * platform/graphics/ios/FontServicesIOS.mm: Include header CoreGraphicsSPI.h instead of including |
| headers of CoreGraphics directly. |
| * platform/graphics/ios/SimpleFontDataIOS.mm: Ditto. |
| * platform/graphics/mac/FontMac.mm: Move forward declarations of CoreGraphics functions from this |
| file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h. |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Substitute header CoreGraphicsSPI.h for CGFontUnicodeSupportSPI.h |
| and remove #include of headers CGFontUnicodeSupport.h (it will be included by CoreGraphicsSPI.h). |
| * platform/graphics/mac/SimpleFontDataMac.mm: Move forward declarations of CoreGraphics functions |
| from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h. |
| * platform/ios/LegacyTileGrid.mm: Include header CoreGraphicsSPI.h instead of including headers of |
| CoreGraphics directly. |
| * platform/ios/wak/WKGraphics.h: Remove #include of header CoreGraphicsPrivate.h and forward declare |
| CGFontAntialiasingStyle Additionally, declare WKCompositeOperation as an alias of int and use this |
| data type instead of CGCompositeOperation (SPI). This approach lets us keep the definition of |
| CGCompositeOperation in file CoreGraphicsSPI.h, where all the other definitions/forward declarations |
| of CoreGraphics data types reside, as opposed to defining it in this file. |
| * platform/ios/wak/WKGraphics.mm: |
| (WKRectFillUsingOperation): Cast data type WKCompositeOperation to CGCompositeOperation and added |
| compile-time assert to ensure that the size of WKCompositeOperation is identical to the size of CGCompositeOperation. |
| * platform/graphics/cg/ImageSourceCG.cpp: Move CGImageCachingFlags declaration, associated enum, and |
| forward declaration of CGImageSetCachingFlags() from this file to file CoreGraphicsSPI.h and include |
| header CoreGraphicsSPI.h. |
| (WebCore::ImageSource::createFrameAtIndex): Fix incorrect comment. |
| * platform/spi/cocoa/CGFontUnicodeSupportSPI.h: Removed; moved its functionality into header CoreGraphicsSPI.h. |
| * platform/spi/cg/CoreGraphicsSPI.h: Added. |
| (CGFloatMin): |
| * rendering/RenderThemeIOS.mm: Substitute header CoreGraphics.h for CGPathPrivate.h as we no longer |
| make use of any functionality from CGPathPrivate.h in this file. The functionality we used from |
| CGPathPrivate.h, including CGPathAddRoundedRect(), has been moved to the public API header, CGPath.h, |
| which is included from header CoreGraphics.h. |
| |
| 2014-11-14 Dean Jackson <dino@apple.com> |
| |
| [Media] Timeline scrubber not updating as the video plays |
| https://bugs.webkit.org/show_bug.cgi?id=138717 |
| <rdar://problem/18957509> |
| |
| Reviewed by Jer Noble. |
| |
| There is some confusing logic that determines |
| whether or not the controls are hidden, and a |
| slight error caused timelines to not advance unless |
| they were explicitly showing. |
| |
| The fix was to be a bit more liberal in deciding |
| when the controls are showing, but still cautious |
| enough to stop up causing repaints when things |
| are hidden. |
| |
| Test: media/media-controls-timeline-updates.html |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.controlsAreHidden): We only need |
| to check if we're an audio element or explicitly |
| hidden. |
| (Controller.prototype.showControls): Explicitly call |
| updateTime. |
| |
| 2014-11-14 Tim Horton <timothy_horton@apple.com> |
| |
| Move DataDetectors scanning code to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138731 |
| <rdar://problem/18877535> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Export our new function. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Add DataDetection.{mm, h} |
| Adjust the project so that editing/mac actually points to editing/mac instead of editing/ |
| |
| * editing/mac/DictionaryLookup.h: |
| * editing/mac/DictionaryLookup.mm: |
| Swap to PLATFORM(MAC) instead of !PLATFORM(IOS). |
| Move DictionaryLookup.{mm, h} to editing/mac, where they were in the project but not on disk. |
| |
| * editing/mac/DataDetection.h: Added. |
| * editing/mac/DataDetection.mm: Added. |
| (WebCore::DataDetection::detectItemAroundHitTestResult): |
| Moved from WebKit2. |
| |
| 2014-11-14 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/18978497> Wrong (off-by-1) navigation snapshots shown after a mix of gesture and button back/forward navigation |
| https://bugs.webkit.org/show_bug.cgi?id=138753 |
| |
| Reviewed by Tim Horton. |
| |
| Removed a FrameLoaderClient function that no one overrides anymore. |
| |
| * loader/FrameLoaderClient.h: |
| (WebCore::FrameLoaderClient::willChangeCurrentHistoryItem): Deleted. |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::setCurrentItem): Removed call to willChangeCurrentHistoryItem. |
| (WebCore::HistoryController::replaceCurrentItem): Ditto. |
| |
| 2014-11-14 Jeremy Jones <jeremyj@apple.com> |
| |
| Do proper teardown for optimized fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=138648 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::invalidate): must do corresponding teardown based on mode. |
| |
| 2014-11-11 David Hyatt <hyatt@apple.com> |
| |
| Table rows repaint entire table when their background color changes. |
| https://bugs.webkit.org/show_bug.cgi?id=26662 |
| |
| Reviewed by Simon Fraser. |
| |
| Added fast/repaint/table-row-repaint.html |
| |
| * rendering/RenderTableCell.h: |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::clippedOverflowRectForRepaint): |
| Improve table row's function to unite with the cell rects that can possibly |
| have the the row's background color painted behind them. |
| |
| 2014-11-14 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Move simple line layout RunResolver and LineResolver implementation to SimpleLineLayoutResolver.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=138704 |
| |
| Reviewed by Antti Koivisto. |
| |
| No change in functionality. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * rendering/SimpleLineLayoutResolver.cpp: Added. |
| (WebCore::SimpleLineLayout::RunResolver::Run::Run): |
| (WebCore::SimpleLineLayout::RunResolver::Run::rect): |
| (WebCore::SimpleLineLayout::RunResolver::Run::baseline): |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator): |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::advance): |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines): |
| (WebCore::SimpleLineLayout::RunResolver::RunResolver): |
| (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight): |
| (WebCore::SimpleLineLayout::RunResolver::rangeForRect): |
| (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator): |
| (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*): |
| (WebCore::SimpleLineLayout::LineResolver::LineResolver): |
| * rendering/SimpleLineLayoutResolver.h: |
| (WebCore::SimpleLineLayout::RunResolver::Run::Run): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Run::rect): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Run::baseline): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::advance): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::RunResolver): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight): Deleted. |
| (WebCore::SimpleLineLayout::RunResolver::rangeForRect): Deleted. |
| (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator): Deleted. |
| (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*): Deleted. |
| (WebCore::SimpleLineLayout::LineResolver::LineResolver): Deleted. |
| |
| 2014-11-14 Andrzej Badowski <a.badowski@samsung.com> |
| |
| AX: Improve AccessibilityTableCell isColumnHeaderCell function. |
| https://bugs.webkit.org/show_bug.cgi?id=138423 |
| |
| Reviewed by Chris Fleizach. |
| |
| <th> cell in the zero row should be column header. |
| |
| New tests are not necessary. |
| |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::isColumnHeaderCell): |
| |
| 2014-11-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Use GMainLoopSource for request timeout in ResourceHandle |
| https://bugs.webkit.org/show_bug.cgi?id=138695 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| We are currently using soup_timeout_add() that simply creates a |
| GSource and attaches it to the given context. Using |
| GMainLoopSource we simplify the code and fix any potential problem |
| of converting the double value into milliseconds. |
| |
| * platform/network/ResourceHandleInternal.h: |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::cleanupSoupRequestOperation): |
| (WebCore::ResourceHandle::sendPendingRequest): |
| (WebCore::ResourceHandle::platformSetDefersLoading): |
| (WebCore::requestTimeoutCallback): Deleted. |
| |
| 2014-11-13 Tim Horton <timothy_horton@apple.com> |
| |
| [mac] Keep around more decoded image data, since it's purgeable |
| https://bugs.webkit.org/show_bug.cgi?id=125273 |
| <rdar://problem/13205438> |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests, just an optimization. |
| |
| Instead of throwing away decoded image data eagerly, allow the operating |
| system to manage the memory via the standard purgeability mechanism, |
| where it can. |
| |
| This improves the performance on some pathological cases (extremely large |
| animated GIFs) by up to 8x. |
| |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::pruneLiveResourcesToSize): |
| Don't prune live resources' decoded data if it is purgeable. |
| |
| * platform/graphics/BitmapImage.cpp: |
| (WebCore::BitmapImage::destroyDecodedDataIfNecessary): |
| Don't eagerly throw away decoded image data if it's purgeable. |
| |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::decodedDataIsPurgeable): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/Image.h: |
| (WebCore::Image::decodedDataIsPurgeable): |
| |
| 2014-11-13 Myles C. Maxfield <litherum@gmail.com> |
| |
| Addressing post-review comment |
| https://bugs.webkit.org/show_bug.cgi?id=138633 |
| |
| * platform/spi/cg/CoreGraphicsSPI.h: |
| |
| 2014-11-13 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Move FontMac and FontCacheMac off of WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138633 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no behavior change. |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| * WebCore.vcxproj/WebCoreCG.props: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::platformInit): |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::platformInit): |
| (WebCore::FontCache::systemFallbackForCharacters): |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::isIntegral): |
| (WebCore::setCGFontRenderingMode): |
| (WebCore::Font::drawGlyphs): |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::FontCache::platformInit): |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| * platform/spi/cocoa/CoreGraphicsSPI.h: Copied from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h. |
| * platform/spi/cocoa/CoreTextSPI.h: |
| * platform/spi/mac/NSFontSPI.h: Renamed from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h. |
| |
| 2014-11-13 Chris Dumez <cdumez@apple.com> |
| |
| Move 'image-resolution' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138715 |
| |
| Reviewed by Andreas Kling. |
| |
| Move 'image-resolution' CSS property from DeprecatedStyleBuilder to |
| the new StyleBuilder by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyImageResolution::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyImageResolution::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyImageResolution::applyValue): Deleted. |
| (WebCore::ApplyPropertyImageResolution::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyInheritImageResolution): |
| (WebCore::StyleBuilderFunctions::applyInitialImageResolution): |
| (WebCore::StyleBuilderFunctions::applyValueImageResolution): |
| |
| 2014-11-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176106. |
| https://bugs.webkit.org/show_bug.cgi?id=138719 |
| |
| needs build love (Requested by kling on #webkit). |
| |
| Reverted changeset: |
| |
| "[mac] Keep around more decoded image data, since it's |
| purgeable" |
| https://bugs.webkit.org/show_bug.cgi?id=125273 |
| http://trac.webkit.org/changeset/176106 |
| |
| 2014-11-13 Eric Carlson <eric.carlson@apple.com> |
| |
| Context menus should not offer the "Download video" option for videos that cannot |
| be downloaded |
| https://bugs.webkit.org/show_bug.cgi?id=138530 |
| -and corresponding- |
| rdar://problem/18919130 |
| |
| Reviewed by Tim Horton. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMediaElement.h: |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::populate): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::canSaveMediaData): |
| (WebCore::MediaPlayer::supportsSave): Deleted. |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): |
| (WebCore::MediaPlayerPrivateInterface::canSaveMediaData): |
| (WebCore::MediaPlayerPrivateInterface::supportsSave): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::resolvedURL): |
| (WebCore::MediaPlayerPrivateAVFoundation::canSaveMediaData): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::canSaveMediaData): |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::isDownloadableMedia): |
| |
| 2014-11-02 Tim Horton <timothy_horton@apple.com> |
| |
| [mac] Keep around more decoded image data, since it's purgeable |
| <https://webkit.org/b/125273> |
| <rdar://problem/13205438> |
| |
| Reviewed by Simon Fraser and Andreas Kling. |
| |
| No new tests, just an optimization. |
| |
| Instead of throwing away decoded image data eagerly, allow the operating |
| system to manage the memory via the standard purgeability mechanism, |
| where it can. |
| |
| This improves the performance on some pathological cases (extremely large |
| animated GIFs) by up to 8x. |
| |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::pruneLiveResourcesToSize): |
| Don't prune live resources' decoded data if it is purgeable. |
| |
| * platform/graphics/BitmapImage.cpp: |
| (WebCore::BitmapImage::destroyDecodedDataIfNecessary): |
| Don't eagerly throw away decoded image data if it's purgeable. |
| |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::decodedDataIsPurgeable): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/Image.h: |
| (WebCore::Image::decodedDataIsPurgeable): |
| |
| 2014-11-13 Daniel Bates <dabates@apple.com> |
| |
| [iOS] NSGeometry data types are not available in the public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=137536 |
| |
| Reviewed by David Kilzer. |
| |
| Towards building iOS WebKit with the public iOS SDK, define NSGeometry |
| data types and functions in terms of CGGeometry data types and functions |
| because the former is SPI on iOS. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Include |
| header WAKAppKitStubs.h when building for iOS. Otherwise, include header NSGeometry.h. |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: Remove import of private header NSGeometry.h. |
| We will use the NSGeometry data types defined in WAKAppKitStubs.h, which is implicitly imported |
| by header WAKWindow.h. |
| * platform/graphics/mac/MediaPlayerProxy.h: Substitute WAKAppKitStubs.h for NSGeometry.h. |
| * platform/ios/PlatformEventFactoryIOS.mm: Ditto. Also fix up style issues with #import directives. |
| * platform/ios/WebEvent.mm: Ditto. |
| * platform/ios/wak/WAKAppKitStubs.h: Define typedefs and macros that map NSGeometry data types |
| and functions to the analogous CGGeometry data types and functions. Also, remove #ifdef __OBJC__- |
| guard as the existing content in WAKAppKitStubs.h assumes that this file will only be included |
| in an Objective-C/Objective-C++ file. |
| * platform/ios/wak/WAKView.h: Import header WAKAppKitStubs.h instead of defining macros for some |
| NSGeometry data types. |
| |
| 2014-11-13 Simon Fraser <simon.fraser@apple.com> |
| |
| [WK2] Fire a layout milestone on session restore based on render tree size |
| https://bugs.webkit.org/show_bug.cgi?id=138711 |
| rdar://problem/16033854 |
| |
| Reviewed by Anders Carlsson. |
| |
| New layout milestone for session restore based on render tree size. Only used |
| in WK2 at present. |
| |
| * page/LayoutMilestones.h: |
| |
| 2014-11-13 Dan Bernstein <mitz@apple.com> |
| |
| Policy client not called for navigations through the page cache |
| https://bugs.webkit.org/show_bug.cgi?id=138703 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Test added to TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::loadDifferentDocumentItem): When using a cached page, which already |
| has a document loader, set the document loader’s triggering action (so that the policy |
| client sees that this is a back/forward navigation) and clear its last checked request (so |
| that the policy client gets called). |
| |
| 2014-11-13 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Do not return ATK_ROLE_UNKNOWN for null or otherwise invalid accessible objects |
| https://bugs.webkit.org/show_bug.cgi?id=137867 |
| |
| Reviewed by Chris Fleizach. |
| |
| Return ATK_ROLE_INVALID for null or otherwise invalid accessible objects. |
| |
| Test: platform/gtk/accessibility/detached-object-role.html |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetRole): |
| |
| 2014-11-13 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] update optimized fullscreen media controls artwork |
| https://bugs.webkit.org/show_bug.cgi?id=138705 |
| |
| Reviewed by Dean Jackson. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::mediaUIImageData): Remove one button. |
| * Modules/mediacontrols/MediaControlsHost.idl: |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.controlsAreHidden): Add parentheses to fix the logic. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.shouldHaveStartPlaybackButton): The big play button should not be |
| visible during playback. |
| (ControllerIOS.prototype.createControls): No longer necessary to insert style dynamically, |
| (ControllerIOS.prototype.setPlaying): Call the base class first so "isPlaying" is set before |
| calling updateControls, which calls shouldHaveStartPlaybackButton. |
| |
| * platform/ios/WebCoreSystemInterfaceIOS.h: Update constants. |
| |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Add button style to the media controls sheet. |
| |
| 2014-11-13 Benjamin Poulain <bpoulain@apple.com> |
| |
| Implement the matching for :nth-last-child(An+B of selector-list) |
| https://bugs.webkit.org/show_bug.cgi?id=138650 |
| |
| Reviewed by Andreas Kling. |
| |
| Matching is trivial based on the existing CSS4 infrastructure. |
| |
| The tricky part is style invalidation. In the cases of the old :nth-last-child() |
| and :nth-last-of-type(), we were using the flag ChildrenAffectedByBackwardPositionalRules. |
| |
| The problem with ChildrenAffectedByBackwardPositionalRules is that it only invalidate |
| subtrees when nodes are being added or removed. It is a valuable optimization by itself |
| since tree updates are less common than property updates. |
| |
| For the case of property updates, I have added the new flag "ChildrenAffectedByPropertyBasedBackwardPositionalRules". |
| It pretty much work the same way but invalidates subtree on style recalc. |
| |
| Tests: fast/css/nth-child-and-nth-last-child.html |
| fast/css/nth-last-child-of-classname.html |
| fast/css/nth-last-child-of-complex-selector.html |
| fast/css/nth-last-child-of-compound-selector.html |
| fast/css/nth-last-child-of-style-sharing-1.html |
| fast/css/nth-last-child-of-style-sharing-2.html |
| fast/css/nth-last-child-of-style-update-optimization.html |
| fast/css/nth-last-child-of-tagname.html |
| fast/selectors/nth-last-child-of-class-style-update.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * dom/Element.cpp: |
| (WebCore::Element::setChildrenAffectedByPropertyBasedBackwardPositionalRules): |
| (WebCore::Element::hasFlagsSetDuringStylingOfChildren): |
| (WebCore::Element::rareDataChildrenAffectedByPropertyBasedBackwardPositionalRules): |
| * dom/Element.h: |
| (WebCore::Element::childrenAffectedByPropertyBasedBackwardPositionalRules): |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::childrenAffectedByPropertyBasedBackwardPositionalRules): |
| (WebCore::ElementRareData::setChildrenAffectedByPropertyBasedBackwardPositionalRules): |
| (WebCore::ElementRareData::ElementRareData): |
| (WebCore::ElementRareData::resetDynamicRestyleObservations): |
| * dom/Node.cpp: |
| (WebCore::Node::updateAncestorsForStyleRecalc): |
| (WebCore::Node::setNeedsStyleRecalc): |
| (WebCore::markAncestorsWithChildNeedsStyleRecalc): Deleted. |
| * dom/Node.h: |
| Unlike the other marking steps, ChildrenAffectedByPropertyBasedBackwardPositionalRules can only really |
| affect one level (because we don't have a parent-selectors). It is quite easy to mark large |
| trees with ChildrenAffectedByPropertyBasedBackwardPositionalRules by using a selector list that is a bit |
| too generic. When that happen, we must be careful not invalidating everything, just the affected subtree. |
| |
| 2014-11-12 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| REGRESSION (r172826): Password field placeholder text is missing if |
| placeholder attribute precedes type attribute |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=138682> |
| <rdar://problem/18574213> |
| |
| When the placeholder attribute is encountered, a shadow tree is created |
| to include the placeholder element. When the type attribute is |
| encountered, the previous shadow tree is destroyed, and a new shadow |
| tree is created. TextFieldInputType::createShadowSubtree() did not |
| handle creating the placeholder element. |
| |
| This regressed in r172826 because prior to r172826, the placeholder |
| element would be recreated when |
| HTMLTextFormControlElement::updatePlaceholderVisibility() was called. |
| In r172826, updatePlaceholderVisibility() was changed to only show or |
| hide the placeholder element if it exists. |
| |
| Reviewed by Benjamin Poulain. |
| |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::createShadowSubtree): |
| Call updatePlaceholderVisibility() to insert the placeholder element |
| (after the inner text element has been inserted, as it appears before |
| it in the shadow DOM). |
| |
| 2014-11-13 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] Accessible focus events are emitted when the selection is changed in non-focused combo boxes |
| https://bugs.webkit.org/show_bug.cgi?id=137866 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Check that the AccessibilityMenuList is really focused before notifying |
| the platform that it is focused. Likewise, only notify the platform of |
| an AccessibilityMenuListOption focus gain if the AccessibilityMenuList |
| containing that option is expanded. |
| |
| Test: platform/gtk/accessibility/menu-list-unfocused-notifications.html |
| |
| * accessibility/atk/AXObjectCacheAtk.cpp: |
| (WebCore::notifyChildrenSelectionChange): |
| (WebCore::AXObjectCache::postPlatformNotification): |
| |
| 2014-11-13 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Unexpected crashes in layout test after r175953 |
| https://bugs.webkit.org/show_bug.cgi?id=138652 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| In r175953, it set reusableNodeIndex value with m_partCache's size(). It causes |
| out of bound index crash because the reusableNodeIndex is Vector object. |
| |
| No new test. This patch is to fix broken tests related to widgets on EFL port. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::getThemePartFromCache): Need to set reusableNodeIndex with "size() - 1". |
| |
| 2014-11-13 Chris Dumez <cdumez@apple.com> |
| |
| Lazily create HTMLInputElement's inputType and shadow subtree |
| https://bugs.webkit.org/show_bug.cgi?id=138524 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| When an HTMLInputElement was created by the parser, we would first call |
| HTMLInputElement::create(), then call Element::parserSetAttributes() on |
| the constructed input. With the previous implementation, this was a bit |
| inefficient because HTMLInputElement::create() would construct a |
| TextInputType inputType (as this is the default) as well as its |
| corresponding shadow subtree. Then, parserSetAttributes() would often |
| set the |type| attribute and would need to destroy this input type as |
| well as its subtree if the new |type| is not 'text', to create a new |
| inputType / shadow subtree of the right type. The profiler showed that |
| this was fairly expensive. |
| |
| To improve this, this patch delays the inputType / shadow subtree |
| creation when the HTMLInputElement is constructed by the parser, until |
| the attributes are actually set by the parser. This way, we directly |
| create an inputType / shadow subtree of the right type. |
| |
| I see a 1.4% speed up on speedometer (73.95 -> 75.0). |
| |
| Test: fast/dom/HTMLInputElement/border-attribute-crash.html |
| |
| * dom/Element.cpp: |
| (WebCore::Element::parserSetAttributes): |
| (WebCore::Element::parserDidSetAttributes): |
| * dom/Element.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::HTMLInputElement): |
| (WebCore::HTMLInputElement::create): |
| (WebCore::HTMLInputElement::updateType): |
| (WebCore::HTMLInputElement::runPostTypeUpdateTasks): |
| (WebCore::HTMLInputElement::initializeInputType): |
| (WebCore::HTMLInputElement::parseAttribute): |
| (WebCore::HTMLInputElement::parserDidSetAttributes): |
| (WebCore::HTMLInputElement::finishParsingChildren): |
| * html/HTMLInputElement.h: |
| |
| 2014-11-12 Chris Dumez <cdumez@apple.com> |
| |
| Have DOMTimer deal with more ScriptExecutionContext references |
| https://bugs.webkit.org/show_bug.cgi?id=138679 |
| |
| Reviewed by Andreas Kling. |
| |
| Have DOMTimer deal with more ScriptExecutionContext references instead |
| of pointers, to make it clear the script execution context cannot be |
| null. |
| |
| No new tests, no behavior change. |
| |
| * bindings/js/ScheduledAction.cpp: |
| (WebCore::ScheduledAction::execute): |
| (WebCore::ScheduledAction::executeFunctionInContext): |
| * bindings/js/ScheduledAction.h: |
| * dom/DocumentEventQueue.cpp: |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimerFireState::DOMTimerFireState): |
| (WebCore::NestedTimersMap::instanceForContext): |
| (WebCore::DOMTimer::DOMTimer): |
| (WebCore::DOMTimer::install): |
| (WebCore::DOMTimer::removeById): |
| (WebCore::DOMTimer::fired): |
| * page/DOMTimer.h: |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::setTimeout): |
| (WebCore::DOMWindow::clearTimeout): |
| (WebCore::DOMWindow::setInterval): |
| (WebCore::DOMWindow::clearInterval): |
| * page/SuspendableTimer.cpp: |
| (WebCore::SuspendableTimer::SuspendableTimer): |
| * page/SuspendableTimer.h: |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::setTimeout): |
| (WebCore::WorkerGlobalScope::clearTimeout): |
| (WebCore::WorkerGlobalScope::setInterval): |
| (WebCore::WorkerGlobalScope::clearInterval): |
| |
| 2014-11-12 Dean Jackson <dino@apple.com> |
| |
| Support unprefixed animation property names |
| https://bugs.webkit.org/show_bug.cgi?id=138678 |
| <rdar://problem/18943059> |
| |
| Reviewed by Simon Fraser. |
| |
| Step 1 of 3 in unprefixing CSS animations: handling the |
| property names and values. |
| |
| Unlike other unprefixing, where we use an alias that |
| effectively removes the prefixed values from the code, |
| for animations we need to keep the old values around so that |
| existing content will not break (e.g. computed style). |
| |
| During testing I noticed that we didn't handle the |
| (relatively) new animation-direction values of |
| "reverse" and "alternate-reverse" when querying |
| computed style. |
| |
| Tests: animations/unprefixed-properties.html |
| animations/unprefixed-shorthand.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): Handle the unprefixed |
| values, but also get animation direction to produce the correct |
| results when "reverse" and "alternate-reverse" is specified. |
| |
| * css/CSSParser.cpp: Handle the new values. If necessary, pass a flag |
| around indicating whether it is prefixed or unprefixed. |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::parseAnimationShorthand): Use the flag to decide |
| which of the forms we're going to check. |
| (WebCore::CSSParser::parseAnimationProperty): |
| * css/CSSParser.h: |
| |
| * css/CSSProperty.h: |
| (WebCore::prefixingVariantForPropertyId): Add prefixing/unprefixing variants for |
| all the animation values, and clean up the code a bit. |
| |
| * css/CSSPropertyNames.in: Add new properties. |
| |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): We need handlers for the |
| unprefixed forms. This should move to the new StyleBuilder soon. |
| |
| * css/StyleProperties.cpp: Handle new values. |
| (WebCore::StyleProperties::getPropertyValue): |
| (WebCore::StyleProperties::asText): |
| |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::animationShorthand): |
| (WebCore::animationShorthandForParsing): Decide which list of properties to use. |
| (WebCore::shorthandForProperty): |
| (WebCore::matchingShorthandsForLonghand): |
| (WebCore::webkitAnimationShorthandForParsing): Deleted. |
| * css/StylePropertyShorthand.h: |
| |
| * css/StyleResolver.cpp: Since the new properties come before "background" in |
| alphabetical order, they are earlier in the CSSPropertyNames.in file, and thus |
| we need to update the call sites that think CSSPropertyBackground is the first |
| property. |
| (WebCore::StyleResolver::styleForKeyframe): Replace CSSPropertyBackground with CSSPropertyAnimation. |
| (WebCore::StyleResolver::styleForPage): |
| (WebCore::StyleResolver::applyMatchedProperties): |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-12 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-12 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the iOS build. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| It's likely that more of this file should be compiled out on iOS, |
| but this is all we need to build. |
| |
| 2014-11-12 Beth Dakin <bdakin@apple.com> |
| |
| WK1: Support default actions for images |
| https://bugs.webkit.org/show_bug.cgi?id=138668 |
| -and corresponding- |
| rdar://problem/18785434 |
| |
| Reviewed by Tim Horton. |
| |
| Symbol needed for copying image. |
| * WebCore.exp.in: |
| |
| 2014-11-05 Ada Chan <adachan@apple.com> |
| |
| Implement new plug-in API for muting plug-ins |
| https://bugs.webkit.org/show_bug.cgi?id=138105 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add the new NPNVmuteAudioBool NPNVariable. |
| |
| Test: platform/mac-wk2/plugins/muted-state.html |
| |
| * plugins/npapi.h: |
| |
| 2014-11-12 Tim Horton <timothy_horton@apple.com> |
| |
| Need to show the text indicator when Data Detectors shows a popover |
| https://bugs.webkit.org/show_bug.cgi?id=138664 |
| <rdar://problem/18869900> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add new DataDetectors SPI. |
| |
| 2014-11-12 Chris Dumez <cdumez@apple.com> |
| |
| Minor improvements to RenderListItem |
| https://bugs.webkit.org/show_bug.cgi?id=138601 |
| |
| Reviewed by Darin Adler. |
| |
| Make several minor improvements to RenderListItem and clean up the |
| code a bit. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderListItem.cpp: |
| (WebCore::isHTMLListElement): |
| - Rename isList to isHTMLListElement() for clarity as it checks |
| for HTMLOListElement and HTMLUListElement types |
| - Inline the function as it is short. |
| - Use is<HTML*Element>() for type checking |
| - Update the argument to take a Node& instead of an Element*. This |
| is because the argument is expected to the non-null. Also using |
| looser typing here allows us to use this utility function is one |
| more place, without impacting performance as |
| hasTagName(HTMLQualifiedName) is defined on Node. |
| |
| (WebCore::enclosingList): |
| - Pass the argument as a reference instead of a pointer as it is |
| expected to be non-null. |
| - Initialize firstNode before the loop to avoid the if (!firstNode) |
| check for every iteration. |
| |
| (WebCore::nextListItem): |
| - Take an Element as second argument instead of a RenderListItem* |
| and provide convenience overloads so that we don't need to do |
| null checks just because some calls sites call this function |
| with 2 arguments and others with 1 argument. This way, we avoid |
| unnecessary null checks as most call sites already do such |
| checks (or have references). |
| - Transform the while loop into a for loop for clarity. |
| - Don't traverse an Element's subtree if the Element does not have |
| a renderer as it is impossible of any of its descendant to have |
| a renderer (and we are looking for a specific type of renderer). |
| |
| (WebCore::previousListItem): |
| - Pass the item argument as a reference instead of a pointer as it |
| is expected to be non-null. |
| - Reduce the scope of the |current| so that it is now declared |
| inside the loop. |
| |
| (WebCore::RenderListItem::updateItemValuesForOrderedList): |
| (WebCore::RenderListItem::itemCountForOrderedList): |
| - Pass argument as a reference instead of a pointer as it was expected |
| to be non-null (There was an assertion in place to make sure of it). |
| |
| (WebCore::RenderListItem::calcValue): |
| - Use is<HTMLOListElement>() instead of hasTagName(). |
| |
| (WebCore::getParentOfFirstLineBox): |
| - Rename variables to stop using abbreviations. |
| - Pass arguments as references instead of pointers as they are expected |
| to be non-null. |
| - Remove the firstChild null check before the loop as it does not |
| change behavior. The loop will abort early if firstChild is null |
| and we will end up returning nullptr as well. |
| - Use is<>() more for type checking. |
| - Reuse the isHTMLListElement() utility function instead of duplicating |
| its code inside this function. |
| |
| (WebCore::firstNonMarkerChild): |
| - Pass argument as a reference as it is expected to be non-null. |
| - Rename variable from result to child for clarity, as we are traversing |
| the children. |
| |
| (WebCore::RenderListItem::markerTextWithSuffix): |
| - Use String appending instead of StringBuilder as it simplifies the |
| code a lot and should not impact performance in this case. |
| |
| (WebCore::RenderListItem::explicitValueChanged): |
| - Restructure the code a bit to do the |listNode| null check before the |
| loop, now that nextListItem() takes a reference in argument. This is |
| the only call site where we didn't already know that listNode is |
| non-null. |
| |
| (WebCore::previousOrNextItem): |
| - Mark this function as inline as it is short and called repeatedly. |
| |
| 2014-11-12 Chris Dumez <cdumez@apple.com> |
| |
| Speed up HTMLTextFormControlElement::setInnerTextValue() a bit |
| https://bugs.webkit.org/show_bug.cgi?id=138619 |
| |
| Reviewed by Darin Adler. |
| |
| Speed up HTMLTextFormControlElement::setInnerTextValue() a bit by: |
| - Not doing a virtual isTextFormControl() call. Relying on innerTextElement() |
| not returning null is sufficient. |
| - Caching the result of innerTextElement() instead of repeatedly calling that |
| virtual function. |
| - De-virtualizing setFormControlValueMatchesRenderer() / |
| formControlValueMatchesRenderer() as these are never overridden. |
| - Moving the code constructing the innerTextValue from a |
| TextControlInnerTextElement from innerTextValue() to a new |
| innerTextValueFrom(TextControlInnerTextElement&) function and call this new |
| function from setInnerTextValue() to avoid calling innerTextElement() again |
| and making sure it is non-null |
| - Do the tree traversal from innerTextElement's firstChild instead of from |
| innerTextElement. The innerTextElement is a TextControlInnerTextElement. |
| Therefore, it cannot be an HTMLBRElement or a Text node. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLFormControlElement.h: |
| (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer): |
| (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer): |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::stripTrailingNewline): |
| (WebCore::innerTextValueFrom): |
| (WebCore::HTMLTextFormControlElement::setInnerTextValue): |
| (WebCore::HTMLTextFormControlElement::innerTextValue): |
| (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): |
| (WebCore::finishText): Deleted. |
| |
| 2014-11-12 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] media/track/audio-track.html is flakey |
| https://bugs.webkit.org/show_bug.cgi?id=138394 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The above test fails if the HTMLMediaElement's "canplaythrough" event fires before the AudioTrackList's |
| "addtrack" event fires. This can happen because each object keeps its own GenericEventQueue, which |
| empties when that individual queue's timer fires. So events can be enqueued in the following order: |
| 1, A, 2, B, 3, C; but fired in a different order: 1, 2, 3, A, B, C. |
| |
| Make events enqueued in GenericEventQueues globally ordered, so that events are fired in the order |
| which they are enqueued, regardless of which object owns the queue. Use a static queue of |
| GenericEventQueues to manage which GenericEventQueue fires and in what order. |
| |
| GenericEventQueues will use a WeakPtrFactory to cancel pending events. Revoking a GenericEventQueue's |
| weak pointers means those queue's entries will be skipped the next time the meta-queue is processed. |
| |
| * dom/GenericEventQueue.cpp: |
| (WebCore::GenericEventQueue::GenericEventQueue): Create a WeakPtrFactory instead of a Timer. |
| (WebCore::GenericEventQueue::enqueueEvent): Enqueue this queue with the MetaQueue. |
| (WebCore::GenericEventQueue::sharedTimer): Lazily-initializing accessor. |
| (WebCore::GenericEventQueue::sharedTimerFired): Ask each queue to dispatch one event. |
| (WebCore::GenericEventQueue::pendingQueues): Lazily-initializing accessor. |
| (WebCore::GenericEventQueue::dispatchOneEvent): Renamed from timerFired. |
| (WebCore::GenericEventQueue::close): Revoke all WeakPtrs. |
| (WebCore::GenericEventQueue::cancelAllEvents): Ditto. |
| (WebCore::GenericEventQueue::hasPendingEvents): Use !isEmpty(). |
| (WebCore::GenericEventQueue::timerFired): Deleted. |
| * dom/GenericEventQueue.h: |
| |
| 2014-11-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Expose user script messages to GObject DOM bindings |
| https://bugs.webkit.org/show_bug.cgi?id=138411 |
| |
| Reviewed by Philippe Normand. |
| |
| * PlatformGTK.cmake: Add WebKitDOMCustomUnstable.h to the list of |
| installed headers and make a symlink for it in the DerivedSources dir. |
| * bindings/gobject/WebKitDOMCustomUnstable.h: Added. |
| * bindings/gobject/WebKitDOMCustom.cpp: |
| (webkit_dom_dom_window_get_webkit_namespace): |
| (webkit_dom_user_message_handlers_namespace_get_handler): |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (HasUnstableCustomAPI): Helper function to check if the given |
| class has custom unstable API. |
| (WriteData): Include WebKitDOMCustomUnstable.h header if the class |
| has API defined there. |
| |
| 2014-11-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Fix how SerializedScriptValue is exposed to GObject DOM bindings |
| https://bugs.webkit.org/show_bug.cgi?id=138409 |
| |
| Reviewed by Philippe Normand. |
| |
| It's currently exposed as a WebKitDOMSerializedScriptValue class |
| that doesn't really exist. It should be handled as a string, that |
| is used to create a SerializedScriptValue when coming from the |
| API, and converted to a string again when returned to the API. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GetGlibTypeName): Return gchar* as glib type of SerializedScriptValue. |
| (IsGDOMClassType): Don't consider SerializedScriptValue as a GDOM class. |
| (GenerateFunction): Handle SerializedScriptValue parameters and |
| return values specially. |
| * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: |
| (webkit_dom_test_callback_callback_with_serialized_script_value_param): |
| * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: |
| (webkit_dom_test_obj_serialized_value): |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.h: |
| * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: |
| (webkit_dom_test_serialized_script_value_interface_class_init): |
| (webkit_dom_test_serialized_script_value_interface_get_value): |
| (webkit_dom_test_serialized_script_value_interface_set_value): |
| (webkit_dom_test_serialized_script_value_interface_get_readonly_value): |
| (webkit_dom_test_serialized_script_value_interface_get_cached_value): |
| (webkit_dom_test_serialized_script_value_interface_set_cached_value): |
| (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value): |
| * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: |
| * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp: |
| (webkit_dom_test_typedefs_class_init): |
| (webkit_dom_test_typedefs_get_immutable_serialized_script_value): |
| (webkit_dom_test_typedefs_set_immutable_serialized_script_value): |
| * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h: |
| |
| 2014-11-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer |
| https://bugs.webkit.org/show_bug.cgi?id=138093 |
| |
| Reviewed by Martin Robinson. |
| |
| Remove RedirectedXCompositeWindow. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-09-01 Philippe Normand <pnormand@igalia.com> |
| |
| [WK2] UserMediaClient support |
| https://bugs.webkit.org/show_bug.cgi?id=123158 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Added document and frame accessors, needed by the |
| UserMediaRequestManager of the WebProcess. Also added two methods |
| used by the permission request manager to know if access to audio |
| or video devices is requested. |
| |
| Tests: fast/mediastream/error.html |
| fast/mediastream/success.html |
| fast/mediastream/delayed-permission-allowed.html |
| fast/mediastream/delayed-permission-denied.html |
| http/tests/media/media-stream/disconnected-frame-already.html |
| http/tests/media/media-stream/disconnected-frame-permission-denied.html |
| http/tests/media/media-stream/disconnected-frame.html |
| |
| * Modules/mediastream/UserMediaRequest.cpp: |
| (WebCore::UserMediaRequest::document): |
| (WebCore::UserMediaRequest::frame): |
| * Modules/mediastream/UserMediaRequest.h: |
| (WebCore::UserMediaRequest::requiresAudio): |
| (WebCore::UserMediaRequest::requiresVideo): |
| |
| 2014-11-12 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Clean up OwnPtr in RenderThemeEfl |
| https://bugs.webkit.org/show_bug.cgi?id=138642 |
| |
| Reviewed by Zoltan Herczeg. |
| |
| No new tests, no behavior change. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::applyEdjeRTLState): Clean up all remaining OwnPtr. |
| |
| 2014-11-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move Modules/websockets to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=138649 |
| |
| Reviewed by Chris Dumez. |
| |
| Remove create() factory function and use std::make_unique<>, std::unique_ptr<> |
| instead of OwnPtr, PassOwnPtr. |
| However didReceiveBinaryData() is still using PassOwnPtr. It should be replaced |
| with std::unique_ptr<> |
| |
| No new tests, no behavior. |
| |
| * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: |
| * Modules/websockets/WebSocket.cpp: |
| * Modules/websockets/WebSocketChannel.cpp: |
| (WebCore::WebSocketChannel::connect): |
| (WebCore::WebSocketChannel::didFail): |
| (WebCore::WebSocketChannel::processFrame): |
| (WebCore::WebSocketChannel::enqueueTextFrame): |
| (WebCore::WebSocketChannel::enqueueRawFrame): |
| (WebCore::WebSocketChannel::enqueueBlobFrame): |
| (WebCore::WebSocketChannel::processOutgoingFrameQueue): |
| (WebCore::WebSocketChannel::sendFrame): |
| * Modules/websockets/WebSocketChannel.h: |
| * Modules/websockets/WebSocketDeflateFramer.cpp: |
| (WebCore::WebSocketDeflateFramer::createExtensionProcessor): |
| (WebCore::WebSocketDeflateFramer::enableDeflate): |
| (WebCore::WebSocketDeflateFramer::deflate): |
| (WebCore::WebSocketDeflateFramer::inflate): |
| (WebCore::WebSocketExtensionDeflateFrame::create): Deleted. |
| * Modules/websockets/WebSocketDeflateFramer.h: |
| (WebCore::DeflateResultHolder::create): Deleted. |
| (WebCore::InflateResultHolder::create): Deleted. |
| * Modules/websockets/WebSocketDeflater.cpp: |
| (WebCore::WebSocketDeflater::WebSocketDeflater): |
| (WebCore::WebSocketInflater::WebSocketInflater): |
| (WebCore::WebSocketDeflater::create): Deleted. |
| (WebCore::WebSocketInflater::create): Deleted. |
| * Modules/websockets/WebSocketDeflater.h: |
| * Modules/websockets/WebSocketExtensionDispatcher.cpp: |
| (WebCore::WebSocketExtensionDispatcher::addProcessor): |
| * Modules/websockets/WebSocketExtensionDispatcher.h: |
| * Modules/websockets/WebSocketHandshake.cpp: |
| (WebCore::WebSocketHandshake::addExtensionProcessor): |
| * Modules/websockets/WebSocketHandshake.h: |
| |
| 2014-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after r176001. |
| |
| Export an additional symbol. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-11 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Add diagnostic logging for per-media-engine load failures |
| https://bugs.webkit.org/show_bug.cgi?id=138647 |
| |
| Reviewed by Eric Carlson. |
| |
| Add diagnostic logging fired whenever a media engine fails to load media, |
| even if another engine subsequentially succeeds. Add a mechanism for retrieving |
| the platform-specific error code from a given engine. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMediaElement.h: |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey): |
| * page/DiagnosticLoggingKeys.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::networkStateChanged): |
| (WebCore::MediaPlayer::platformErrorCode): |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerEngineFailedToLoad): |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::platformErrorCode): |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (WebCore::MediaPlayerPrivateAVFoundation::platformErrorCode): |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::assetErrorCode): |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::assetErrorCode): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::platformErrorCode): |
| |
| 2014-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Mark more virtual functions in HTMLInputElement as final |
| https://bugs.webkit.org/show_bug.cgi?id=138644 |
| |
| Reviewed by Andreas Kling. |
| |
| Mark more virtual functions in HTMLInputElement as final to help the |
| compiler optimize better. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLInputElement.h: |
| |
| 2014-11-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove IncrementalSweeper::create() |
| https://bugs.webkit.org/show_bug.cgi?id=138243 |
| |
| Reviewed by Filip Pizlo. |
| |
| As a step to use std::unique_ptr<> and std::make_unique<>, this patch removes |
| IncrementalSweeper::create(), then set constructor of IncrementalSweeper to public. |
| Now we begins to use std::make_unique<> to create IncrementalSweeper instance. |
| |
| No new tests, no behavior changes. |
| |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::commonVM): |
| * platform/ios/WebSafeIncrementalSweeperIOS.h: |
| |
| 2014-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138594 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties from |
| DeprecatedStyleBuilder to the new StyleBuilder using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyBorderImageModifier::getValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageModifier::setValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageModifier::applyValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageModifier::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInheritValue): |
| (WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInitialValue): |
| (WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyValue): |
| (WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::getValue): |
| (WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::setValue): |
| |
| 2014-11-11 David Kilzer <ddkilzer@apple.com> |
| |
| Modernize $buildingForIPhone in CodeGeneratorObjC.pm |
| <http://webkit.org/b/138640> |
| |
| Reviewed by Daniel Bates. |
| |
| Mac OS X is the only platform that supports NSColor, so rename |
| $buildingForIPhone to $shouldUseCGColor (which is actually what |
| the variable represents) and define it in terms of the "macosx" |
| platform name. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| ($buildingForIPhone): Rename to $shouldUseCGColor. |
| ($shouldUseCGColor): False if PLATFORM_NAME is not defined, |
| which is the case on older Xcodes when building for Mac OS X, or |
| if PLATFORM_NAME is equal to "macosx". True otherwise. |
| (GetClassName): Switch to use new variable name. |
| (AddIncludesForType): Ditto. |
| (GenerateHeader): Remove dead code. The |
| $buildingForTigerOrEarlier variable was accidentally |
| re-introduced in r161638, but was originally removed in r127032! |
| (GenerateImplementation): Switch to use new variable name. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Add support for mailto: link action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138641 |
| <rdar://problem/18741567> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebCore.exp.in: |
| Add an export. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add some DataDetectors SPI. |
| |
| 2014-11-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] video is sometimes allowed to play from the background |
| https://bugs.webkit.org/show_bug.cgi?id=138522 |
| |
| Rubber-stamped by Jer Noble. |
| |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::updateClientDataBuffering): Call MediaSessionManager::sessionCanLoadMedia. |
| |
| 2014-11-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] a page with video in optimized fullscreen is visible |
| https://bugs.webkit.org/show_bug.cgi?id=138632 |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| (WebCore::WebVideoFullscreenInterfaceAVKit::mode): Expose fullscreen mode. |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Mountain Lion build fix |
| https://bugs.webkit.org/show_bug.cgi?id=138631 |
| |
| Reviewed by Simon Fraser. |
| |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-11-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] cleanup wireless route monitoring |
| https://bugs.webkit.org/show_bug.cgi?id=138614 |
| |
| Reviewed by Jer Noble. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::clearMediaPlayer): Add logging. |
| (WebCore::HTMLMediaElement::removeEventListener): Ditto. |
| (WebCore::HTMLMediaElement::createMediaPlayer): Ditto. |
| |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (WebCore::MediaSessionManageriOS::resetRestrictions): Add logging. |
| (WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Ditto. |
| (WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Ditto. |
| (-[WebMediaSessionHelper initWithCallback:]): Ditto. |
| (-[WebMediaSessionHelper dealloc]): Always deallocate volume view and routing controller |
| on the main thread. |
| (-[WebMediaSessionHelper clearCallback]): Add logging. |
| (-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Ditto. |
| (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Always call routing controller on |
| the main thread. |
| (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Ditto. |
| (-[WebMediaSessionHelper interruption:]): Add logging. |
| (-[WebMediaSessionHelper applicationWillEnterForeground:]): Ditto. |
| (-[WebMediaSessionHelper applicationDidBecomeActive:]): Ditto. |
| (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto. |
| (-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Ditto. |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewd iOS build fix |
| |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-11-11 David Kilzer <ddkilzer@apple.com> |
| |
| Protect Document in ProcessingInstruction::setXSLStyleSheet() |
| <http://webkit.org/b/138621> |
| |
| Reviewed by Andreas Kling. |
| |
| The patch is inspired by the following Blink revision by |
| <tasak@google.com>: |
| <https://src.chromium.org/viewvc/blink?view=rev&revision=182309> |
| |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::setXSLStyleSheet): |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Finish moving CTFontGetVerticalGlyphsForCharacters and CTLineCreateWithUniCharProvider out from WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138623 |
| |
| Reviewed by Geoff Garen. |
| |
| No new tests because there is no behavior change. |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: |
| (WebCore::GlyphPage::fill): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewed Mountain Lion build fix |
| |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-11-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175852. |
| https://bugs.webkit.org/show_bug.cgi?id=138626 |
| |
| Broke PLT by introducing a crash. (Requested by rniwa on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Lazily create HTMLInputElement's inputType and shadow |
| subtree" |
| https://bugs.webkit.org/show_bug.cgi?id=138524 |
| http://trac.webkit.org/changeset/175852 |
| |
| 2014-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r175947): Caused assertions in debug builds |
| https://bugs.webkit.org/show_bug.cgi?id=138620 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In HTMLCollection::traverseForward(), traversedCount was incremented 1 |
| time too many when hitting the end of the collection (i.e. element |
| becomes null). Doing a partial revert. |
| |
| No new tests, already covered by existing tests. |
| |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::traverseForward): |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| DataDetectors' menu items aren't presented in the telephone number menu |
| https://bugs.webkit.org/show_bug.cgi?id=138602 |
| <rdar://problem/18866308> |
| |
| Reviewed by Beth Dakin. |
| |
| * English.lproj/Localizable.strings: |
| Remove a now-unused localized string. |
| |
| 2014-11-11 Daniel Bates <dabates@apple.com> |
| |
| [Frame Flattening] ASSERT(transaction->view == &view()) fails in RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction() |
| https://bugs.webkit.org/show_bug.cgi?id=138615 |
| <rdar://problem/18928487> |
| |
| Reviewed by David Hyatt. |
| |
| Fixes an issue where we always expected that the RenderView associated with the RenderBlock called in |
| RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction() is the same as the RenderView associated with |
| the top transaction in the UpdateScrollInfoAfterLayoutTransaction stack regardless of frame flattening. This |
| expectation is only true when frame flattening is disabled. |
| |
| Test: fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction): |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt DDActionContext menu type SPI |
| https://bugs.webkit.org/show_bug.cgi?id=138603 |
| <rdar://problem/18867627> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add the new SPI. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Data Detectors popovers should be dismissed upon scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=138600 |
| <rdar://problem/18932770> |
| |
| Reviewed by Beth Dakin. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Adjust the SPI header. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Localize strings for action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138591 |
| <rdar://problem/18815343> |
| |
| Reviewed by Dan Bates. |
| |
| * English.lproj/Localizable.strings: |
| Add a bunch of localizable strings. |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Cleanup from r175379 |
| https://bugs.webkit.org/show_bug.cgi?id=138616 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no behavior change. |
| |
| * WebCore.exp.in: |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Move CTFontTransformGlyphs out from WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138599 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no behavior change. |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::applyTransforms): |
| * platform/graphics/SimpleFontData.h: |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| * platform/spi/cocoa/CoreTextSPI.h: |
| |
| 2014-11-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr<>|std::make_unique_ptr in RenderThemeEfl::ThemePartCacheEntry::create() |
| https://bugs.webkit.org/show_bug.cgi?id=138558 |
| |
| Reviewed by Anders Carlsson. |
| |
| This patch removes PassOwnPtr and OwnPtr in RenderThemeEfl::ThemePartCacheEntry::create(). |
| It would be good if we also remove create() factory function though, in this case, it is |
| a little hard to remove it since the create() factory function does many works to create |
| a ThemePartCacheEntry instance. Thus this patch just replaces PassOwnPtr|OwnPtr with |
| std::unique_ptr<> and std::make_unique<> in RenderThemeEfl::ThemePartCacheEntry::create(). |
| |
| Besides the theme entries have been maintained by Eina_List*. Unfortunately it doesn't support |
| std::unique_ptr<> yet. Thus the Eina_List* should be replaced with Vector<std::unique_ptr<>> |
| so that m_partCache has ownship of all EFL theme entries. This patch tries to keep original |
| cache algorithm based on Vector class. |
| |
| No new tests, no behavior changes. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::ThemePartCacheEntry::create): |
| (WebCore::RenderThemeEfl::getThemePartFromCache): |
| * platform/efl/RenderThemeEfl.h: |
| |
| 2014-11-09 Darin Adler <darin@apple.com> |
| |
| Minor tweaks to HTMLCollection |
| https://bugs.webkit.org/show_bug.cgi?id=138556 |
| |
| Reviewed by Chris Dumez. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): |
| Update for namedElements function that now returns a Vector; also use |
| a new style for loop to iterate it. |
| |
| * bindings/js/JSHTMLAllCollectionCustom.cpp: Removed some unneeded includes. |
| (WebCore::namedItems): Updated name to match WebKit coding style, and also |
| updated to use the return value from namedItems, which now returns a Vector. |
| (WebCore::callHTMLAllCollection): Updated for namedItems name change. |
| Also removed explicit Node* type from result of namedItemWithIndex, since that |
| function now returns a more specific type. |
| (WebCore::JSHTMLAllCollection::nameGetter): Update for namedItems name change. |
| (WebCore::JSHTMLAllCollection::item): Ditto. |
| (WebCore::JSHTMLAllCollection::namedItem): Ditto. |
| |
| * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Removed some unneeded includes. |
| (WebCore::namedItems): Updated name to match WebKit coding style, and also |
| updated to use the return value from namedItems, which now returns a Vector. |
| (WebCore::JSHTMLFormControlsCollection::nameGetter): Update for namedItems name change. |
| (WebCore::JSHTMLFormControlsCollection::namedItem): Ditto. |
| |
| * bindings/js/JSHTMLFormElementCustom.cpp: |
| (WebCore::JSHTMLFormElement::nameGetter): Updated to use the return value from |
| namedItems, which now returns a Vector. |
| |
| * html/HTMLAllCollection.cpp: |
| (WebCore::HTMLAllCollection::HTMLAllCollection): Marked the constructor inline, |
| since it's only used in one place, the create function. |
| (WebCore::HTMLAllCollection::~HTMLAllCollection): Deleted. No need to have an |
| explicit destructor since there's nothing special to implement, and includers of |
| the header file have everything they ened to compile the compiler-generated one. |
| (WebCore::HTMLAllCollection::namedItemWithIndex): Changed return type to Element. |
| |
| * html/HTMLAllCollection.h: Removed unneeded explicit declaration of destructor. |
| Chagned return type of namedItemWithIndex to Element. |
| |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::rootTypeFromCollectionType): Marked this inline. Also |
| changed this to be a static member function so it can use the RootType enum, which |
| is now private to the class. |
| (WebCore::isMatchingHTMLElement): Marked this function static so it will get |
| internal linkage. |
| (WebCore::isMatchingElement): Ditto. |
| (WebCore::previousElement): Marked this function inline since it's called in only |
| one place. Changed argument type to a reference since it can never be null. |
| (WebCore::HTMLCollection::iterateForPreviousElement): Changed argument name and |
| also updated for above changes. |
| (WebCore::firstMatchingElement): Marked this function static so it will get |
| internal linkage. |
| (WebCore::nextMatchingElement): Ditto. Changed argument type to a reference |
| since it can never be null. |
| (WebCore::HTMLCollection::item): Changed return type to Element. |
| (WebCore::nameShouldBeVisibleInDocumentAll): Added an overload that takes an |
| Element. This streamlines the code below that calls it so it fits on one line. |
| (WebCore::firstMatchingChildElement): Marked this function static so it will get |
| internal linkage. |
| (WebCore::nextMatchingSiblingElement): Ditto. Changed argument type to a reference |
| since it can never be null. |
| (WebCore::HTMLCollection::usesCustomForwardOnlyTraversal): Moved here from the |
| header since, although it's marked inline, it's only used inside this file. |
| (WebCore::HTMLCollection::traverseForward): Restructured the code a little bit |
| to make the function smaller and possibly easier to read. This does add one |
| redundant null check, but it seems OK to do that. |
| (WebCore::HTMLCollection::collectionTraverseBackward): Tweaked foramtting a bit. |
| (WebCore::HTMLCollection::namedItem): Changed return type to Element. Tightened |
| the code that calls nameShouldBeVisibleInDocumentAll so it fits better on one line. |
| Changed code that handles m_shouldOnlyIncludeDirectChildren to use a nested if |
| instead of an && since it makes the code a little easier to read. |
| (WebCore::HTMLCollection::updateNamedElementCache): Tweaked code a little bit, |
| using shorter variable names, and using references instead of pointers. Also removed |
| the call to didPopulate, since setNamedItemCache now takes care of that. |
| (WebCore::HTMLCollection::namedItems): Changed to return a Vector instead of |
| appending to an existing one. Also use reserveInitialCapacity and uncheckedAppend |
| for better performance. Added a FIXME, because there seems to be something wrong |
| here about this being non-virtual. Made other small tweaks to streamline the code. |
| (WebCore::HTMLCollection::customElementAfter): Moved this here from the header. |
| There is no reason to need to inline this. |
| |
| * html/HTMLCollection.h: Removed unneeded includes. Moved function bodies out |
| of the class definitions so the class definitions are easier to read. Made some |
| functions that were formerly public or protected be private instead. Added a call |
| to didPopulate to setNamedItemCache so the callers don't have to do it. |
| |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::namedItem): Changed return value to Element. |
| Tweaked coding style a little bit. |
| (WebCore::HTMLFormControlsCollection::updateNamedElementCache): Rearranged to |
| simplify a bit. Don't build the foundInputElements set when the owner is not a |
| form element, since we don't use the set in that case. Use shorter variable names, |
| and modern for loops. Also removed the call to didPopulate, since setNamedItemCache |
| now takes care of that. |
| |
| * html/HTMLFormControlsCollection.h: Removed some uneeded forward declarations. |
| Updated return type for namedItem, and also made the override private. |
| |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::namedElements): Changed to return a Vector and updated |
| function name accordingly. |
| * html/HTMLFormElement.h: Ditto. |
| |
| * html/HTMLNameCollection.h: Removed a stray blank line. |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::namedItem): Changed return value to Element. |
| (WebCore::HTMLSelectElement::item): Ditto. |
| * html/HTMLSelectElement.h: Ditto. |
| |
| * page/scrolling/AxisScrollSnapOffsets.cpp: |
| (WebCore::appendChildSnapOffsets): Rewrote loop as a for loop rather than a while |
| loop. Removed unwanted use of children()->collectionBegin() to get the first element |
| child of an HTMLElement. This function uses a mix of DOM and rendering functions that |
| is probably incorrect, but I did not tackle fixing that at this time. |
| |
| 2014-11-11 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] WebCore includes unused cursor image resources |
| https://bugs.webkit.org/show_bug.cgi?id=138605 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Resources/aliasCursor.png: Removed. |
| * Resources/cellCursor.png: Removed. |
| * Resources/contextMenuCursor.png: Removed. |
| * Resources/copyCursor.png: Removed. |
| * Resources/eastResizeCursor.png: Removed. |
| * Resources/eastWestResizeCursor.png: Removed. |
| * Resources/helpCursor.png: Removed. |
| * Resources/linkCursor.png: Removed. |
| * Resources/moveCursor.png: Removed. |
| * Resources/noDropCursor.png: Removed. |
| * Resources/noneCursor.png: Removed. |
| * Resources/northEastResizeCursor.png: Removed. |
| * Resources/northEastSouthWestResizeCursor.png: Removed. |
| * Resources/northResizeCursor.png: Removed. |
| * Resources/northSouthResizeCursor.png: Removed. |
| * Resources/northWestResizeCursor.png: Removed. |
| * Resources/northWestSouthEastResizeCursor.png: Removed. |
| * Resources/progressCursor.png: Removed. |
| * Resources/southEastResizeCursor.png: Removed. |
| * Resources/southResizeCursor.png: Removed. |
| * Resources/southWestResizeCursor.png: Removed. |
| * Resources/verticalTextCursor.png: Removed. |
| * Resources/waitCursor.png: Removed. |
| * Resources/westResizeCursor.png: Removed. |
| * Resources/zoomInCursor.png: Removed. |
| * Resources/zoomOutCursor.png: Removed. |
| |
| * WebCore.xcodeproj/project.pbxproj: Removed references to the above files. |
| |
| * platform/mac/CursorMac.mm: |
| (WebCore::Cursor::ensurePlatformCursor): For Help, Cell, ZoomIn and ZoomOut, don’t check |
| for a nil return value from wkCursor(), which can’t occur in any supported configuration. |
| For None, create a cursor with an empty NSImage instead of loading a transparent image from |
| the file system. |
| (WebCore::createNamedCursor): Deleted. |
| |
| 2014-11-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, rolling out r175844. |
| |
| Win debug build has broken since r175844. |
| |
| Reverted changeset: |
| |
| "Use std::unique_ptr<> and std::make_unique<> in WebCore" |
| https://bugs.webkit.org/show_bug.cgi?id=138560 |
| http://trac.webkit.org/changeset/175844 |
| |
| 2014-11-11 Philippe Normand <pnormand@igalia.com> |
| |
| Qt/Chromium remnants in MediaPlayer |
| https://bugs.webkit.org/show_bug.cgi?id=138611 |
| |
| Reviewed by Jer Noble. |
| |
| * platform/graphics/MediaPlayer.h: Remove unused Qt/Chromium stuff. |
| |
| 2014-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Move '-webkit-marquee-speed' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138595 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move '-webkit-marquee-speed' CSS property from DeprecatedStyleBuilder |
| to the new StyleBuilder by adding a new MarqueeSpeed Converter. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyMarqueeSpeed::applyValue): Deleted. |
| (WebCore::ApplyPropertyMarqueeSpeed::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertMarqueeSpeed): |
| |
| 2014-10-07 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Limit the size of explicit/implicit grid |
| https://bugs.webkit.org/show_bug.cgi?id=136217 |
| |
| Reviewed by Andreas Kling. |
| |
| A recent change in the specs allow us to set a limit (maximum |
| size) for both the explicit and implicit grids so we can protect |
| ourselves from absurdly huge grid specifications. It was decided |
| to use the recommended limit which is 1 million. |
| |
| This means that we can remove the old limitation for the number of |
| repetitions in repeat(). Instead we now clamp the number of |
| repetitions to the maximum value that allow us to have the maximum |
| number of whole repetitions without exceeding the track number |
| limit. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseGridTrackRepeatFunction): Replaced the |
| old limit by the new one. |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::placeItemsOnGrid): Use the amount of tracks |
| provided by GridResolvedPosition. |
| (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto. |
| * rendering/style/GridCoordinate.h: |
| (WebCore::GridSpan::GridSpan): |
| * rendering/style/GridResolvedPosition.cpp: |
| (WebCore::GridResolvedPosition::explicitGridColumnCount): Bring |
| the static function back to life. |
| (WebCore::GridResolvedPosition::explicitGridRowCount): Ditto. |
| (WebCore::explicitGridSizeForSide): |
| * rendering/style/GridResolvedPosition.h: |
| |
| 2014-11-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| CSS4 Selectors: Add multiple pseudo elements support to :matches |
| https://bugs.webkit.org/show_bug.cgi?id=138214 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In this patch, we implement (multiple) pseudo elements support to :matches. |
| Currently, we implemented it in css/SelectorChecker and there's no CSS JIT implementation. |
| |
| And we change the semantics of pseudo element selector behavior. |
| Previously when pseudo element selector appeared in the non-rightmost |
| fragment, it was ignored. This patch changes it to unmatched. |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus): |
| (WebCore::SelectorChecker::match): |
| (WebCore::hasScrollbarPseudoElement): |
| (WebCore::SelectorChecker::matchRecursively): |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::matchSelectorList): |
| * css/SelectorChecker.h: |
| (WebCore::SelectorChecker::MatchResult::matches): |
| (WebCore::SelectorChecker::MatchResult::updateWithMatchType): |
| (WebCore::SelectorChecker::MatchResult::fails): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::constructFragments): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement): |
| * rendering/style/RenderStyle.h: |
| (WebCore::RenderStyle::setHasPseudoStyles): |
| * rendering/style/RenderStyleConstants.h: |
| (WebCore::PseudoIdSet::PseudoIdSet): |
| (WebCore::PseudoIdSet::fromMask): |
| (WebCore::PseudoIdSet::has): |
| (WebCore::PseudoIdSet::add): |
| (WebCore::PseudoIdSet::merge): |
| (WebCore::PseudoIdSet::operator &): |
| (WebCore::PseudoIdSet::operator |): |
| (WebCore::PseudoIdSet::operator bool): |
| (WebCore::PseudoIdSet::data): |
| |
| 2014-11-10 Chris Dumez <cdumez@apple.com> |
| |
| Lazily create HTMLInputElement's inputType and shadow subtree |
| https://bugs.webkit.org/show_bug.cgi?id=138524 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| When an HTMLInputElement was created by the parser, we would first call |
| HTMLInputElement::create(), then call Element::parserSetAttributes() on |
| the constructed input. With the previous implementation, this was a bit |
| inefficient because HTMLInputElement::create() would construct a |
| TextInputType inputType (as this is the default) as well as its |
| corresponding shadow subtree. Then, parserSetAttributes() would often |
| set the |type| attribute and would need to destroy this input type as |
| well as its subtree if the new |type| is not 'text', to create a new |
| inputType / shadow subtree of the right type. The profiler showed that |
| this was fairly expensive. |
| |
| To improve this, this patch delays the inputType / shadow subtree |
| creation when the HTMLInputElement is constructed by the parser, until |
| the attributes are actually set by the parser. This way, we directly |
| create an inputType / shadow subtree of the right type. |
| |
| I see a 1.4% speed up on speedometer (73.95 -> 75.0). |
| |
| No new tests, no behavior change. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::parserSetAttributes): |
| (WebCore::Element::parserDidFinishParsingAttributes): |
| * dom/Element.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::HTMLInputElement): |
| (WebCore::HTMLInputElement::create): |
| (WebCore::HTMLInputElement::updateType): |
| (WebCore::HTMLInputElement::runPostTypeUpdateTasks): |
| (WebCore::HTMLInputElement::ensureInputType): |
| (WebCore::HTMLInputElement::parseAttribute): |
| (WebCore::HTMLInputElement::parserDidFinishParsingAttributes): |
| * html/HTMLInputElement.h: |
| |
| 2014-11-10 Benjamin Poulain <bpoulain@apple.com> |
| |
| Add parsing support for the extended :nth-last-child(An+B of selector-list) defined |
| https://bugs.webkit.org/show_bug.cgi?id=138520 |
| |
| Reviewed by Andreas Kling. |
| |
| Add parsing for :nth-last-child(An+B of selector-list). The selector is defined |
| in CSS Selectors Level 4: http://dev.w3.org/csswg/selectors4/#the-nth-last-child-pseudo |
| |
| Tests: fast/css/parsing-css-nth-last-child-of-1.html |
| fast/css/parsing-css-nth-last-child-of-2.html |
| fast/css/parsing-css-nth-last-child-of-3.html |
| fast/css/parsing-css-nth-last-child-of-4.html |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectFunctionTypeToken): |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| |
| 2014-11-10 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| SVG foreign objects do not inherit the container coordinates system if they are repainted. |
| https://bugs.webkit.org/show_bug.cgi?id=138481. |
| |
| Reviewed by Simon Fraser. |
| |
| If a foreign object is included in an SVG, it should inherit the coordinates system |
| of the container if it is repainted. The foreign object is actually redrawn in the |
| CSS coordinates system regardless of the transformation that may be applied to the |
| container. |
| |
| The bug is RenderSVG* classes use computeFloatRectForRepaint(), but the rest of the |
| render classes use computeRectForRepaint(). RenderSVGForeignObject::computeRectForRepaint() |
| was not defined, so we end up hitting RenderObject::computeRectForRepaint() for |
| a RenderSVGTransformableContainer and completely miss the transform. |
| |
| Tests: svg/transforms/svg-transform-foreign-object-repaint.html |
| |
| Implement RenderSVGForeignObject::computeRectForRepaint() so we can apply the |
| container transformation on the SVG foreign object repaint rectangle. |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::computeRectForRepaint): |
| * rendering/svg/RenderSVGForeignObject.h: |
| |
| 2014-11-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr<> and std::make_unique<> in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138560 |
| |
| Reviewed by Chris Dumez. |
| |
| Clean up unused OwnPtr.h and PassOwnPtr.h and use std::unique_ptr. |
| |
| No new tests, no behavior changes. |
| |
| * Modules/encryptedmedia/CDMPrivateMediaPlayer.h: |
| * dom/ContainerNode.h: |
| * dom/ElementIteratorAssertions.h: |
| (WebCore::ElementIteratorAssertions::ElementIteratorAssertions): |
| * dom/ElementRareData.h: |
| * page/DragController.h: |
| * rendering/RenderView.h: |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| WK1: Support default actions for editable text with misspelled word |
| https://bugs.webkit.org/show_bug.cgi?id=138590 |
| -and corresponding- |
| rdar://problem/18877506 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-10 Chris Dumez <cdumez@apple.com> |
| |
| Remove unnecessary null check in FrameSelection::nodeWillBeRemoved() |
| https://bugs.webkit.org/show_bug.cgi?id=138578 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove unnecessary null check in FrameSelection::nodeWillBeRemoved() |
| and turn the argument into a reference to make it clear it cannot be |
| null. |
| |
| No new tests, no behavior change. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::willRemoveChild): |
| * dom/Document.cpp: |
| (WebCore::Document::nodeChildrenWillBeRemoved): |
| (WebCore::Document::nodeWillBeRemoved): |
| * dom/Document.h: |
| * dom/NodeIterator.cpp: |
| (WebCore::NodeIterator::nodeWillBeRemoved): |
| (WebCore::NodeIterator::updateForNodeRemoval): |
| * dom/NodeIterator.h: |
| * dom/Range.cpp: |
| (WebCore::Range::insertNode): |
| (WebCore::boundaryNodeWillBeRemoved): |
| (WebCore::Range::nodeWillBeRemoved): |
| * dom/Range.h: |
| * dom/RangeBoundaryPoint.h: |
| (WebCore::RangeBoundaryPoint::setToBeforeChild): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): |
| * editing/CompositeEditCommand.h: |
| * editing/DeleteSelectionCommand.cpp: |
| (WebCore::DeleteSelectionCommand::removeNode): |
| (WebCore::DeleteSelectionCommand::handleGeneralDelete): |
| (WebCore::DeleteSelectionCommand::removeRedundantBlocks): |
| * editing/FrameSelection.cpp: |
| (WebCore::removingNodeRemovesPosition): |
| (WebCore::DragCaretController::nodeWillBeRemoved): |
| (WebCore::FrameSelection::nodeWillBeRemoved): |
| (WebCore::FrameSelection::respondToNodeModification): |
| * editing/FrameSelection.h: |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): |
| * editing/htmlediting.cpp: |
| (WebCore::updatePositionForNodeRemoval): |
| * editing/htmlediting.h: |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::nodeWillBeRemoved): |
| * page/EventHandler.h: |
| |
| 2014-11-10 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the build when CSS Selectors Level 4 is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=138533 |
| |
| * css/CSSSelector.cpp: |
| (WebCore::appendArgumentList): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching): |
| |
| 2014-11-10 Chris Dumez <cdumez@apple.com> |
| |
| Support throttling of DOMTimers using nested setTimeout() calls |
| https://bugs.webkit.org/show_bug.cgi?id=138262 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Extend DOMTimers throttling support to timers that are using nested |
| setTimeout() calls instead of a setInterval(). To achieve this, this |
| patch introduces a NestedTimersMap singleton class where nested timers |
| are added, and for which we potentially update the next firing time, |
| after the parent timer is done executing. |
| |
| I have verified this helps on ebay.com for example, which has timers |
| interacting with non-visible plugins that are scheduled using nested |
| setTimeout() calls with a frequency of 150 / 200 ms. |
| |
| This is a second take on r175441, which caused intermittent crashes. |
| This time, nested timers are removed from the NestedTimersMap when |
| DOMTimer::removeById() is called. It would be unsafe to use the nested |
| timer afterwards because we don't hold a strong reference to it and |
| the ScriptExecutionContext is unref'ing the DOMTimer when |
| ScriptExecutionContext::removeTimeout() is called from |
| DOMTimer::removeById(). |
| |
| * page/DOMTimer.cpp: |
| (WebCore::NestedTimersMap::NestedTimersMap): |
| (WebCore::NestedTimersMap::~NestedTimersMap): |
| (WebCore::NestedTimersMap::add): |
| (WebCore::NestedTimersMap::remove): |
| (WebCore::NestedTimersMap::begin): |
| (WebCore::NestedTimersMap::end): |
| (WebCore::DOMTimer::install): |
| (WebCore::DOMTimer::removeById): |
| (WebCore::DOMTimer::fired): |
| |
| 2014-11-10 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Add a systemCode to distinguish when no expired sessions were found in response to a "keyrelease" message. |
| https://bugs.webkit.org/show_bug.cgi?id=138199 |
| |
| Reviewed by Eric Carlson. |
| |
| Clients may want to be able to distinguish between cases where expired session data is not supported, and when |
| those data are supported, but none are found. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage): |
| |
| 2014-11-04 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION(r174823): Several tests fail due to canplaythrough firing before tracks are available |
| https://bugs.webkit.org/show_bug.cgi?id=137882 |
| |
| Reviewed by Eric Carlson. |
| |
| For HLS streams with only one video, audio, or text track, there will be no media selection group |
| for that media characteristic. When culling out AVPlayerItemTracks in tracksDidChange(), do not skip |
| tracks for which there is no matching AVMediaSelectionGroup. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::hasLoadedMediaSelectionGroups): Refactored. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Call above. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): |
| |
| 2014-11-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175813. |
| https://bugs.webkit.org/show_bug.cgi?id=138573 |
| |
| Breaks complex text layout spacing (Requested by litherum on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[OSX] Some words are placed on top of each other in complex |
| text layout" |
| https://bugs.webkit.org/show_bug.cgi?id=138348 |
| http://trac.webkit.org/changeset/175813 |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| Rolling out failed build fix |
| http://trac.webkit.org/changeset/175819 |
| |
| * WebCore.exp.in: |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-10 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Layers with negative z position disapear behind the page tiles |
| https://bugs.webkit.org/show_bug.cgi?id=138571 |
| rdar://problem/18873480 |
| |
| Reviewed by Dean Jackson. |
| |
| Some crufty iOS-only code in RenderLayerBacking::parentForSublayers() caused us to fail |
| to use the m_childContainmentLayer as the ancestor for descendants, so layers with |
| negative z position would get depth-sorted behind the tiles. |
| |
| Fix by removing that code. |
| |
| This should have been detected by compositing/tile-cache-must-flatten.html, but |
| testing infrastructure suck prevented us from doing so. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::parentForSublayers): |
| * rendering/RenderLayerBacking.h: Just some nullptr cleanup. |
| |
| 2014-11-10 Chris Dumez <cdumez@apple.com> |
| |
| Move 'resize' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138550 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests, no behavior change. |
| |
| Move 'resize' CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder by adding a new 'Resize' Converter function. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyResize::applyValue): Deleted. |
| (WebCore::ApplyPropertyResize::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertResize): |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * editing/DictionaryLookup.h: |
| * editing/DictionaryLookup.mm: |
| |
| 2014-11-10 Chris Dumez <cdumez@apple.com> |
| |
| Move 'text-indent' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138547 |
| |
| Reviewed by Andreas Kling. |
| |
| Move 'text-indent' CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder, by using custom code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyTextIndent::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyTextIndent::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyTextIndent::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextIndent::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyInheritTextIndent): |
| (WebCore::StyleBuilderFunctions::applyInitialTextIndent): |
| (WebCore::StyleBuilderFunctions::applyValueTextIndent): |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| WK1: Support default actions for read-only text |
| https://bugs.webkit.org/show_bug.cgi?id=138552 |
| -and corresponding- |
| rdar://problem/18877483 |
| |
| Reviewed by Tim Horton. |
| |
| WK1 now needs to do a lot of dictionary lookup operations that it did not |
| previously have to handle. So this patch takes a lot of that functionality, which |
| was implemented as static functions in WebPageMac for WK2 and moves it into |
| WebCore. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * editing/DictionaryLookup.h: Added. |
| * editing/DictionaryLookup.mm: Added. |
| (WebCore::isPositionInRange): |
| (WebCore::shouldUseSelection): |
| (WebCore::rangeExpandedAroundPositionByCharacters): |
| (WebCore::rangeForDictionaryLookupForSelection): |
| (WebCore::rangeForDictionaryLookupAtHitTestResult): |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| |
| 2014-11-10 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [OSX] Some words are placed on top of each other in complex text layout |
| https://bugs.webkit.org/show_bug.cgi?id=138348 |
| |
| Reviewed by Simon Fraser. |
| |
| Some complex text layouts have lots of diacritics being placed all over the place. |
| CoreText sometimes compensates for this by adjusting the advances of the glyphs |
| throughout the string to make glyphs appear in the correct place. This means that |
| we can't naively cache the width of a space character; instead, we must obey |
| CoreText when it gives us an advance for a space. |
| |
| Test: fast/text/large-space-width-complex.html |
| |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::adjustGlyphsAndAdvances): |
| |
| 2014-11-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] wireless playback placeholder UI doesn't always draw |
| https://bugs.webkit.org/show_bug.cgi?id=138548 |
| |
| While it is important to only listen for the 'webkitplaybacktargetavailabilitychanged' event |
| when we are displaying inline controls because listening for it increases power consumption, |
| we should always listen for the 'webkitcurrentplaybacktargetiswirelesschanged' event because |
| it controls whether or not we draw the placeholder UI which is always visible during wireless |
| playback. |
| |
| Reviewed by Brent Fulgham. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.addVideoListeners): Always listen for the |
| 'webkitcurrentplaybacktargetiswirelesschanged' event. |
| (ControllerIOS.prototype.removeVideoListeners): Always stop listening for the |
| 'webkitcurrentplaybacktargetiswirelesschanged' event. |
| (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Call updateControls so we update |
| the type of controls rendered and start listening for wireless target changes immediately. |
| (ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent): Don't start and stop |
| listening for 'webkitcurrentplaybacktargetiswirelesschanged', we should always listen for it. |
| |
| 2014-11-10 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Crash in WebCore::Node::getFlag |
| https://bugs.webkit.org/show_bug.cgi?id=137961 |
| |
| Reviewed by Antti Koivisto. |
| |
| * editing/ApplyStyleCommand.cpp: |
| (WebCore::ApplyStyleCommand::applyBlockStyle): Null pointer check added. |
| |
| 2014-11-10 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| ASSERTION FAILED: !object || !object->parent()->isRuby() || is<RenderRubyRun>(*object) || (object->isInline() && (object->isBeforeContent() || object->isAfterContent())) || (object->isAnonymous() && ... ) in WebCore::isAnonymousRubyInlineBlock |
| https://bugs.webkit.org/show_bug.cgi?id=137958 |
| |
| Reviewed by Chris Dumez. |
| |
| When a ruby element, with block behavior, dynamically changes its style |
| from multicol to without multicol, we have to remove its special children, |
| RenderMultiColumnFlowThread and RenderMultiColumnSet, the normal way using |
| the method in RenderBlockFlow base class. This patch adds both |
| RenderMultiColumnFlowThread and RenderMultiColumnSet to the list of RenderRuby |
| children removed normally and adds a new function - isRubyChildForNormalRemove - |
| to test the condition and use it in the assertion in RenderRuby*::removeChild |
| method. |
| |
| Test: fast/multicol/newmulticol/ruby-from-multicol-to-auto.html |
| |
| * rendering/RenderRuby.cpp: |
| (WebCore::isRubyChildForNormalRemove): |
| (WebCore::RenderRubyAsInline::removeChild): |
| (WebCore::RenderRubyAsBlock::removeChild): |
| |
| 2014-11-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Remove GamepadDeviceEfl::create() |
| https://bugs.webkit.org/show_bug.cgi?id=138553 |
| |
| Reviewed by Darin Adler. |
| |
| As a step to use std::unique_ptr<> and std::make_unique<>, this patch removes GamepadDeviceEfl::create(). |
| Instead we use std::make_unique<>. |
| |
| No new tests, no behavior changes. |
| |
| * platform/efl/GamepadsEfl.cpp: |
| (WebCore::GamepadsEfl::registerDevice): |
| (WebCore::GamepadDeviceEfl::create): Deleted. |
| (WebCore::GamepadsEfl::unregisterDevice): Deleted. |
| |
| 2014-11-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove create() factory function in FooAnimationValue classes |
| https://bugs.webkit.org/show_bug.cgi?id=138206 |
| |
| Reviewed by Darin Adler. |
| |
| As a step to use std::unique_ptr and std::make_unique, this patch removes create() |
| factory function in FooAnimationValue classes. As this changes, FooAnimationValue::create() |
| are changed to std::make_unique<>. |
| |
| No new tests, no behavior changes. |
| |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::KeyframeValueList::insert): |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::FloatAnimationValue::FloatAnimationValue): |
| (WebCore::TransformAnimationValue::TransformAnimationValue): |
| (WebCore::FilterAnimationValue::FilterAnimationValue): |
| (WebCore::FloatAnimationValue::create): Deleted. |
| (WebCore::TransformAnimationValue::create): Deleted. |
| (WebCore::FilterAnimationValue::create): Deleted. |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::startAnimation): |
| (WebCore::RenderLayerBacking::startTransition): |
| |
| 2014-11-09 Chris Dumez <cdumez@apple.com> |
| |
| Add a more correct way to compare floating point numbers and use it |
| https://bugs.webkit.org/show_bug.cgi?id=138527 |
| |
| Reviewed by Darin Adler. |
| |
| Use the new WTF::areEssentuallyEqual() utility function from MathExtras.h |
| to compare floating-point numbers. |
| |
| No new tests, no behavior change. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::updateTimerIntervalIfNecessary): |
| * platform/graphics/FloatQuad.cpp: |
| (WebCore::FloatQuad::isRectilinear): |
| * platform/graphics/FloatRoundedRect.cpp: |
| (WebCore::FloatRoundedRect::Radii::isUniformCornerRadius): |
| * platform/graphics/FloatSize.h: |
| (WebCore::areEssentiallyEqual): |
| (WebCore::withinEpsilon): Deleted. |
| |
| 2014-11-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Implement round-rect clipping on video elements |
| https://bugs.webkit.org/show_bug.cgi?id=138537 |
| rdar://problem/9534399 |
| |
| Reviewed by Darin Adler. |
| |
| Support border-radius on video and other layers with composited contents, |
| by pushing a FloatRoundedRect onto the GraphicsLayer as the contentsClippingRect, |
| and, on Mac, using layer corner-radius or a CAShapeLayer mask. |
| |
| Test: compositing/video/video-border-radius.html |
| |
| * WebCore.exp.in: |
| * platform/graphics/FloatRoundedRect.cpp: |
| (WebCore::FloatRoundedRect::Radii::isUniformCornerRadius): Returns true if all |
| corner radii are the same, and have equal widths and heights. |
| * platform/graphics/FloatRoundedRect.h: Allow construction without an explicit |
| rect. |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::GraphicsLayer): nullptr goodness. |
| (showGraphicsLayerTree): Print contents layers when debugging. |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::contentsClippingRect): Make this take a FloatRoundedRect. |
| (WebCore::GraphicsLayer::setContentsClippingRect): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::setContentsClippingRect): |
| (WebCore::GraphicsLayerCA::setContentsToSolidColor): |
| (WebCore::GraphicsLayerCA::setContentsToImage): |
| (WebCore::GraphicsLayerCA::setContentsToPlatformLayer): |
| (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): |
| (WebCore::GraphicsLayerCA::updateClippingStrategy): Determines whether we can simply |
| use corner-radius on the existing contentsClippingLayer, or whether we have to |
| create a shape layer to use as a mask. |
| (WebCore::GraphicsLayerCA::updateContentsRects): We have to add/remove the shape layer |
| based on the rounded rect radii. Calls updateClippingStrategy() on the clipping layer, |
| and also updates clones accordingly. |
| (WebCore::dumpInnerLayer): |
| (WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump all the inner layers |
| (requiring on test rebaseline), including the new shape and backdrop layers. |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| * platform/graphics/ca/PlatformCALayer.h: Add a new shape layer type. |
| * platform/graphics/ca/mac/PlatformCALayerMac.h: Support for corner radius and |
| a rounded rect shape mask. |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::PlatformCALayerMac): |
| (PlatformCALayerMac::clone): |
| (PlatformCALayerMac::setMask): |
| (PlatformCALayerMac::cornerRadius): |
| (PlatformCALayerMac::setCornerRadius): |
| (PlatformCALayerMac::shapeRoundedRect): |
| (PlatformCALayerMac::setShapeRoundedRect): |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| (PlatformCALayerWin::cornerRadius): |
| (PlatformCALayerWin::setCornerRadius): |
| (PlatformCALayerWin::shapeRoundedRect): |
| (PlatformCALayerWin::setShapeRoundedRect): |
| * platform/graphics/ca/win/PlatformCALayerWin.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::resetContentsRect): Use getRoundedInnerBorderFor() to get |
| the rounded rect used to clip contents. |
| (WebCore::RenderLayerBacking::positionOverflowControlsLayers): Push a FloatRoundedRect for the contents clip, |
| (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor): Ditto. |
| (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): Ditto. |
| (WebCore::RenderLayerBacking::updateImageContents): Get the rounded rect clip. |
| * rendering/RenderLayerBacking.h: nullptr. |
| |
| 2014-11-09 Darin Adler <darin@apple.com> |
| |
| Fix various cases of incorrect cross-thread capture of non-thread-safe RefCounted |
| https://bugs.webkit.org/show_bug.cgi?id=138539 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Use StringCapture |
| instead of isolatedCopy, to avoid a problem where the original thread does its deref |
| after passing the string to the other thread. |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::close): Ditto. |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail): Ditto. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::addConsoleMessage): Pass a StringCapture when creating |
| AddConsoleMessageTask. Same reason as above, but in a different context. |
| (WebCore::Document::addMessage): Ditto. |
| |
| * dom/ScriptExecutionContext.h: Changed AddConsoleMessageTask to take and |
| capture a StringCapture rather than a String, for the same reason as above. |
| |
| * fileapi/AsyncFileStream.cpp: |
| (WebCore::AsyncFileStream::write): Use URLCapture instead of trying to use |
| StringCapture on a URL, since that doesn't preserve the validity flag. |
| |
| * loader/WorkerThreadableLoader.cpp: |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Use StringCapture. |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): Ditto. |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck): Ditto. |
| |
| * platform/URL.h: Added URLCapture. |
| |
| * platform/network/FormData.cpp: |
| (WebCore::appendBlobResolved): Remove incorrect pointless code that creates a new URL |
| from an existing URL with the ParsedURLString constructor. |
| |
| * workers/DefaultSharedWorkerRepository.cpp: Fixed code that was trying to copy a URL |
| by copying a string to instead just use URL::copy. The comment claimed that URL::copy |
| is not thread safe, but that claim is incorrect. |
| (WebCore::SharedWorkerProxy::postExceptionToWorkerObject): Use StringCapture. |
| (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): Ditto. |
| (WebCore::DefaultSharedWorkerRepository::getProxy): Use URL::copy. |
| |
| * workers/WorkerGlobalScope.cpp: |
| (WebCore::WorkerGlobalScope::addConsoleMessage): Use StringCapture. |
| (WebCore::WorkerGlobalScope::addMessage): Ditto. |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): Ditto. |
| (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): Ditto. |
| (WebCore::WorkerMessagingProxy::sendMessageToInspector): Ditto. |
| (WebCore::WorkerMessagingProxy::postMessageToPageInspector): Ditto. |
| |
| * workers/WorkerRunLoop.cpp: |
| (WebCore::WorkerRunLoop::postTaskAndTerminate): Make a Task with make_unique |
| rather than with Task::create. Removed an extra isolatedCopy, unneeded because |
| the Task constructor already does an isolatedCopy. |
| (WebCore::WorkerRunLoop::postTaskForMode): Ditto. |
| (WebCore::WorkerRunLoop::Task::create): Deleted. |
| |
| * workers/WorkerRunLoop.h: Removed unneeded create function and explicit |
| public empty destructor. |
| |
| 2014-11-09 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for HTMLCollection subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=138541 |
| |
| Reviewed by Sam Weinig. |
| |
| Use is<>() / downcast<>() for HTMLCollection subclasses for |
| safety and consistency with the rest of the code base. |
| |
| No new tests, no behavior change. |
| |
| * bindings/gobject/WebKitDOMPrivate.cpp: |
| (WebKit::wrap): |
| * html/HTMLAllCollection.h: |
| * html/HTMLCollection.cpp: |
| (WebCore::isMatchingHTMLElement): |
| (WebCore::isMatchingElement): |
| * html/HTMLCollection.h: |
| * html/HTMLFormControlsCollection.h: |
| * html/HTMLNameCollection.h: |
| * html/HTMLOptionsCollection.h: |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::options): |
| * html/HTMLTableRowsCollection.h: |
| |
| 2014-11-08 Chris Dumez <cdumez@apple.com> |
| |
| Call faster HTMLElement::hasTagName() in HTMLCollection |
| https://bugs.webkit.org/show_bug.cgi?id=138529 |
| |
| Reviewed by Darin Adler. |
| |
| Call faster HTMLElement::hasTagName() in HTMLCollection instead of |
| slower Node::hasTagName() by restructuring the code a bit to |
| distinguish collection that deal only with HTMLElements from others. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLCollection.cpp: |
| (WebCore::isMatchingHTMLElement): |
| (WebCore::isMatchingElement): |
| |
| 2014-11-08 Chris Dumez <cdumez@apple.com> |
| |
| Move isEmptyValue() logic from HTMLInputElement to TextFieldInputType |
| https://bugs.webkit.org/show_bug.cgi?id=138538 |
| |
| Reviewed by Darin Adler. |
| |
| Move isEmptyValue() logic from HTMLInputElement to TextFieldInputType |
| as this only makes sense for text field input types. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::isEmptyValue): |
| * html/InputType.cpp: |
| (WebCore::InputType::isEmptyValue): |
| * html/InputType.h: |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::isEmptyValue): |
| * html/TextFieldInputType.h: |
| |
| 2014-11-08 Darin Adler <darin@apple.com> |
| |
| Replace FileThread class with a single function |
| https://bugs.webkit.org/show_bug.cgi?id=138282 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * CMakeLists.txt: Removed FileThread.cpp. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Removed FileThread.cpp/.h. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| |
| * bindings/generic/ActiveDOMCallback.cpp: Removed unneeded includes. |
| * dom/ActiveDOMObject.cpp: Ditto. |
| |
| * fileapi/AsyncFileStream.cpp: |
| (WebCore::callOnFileThread): Added. Implements the file thread. |
| (WebCore::AsyncFileStream::AsyncFileStream): Take a reference to the client. |
| Make m_internals. Use the destroyed flag instead of trickier techniques to |
| handle stopping. Once the stream is destroyed, there will be no further callbacks. |
| (WebCore::AsyncFileStream::~AsyncFileStream): Added assertions and merged in the |
| stop behavior here. This class no longer requires an explicit stop function. |
| (WebCore::AsyncFileStream::perform): Added. Helper used for all the operations |
| below. Takes a function that performs an operation and then returns a client |
| callback function. Respects the m_stopped boolean on the file thread (so we |
| don't do extra operations) and on the client thread (so we are guaranteed not |
| to get any client callbacks even if the file thread was partway through an |
| operation). |
| (WebCore::AsyncFileStream::getSize): Changed to use the perform function. |
| (WebCore::AsyncFileStream::openForRead): Ditto. Also fixed reference count |
| thread safety issue by capturing a StringCapture rather than a String. |
| (WebCore::AsyncFileStream::openForWrite): Ditto. |
| (WebCore::AsyncFileStream::close): Changed to use callOnFileThread. |
| (WebCore::AsyncFileStream::read): Changed to use the perform function. |
| (WebCore::AsyncFileStream::write): Ditto. Also fixed reference count |
| thread safety issue by capturing a StringCapture rather than a URL. |
| (WebCore::AsyncFileStream::truncate): Ditto. |
| |
| * fileapi/AsyncFileStream.h: Removed use of RefCounted since we only need |
| single ownership. Removed the stop function, since we can now stop when |
| the stream is destroyed since we have single ownership. Made a new Internals |
| object to handle destruction while operations are still going on the file thread. |
| |
| * fileapi/FileThread.cpp: Removed. |
| * fileapi/FileThread.h: Removed. |
| |
| * loader/ResourceLoader.cpp: Removed unneeded include. |
| |
| * platform/FileStream.cpp: |
| (WebCore::FileStream::~FileStream): Merged the stop function in here. |
| |
| * platform/FileStream.h: Removed use of RefCounted since we only need |
| single ownership. Removed the empty start function. Removed the stop function, |
| since we can now stop when the stream is destroyed since we have single ownership. |
| |
| * platform/FileStreamClient.h: Removed unneeded didStart and didStop. |
| |
| * platform/network/BlobResourceHandle.cpp: |
| (WebCore::BlobResourceHandle::BlobResourceHandle): Use make_unique to make the |
| stream objects instead of custom create functions. |
| (WebCore::BlobResourceHandle::~BlobResourceHandle): Removed now-unneeded code |
| to call stop functions. Destroying the objects now takes care of the this, and |
| that's done by the unique_ptrs. |
| (WebCore::BlobResourceHandle::cancel): Removed the rest of the code to stop the |
| m_asyncStream, keeping only the code that sets it to null. That now stops the |
| stream by destroying it. |
| |
| * platform/network/BlobResourceHandle.h: Use std::unique_ptr rather than |
| RefPtr for the file stream objects. |
| |
| * storage/StorageThread.h: Tweaked formatting of std::function<void()> to |
| match the format used elsewhere in WebKit. |
| |
| 2014-11-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Don't try to schedule a GraphicsLayer flush when propagating changes to replicas inside a flush |
| https://bugs.webkit.org/show_bug.cgi?id=138532 |
| |
| Reviewed by Dan Bernstein. |
| |
| When changing masks on replica layers with certain layer configurations, |
| it was possible to hit an assertion that a flush was being scheduled when already |
| flushing, via propagateLayerChangeToReplicas(). Fix by passing the scheduleFlush |
| flag along. |
| |
| Not testable with current GraphicsLayer configurations. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| 2014-11-08 Beth Dakin <bdakin@apple.com> |
| |
| Implement action menu support for videos |
| https://bugs.webkit.org/show_bug.cgi?id=138534 |
| -and corresponding- |
| rdar://problem/18742164 |
| |
| Reviewed by Tim Horton. |
| |
| Export needed symbols and added not-yet-implemented |
| HitTestResult::isMediaThatCanBeDownloaded() so that action menus will work as |
| expected once it is implemented. |
| * WebCore.exp.in: |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::isMediaThatCanBeDownloaded): |
| * rendering/HitTestResult.h: |
| |
| 2014-11-08 Chris Dumez <cdumez@apple.com> |
| |
| Speed up HTMLInputElement::isEmptyValue() |
| https://bugs.webkit.org/show_bug.cgi?id=138515 |
| |
| Reviewed by Geoffrey Garen. |
| |
| HTMLInputElement::isEmptyValue() was calling |
| HTMLTextFormControlElement::innerTextValue() which causes a full |
| subtree traversal to construct a string representation of that subtree |
| using a StringBuilder. In the case of HTMLInputElement::isEmptyValue(), |
| we don't have to do all this: We don't need to construct a String |
| and we can return false as soon as we find a non-empty descendant. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::isEmptyValue): |
| * html/HTMLInputElement.h: |
| |
| 2014-11-07 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] video is sometimes allowed to play from the background |
| https://bugs.webkit.org/show_bug.cgi?id=138522 |
| |
| Reviewed by Jer Noble. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::displayType): New. |
| * html/HTMLMediaElement.h: |
| |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::isHidden): New, client passthrough. |
| (WebCore::MediaSession::displayType): Ditto. |
| * platform/audio/MediaSession.h: |
| (WebCore::MediaSessionClient::displayType): |
| |
| * platform/audio/MediaSessionManager.cpp: |
| (WebCore::MediaSessionManager::sessionCanLoadMedia): New, default implementation returns |
| true if client is visible or playing. |
| * platform/audio/MediaSessionManager.h: |
| |
| * platform/audio/ios/MediaSessionManagerIOS.h: |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (WebCore::MediaSessionManageriOS::sessionCanLoadMedia): iOS override, also allows buffering |
| when displaying optimized fullscreen. |
| |
| 2014-11-07 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the build after r175772 |
| |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| |
| 2014-11-07 Benjamin Poulain <benjamin@webkit.org> |
| |
| Make the Selector's specificity part of Selector matching |
| https://bugs.webkit.org/show_bug.cgi?id=138486 |
| |
| Reviewed by Andreas Kling. |
| |
| In CSS Selectors Level 4, the specificity of selectors is computed dynamically |
| based on which element is being matched. |
| |
| For example, a selector: |
| :matches(#foo, .bar, baz) |
| has a specificity of |
| (1, 0, 0) on <baz id=foo class=bar> |
| (0, 1, 0) on <baz class=bar> |
| (0, 0, 1) on <baz> |
| |
| Previously, the specificity of each selector was computed statically when populating |
| RuleSet. With more recent CSS, this gives us the wrong specificity because we do not know |
| how the selectors applies to the target. |
| |
| This patch moves one tiny step in the direction of dynamic specificity. The specificity |
| is removed from RuleSet and is moved inside Selector Matching. |
| |
| There is one bit worth keeping static: matching based on rule hash. This path is important |
| to avoid spending time compiling trivial selectors. |
| In order to keep rule hash matching working, the RuleData store which specificity class |
| the rule has in addition to the information about matching/not-matching. When going through |
| the fast path in ElementCollector, we compute the right specificity based on the type |
| of rule-hash matching. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificityForOneSelector): |
| * css/CSSSelector.h: |
| * css/ElementRuleCollector.cpp: |
| (WebCore::ElementRuleCollector::addMatchedRule): |
| (WebCore::ElementRuleCollector::sortAndTransferMatchedRules): |
| (WebCore::ElementRuleCollector::ruleMatches): |
| (WebCore::ElementRuleCollector::collectMatchingRulesForList): |
| (WebCore::compareRules): |
| * css/ElementRuleCollector.h: |
| * css/RuleSet.cpp: |
| (WebCore::computeMatchBasedOnRuleHash): |
| (WebCore::RuleData::RuleData): |
| (WebCore::isSelectorMatchingHTMLBasedOnRuleHash): Deleted. |
| * css/RuleSet.h: |
| (WebCore::RuleData::matchBasedOnRuleHash): |
| (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash): Deleted. |
| (WebCore::RuleData::specificity): Deleted. |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::match): |
| * css/SelectorChecker.h: |
| * css/StyleResolver.h: |
| (WebCore::checkRegionSelector): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| * cssjit/SelectorCompiler.h: |
| (WebCore::SelectorCompiler::ruleCollectorSimpleSelectorCheckerFunction): |
| (WebCore::SelectorCompiler::querySelectorSimpleSelectorCheckerFunction): |
| (WebCore::SelectorCompiler::ruleCollectorSelectorCheckerFunctionWithCheckingContext): |
| (WebCore::SelectorCompiler::querySelectorSelectorCheckerFunctionWithCheckingContext): |
| (WebCore::SelectorCompiler::simpleSelectorCheckerFunction): Deleted. |
| (WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext): Deleted. |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorDataList::selectorMatches): |
| (WebCore::SelectorDataList::selectorClosest): |
| (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker): |
| (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext): |
| (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData): |
| (WebCore::SelectorDataList::execute): |
| * dom/SelectorQuery.h: |
| |
| 2014-11-07 Alexey Proskuryakov <ap@apple.com> |
| |
| CSP is enforced for eval in report-only mode on first page load |
| https://bugs.webkit.org/show_bug.cgi?id=138492 |
| rdar://problem/15782525 |
| |
| Reviewed by Daniel Bates. |
| |
| This is covered by existing tests when running as one test per process invocation. |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::CSPDirectiveList::allowEval): Allow when in report only mode. The allowEval |
| function itself needs to return false, because it's used in checkEvalAndReportViolation(). |
| (WebCore::CSPDirectiveList::allowJavaScriptURLs): Apply the same fix, although it's |
| not changing the behavior - this function is never called with ContentSecurityPolicy::SuppressReport. |
| (WebCore::CSPDirectiveList::allowInlineEventHandlers): Ditto. |
| (WebCore::CSPDirectiveList::allowInlineScript): Ditto. |
| (WebCore::CSPDirectiveList::allowInlineStyle): Ditto. |
| (WebCore::CSPDirectiveList::allowPluginType): Ditto. |
| (WebCore::CSPDirectiveList::allowScriptFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowObjectFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowChildFrameFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowImageFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowStyleFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowFontFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowMediaFromSource): Ditto. |
| (WebCore::CSPDirectiveList::allowConnectToSource): Ditto. |
| (WebCore::CSPDirectiveList::allowFormAction): Ditto. |
| (WebCore::CSPDirectiveList::allowBaseURI): Ditto. |
| (WebCore::ContentSecurityPolicy::didReceiveHeader): Remove isReportOnly() check, |
| which is now inside allowEval(). |
| |
| 2014-11-07 Andreas Kling <akling@apple.com> |
| |
| [Mac] Avoid repainting scrollbar track when the scrollbar track is transparent. |
| <https://webkit.org/b/138521> |
| <rdar://problem/18892090> |
| |
| Reviewed by Simon Fraser. |
| |
| Don't bother invalidating the entire WebCore scrollbar when we've opted into |
| AppKit's special mode to use individual layers for scrollbar components. |
| NSScrollerImp will invalidate what's necessary below e.g setKnobAlpha. |
| |
| * platform/mac/ScrollAnimatorMac.mm: |
| (-[WebScrollbarPartAnimation setCurrentProgress:]): |
| |
| 2014-11-07 Chris Dumez <cdumez@apple.com> |
| |
| Rename HTMLInputElement::imageLoader() to ensureImageLoader() |
| https://bugs.webkit.org/show_bug.cgi?id=138508 |
| |
| Reviewed by Andreas Kling. |
| |
| Rename HTMLInputElement::imageLoader() to ensureImageLoader() and have |
| it return a reference to make it clear that it constructs an |
| ImageLoader if missing. |
| Also introduce a lightweight imageLoader() getter which just returns |
| the imageLoader or null if missing. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::ensureImageLoader): |
| (WebCore::HTMLInputElement::didMoveToNewDocument): |
| (WebCore::HTMLInputElement::imageLoader): Deleted. |
| * html/HTMLInputElement.h: |
| (WebCore::HTMLInputElement::imageLoader): |
| (WebCore::HTMLInputElement::hasImageLoader): Deleted. |
| * html/ImageInputType.cpp: |
| (WebCore::ImageInputType::srcAttributeChanged): |
| (WebCore::ImageInputType::attach): |
| (WebCore::ImageInputType::height): |
| (WebCore::ImageInputType::width): |
| |
| 2014-11-07 Chris Dumez <cdumez@apple.com> |
| |
| Move 'webkit-clip-path' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138452 |
| |
| Reviewed by Andreas Kling. |
| |
| Move 'webkit-clip-path' CSS property from DeprecatedStyleBuilder to the |
| new StyleBuilder so that it is now generated from CSSPropertyNames.in. |
| |
| A ClipPath converter was added to support this. Custom code was avoided |
| by replacing if checks by assertions, relying on the CSSParser to make |
| sure the input is valid. |
| |
| Test: fast/masking/clip-path-bad-value.html |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyClipPath::setValue): Deleted. |
| (WebCore::ApplyPropertyClipPath::applyValue): Deleted. |
| (WebCore::ApplyPropertyClipPath::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertClipPath): |
| |
| 2014-11-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Pseudo element matchedCSSRules do not include matching selector info |
| https://bugs.webkit.org/show_bug.cgi?id=138438 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Test: inspector/css/psuedo-element-matches.html |
| |
| Element::matches is not the correct API to use to check selectors with pseudo-elements. |
| Instead we should use the CSS Selector checking machinary which understands them. |
| |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::getSupportedCSSProperties): |
| (WebCore::InspectorCSSAgent::buildArrayForRuleList): |
| (WebCore::InspectorCSSAgent::buildArrayForRegions): |
| (WebCore::InspectorCSSAgent::buildObjectForNamedFlow): |
| Some RefPtr release improvements. |
| |
| (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): |
| Use a SelectorChecker to check each Selector against the element. |
| This matches the SelectorChecker used when we collected the rules |
| for this element. |
| |
| 2014-11-07 Chris Dumez <cdumez@apple.com> |
| |
| Drop useless HTMLElement::isURLAttribute() override |
| https://bugs.webkit.org/show_bug.cgi?id=138479 |
| |
| Reviewed by Mark Lam. |
| |
| Drop useless HTMLElement::isURLAttribute() override as it is doing |
| nothing but calling the parent class' isURLAttribute(). |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::isURLAttribute): Deleted. |
| * html/HTMLElement.h: |
| |
| 2014-11-07 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Update optimized fullscreen media controls |
| https://bugs.webkit.org/show_bug.cgi?id=138493 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::fullscreenMode): New. |
| (WebCore::MediaControlsHost::mediaUIImageData): New. |
| * Modules/mediacontrols/MediaControlsHost.h: |
| * Modules/mediacontrols/MediaControlsHost.idl: |
| |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| Renamed -webkit-media-controls-wireless-playback-status to -webkit-media-controls-inline-playback-placeholder |
| because it is now used for other inline playback status display. Add z-index:0 so the placeholder |
| renders above captions. Remove the background-image, it is now set from script. |
| (audio::-webkit-media-controls-inline-playback-placeholder): |
| (audio::-webkit-media-controls-inline-playback-placeholder.hidden): |
| (video::-webkit-media-controls-optimized-fullscreen-button): |
| (audio::-webkit-media-controls-wireless-playback-status): Deleted. |
| (audio::-webkit-media-controls-wireless-playback-status.hidden): Deleted. |
| (video::-webkit-media-controls-optimized-fullscreen-button:active): Deleted. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS): Set doingSetup to true around setup so we don't draw the inline controls |
| briefly when an element is created as a result of a user gesture. |
| (ControllerIOS.prototype.shouldHaveStartPlaybackButton): Don't allow inline controls during |
| initial setup to prevent inline controls from begin drawn briefly when a media element |
| is created and inserted by a script called from a user gesture. |
| (ControllerIOS.prototype.updateWirelessPlaybackStatus): wirelessPlaybackStatus -> inlinePlaybackPlaceholder. |
| (ControllerIOS.prototype.createControls): Ditto. Add style rules for optimized fullscreen button. |
| (ControllerIOS.prototype.configureInlineControls): Add the inlinePlaybackPlaceholder as a peer of |
| the inline controls compositing child instead of as a child so it renders correctly. |
| (ControllerIOS.prototype.addControls): |
| (ControllerIOS.prototype.updateControls): wirelessPlaybackStatus -> inlinePlaybackPlaceholder. |
| (ControllerIOS.prototype.handleWrapperTouchStart): |
| (ControllerIOS.prototype.get pageScaleFactor): Cleanup. |
| (ControllerIOS.prototype.set pageScaleFactor): Ditto. |
| (ControllerIOS.prototype.handleFullscreenChange): Show the placeholder. |
| |
| * WebCore.exp.in: Export _wkGetMediaUIImageData. |
| |
| * html/HTMLMediaElement.h: |
| (WebCore::HTMLMediaElement::fullscreenMode): Expose fullscreen mode. |
| |
| * platform/ios/WebCoreSystemInterfaceIOS.h: |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| |
| 2014-11-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Try to fix GTK build after r175719. |
| |
| Rename the Timer fired function as requestAnimationTimerFired() to |
| avoid ambiguity. |
| |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): |
| (WebCore::ScrollAnimatorNone::requestAnimationTimerFired): |
| (WebCore::ScrollAnimatorNone::animationTimerFired): Deleted. |
| * platform/ScrollAnimatorNone.h: |
| |
| 2014-11-06 Chris Dumez <cdumez@apple.com> |
| |
| Remove useless if check in HTMLInputElement::setValue() |
| https://bugs.webkit.org/show_bug.cgi?id=138485 |
| |
| Reviewed by Daniel Bates. |
| |
| Remove useless if check in HTMLInputElement::setValue(). It was |
| inadvertently left in as part of r94836. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setValue): |
| |
| 2014-11-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Put names on a couple of video-related CALayers |
| https://bugs.webkit.org/show_bug.cgi?id=138491 |
| |
| Reviewed by Eric Carlson. |
| |
| In debug, set layer names on a couple of video-related layers to make |
| debugging easier. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer): |
| |
| 2014-11-06 Darin Adler <darin@apple.com> |
| |
| REGRESSION (r175549): http/tests/multipart/stop-crash.html failing (assertion failure in CachedResource::setEncodedSize) |
| https://bugs.webkit.org/show_bug.cgi?id=138358 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::setEncodedSize): Removed the incorrect assertion here. |
| The code asserts that resources only get bigger, never smaller. This is incorrect |
| for a multipart/mixed-replace image, where a later image that is smaller can replace |
| an earlier one. I don't fully understand why this assertion was not firing before, |
| but the relevant websites are working fine and the test otherwise passes. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart): Fix another |
| incorrect assertion that can fire for any parts after the first one. I ran into |
| this while testing various websites that use multipart/mixed-replace. |
| |
| 2014-11-06 Jeremy Jones <jeremyj@apple.com> |
| |
| Fix typo in optimized fullscreen activation. |
| https://bugs.webkit.org/show_bug.cgi?id=138480 |
| |
| Reviewed by Jer Noble. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.handleWrapperTouchStart): fix typo doubleTouchIntervalThresholdms |
| (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): fix typo isFullScreen |
| |
| 2014-11-06 Chris Dumez <cdumez@apple.com> |
| |
| Stop special-casing wbr elements in HTMLElement::createElementRenderer() |
| https://bugs.webkit.org/show_bug.cgi?id=138474 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Stop special-casing wbr elements in HTMLElement::createElementRenderer() |
| and move the code to a HTMLWBRElement subclass instead, that is |
| overriding createElementRenderer(). This function is already virtual. |
| |
| No new tests, no behavior change. |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::createElementRenderer): |
| * html/HTMLElementsAllInOne.cpp: |
| * html/HTMLTagNames.in: |
| * html/HTMLWBRElement.cpp: Added. |
| (WebCore::HTMLWBRElement::create): |
| (WebCore::HTMLWBRElement::HTMLWBRElement): |
| (WebCore::HTMLWBRElement::createElementRenderer): |
| * html/HTMLWBRElement.h: Added. |
| * rendering/RenderLineBreak.cpp: |
| (WebCore::RenderLineBreak::RenderLineBreak): |
| |
| 2014-11-05 Jer Noble <jer.noble@apple.com> |
| |
| De-templatize Timer |
| https://bugs.webkit.org/show_bug.cgi?id=138450 |
| |
| Reviewed by Anders Carlsson. |
| |
| Timer does not need to be a templated class; only it's constructors need to be templated. |
| Remove the template specifier from Timer and add same to its two class method |
| constructors. Replace the function pointer typedefs with using statements. Add a |
| helper typedef which allows invalid combinations of TimerFiredClass and |
| TimerFiredFunction to be caught early by the compiler, while still allowing |
| valid combinations (such as when the caller specifies a function on a subclass of |
| TimerFiredClass). |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::keyRequestTimerFired): |
| (WebCore::MediaKeySession::addKeyTimerFired): |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::GeoNotifier::timerFired): |
| (WebCore::Geolocation::resumeTimerFired): |
| * Modules/geolocation/Geolocation.h: |
| * Modules/indexeddb/IDBTransactionBackend.cpp: |
| (WebCore::IDBTransactionBackend::taskTimerFired): |
| * Modules/indexeddb/IDBTransactionBackend.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::appendBufferTimerFired): |
| (WebCore::SourceBuffer::removeTimerFired): |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/MediaStream.cpp: |
| (WebCore::MediaStream::scheduledEventTimerFired): |
| * Modules/mediastream/MediaStream.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::scheduledEventTimerFired): |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::Notification): |
| (WebCore::Notification::taskTimerFired): |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::NotificationRequestCallback::timerFired): |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/vibration/Vibration.cpp: |
| (WebCore::Vibration::timerFired): |
| * Modules/vibration/Vibration.h: |
| * Modules/websockets/WebSocketChannel.cpp: |
| (WebCore::WebSocketChannel::resumeTimerFired): |
| (WebCore::WebSocketChannel::closingTimerFired): |
| * Modules/websockets/WebSocketChannel.h: |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::notificationPostTimerFired): |
| * accessibility/AXObjectCache.h: |
| (WebCore::AXObjectCache::AXObjectCache): |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::gcTimerFired): |
| * bindings/js/GCController.h: |
| * css/CSSFontFaceSource.h: |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::beginLoadTimerFired): |
| * css/CSSFontSelector.h: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::sweepMatchedPropertiesCache): |
| * css/StyleResolver.h: |
| * dom/Document.cpp: |
| (WebCore::Document::visualUpdatesSuppressionTimerFired): |
| (WebCore::Document::styleRecalcTimerFired): |
| (WebCore::Document::optimizedStyleSheetUpdateTimerFired): |
| (WebCore::Document::sharedObjectPoolClearTimerFired): |
| (WebCore::Document::updateFocusAppearanceTimerFired): |
| (WebCore::Document::pendingTasksTimerFired): |
| (WebCore::Document::fullScreenChangeDelayTimerFired): |
| (WebCore::Document::loadEventDelayTimerFired): |
| (WebCore::Document::didAssociateFormControlsTimerFired): |
| (WebCore::Document::domCookieCacheExpiryTimerFired): |
| * dom/Document.h: |
| * dom/EventSender.h: |
| (WebCore::EventSender::timerFired): |
| * dom/GenericEventQueue.cpp: |
| (WebCore::GenericEventQueue::timerFired): |
| * dom/GenericEventQueue.h: |
| * dom/ScriptRunner.cpp: |
| (WebCore::ScriptRunner::timerFired): |
| * dom/ScriptRunner.h: |
| * dom/ScriptedAnimationController.cpp: |
| (WebCore::ScriptedAnimationController::animationTimerFired): |
| * dom/ScriptedAnimationController.h: |
| * dom/StyledElement.cpp: |
| (WebCore::PresentationAttributeCacheCleaner::cleanCache): |
| * editing/AlternativeTextController.cpp: |
| (WebCore::AlternativeTextController::timerFired): |
| * editing/AlternativeTextController.h: |
| * editing/Editor.cpp: |
| (WebCore::Editor::scanSelectionForTelephoneNumbers): |
| (WebCore::Editor::editorUIUpdateTimerFired): |
| * editing/Editor.h: |
| * editing/FrameSelection.cpp: |
| (WebCore::FrameSelection::caretBlinkTimerFired): |
| * editing/FrameSelection.h: |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::timerFiredToProcessQueuedRequest): |
| * editing/SpellChecker.h: |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::requestAutocompleteTimerFired): |
| * html/HTMLFormElement.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMediaElement.h: |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::swapRendererTimerFired): |
| * html/HTMLPlugInElement.h: |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): |
| * html/HTMLPlugInImageElement.h: |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::errorEventTimerFired): |
| * html/HTMLSourceElement.h: |
| * html/HTMLTrackElement.cpp: |
| (WebCore::HTMLTrackElement::loadTimerFired): |
| * html/HTMLTrackElement.h: |
| * html/MediaController.cpp: |
| (MediaController::asyncEventTimerFired): |
| (MediaController::clearPositionTimerFired): |
| (MediaController::timeupdateTimerFired): |
| * html/MediaController.h: |
| * html/MediaDocument.cpp: |
| (WebCore::MediaDocument::replaceMediaElementTimerFired): |
| * html/MediaDocument.h: |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::searchEventTimerFired): |
| * html/SearchInputType.h: |
| * html/ValidationMessage.cpp: |
| (WebCore::ValidationMessage::setMessage): |
| (WebCore::ValidationMessage::setMessageDOMAndStartTimer): |
| (WebCore::ValidationMessage::buildBubbleTree): |
| (WebCore::ValidationMessage::requestToHideMessage): |
| (WebCore::ValidationMessage::deleteBubbleTree): |
| * html/ValidationMessage.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::dispatchContextLostEvent): |
| (WebCore::WebGLRenderingContext::maybeRestoreContext): |
| * html/canvas/WebGLRenderingContext.h: |
| * html/parser/HTMLParserScheduler.cpp: |
| (WebCore::HTMLParserScheduler::continueNextChunkTimerFired): |
| * html/parser/HTMLParserScheduler.h: |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlPanelElement::transitionTimerFired): |
| (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): |
| * html/shadow/MediaControlElements.h: |
| * html/shadow/MediaControls.cpp: |
| (WebCore::MediaControls::hideFullscreenControlsTimerFired): |
| * html/shadow/MediaControls.h: |
| * html/shadow/SpinButtonElement.cpp: |
| (WebCore::SpinButtonElement::repeatingTimerFired): |
| * html/shadow/SpinButtonElement.h: |
| * html/track/LoadableTextTrack.cpp: |
| (WebCore::LoadableTextTrack::loadTimerFired): |
| * html/track/LoadableTextTrack.h: |
| * html/track/VTTRegion.cpp: |
| (WebCore::VTTRegion::scrollTimerFired): |
| * html/track/VTTRegion.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::ChangeRegionOversetTask::timerFired): |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::RevalidateStyleAttributeTask::timerFired): |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorBackendDispatchTask::timerFired): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::InspectorOverlay::updatePaintRectsTimerFired): |
| * inspector/InspectorOverlay.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): |
| * loader/DocumentLoader.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkTimerFired): |
| * loader/FrameLoader.h: |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::timerFired): |
| * loader/ImageLoader.h: |
| * loader/LinkLoader.cpp: |
| (WebCore::LinkLoader::linkLoadTimerFired): |
| (WebCore::LinkLoader::linkLoadingErrorTimerFired): |
| * loader/LinkLoader.h: |
| * loader/NavigationScheduler.cpp: |
| (WebCore::ScheduledNavigation::didStartTimer): |
| (WebCore::NavigationScheduler::timerFired): |
| * loader/NavigationScheduler.h: |
| * loader/PingLoader.h: |
| (WebCore::PingLoader::timeoutTimerFired): |
| * loader/ProgressTracker.cpp: |
| (WebCore::ProgressTracker::progressHeartbeatTimerFired): |
| * loader/ProgressTracker.h: |
| * loader/ResourceLoadScheduler.cpp: |
| (WebCore::ResourceLoadScheduler::requestTimerFired): |
| * loader/ResourceLoadScheduler.h: |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::cueLoadTimerFired): |
| * loader/TextTrackLoader.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::Callback::timerFired): |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired): |
| * loader/cache/CachedResourceLoader.h: |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::syncTimerFired): |
| * loader/icon/IconDatabase.h: |
| * page/AutoscrollController.cpp: |
| (WebCore::AutoscrollController::autoscrollTimerFired): |
| * page/AutoscrollController.h: |
| * page/CaptionUserPreferences.cpp: |
| (WebCore::CaptionUserPreferences::timerFired): |
| * page/CaptionUserPreferences.h: |
| * page/CaptionUserPreferencesMediaAF.cpp: |
| (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): |
| * page/CaptionUserPreferencesMediaAF.h: |
| * page/DeviceController.cpp: |
| (WebCore::DeviceController::fireDeviceEvent): |
| * page/DeviceController.h: |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::cursorUpdateTimerFired): |
| (WebCore::EventHandler::autoHideCursorTimerFired): |
| (WebCore::EventHandler::recognizeLongMousePress): |
| (WebCore::EventHandler::fakeMouseMoveEventTimerFired): |
| (WebCore::EventHandler::hoverTimerFired): |
| * page/EventHandler.h: |
| * page/EventSource.cpp: |
| (WebCore::EventSource::connectTimerFired): |
| * page/EventSource.h: |
| * page/FocusController.cpp: |
| (WebCore::FocusController::focusRepaintTimerFired): |
| * page/FocusController.h: |
| * page/Frame.cpp: |
| (WebCore::Frame::overflowAutoScrollTimerFired): |
| * page/Frame.h: |
| * page/FrameView.cpp: |
| (WebCore::FrameView::delayedScrollEventTimerFired): |
| (WebCore::FrameView::speculativeTilingEnableTimerFired): |
| (WebCore::FrameView::layoutTimerFired): |
| (WebCore::FrameView::updateEmbeddedObjectsTimerFired): |
| (WebCore::FrameView::postLayoutTimerFired): |
| * page/FrameView.h: |
| * page/PageOverlay.cpp: |
| (WebCore::PageOverlay::fadeAnimationTimerFired): |
| * page/PageOverlay.h: |
| * page/Settings.cpp: |
| (WebCore::Settings::imageLoadingSettingsTimerFired): |
| * page/Settings.h: |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): |
| (WebCore::AnimationControllerPrivate::animationTimerFired): |
| * page/animation/AnimationControllerPrivate.h: |
| * page/mac/ServicesOverlayController.h: |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::determineActiveHighlightTimerFired): |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired): |
| * page/scrolling/AsyncScrollingCoordinator.h: |
| * page/scrolling/ios/ScrollingCoordinatorIOS.h: |
| * page/scrolling/ios/ScrollingCoordinatorIOS.mm: |
| (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired): |
| * page/scrolling/mac/ScrollingCoordinatorMac.h: |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired): |
| * platform/HysteresisActivity.h: |
| (WebCore::HysteresisActivity::hysteresisTimerFired): |
| * platform/ScrollAnimator.cpp: |
| (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): |
| (WebCore::ScrollAnimator::startScrollSnapTimer): |
| (WebCore::ScrollAnimator::stopScrollSnapTimer): |
| (WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): |
| (WebCore::ScrollAnimator::verticalScrollSnapTimerFired): |
| * platform/ScrollAnimator.h: |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::animationTimerFired): |
| * platform/ScrollAnimatorNone.h: |
| * platform/Scrollbar.cpp: |
| (WebCore::Scrollbar::autoscrollTimerFired): |
| * platform/Scrollbar.h: |
| * platform/Timer.h: |
| (WebCore::Timer::Timer): |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::clientDataBufferingTimerFired): |
| * platform/audio/MediaSession.h: |
| * platform/efl/BatteryProviderEfl.cpp: |
| (WebCore::BatteryProviderEfl::timerFired): |
| * platform/efl/BatteryProviderEfl.h: |
| * platform/graphics/BitmapImage.cpp: |
| (WebCore::BitmapImage::startAnimation): |
| (WebCore::BitmapImage::advanceAnimation): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::reloadTimerFired): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/ShadowBlur.cpp: |
| (WebCore::ScratchBuffer::timerFired): |
| * platform/graphics/TiledBackingStore.cpp: |
| (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): |
| (WebCore::TiledBackingStore::backingStoreUpdateTimerFired): |
| * platform/graphics/TiledBackingStore.h: |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: |
| (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired): |
| * platform/graphics/ca/LayerPool.cpp: |
| (WebCore::LayerPool::pruneTimerFired): |
| * platform/graphics/ca/LayerPool.h: |
| * platform/graphics/ca/TileController.cpp: |
| (WebCore::TileController::tileRevalidationTimerFired): |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/ca/TileGrid.cpp: |
| (WebCore::TileGrid::cohortRemovalTimerFired): |
| * platform/graphics/ca/TileGrid.h: |
| * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: |
| (WebCore::LegacyCACFLayerTreeHost::renderTimerFired): |
| * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: |
| * platform/graphics/cg/IOSurfacePool.cpp: |
| (WebCore::IOSurfacePool::collectionTimerFired): |
| * platform/graphics/cg/IOSurfacePool.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::seekTimerFired): |
| * platform/graphics/texmap/TextureMapper.cpp: |
| (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired): |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: |
| (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired): |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.h: |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: |
| * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: |
| (WebCore::CoordinatedImageBacking::clearContentsTimerFired): |
| * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: |
| * platform/ios/LegacyTileCache.h: |
| * platform/ios/LegacyTileCache.mm: |
| (WebCore::LegacyTileCache::tileCreationTimerFired): |
| * platform/mac/HIDGamepadProvider.cpp: |
| (WebCore::HIDGamepadProvider::connectionDelayTimerFired): |
| (WebCore::HIDGamepadProvider::inputNotificationTimerFired): |
| * platform/mac/HIDGamepadProvider.h: |
| * platform/mac/ScrollAnimatorMac.h: |
| * platform/mac/ScrollAnimatorMac.mm: |
| (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): |
| (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired): |
| (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): |
| * platform/mock/DeviceMotionClientMock.cpp: |
| (WebCore::DeviceMotionClientMock::timerFired): |
| * platform/mock/DeviceMotionClientMock.h: |
| * platform/mock/DeviceOrientationClientMock.cpp: |
| (WebCore::DeviceOrientationClientMock::timerFired): |
| * platform/mock/DeviceOrientationClientMock.h: |
| * platform/mock/GeolocationClientMock.cpp: |
| (WebCore::GeolocationClientMock::permissionTimerFired): |
| (WebCore::GeolocationClientMock::controllerTimerFired): |
| * platform/mock/GeolocationClientMock.h: |
| * platform/mock/PlatformSpeechSynthesizerMock.cpp: |
| (WebCore::PlatformSpeechSynthesizerMock::speakingFinished): |
| * platform/mock/PlatformSpeechSynthesizerMock.h: |
| * platform/mock/TimerEventBasedMock.h: |
| (WebCore::TimerEvent::timerFired): |
| * platform/network/DNSResolveQueue.cpp: |
| (WebCore::DNSResolveQueue::timerFired): |
| * platform/network/DNSResolveQueue.h: |
| * platform/network/NetworkStateNotifier.h: |
| * platform/network/ResourceHandle.cpp: |
| (WebCore::ResourceHandle::failureTimerFired): |
| * platform/network/ResourceHandle.h: |
| * platform/network/ResourceHandleInternal.h: |
| * platform/network/curl/ResourceHandleManager.cpp: |
| (WebCore::ResourceHandleManager::downloadTimerCallback): |
| * platform/network/curl/ResourceHandleManager.h: |
| * platform/network/mac/NetworkStateNotifierMac.cpp: |
| (WebCore::NetworkStateNotifier::networkStateChangeTimerFired): |
| * platform/network/win/ResourceHandleWin.cpp: |
| (WebCore::ResourceHandle::fileLoadTimer): |
| * plugins/PluginPackage.cpp: |
| (WebCore::PluginPackage::freeLibraryTimerFired): |
| * plugins/PluginPackage.h: |
| * plugins/PluginStream.cpp: |
| (WebCore::PluginStream::delayDeliveryTimerFired): |
| * plugins/PluginStream.h: |
| * plugins/PluginView.cpp: |
| (WebCore::PluginView::popPopupsStateTimerFired): |
| (WebCore::PluginView::requestTimerFired): |
| (WebCore::PluginView::invalidateTimerFired): |
| (WebCore::PluginView::lifeSupportTimerFired): |
| * plugins/PluginView.h: |
| * plugins/win/PluginMessageThrottlerWin.cpp: |
| (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): |
| * plugins/win/PluginMessageThrottlerWin.h: |
| * rendering/ImageQualityController.cpp: |
| (WebCore::ImageQualityController::highQualityRepaintTimerFired): |
| * rendering/ImageQualityController.h: |
| * rendering/RenderButton.cpp: |
| (WebCore::RenderButton::styleDidChange): |
| (WebCore::RenderButton::timerFired): |
| * rendering/RenderButton.h: |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired): |
| (WebCore::RenderLayerCompositor::layerFlushTimerFired): |
| (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired): |
| * rendering/RenderLayerCompositor.h: |
| * rendering/RenderMarquee.cpp: |
| (WebCore::RenderMarquee::timerFired): |
| * rendering/RenderMarquee.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired): |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderProgress.cpp: |
| (WebCore::RenderProgress::animationTimerFired): |
| * rendering/RenderProgress.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::lazyRepaintTimerFired): |
| * rendering/RenderView.h: |
| * replay/EventLoopInputDispatcher.cpp: |
| (WebCore::EventLoopInputDispatcher::timerFired): |
| * replay/EventLoopInputDispatcher.h: |
| * storage/StorageAreaImpl.cpp: |
| (WebCore::StorageAreaImpl::closeDatabaseTimerFired): |
| * storage/StorageAreaImpl.h: |
| * storage/StorageAreaSync.cpp: |
| (WebCore::StorageAreaSync::syncTimerFired): |
| * storage/StorageAreaSync.h: |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::svgLoadEventTimerFired): |
| (WebCore::SVGElement::svgLoadEventTimer): |
| * svg/SVGElement.h: |
| * svg/SVGScriptElement.h: |
| * svg/SVGStyleElement.h: |
| * svg/SVGUseElement.h: |
| * svg/animation/SMILTimeContainer.cpp: |
| (WebCore::SMILTimeContainer::timerFired): |
| * svg/animation/SMILTimeContainer.h: |
| * xml/XMLHttpRequestProgressEventThrottle.cpp: |
| (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents): |
| * xml/XMLHttpRequestProgressEventThrottle.h: |
| |
| 2014-11-06 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Don't send identifierForInitialRequest callback method for request with DoNotSendCallbacks option. |
| https://bugs.webkit.org/show_bug.cgi?id=138473 |
| |
| The iOS specific code that sets up a valid m_identifier is not needed any more, since this |
| will be done later in ResourceLoader::willSendRequest. This also matches the behavior that |
| we don't call assignIdentifierToInitialRequest callback method if the reqeust has |
| DoNotSendCallbacks option. |
| |
| Reviewed by Pratik Solanki. |
| |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::willSendRequest): Remove iOS specific block for setting up a valid |
| m_identifier. In iOS, also make sure we still bail out if the resource loader was stopped |
| in assignIdentifierToInitialRequest callback by a client. |
| |
| 2014-11-06 Dean Jackson <dino@apple.com> |
| |
| [filters2] Support for backdrop-filter |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| <rdar://problem/18874494> |
| |
| Reviewed by Simon Fraser. |
| |
| Take 2!! Previous patch was rolled out. |
| |
| Add prototype support for backdrop-filter |
| http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty |
| |
| This adds support for parsing the new CSS property, adding |
| the value to RenderStyle, noticing that on the layer tree, |
| and the platform code in GraphicsLayer to render a backdrop |
| and apply an effect to the result. |
| |
| Some things are missing: |
| - animation of the backdrop-filter is not yet supported |
| - backdrops will not work in cloned layers yet (e.g. reflections) |
| |
| Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html |
| css3/filters/backdrop/backdropfilter-property-parsing-invalid.html |
| css3/filters/backdrop/backdropfilter-property-parsing.html |
| css3/filters/backdrop/backdropfilter-property.html |
| css3/filters/backdrop/effect-hw.html |
| |
| * WebCore.exp.in: Export the setBackdropFilters method so it can |
| be used from WebKit. |
| |
| * css/CSSComputedStyleDeclaration.cpp: New property name. |
| (WebCore::isLayoutDependent): |
| (WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): Piggyback on the filter parser. |
| |
| * css/CSSPropertyNames.in: Add -webkit-backdrop-filter. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop. |
| (WebCore::StyleResolver::applyProperty): Support new property. |
| |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values. |
| (WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters. |
| (WebCore::GraphicsLayer::setBackdropFilters): |
| (WebCore::GraphicsLayer::clearBackdropFilters): |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer |
| that will sit behind the contents layer and provide the element's backdrop. |
| (WebCore::GraphicsLayerCA::willBeDestroyed): |
| (WebCore::GraphicsLayerCA::moveOrCopyAnimations): |
| (WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so |
| remote layer hosts will notice the special layer. Also set the actual |
| layer properties. |
| (WebCore::GraphicsLayerCA::addAnimation): Remove whitespace. |
| (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary. |
| (WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name. |
| (WebCore::GraphicsLayerCA::updateSublayerList): |
| (WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents |
| layer geometry. |
| (WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary, |
| and copy the filter values to any clones. |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we |
| have backdrop filters. |
| (WebCore::GraphicsLayerCA::structuralLayerPurpose): |
| (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag. |
| |
| * platform/graphics/ca/PlatformCALayer.h: New LayerType. |
| |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer. |
| (PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type. |
| |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::createsGroup): |
| (WebCore::RenderElement::hasBackdropFilter): This method is always around, but |
| only can return true when FILTERS_LEVEL_2 is enabled. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment. |
| (WebCore::RenderLayer::calculateClipRects): |
| |
| * rendering/RenderLayer.h: Add hasBackdropFilter. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::RenderLayerBacking): |
| (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters. |
| (WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer. |
| (WebCore::RenderLayerBacking::updateGeometry): |
| * rendering/RenderLayerBacking.h: |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter. |
| (WebCore::RenderLayerCompositor::reasonsForCompositing): |
| (WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have |
| a backdrop filter, because currently we absolutely require compositing. |
| |
| * rendering/RenderLayerModelObject.cpp: |
| (WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter(). |
| |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change. |
| |
| * rendering/style/RenderStyle.h: Add the backdropFilter style stuff. |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| (WebCore::StyleRareNonInheritedData::hasBackdropFilters): |
| * rendering/style/StyleRareNonInheritedData.h: |
| |
| 2014-11-06 Benjamin Poulain <bpoulain@apple.com> |
| |
| Give pseudo elements the correct specificity |
| https://bugs.webkit.org/show_bug.cgi?id=138378 |
| |
| Reviewed by Dean Jackson. |
| |
| WebKit had an old silly bug where pseudo elements were given specificity in the class B |
| instead of the class C. |
| |
| Now that the inspector shows the specificity, this bug is much more visible which is why |
| I fix it now. |
| |
| Test: fast/css/pseudo-element-specificity.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificityForOneSelector): |
| Give pseudo-elements the right specificity. |
| |
| * Modules/mediacontrols/mediaControlsApple.css: |
| (video::-webkit-media-controls-volume-slider): |
| (audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-timeline): |
| (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,): |
| (video:-webkit-full-screen::-webkit-media-controls-volume-slider): |
| (video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb): |
| * Modules/mediacontrols/mediaControlsBase.css: |
| (video::-webkit-media-controls-volume-slider): |
| (audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-timeline): |
| (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): |
| (audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,): |
| (video:-webkit-full-screen::-webkit-media-controls-volume-slider): |
| (video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb): |
| * css/mediaControls.css: |
| (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): |
| (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): |
| * css/mediaControlsGtk.css: |
| (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): |
| (audio::-webkit-media-controls-timeline[disabled], video::-webkit-media-controls-timeline[disabled]): |
| (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): |
| The media controls were relying on the bug to override the style of input[type=range]. |
| |
| Ideally we should either: |
| -Implement some kind of high level style isolation (e.g. CSS Scoping). |
| -Fix the media control tree to use regular CSS scoped by a shadow pseudo ID. |
| |
| Until we have one of those, I just fixed the styling by forcing the properties with lower |
| specificity with !important. |
| |
| 2014-11-06 Beth Dakin <bdakin@apple.com> |
| |
| Preview views often misplaced inside popover |
| https://bugs.webkit.org/show_bug.cgi?id=138472 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: |
| |
| 2014-11-06 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (r174985-174986): Site display disappears |
| https://bugs.webkit.org/show_bug.cgi?id=138082 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This effectively reverts to the behavior before r174985 by using the |
| lexical global object of the caller's frame to find the active document. |
| Before r174985, native functions are invoked with the ScopeShain of their |
| caller. The lexical global object is accessed from the ScopeChain. |
| |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): |
| (WebCore::findOwningDocument): |
| (WebCore::documentWrite): |
| (WebCore::JSHTMLDocument::write): |
| (WebCore::JSHTMLDocument::writeln): |
| * html/HTMLDocument.idl: |
| |
| 2014-11-05 Sam Weinig <sam@webkit.org> |
| |
| Use std::unique_ptr for TileController |
| https://bugs.webkit.org/show_bug.cgi?id=138429 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| * platform/graphics/ca/TileController.cpp: |
| (WebCore::TileController::create): Deleted. |
| * platform/graphics/ca/TileController.h: |
| * platform/graphics/ca/mac/WebTiledBackingLayer.h: |
| * platform/graphics/ca/mac/WebTiledBackingLayer.mm: |
| (-[WebTiledBackingLayer createTileController:]): |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (PlatformCALayerWinInternal::createTileController): |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.h: |
| |
| 2014-11-06 Chris Dumez <cdumez@apple.com> |
| |
| Use lambda functions in DocumentOrderedMap |
| https://bugs.webkit.org/show_bug.cgi?id=138376 |
| |
| Reviewed by Darin Adler. |
| |
| Use lambda functions in DocumentOrderedMap instead of separate named |
| functions. |
| |
| No new tests, no behavior change. |
| |
| * dom/DocumentOrderedMap.cpp: |
| (WebCore::DocumentOrderedMap::get): |
| (WebCore::DocumentOrderedMap::getElementById): |
| (WebCore::DocumentOrderedMap::getElementByName): |
| (WebCore::DocumentOrderedMap::getElementByMapName): |
| (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): |
| (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): |
| (WebCore::DocumentOrderedMap::getElementByLabelForAttribute): |
| (WebCore::DocumentOrderedMap::getElementByWindowNamedItem): |
| (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem): |
| (WebCore::DocumentOrderedMap::getAllElementsById): |
| (WebCore::keyMatchesId): Deleted. |
| (WebCore::keyMatchesName): Deleted. |
| (WebCore::keyMatchesMapName): Deleted. |
| (WebCore::keyMatchesLowercasedMapName): Deleted. |
| (WebCore::keyMatchesLowercasedUsemap): Deleted. |
| (WebCore::keyMatchesLabelForAttribute): Deleted. |
| (WebCore::keyMatchesWindowNamedItem): Deleted. |
| (WebCore::keyMatchesDocumentNamedItem): Deleted. |
| * dom/DocumentOrderedMap.h: |
| |
| 2014-11-05 Shivakumar JM <shiva.jm@samsung.com> |
| |
| splitText API does not match DOM specification. |
| https://bugs.webkit.org/show_bug.cgi?id=138405 |
| |
| Reviewed by Chris Dumez. |
| |
| Make the offset argument for splitText API as mandatory (and thus throw if it is omitted) and stop throwing if the offset argument is |
| negative (and wraps to a valid index) as per specification: https://w3c.github.io/dom/#interface-text. Also This matches the behavior |
| of both Firefox 33 and Chrome 38. |
| |
| Test: fast/dom/Text/splitText.html |
| |
| * dom/Text.idl: |
| |
| 2014-11-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175672. |
| https://bugs.webkit.org/show_bug.cgi?id=138455 |
| |
| Tries to make backdrop layers on every layer, asserts on |
| Mavericks (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "[filters2] Support for backdrop-filter" |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| http://trac.webkit.org/changeset/175672 |
| |
| 2014-11-04 Ada Chan <adachan@apple.com> |
| |
| Figure out whether a plug-in is playing audio. |
| https://bugs.webkit.org/show_bug.cgi?id=137219 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add NPPVpluginIsPlayingAudio. Export some WebCore methods that will be used in WebKit2. |
| |
| No new tests, but manually tested with an example plugin. |
| |
| * WebCore.exp.in: |
| * plugins/npapi.h: |
| |
| 2014-11-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix crash introduced in r175656 |
| https://bugs.webkit.org/show_bug.cgi?id=138453 |
| |
| Reviewed by Dan Bernstein. |
| |
| repaintContainer can be null sometimes. |
| |
| Covered by existing tests. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::styleChangeRequiresLayerRebuild): |
| |
| 2014-11-05 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the Windows build after removing the deletion UI. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * editing/EditingAllInOne.cpp: |
| |
| 2014-11-04 Dean Jackson <dino@apple.com> |
| |
| [filters2] Support for backdrop-filter |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| <rdar://problem/18874494> |
| |
| Reviewed by Simon Fraser. |
| |
| Add prototype support for backdrop-filter |
| http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty |
| |
| This adds support for parsing the new CSS property, adding |
| the value to RenderStyle, noticing that on the layer tree, |
| and the platform code in GraphicsLayer to render a backdrop |
| and apply an effect to the result. |
| |
| Some things are missing: |
| - animation of the backdrop-filter is not yet supported |
| - backdrops will not work in cloned layers yet (e.g. reflections) |
| |
| Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html |
| css3/filters/backdrop/backdropfilter-property-parsing-invalid.html |
| css3/filters/backdrop/backdropfilter-property-parsing.html |
| css3/filters/backdrop/backdropfilter-property.html |
| css3/filters/backdrop/effect-hw.html |
| |
| * WebCore.exp.in: Export the setBackdropFilters method so it can |
| be used from WebKit. |
| |
| * css/CSSComputedStyleDeclaration.cpp: New property name. |
| (WebCore::isLayoutDependent): |
| (WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): Piggyback on the filter parser. |
| |
| * css/CSSPropertyNames.in: Add -webkit-backdrop-filter. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop. |
| (WebCore::StyleResolver::applyProperty): Support new property. |
| |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values. |
| (WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters. |
| (WebCore::GraphicsLayer::setBackdropFilters): |
| (WebCore::GraphicsLayer::clearBackdropFilters): |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer |
| that will sit behind the contents layer and provide the element's backdrop. |
| (WebCore::GraphicsLayerCA::willBeDestroyed): |
| (WebCore::GraphicsLayerCA::moveOrCopyAnimations): |
| (WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so |
| remote layer hosts will notice the special layer. Also set the actual |
| layer properties. |
| (WebCore::GraphicsLayerCA::addAnimation): Remove whitespace. |
| (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary. |
| (WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name. |
| (WebCore::GraphicsLayerCA::updateSublayerList): |
| (WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents |
| layer geometry. |
| (WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary, |
| and copy the filter values to any clones. |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we |
| have backdrop filters. |
| (WebCore::GraphicsLayerCA::structuralLayerPurpose): |
| (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag. |
| |
| * platform/graphics/ca/PlatformCALayer.h: New LayerType. |
| |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer. |
| (PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type. |
| |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::createsGroup): |
| (WebCore::RenderElement::hasBackdropFilter): This method is always around, but |
| only can return true when FILTERS_LEVEL_2 is enabled. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment. |
| (WebCore::RenderLayer::calculateClipRects): |
| |
| * rendering/RenderLayer.h: Add hasBackdropFilter. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::RenderLayerBacking): |
| (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters. |
| (WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer. |
| (WebCore::RenderLayerBacking::updateGeometry): |
| * rendering/RenderLayerBacking.h: |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter. |
| (WebCore::RenderLayerCompositor::reasonsForCompositing): |
| (WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have |
| a backdrop filter, because currently we absolutely require compositing. |
| |
| * rendering/RenderLayerModelObject.cpp: |
| (WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter(). |
| |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change. |
| |
| * rendering/style/RenderStyle.h: Add the backdropFilter style stuff. |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| (WebCore::StyleRareNonInheritedData::hasBackdropFilters): |
| * rendering/style/StyleRareNonInheritedData.h: |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Move 'size' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138337 |
| |
| Reviewed by Andreas Kling. |
| |
| Move 'size' CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder by using custom code as it requires special handling. |
| |
| No new tests, new behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyPageSize::mmLength): Deleted. |
| (WebCore::ApplyPropertyPageSize::inchLength): Deleted. |
| (WebCore::ApplyPropertyPageSize::getPageSizeFromName): Deleted. |
| (WebCore::ApplyPropertyPageSize::applyInheritValue): Deleted. |
| (WebCore::ApplyPropertyPageSize::applyInitialValue): Deleted. |
| (WebCore::ApplyPropertyPageSize::applyValue): Deleted. |
| (WebCore::ApplyPropertyPageSize::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::mmLength): |
| (WebCore::StyleBuilderFunctions::inchLength): |
| (WebCore::StyleBuilderFunctions::getPageSizeFromName): |
| (WebCore::StyleBuilderFunctions::applyInheritSize): |
| (WebCore::StyleBuilderFunctions::applyInitialSize): |
| (WebCore::StyleBuilderFunctions::applyValueSize): |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Revert r175441 as it seems to be causing intermittent crashes in DOMTimer |
| https://bugs.webkit.org/show_bug.cgi?id=138449 |
| |
| Unreviewed roll out. |
| |
| Revert r175441 as it seems to be causing intermittent crashes in DOMTimer due |
| to the scriptExecutionContext going away. See <rdar://problem/18883681>. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::install): |
| (WebCore::DOMTimer::fired): |
| (WebCore::NestedTimersVector::NestedTimersVector): Deleted. |
| (WebCore::NestedTimersVector::~NestedTimersVector): Deleted. |
| (WebCore::NestedTimersVector::registerTimer): Deleted. |
| (WebCore::NestedTimersVector::begin): Deleted. |
| (WebCore::NestedTimersVector::end): Deleted. |
| |
| 2014-11-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Avoid backing store for opacity:0 descendant layers |
| https://bugs.webkit.org/show_bug.cgi?id=138448 |
| |
| Reviewed by Dean Jackson. |
| |
| If a composited layer has no rendered content but a painting zero-opacity descendant |
| layer, than we can avoid making backing store. |
| |
| When the opacity on such a child changes, we need to trigger a tree rebuild |
| to force the backing store to come back (this could be optimized later). |
| |
| Tests: compositing/backing/no-backing-for-opacity-0-child.html |
| compositing/backing/toggle-opacity-0-child.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::styleChangeRequiresLayerRebuild): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::containerForRepaint): |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Assertion hit DOMTimer::updateTimerIntervalIfNecessary() |
| https://bugs.webkit.org/show_bug.cgi?id=138440 |
| |
| Reviewed by Geoffrey Garen. |
| |
| We sometimes hit the ASSERT(repeatInterval() == previousInterval) |
| assertion in DOMTimer::updateTimerIntervalIfNecessary() when visiting |
| the following pages: |
| http://lifehacker.com/the-healthiest-foods-for-one-handed-snacking-while-gami-1654728164 |
| http://longform.org/posts/like-something-the-lord-made |
| |
| After debugging, the issue turned out to be that we are comparing |
| floating point numbers using ==, and the check sometimes fails even |
| though the values really close to each other. This patch updates the |
| DOMTimer code to use WTF::withinEpsilon() instead of operator==() |
| to compare the floating point intervals. |
| |
| I confirmed manually that the assertion is no longer hit. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::updateTimerIntervalIfNecessary): |
| * platform/graphics/FloatQuad.cpp: |
| (WebCore::FloatQuad::isRectilinear): |
| (WebCore::withinEpsilon): Deleted. |
| |
| 2014-11-05 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: add "alt" as an overriding synonym of "-webkit-alt" (now in the CSS4 spec) |
| https://bugs.webkit.org/show_bug.cgi?id=138393 |
| |
| Reviewed by Dean Jackson. |
| |
| Add official "alt" CSS keyword and map -webkit-alt to that. |
| |
| Test: platform/mac/accessibility/alt-for-css-content.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPropertyNames.in: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2014-11-05 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r175647 |
| |
| * CMakeLists.txt: Remove DeleteButton.cpp and DeleteButtonController.cpp. |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Allow constructing a PassRef from a Ref |
| https://bugs.webkit.org/show_bug.cgi?id=138389 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove calls to Ref::get() now that a PassRef can be directly |
| constructed from a Ref. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSValuePool.cpp: |
| (WebCore::CSSValuePool::createColorValue): |
| * css/CSSValuePool.h: |
| (WebCore::CSSValuePool::createInheritedValue): |
| (WebCore::CSSValuePool::createImplicitInitialValue): |
| (WebCore::CSSValuePool::createExplicitInitialValue): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::setCSSStyleSheet): |
| |
| 2014-11-05 Dan Bernstein <mitz@apple.com> |
| |
| Remove the unused deletion UI feature |
| https://bugs.webkit.org/show_bug.cgi?id=138442 |
| |
| Rubber-stamped by Alexey Proskuryakov. |
| |
| * Resources/deleteButton.png: Removed. |
| * Resources/deleteButton@2x.png: Removed. |
| * Resources/deleteButtonPressed.png: Removed. |
| * Resources/deleteButtonPressed@2x.png: Removed. |
| |
| * WebCore.xcodeproj/project.pbxproj: Removed references to removed files. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::cloneChildNodes): Folded the below helper function into this member |
| function, after removing the deleteButtonContainerElement parameter. |
| (WebCore::cloneChildNodesAvoidingDeleteButton): Deleted. |
| |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::EditCommandComposition::unapply): Removed use of |
| DeleteButtonControllerDisableScope. |
| (WebCore::EditCommandComposition::reapply): Ditto. |
| (WebCore::CompositeEditCommand::apply): Ditto. |
| |
| * editing/DeleteButton.cpp: Removed. |
| * editing/DeleteButton.h: Removed. |
| * editing/DeleteButtonController.cpp: Removed. |
| * editing/DeleteButtonController.h: Removed. |
| |
| * editing/EditCommand.cpp: |
| (WebCore::EditCommand::EditCommand): Removed use of |
| Editor::avoidIntersectionWithDeleteButtonController. |
| |
| * editing/Editor.cpp: |
| (WebCore::Editor::Editor): Removed initialization of m_deleteButtonController. |
| (WebCore::Editor::rangeForPoint): Removed use of avoidIntersectionWithDeleteButtonController. |
| (WebCore::Editor::editorUIUpdateTimerFired): Removed call to DeleteButtonController function. |
| (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted. |
| (WebCore::Editor::deviceScaleFactorChanged): Deleted. |
| |
| * editing/Editor.h: |
| (WebCore::Editor::deleteButtonController): Deleted. |
| (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted. |
| |
| * editing/MarkupAccumulator.cpp: |
| (WebCore::MarkupAccumulator::serializeNodes): Removed nodeToSkip parameter. |
| (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Ditto. |
| |
| * editing/MarkupAccumulator.h: |
| |
| * editing/markup.cpp: |
| (WebCore::createMarkupInternal): Removed updateRange parameter, which had become identical |
| to the range parameter, and changed to use the latter everywhere instead. |
| (WebCore::createMarkup): Don’t compute and pass separate updateRanage parameter. |
| |
| * loader/EmptyClients.h: Removed shouldShowDeleteInterface override. |
| * page/EditorClient.h: Removed shouldShowDeleteInterface. |
| |
| * page/Page.cpp: |
| (WebCore::Page::setDeviceScaleFactor): Removed call to Editor::deviceScaleFactorChanged. |
| |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::serializeFrame): Updated for MarkupAccumulator::serializeNodes change. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::findEditingDeleteButton): Deleted. |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-11-04 David Hyatt <hyatt@apple.com> |
| |
| Descendant ends up in wrong flow thread with nested columns and spans. |
| https://bugs.webkit.org/show_bug.cgi?id=137273 |
| |
| Reviewed by Simon Fraser. |
| |
| Unskipped the two problematic span tests. |
| |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::isValidColumnSpanner): |
| Remove the guard and comment and added the assertion back in. |
| |
| (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): |
| Changed to no longer use handleSpannerRemoval. Because the spanner was removed from the flow thread's map, |
| handleSpannerRemoval was a no-op. So instead I just removed the placeholder by hand. |
| |
| The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you |
| can't delete it, since otherwise code further up the stack will access the deleted object. For now, we just |
| leak the placeholder. |
| |
| The third fix is to make sure the subtreeRoot is properly updated to be the new placeholder. |
| |
| 2014-11-05 Andreas Kling <akling@apple.com> |
| |
| RenderBlock shouldn't need a pre-destructor hook. |
| <https://webkit.org/b/138430> |
| |
| Reviewed by Antti Koivisto. |
| |
| All that was interesting in RenderBlock::willBeDestroyed() has migrated |
| to RenderBlockFlow. removeFromUpdateScrollInfoAfterLayoutTransaction() |
| can be called from the plain destructor, so just move it there. |
| |
| We don't have to worry about destroyLeftoverChildren(), since RenderElement |
| will take care of that for us. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::~RenderBlock): |
| (WebCore::RenderBlock::willBeDestroyed): Deleted. |
| * rendering/RenderBlock.h: |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Remove 2 unnecessary virtual functions on InputType |
| https://bugs.webkit.org/show_bug.cgi?id=138433 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove 2 unused virtual functions on InputType: |
| - valueAttributeChanged() |
| - updateClearButtonVisibility() |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::parseAttribute): |
| (WebCore::HTMLInputElement::updateClearButtonVisibility): Deleted. |
| * html/HTMLInputElement.h: |
| * html/InputType.cpp: |
| (WebCore::InputType::valueAttributeChanged): Deleted. |
| (WebCore::InputType::updateClearButtonVisibility): Deleted. |
| * html/InputType.h: |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Re-evaluate if a repetitive timer should be throttled upon firing |
| https://bugs.webkit.org/show_bug.cgi?id=138339 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Re-evaluate if a repetitive timer should be throttled upon firing in |
| case the plugin observability state has changed: |
| - It used to be visible but now isn't and thus the timer can be throttled |
| - It used to play audio but now doesn't and thus the timer can be throttled |
| |
| We already stopped throttling if the plugin became observable. However, |
| we didn't start throttling if the plugin became non-observable. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::updateThrottlingStateIfNecessary): |
| |
| 2014-11-03 Dean Jackson <dino@apple.com> |
| |
| Add ENABLE_FILTERS_LEVEL_2 feature guard. |
| https://bugs.webkit.org/show_bug.cgi?id=138362 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new feature define for Level 2 of CSS Filters. |
| http://dev.w3.org/fxtf/filters-2/ |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Move text-align CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138398 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move text-align CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder so that it is now generated from CSSPropertyNames.in. |
| This patch adds a TextAlign Converter to support this. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyTextAlign::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextAlign::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertTextAlign): |
| |
| 2014-11-05 Sanghyup Lee <sh53.lee@samsung.com> |
| |
| Fix build warning in SVGMarkerElement.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=138407 |
| |
| Reviewed by Darin Adler. |
| |
| Build warning in debug cause 'comparison of unsigned expression >= 0 is always true [-Wtype-limits]' |
| |
| * svg/SVGMarkerElement.cpp: |
| (WebCore::SVGMarkerElement::orientType): Removed useless condition in ASSERT. |
| |
| 2014-11-05 Chris Dumez <cdumez@apple.com> |
| |
| Stop special-casing the empty string in HTMLInputElement.type setter |
| https://bugs.webkit.org/show_bug.cgi?id=138403 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Stop special-casing the empty string in HTMLInputElement.type setter. |
| Previously, if input.type is set to "", we would remove the type |
| attribute. This is inconsistent with the specification and the behavior |
| of other browsers (tested Firefox 33 and Chrome 38). Instead, we should |
| set the attribute to the empty string. |
| |
| Also stop treating null as a null string to align with the |
| specification and other browsers (tested Firefox 33 and Chrome 38). |
| |
| Finally, update HTMLInputElement::setType() to take an AtomicString in |
| argument instead of a String as it ends up calling setAttribute(), and |
| thus needing an AtomicString. |
| |
| |
| Test: fast/dom/HTMLInputElement/input-type-attribute.html |
| |
| * html/FileInputType.cpp: |
| (WebCore::UploadButtonElement::UploadButtonElement): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setType): |
| * html/HTMLInputElement.h: |
| * html/HTMLInputElement.idl: |
| |
| 2014-11-05 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Compile error, missing guard. |
| https://bugs.webkit.org/show_bug.cgi?id=138421 |
| |
| Reviewed by Brent Fulgham. |
| |
| There is missing a guard for CSS_SELECTORS_LEVEL4 in CSSParserValues.cpp. |
| |
| * css/CSSParserValues.cpp: |
| |
| 2014-11-05 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r175601): Assertion failures in SimpleLineLayout |
| https://bugs.webkit.org/show_bug.cgi?id=138422 |
| |
| Check for end. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| |
| 2014-11-05 Andreas Kling <akling@apple.com> |
| |
| Simple line layout: support text-transform: lowercase|uppercase|capitalize |
| <https://webkit.org/b/138406> |
| |
| Reviewed by Antti Koivisto. |
| |
| Expand the simple line layout coverage to include all text-transform values. |
| Since the property works on the text string level, it's really only a matter |
| of removing the short-circuit. |
| |
| Test: fast/text/simple-lines-text-transform.html |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| |
| 2014-11-05 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Allow the client to specify FPS protocol versions in the keySystem type field. |
| https://bugs.webkit.org/show_bug.cgi?id=138380 |
| |
| Reviewed by Eric Carlson. |
| |
| Parse out the requested FPS protocol version of the keySystem type string and pass it to |
| AVStreamDataParser as an options dictionary. |
| |
| * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm: |
| (WebCore::validKeySystemRE): Added, match comma-separated version suffixes. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Call above. |
| (WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Parse out the version numbers |
| and pass into the session as a vector. |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Take a vector of |
| protocol version numbers. |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): Create an NSArray and pass into |
| the key request creation method in an options dictionary. |
| |
| 2014-11-05 Antti Koivisto <antti@apple.com> |
| |
| Move HTTPHeaderMap encoding to the class |
| https://bugs.webkit.org/show_bug.cgi?id=138412 |
| |
| Reviewed by Andreas Kling. |
| |
| * platform/network/HTTPHeaderMap.h: |
| (WebCore::HTTPHeaderMap::encode): |
| (WebCore::HTTPHeaderMap::decode): |
| |
| Use generic encoding for the uncommon header map. Common headers still require custom code due to the enum class. |
| |
| 2014-11-04 Beth Dakin <bdakin@apple.com> |
| |
| Un-anchor data detector popovers on scroll |
| https://bugs.webkit.org/show_bug.cgi?id=138385 |
| -and corresponding- |
| rdar://problem/18869345 |
| |
| Reviewed by Tim Horton. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| |
| 2014-11-04 Chris Dumez <cdumez@apple.com> |
| |
| Avoid double hash table lookup in SpaceSplitStringData::create() |
| https://bugs.webkit.org/show_bug.cgi?id=138396 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Avoid double hash table lookup in SpaceSplitStringData::create() by |
| calling HashMap::add() and using the AddResult, instead of calling |
| HashMap::get() then HashMap::add(). |
| |
| No new tests, no behavior change. |
| |
| * dom/SpaceSplitString.cpp: |
| (WebCore::SpaceSplitStringData::create): |
| |
| 2014-11-04 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Abstract out content iteration and text handling in general. |
| https://bugs.webkit.org/show_bug.cgi?id=138346 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a class that can act as the primary iterator/fragment handling interface to the line parser. |
| This helps adding support multiple renderer elements without changing the parser logic. |
| Currently it operates strictly on the first child of the RenderBlockFlow. |
| |
| Covered by existing tests. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator): |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition): |
| (WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition): |
| (WebCore::SimpleLineLayout::FlowContentIterator::textWidth): |
| (WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter): |
| (WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent): |
| (WebCore::SimpleLineLayout::FlowContentIterator::style): |
| (WebCore::SimpleLineLayout::computeLineLeft): |
| (WebCore::SimpleLineLayout::TextFragment::TextFragment): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): |
| (WebCore::SimpleLineLayout::initializeNewLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): |
| (WebCore::SimpleLineLayout::nextFragment): |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::create): |
| (WebCore::SimpleLineLayout::skipWhitespace): Deleted. |
| (WebCore::SimpleLineLayout::textWidth): Deleted. |
| * rendering/SimpleLineLayout.h: |
| |
| 2014-11-04 Jeremy Jones <jeremyj@apple.com> |
| |
| Fix build after r138351 |
| https://bugs.webkit.org/show_bug.cgi?id=138401 |
| |
| Ureviewed. Make return type match. |
| |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Add bundle SPI allowing PageOverlay to customize the action menu |
| https://bugs.webkit.org/show_bug.cgi?id=138388 |
| <rdar://problem/18875579> |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/PageOverlayController.h: |
| Expose the list of all overlays. |
| |
| 2014-11-03 Jeremy Jones <jeremyj@apple.com> |
| |
| Add button and enable optimized fullscreen. |
| https://bugs.webkit.org/show_bug.cgi?id=138351 |
| |
| Reviewed by Eric Carlson. |
| |
| Added optimizedFullscreenButton to js media element controls. Remove #if conditional |
| and use optimizedFullscreenSupported to enable feature at runtime |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::enterFullscreenOptimized): enable |
| (WebCore::MediaControlsHost::optimizedFullscreenSupported): added |
| * Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported |
| * Modules/mediacontrols/MediaControlsHost.idl: ditto |
| * Modules/mediacontrols/mediaControlsApple.css: |
| (audio::-webkit-media-controls-optimized-fullscreen-button): added |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.createControls): add button |
| (Controller.prototype.handleReadyStateChange): update button |
| (Controller.prototype.updateOptimizedFullscreenButton): added |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| (audio::-webkit-media-controls-optimized-fullscreen-button): added |
| (video::-webkit-media-controls-optimized-fullscreen-button): added |
| (video::-webkit-media-controls-optimized-fullscreen-button:active): added |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton |
| (ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported. |
| (ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen |
| (ControllerIOS.prototype.handleWrapperTouchStart): ditto |
| (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added |
| (ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added |
| (ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added |
| (ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added |
| (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo |
| (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo |
| (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo |
| * WebCore.exp.in: |
| * platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature |
| (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit |
| (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto |
| |
| 2014-11-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Pause on exceptions should show the actual exception |
| https://bugs.webkit.org/show_bug.cgi?id=63096 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): |
| Pass assertion message on. |
| |
| 2014-11-04 Reza Abbasian <rabbasian@apple.com> |
| |
| [iOS] Fix incorrect interface orientation that can be caused by fullscreen video dismissal. |
| https://bugs.webkit.org/show_bug.cgi?id=137930. |
| |
| Reviewed by Jer Noble. |
| |
| When a fullscreen video gets dismissed programmatically, for instance for removing |
| a webview from the view hierarchy, it can put the device in an incorrect orientation. |
| Make sure we retain the window of parentView when we attempt to go to fullscreen and use |
| the retained window for putting the device in correct orientation after dismissal. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreen): |
| (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): |
| (WebVideoFullscreenInterfaceAVKit::invalidate): |
| |
| 2014-11-04 Andreas Kling <akling@apple.com> |
| |
| Remove two unused ScrollingCoordinator methods. |
| <https://webkit.org/b/138377> |
| |
| Reviewed by Chris Dumez. |
| |
| These appear to be leftovers from the now-defunct chromium port. |
| |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea): Deleted. |
| (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Deleted. |
| * page/scrolling/ScrollingCoordinator.h: |
| |
| 2014-11-04 Chris Dumez <cdumez@apple.com> |
| |
| Add ptr() method to Ref class |
| https://bugs.webkit.org/show_bug.cgi?id=138361 |
| |
| Reviewed by Darin Adler. |
| |
| Use the new Ref::ptr() method. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityMenuList.cpp: |
| (WebCore::AccessibilityMenuList::didUpdateActiveOption): |
| * bindings/js/JSHTMLAllCollectionCustom.cpp: |
| (WebCore::getNamedItems): |
| * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: |
| (WebCore::getNamedItems): |
| * css/CSSStyleRule.h: |
| * css/CSSStyleSheet.cpp: |
| (WebCore::CSSStyleSheet::insertRule): |
| * css/CSSValueList.h: |
| (WebCore::CSSValueList::item): |
| (WebCore::CSSValueList::itemWithoutBoundsCheck): |
| * css/InspectorCSSOMWrappers.cpp: |
| (WebCore::InspectorCSSOMWrappers::collect): |
| * dom/ChildListMutationScope.cpp: |
| (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): |
| (WebCore::ChildListMutationAccumulator::childAdded): |
| * dom/ChildNodeList.cpp: |
| (WebCore::ChildNodeList::namedItem): |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::removeChild): |
| * dom/CurrentScriptIncrementer.h: |
| (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer): |
| (WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer): |
| * dom/MutationRecord.cpp: |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::ensureChildNodeList): |
| (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): |
| (WebCore::NodeListsNodeData::addCacheWithQualifiedName): |
| * dom/Range.cpp: |
| (WebCore::Range::setDocument): |
| * dom/ScriptElement.cpp: |
| (WebCore::ScriptElement::requestScript): |
| (WebCore::ScriptElement::executeScript): |
| * dom/StaticNodeList.cpp: |
| (WebCore::StaticNodeList::item): |
| (WebCore::StaticElementList::item): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent): |
| * editing/DictationCommand.cpp: |
| (WebCore::DictationCommand::insertText): |
| * editing/DictationCommand.h: |
| * editing/Editor.cpp: |
| (WebCore::Editor::insertTextWithoutSendingTextEvent): |
| * editing/ReplaceNodeWithSpanCommand.cpp: |
| (WebCore::swapInNodePreservingAttributesAndChildren): |
| * editing/SimplifyMarkupCommand.cpp: |
| (WebCore::SimplifyMarkupCommand::doApply): |
| * editing/markup.cpp: |
| (WebCore::hasOneChild): |
| (WebCore::hasOneTextChild): |
| (WebCore::replaceChildrenWithFragment): |
| (WebCore::replaceChildrenWithText): |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::checkValidity): |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::getNamedElements): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::shouldLoadLink): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyleSheet::buildObjectForSelectorList): |
| (WebCore::InspectorStyleSheet::buildObjectForRule): |
| (WebCore::InspectorStyleSheet::revalidateStyle): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): |
| * page/FocusController.cpp: |
| (WebCore::FocusController::setFocusedElement): |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::retrieveResourcesForRule): |
| * page/PageSerializer.h: |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationController::updateAnimations): |
| * platform/graphics/ca/TileCoverageMap.cpp: |
| (WebCore::TileCoverageMap::platformCALayerPaintContents): |
| * rendering/ClipPathOperation.h: |
| * rendering/RenderBlock.cpp: |
| (WebCore::styleForFirstLetter): |
| (WebCore::RenderBlock::updateFirstLetterStyle): |
| (WebCore::RenderBlock::createFirstLetterRenderer): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::styleDidChange): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::setStyle): |
| (WebCore::RenderElement::styleDidChange): |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle): |
| * rendering/RenderTextControl.cpp: |
| (WebCore::RenderTextControl::adjustInnerTextStyle): |
| * rendering/RenderTextControl.h: |
| * rendering/RenderTextControlMultiLine.cpp: |
| (WebCore::RenderTextControlMultiLine::createInnerTextStyle): |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::createInnerTextStyle): |
| * rendering/style/DataRef.h: |
| (WebCore::DataRef::get): |
| (WebCore::DataRef::access): |
| (WebCore::DataRef::operator==): |
| (WebCore::DataRef::operator!=): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeRequiresLayout): |
| (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly): |
| (WebCore::RenderStyle::changeRequiresLayerRepaint): |
| (WebCore::RenderStyle::changeRequiresRepaint): |
| (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): |
| (WebCore::RenderStyle::changeRequiresRecompositeLayer): |
| (WebCore::RenderStyle::diff): |
| (WebCore::RenderStyle::diffRequiresLayerRepaint): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/StyleGeneratedImage.cpp: |
| (WebCore::StyleGeneratedImage::cssValue): |
| * rendering/style/StyleGeneratedImage.h: |
| * style/StyleResolveForDocument.cpp: |
| (WebCore::Style::resolveForDocument): |
| * style/StyleResolveTree.cpp: |
| (WebCore::Style::determineChange): |
| (WebCore::Style::resolveLocal): |
| (WebCore::Style::resolveTree): |
| * style/StyleResolveTree.h: |
| |
| 2014-11-04 Chris Dumez <cdumez@apple.com> |
| |
| Move -webkit-text-emphasis-position to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138359 |
| |
| Reviewed by Andreas Kling. |
| |
| Move -webkit-text-emphasis-position from DeprecatedStyleBilder to the |
| new StyleBuilder so that it is now generated from CSSPropertyNames.in. |
| A new TextEmphasisPosition Converter was added to support this. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::valueToEmphasisPosition): Deleted. |
| (WebCore::ApplyPropertyTextEmphasisPosition::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextEmphasisPosition::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::valueToEmphasisPosition): |
| (WebCore::StyleBuilderConverter::convertTextEmphasisPosition): |
| |
| 2014-11-04 Andreas Kling <akling@apple.com> |
| |
| RenderBox shouldn't need a pre-destructor hook. |
| <https://webkit.org/b/138367> |
| |
| Reviewed by Antti Koivisto. |
| |
| Move teardown logic from willBeDestroyed() to the regular ~RenderBox() |
| destructor since none of it depends on being in-tree or having a fully |
| constructed vtable. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::~RenderBox): |
| (WebCore::RenderBox::willBeDestroyed): Deleted. |
| * rendering/RenderBox.h: |
| |
| 2014-11-04 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [OSX] CJK characters styled with font-family: cursive are italicized |
| https://bugs.webkit.org/show_bug.cgi?id=138328 |
| rdar://problem/18801907 |
| |
| Reviewed by Simon Fraser. |
| |
| FontCache::createFontPlatformData doesn’t set the oblique flag if |
| the requested font isn’t oblique, but |
| FontCache::systemFallbackForCharacters() does. This patch simply |
| adopts this behavior in both places. |
| |
| Test: fast/text/font-cursive-italic-cjk.html |
| |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::systemFallbackForCharacters): |
| |
| 2014-11-04 Benjamin Poulain <bpoulain@apple.com> |
| |
| When computing the specificity of selectors, use saturated arithmetic per component |
| https://bugs.webkit.org/show_bug.cgi?id=138336 |
| |
| Reviewed by Andreas Kling. |
| |
| The code handling overflow in CSSSelector::specificity() was assuming that the value |
| returned by specificityForOneSelector() can only overflow one field at a time. |
| |
| That assumption is no longer correct with the extended :not(). It is now possible to have |
| a complex selector saturating multiple fields inside a single :not(). |
| |
| This patch solves the problem by considering each field independently. |
| |
| Test: fast/selectors/specificity-overflow-2.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificity): |
| |
| 2014-11-04 Zalan Bujtas <zalan@apple.com> |
| |
| Windows build fix after r175565. |
| |
| MSVC requires default c'tor even if it's never called. -0 length array. |
| |
| * rendering/SimpleLineLayout.h: |
| (WebCore::SimpleLineLayout::Run::Run): |
| |
| 2014-11-04 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Cleanup line initialization and line closing. |
| https://bugs.webkit.org/show_bug.cgi?id=138273 |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation to support multiple render elements. |
| |
| Move line start and line end activities to dedicated functions. |
| |
| Covered by existing tests. |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::LineState::LineState): Add lineStartRunIndex to be more explicit |
| about whether a line advanced with new runs. Rename a few members. Introduce LineState::oveflowedFragment |
| so that line closing can handled separately. |
| (WebCore::SimpleLineLayout::LineState::commitAndCreateRun): |
| (WebCore::SimpleLineLayout::LineState::addUncommitted): |
| (WebCore::SimpleLineLayout::LineState::jumpTo): |
| (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): Deleted. : Remove redundant function. |
| (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): |
| (WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): Add resetTrailingWhitespace() |
| so that all trailing whitespace handling is in one function. |
| (WebCore::SimpleLineLayout::initializeNewLine): Separate line start and line end initialization/reset. |
| (WebCore::SimpleLineLayout::createLineRuns): |
| (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): This function manages all line ending activities. |
| (WebCore::SimpleLineLayout::createTextRuns): |
| (WebCore::SimpleLineLayout::create): |
| (WebCore::SimpleLineLayout::initializeLine): Deleted. |
| * rendering/SimpleLineLayout.h: |
| (WebCore::SimpleLineLayout::Run::Run): Deleted. |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Implement yellow highlight over data detected items |
| https://bugs.webkit.org/show_bug.cgi?id=138340 |
| <rdar://problem/18840102> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add completionHandler SPI. |
| |
| 2014-11-04 Darin Adler <darin@apple.com> |
| |
| Eliminate ResourceBuffer and use SharedBuffer directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| |
| Reviewed by Antti Koivisto. |
| |
| Refactoring, with test coverage across many existing tests. |
| |
| * CMakeLists.txt: Deleted ResourceBuffer.cpp. |
| |
| * WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol |
| for one function that used to take a PassRefPtr but now takes a reference instead. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h. |
| |
| * bindings/objc/DOMUIKitExtensions.mm: |
| (-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly. |
| * editing/ios/EditorIOS.mm: |
| (WebCore::Editor::writeImageToPasteboard): Ditto. |
| * editing/mac/EditorMac.mm: |
| (WebCore::Editor::writeImageToPasteboard): Ditto. |
| |
| * html/ImageDocument.cpp: |
| (WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and |
| also pass a reference only if non-null rather than passing a pointer. |
| (WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check. |
| |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly. |
| (WebCore::InspectorPageAgent::mainResourceContent): Ditto. |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::didFinishLoading): Ditto. |
| (WebCore::InspectorResourceAgent::didFailLoading): Ditto. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly, |
| and use the copy function rather than a hand-written alternative. |
| (WebCore::DocumentLoader::maybeCreateArchive): Ditto. |
| (WebCore::DocumentLoader::mainResource): Ditto. |
| (WebCore::DocumentLoader::subresource): Ditto. |
| (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto. |
| |
| * loader/DocumentLoader.h: Changed mainResourceData to return a |
| PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&, |
| but it currently returns a newly created buffer when there is substitute |
| data and can also return null, even though many callers assume it will not! |
| |
| * loader/MediaResourceLoader.cpp: |
| (WebCore::MediaResourceLoader::dataReceived): Removed call to unused client |
| function bufferReceived. |
| (WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer |
| argument to client function loadFinished. |
| |
| * loader/ResourceBuffer.cpp: Removed. |
| * loader/ResourceBuffer.h: Removed. |
| |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly. |
| |
| * loader/ResourceLoader.h: |
| (WebCore::ResourceLoader::resourceData): Use SharedBuffer. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer. |
| (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto. |
| |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer. |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto. |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): Ditto. |
| |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer. |
| * loader/cache/CachedCSSStyleSheet.h: Ditto. |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::finishLoading): Ditto. |
| (WebCore::CachedFont::ensureCustomFontData): Ditto. |
| * loader/cache/CachedFont.h: Ditto. |
| |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::didAddClient): Use SharedBuffer. |
| (WebCore::CachedImage::didRemoveClient): Ditto. |
| (WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take |
| a reference rather than a pointer. |
| (WebCore::CachedImage::addDataBuffer): Ditto. Also added call through |
| to base class and changed to take a reference rather than a pointer. |
| (WebCore::CachedImage::addData): Ditto. Also added call through to base class. |
| (WebCore::CachedImage::finishLoading): Ditto. |
| * loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields |
| to be unsigned instead of unsigend char. |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer. |
| (WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take |
| a reference rather than a pointer. |
| (WebCore::CachedRawResource::addData): Ditto. |
| (WebCore::CachedRawResource::finishLoading): Ditto. |
| (WebCore::CachedRawResource::canReuse): Ditto. |
| * loader/cache/CachedRawResource.h: Ditto. |
| |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::CachedResource): Reordered data members due to change |
| in header. |
| (WebCore::CachedResource::addDataBuffer): Changed argument type. |
| (WebCore::CachedResource::finishLoading): Ditto. |
| (WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash |
| table lookup by using the return value from the remove function. |
| (WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead |
| of using a function named "schedule" to allocate the callback object. |
| (WebCore::CachedResource::Callback::Callback): Changed function and data member |
| name. |
| (WebCore::CachedResource::Callback::cancel): Ditto. |
| (WebCore::CachedResource::Callback::timerFired): Ditto. |
| (WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&. |
| |
| * loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most |
| data members and one function member private instead of protected. Also renamed the |
| CachedResource::CachedResourceCallback function CachedResource::Callback and moved |
| its definition out of the CachedResource class definition. |
| |
| * loader/cache/CachedResourceClient.h: Removed unneeded include. |
| |
| * loader/cache/CachedSVGDocument.cpp: |
| (WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer. |
| |
| * loader/cache/CachedSVGDocument.h: Ditto. Made data members private. |
| |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::finishLoading): Use SharedBuffer. |
| * loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded |
| forward declaration. |
| |
| * loader/cache/CachedTextTrack.cpp: |
| (WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not |
| call addDataBuffer. |
| (WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData. |
| (WebCore::CachedTextTrack::finishLoading): Ditto. |
| * loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the |
| destructor. Updated for above changes. |
| |
| * loader/cache/CachedXSLStyleSheet.cpp: |
| (WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer. |
| * loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything |
| private rather than protected. Added an explicit virtual constructor so we can |
| compile without knowing how to ref/deref TextResourceDecoder. |
| |
| * loader/cf/SubresourceLoaderCF.cpp: |
| (WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer |
| and to call addDataBuffer only if there is a new data buffer. |
| |
| * loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr. |
| * loader/cocoa/DiskCacheMonitorCocoa.mm: |
| (WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto. |
| (WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto. |
| |
| * loader/icon/IconLoader.cpp: |
| (WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of |
| RefPtr<ResourceBuffer>. |
| |
| * loader/mac/ResourceBuffer.mm: Removed. |
| |
| * loader/mac/ResourceLoaderMac.mm: |
| (WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer. |
| |
| * platform/SharedBuffer.cpp: |
| (WebCore::SharedBuffer::clear): Use a modern for loop. |
| (WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since |
| this never returns null. Use modern for loops. |
| (WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop. |
| |
| * platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr. |
| Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than |
| a pointer. |
| |
| * platform/cf/SharedBufferCF.cpp: |
| (WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference |
| instead of a pointer. |
| |
| * platform/graphics/PlatformMediaResourceLoader.h: Removed unused function |
| bufferReceived and unneeded buffer argument from loadFinished. Also marked the |
| constructor explicit. |
| |
| * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: |
| Removed include of ResourceBuffer.h. |
| * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: |
| (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use |
| SharedBuffer directly. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (CachedResourceStreamingClient::loadFinished): Updated for change to |
| PlatformMediaResourceLoaderClient. |
| |
| * platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h. |
| |
| * platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded |
| tryReplaceContentsWithPlatformBuffer function. |
| |
| 2014-11-04 Chris Dumez <cdumez@apple.com> |
| |
| Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=138345 |
| |
| Reviewed by Andreas Kling. |
| |
| Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses |
| instead of old-fashion toXXX() functions. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSMediaRule.cpp: |
| (WebCore::CSSMediaRule::mediaQueries): |
| * css/CSSSupportsRule.cpp: |
| (WebCore::CSSSupportsRule::conditionText): |
| * css/StyleRule.h: |
| (isType): |
| (WebCore::toStyleRuleMedia): Deleted. |
| (WebCore::toStyleRuleSupports): Deleted. |
| (WebCore::toStyleRuleRegion): Deleted. |
| * css/WebKitCSSRegionRule.cpp: |
| (WebCore::WebKitCSSRegionRule::cssText): |
| |
| 2014-11-04 Andreas Kling <akling@apple.com> |
| |
| RenderQuote shouldn't need a pre-destructor hook. |
| <https://webkit.org/b/138352> |
| |
| Reviewed by Antti Koivisto. |
| |
| The willBeDestroyed() hook in RenderQuote came from the time when it was |
| potential unsafe to access the RenderView from a renderer destructor. |
| |
| Move the code to the plain ol' destructor instead. |
| |
| * rendering/RenderQuote.cpp: |
| (WebCore::RenderQuote::~RenderQuote): |
| (WebCore::RenderQuote::willBeDestroyed): Deleted. |
| * rendering/RenderQuote.h: |
| |
| 2014-11-04 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix the !ENABLE(VIDEO) build after r175380 |
| https://bugs.webkit.org/show_bug.cgi?id=138322 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * html/HTMLImageLoader.cpp: |
| (WebCore::HTMLImageLoader::dispatchLoadEvent): |
| |
| 2014-11-03 Philippe Normand <pnormand@igalia.com> |
| |
| [LEAK] [GStreamer] Removing video element will not free assigned memory |
| https://bugs.webkit.org/show_bug.cgi?id=46560 |
| |
| Reviewed by Eric Carlson. |
| |
| Moved the ::extraMemoryCost() implementation to the |
| MediaPlayerPivateInterface base class. This default implementation |
| is now shared between the various MediaPlayerPrivate backends, |
| excepted the AVF MediaSource player which still reports no extra |
| memory cost. |
| |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::totalBytes): Make |
| totalBytes() part of the MediaPlayerPrivate interface. |
| (WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default |
| implementation. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: |
| |
| 2014-11-04 Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> |
| |
| Fix animation of orient attribute on marker element |
| https://bugs.webkit.org/show_bug.cgi?id=137942 |
| |
| Reviewed by Dirk Schulze. |
| |
| Fixed implementation of SVG animated angles and the SVG |
| marker element orient attribute. |
| SVG animated angle was missing the logic to support animation |
| from auto to a numeric angle value - this is now added. |
| The SVG marker element getter for orientType was not returning |
| the animated value for orientType so in some cases (i.e. when |
| the initial value and the animated values were of different types) |
| the animation was not being rendered - although it was running. |
| |
| Tests: svg/animations/animate-marker-orienttype-1.html |
| svg/animations/animate-marker-orienttype-2.html |
| svg/animations/animate-marker-orienttype-3.html |
| |
| * svg/SVGAnimatedAngle.cpp: |
| (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): |
| Added logic to support auto to angle animation. |
| * svg/SVGMarkerElement.cpp: |
| (WebCore::SVGMarkerElement::orientType): |
| This method now returns the animated value if an animation is |
| running. |
| * svg/SVGMarkerElement.h: |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Allow implicit conversion from Ref<T> to T& |
| https://bugs.webkit.org/show_bug.cgi?id=138331 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be |
| converted implicitly to a T&. |
| |
| No new tests, no behavior change. |
| |
| 2014-11-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Non-fast scrollable region overlay offsets the overlay by topContentInset |
| https://bugs.webkit.org/show_bug.cgi?id=138344 |
| |
| Reviewed Tim Horton. |
| |
| Offset the region by topContentInset, and make it not green. |
| |
| * page/DebugPageOverlays.cpp: |
| (WebCore::NonFastScrollableRegionOverlay::updateRegion): |
| |
| 2014-11-03 Andreas Kling <akling@apple.com> |
| |
| Clarify RenderListMarker ownership model. |
| <https://webkit.org/b/138329> |
| |
| Reviewed by Antti Koivisto. |
| |
| A RenderListMarker is either in-tree and owned by the tree, or out-of-tree |
| and owned by a RenderListItem. |
| |
| This patch changes RenderListItem::m_marker to be a raw pointer, and removes |
| the special handling of list markers in RenderElement child teardown. |
| |
| We also remove the willBeDestroyed() hook. It was used to clear out the |
| m_marker pointer, but this is now done in the regular ~RenderListItem() |
| destructor with an assertion for marker sanity. m_marker is automatically |
| nulled out by a didDestroyListMarker() callback on RenderListItem. |
| |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::destroyLeftoverChildren): |
| |
| Removed special handling of list marker renderers when deleting a |
| RenderElement's children. |
| |
| * rendering/RenderListItem.cpp: |
| (WebCore::RenderListItem::RenderListItem): |
| (WebCore::RenderListItem::~RenderListItem): |
| (WebCore::RenderListItem::styleDidChange): |
| (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded): |
| (WebCore::RenderListItem::positionListMarker): |
| |
| Made m_marker a raw pointer instead of a RenderPtr since the ownership |
| really switches between weak and strong reference. |
| |
| (WebCore::RenderListItem::willBeDestroyed): |
| * rendering/RenderListMarker.cpp: |
| (WebCore::RenderListMarker::~RenderListMarker): |
| |
| Added a regular destructor to replace the willBeDestroyed() hook. |
| |
| * rendering/RenderListItem.h: |
| (WebCore::RenderListItem::didDestroyListMarker): |
| |
| Added. Called by ~RenderListMarker to null out RenderListItem::m_marker. |
| |
| 2014-11-03 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/bridge to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=138280 |
| |
| Reviewed by Anders Carlsson. |
| |
| Clean up OwnPtr in WebCore/bridge. |
| |
| No new tests, no behavior changes. |
| |
| * bridge/c/c_class.cpp: |
| (JSC::Bindings::CClass::methodNamed): |
| (JSC::Bindings::CClass::fieldNamed): |
| * bridge/c/c_class.h: Use std::unique_ptr instead of OwnPtr. |
| * bridge/objc/objc_class.h: ditto. |
| * bridge/objc/objc_class.mm: |
| (JSC::Bindings::ObjcClass::methodNamed): |
| (JSC::Bindings::ObjcClass::fieldNamed): |
| * bridge/objc/objc_runtime.mm: |
| (JSC::Bindings::callObjCFallbackObject): |
| * bridge/runtime_method.h: |
| |
| 2014-11-03 Dan Bernstein <mitz@apple.com> |
| |
| Client certificate credentials with session persistence don’t work |
| https://bugs.webkit.org/show_bug.cgi?id=138330 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| I think this is not testable with our test HTTP server. |
| |
| * platform/network/CredentialStorage.cpp: |
| (WebCore::CredentialStorage::set): Don’t require a valid URL for client certificate |
| credentials, since they don’t apply to a specific path. Don’t save such credentials to |
| CFNetwork’s persistent storage (we only do that as a workaround for sharing credentials |
| with the media framework, and we don’t want to expand the scope of the workaround). |
| * platform/network/cf/ResourceHandleCFNet.cpp: |
| (WebCore::ResourceHandle::receivedCredential): Changed to use the Credential consturctor |
| that takes a Credential and a new persistence, so that this code works not only with |
| user+password credentials. |
| |
| 2014-11-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=138257 |
| |
| Reviewed by Tim Horton. |
| |
| Add code for debugging page overlays that show the non-fast scrollable region, |
| and the region with wheel event handlers. The list of region types is intended |
| to be easily extensible. |
| |
| A singleton DebugPageOverlays maintains a map of Frame -> vector of overlays. |
| A purely inline code path is provided so that DebugPageOverlays::didLayout() is |
| fast. |
| |
| For each region type, a PageOverlay::Client subclass knows how to generate |
| the region, which is painted into a document-level page overlay. |
| |
| Add a set of bitflags to Settings to control region visibility. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/DebugPageOverlays.cpp: Added. |
| (WebCore::RegionOverlay::overlay): |
| (WebCore::MouseWheelRegionOverlay::updateRegion): |
| (WebCore::NonFastScrollableRegionOverlay::updateRegion): |
| (WebCore::RegionOverlay::create): |
| (WebCore::RegionOverlay::RegionOverlay): |
| (WebCore::RegionOverlay::~RegionOverlay): |
| (WebCore::RegionOverlay::pageOverlayDestroyed): |
| (WebCore::RegionOverlay::willMoveToPage): |
| (WebCore::RegionOverlay::didMoveToPage): |
| (WebCore::RegionOverlay::drawRect): |
| (WebCore::RegionOverlay::mouseEvent): |
| (WebCore::RegionOverlay::didScrollFrame): |
| (WebCore::RegionOverlay::recomputeRegion): |
| (WebCore::DebugPageOverlays::shared): |
| (WebCore::indexOf): |
| (WebCore::DebugPageOverlays::ensureRegionOverlayForFrame): |
| (WebCore::DebugPageOverlays::showRegionOverlay): |
| (WebCore::DebugPageOverlays::hideRegionOverlay): |
| (WebCore::DebugPageOverlays::regionChanged): |
| (WebCore::DebugPageOverlays::regionOverlayForFrame): |
| (WebCore::DebugPageOverlays::updateOverlayRegionVisibility): |
| (WebCore::DebugPageOverlays::settingsChanged): |
| * page/DebugPageOverlays.h: Added. |
| (WebCore::DebugPageOverlays::hasOverlaysForFrame): |
| (WebCore::DebugPageOverlays::hasOverlays): |
| (WebCore::DebugPageOverlays::didLayout): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| * page/Settings.h: |
| * page/Settings.in: |
| |
| 2014-11-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Video controls have lots of compositing layers |
| https://bugs.webkit.org/show_bug.cgi?id=138294 |
| |
| Reviewed by Eric Carlson. |
| |
| After r175268 we get lots of separate small layers in the video |
| controls (but they pop into a single layer when opacity animates). |
| |
| Fix this by putting an explicit z-index on -webkit-media-controls-panel |
| which is the element that animates opacity. |
| |
| * Modules/mediacontrols/mediaControlsApple.css: |
| (audio::-webkit-media-controls-panel): |
| |
| 2014-11-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175406, r175413, and r175423. |
| https://bugs.webkit.org/show_bug.cgi?id=138327 |
| |
| Multipart tests are still broken (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "Eliminate ResourceBuffer and use SharedBuffer directly |
| instead" |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| http://trac.webkit.org/changeset/175406 |
| |
| "Unreviewed, iOS build fix since 175406." |
| http://trac.webkit.org/changeset/175413 |
| |
| "Fix assertion in CachedResource::addDataBuffer" |
| http://trac.webkit.org/changeset/175423 |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, fix bad assertion in r175487. |
| |
| I mistakenly used it != values.end() instead of it == values.end() |
| so the debug bots are crashing. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::createGridPosition): |
| |
| 2014-11-03 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix the !ENABLE(VIDEO) build after r175279 |
| https://bugs.webkit.org/show_bug.cgi?id=138320 |
| |
| Reviewed by Jer Noble. |
| |
| * page/ChromeClient.h: |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Support modern range loops over CSSValueList |
| https://bugs.webkit.org/show_bug.cgi?id=138285 |
| |
| Reviewed by Andreas Kling. |
| |
| Add support for modern range loops over CSSValueList objects. |
| Port the code base to using range loops for CSSValueList objects and |
| drop the CSSValueListInspector / CSSValueListIterator classes as they |
| are no longer needed. |
| |
| No new tests, no behavior change. |
| |
| 2014-11-03 Andreas Kling <akling@apple.com> |
| |
| RenderCounter shouldn't need a pre-destructor hook. |
| <https://webkit.org/b/138316> |
| |
| Reviewed by Antti Koivisto. |
| |
| RenderCounter will automatically register/unregister itself with |
| the RenderView when constructed/destroyed. |
| |
| It was using a willBeDestroyed() hook because it used to be that you |
| couldn't get to the RenderView in the destructor. That's no longer |
| an issue as Document promises that RenderView is the last render tree |
| node to go away. |
| |
| * rendering/RenderCounter.cpp: |
| (WebCore::RenderCounter::~RenderCounter): |
| (WebCore::RenderCounter::willBeDestroyed): Deleted. |
| * rendering/RenderCounter.h: |
| |
| 2014-11-03 Tim Horton <timothy_horton@apple.com> |
| |
| Use FrameSnapshotting functions in FindController::getFindIndicatorBitmap |
| https://bugs.webkit.org/show_bug.cgi?id=138300 |
| <rdar://problem/18855863> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebCore.exp.in: |
| * page/FrameSnapshotting.cpp: |
| (WebCore::snapshotSelection): |
| Move knowledge that selectionBounds can be empty down to WebCore. |
| |
| 2014-11-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show Selector's Specificity |
| https://bugs.webkit.org/show_bug.cgi?id=138189 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Test: inspector/css/selector-specificity.html |
| |
| * css/CSSSelector.h: |
| Remove very stale comment. '*' is a starAtom now instead of a special -1 tag. |
| Made the specificity masks public class constants. |
| |
| * inspector/InspectorStyleSheet.h: |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyle::buildArrayForComputedStyle): |
| (WebCore::InspectorStyle::styleWithProperties): |
| (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): |
| Drive by use release() in some cases to reduce ref count churn. |
| |
| (WebCore::buildObjectForSelectorHelper): |
| (WebCore::selectorsFromSource): |
| (WebCore::InspectorStyleSheet::buildObjectForSelector): |
| (WebCore::InspectorStyleSheet::buildObjectForSelectorList): |
| Build CSSSelector objects for SelectorLists. |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Move -webkit-shape-outside to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138296 |
| |
| Reviewed by Zoltan Horvath. |
| |
| Move -webkit-shape-outside to the new StyleBuilder, using custom |
| code as it does not always call setShapeOutside(). |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyShape::setValue): Deleted. |
| (WebCore::ApplyPropertyShape::applyValue): Deleted. |
| (WebCore::ApplyPropertyShape::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueWebkitShapeOutside): |
| |
| 2014-11-03 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION: Using a media element changes window.name |
| https://bugs.webkit.org/show_bug.cgi?id=138278 |
| rdar://problem/18704134 |
| |
| Apply the same fix to mediaControlsBase.js. I do not know who uses this file, but |
| there is no reason to have the bug there. |
| |
| * Modules/mediacontrols/mediaControlsBase.js: |
| (Controller.prototype.addVideoListeners): |
| (Controller.prototype.removeVideoListeners): |
| (Controller.prototype.disconnectControls): |
| |
| 2014-11-03 Andreas Kling <akling@apple.com> |
| |
| RenderLayerModelObject shouldn't need a pre-destructor hook. |
| <https://webkit.org/b/138314> |
| |
| Reviewed by Antti Koivisto. |
| |
| Move code from the willBeDestroyed() pre-destructor hook to the regular |
| ~RenderLayerModelObject() destructor. |
| |
| We just need to unregister the renderer from the FrameView's set of |
| viewport-constrained objects. That doesn't require being able to walk |
| the render tree or call virtuals, which is the main reason you'd use |
| willBeDestroyed(). |
| |
| * rendering/RenderLayerModelObject.cpp: |
| (WebCore::RenderLayerModelObject::~RenderLayerModelObject): |
| (WebCore::RenderLayerModelObject::willBeDestroyed): Deleted. |
| * rendering/RenderLayerModelObject.h: |
| |
| 2014-11-03 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> |
| |
| [EFL] Fix the build if LOG_DISABLED=0 in release mode |
| https://bugs.webkit.org/show_bug.cgi?id=138309 |
| |
| Reviewed by Chris Dumez. |
| |
| * platform/efl/LoggingEfl.cpp: |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Move 'zoom' CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138297 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move 'zoom' CSS property from DeprecatedStyleBuilder to the new |
| StyleBuilder by using custom code as it requires special handling. |
| |
| No new tests, no behavior change. |
| |
| * css/makeprop.pl: |
| Add support for Custom=All StyleBuilder option to indicate |
| that the property requires custom code to set the initial, |
| inherit and current values. |
| |
| 2014-11-03 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| AX: Fix some minor typos related to the word "accessibility". |
| https://bugs.webkit.org/show_bug.cgi?id=138299 |
| |
| Reviewed by Chris Fleizach. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::shouldUseAccessibilityObjectInnerText): |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| (WebCore::shouldUseAccessiblityObjectInnerText): Deleted. |
| * accessibility/atk/WebKitAccessibleInterfaceText.cpp: |
| (getRunAttributesFromAccessibilityObject): |
| (webkitAccessibleTextGetRunAttributes): |
| (getRunAttributesFromAccesibilityObject): Deleted. |
| * page/CaptionUserPreferencesMediaAF.cpp: |
| (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): |
| |
| 2014-11-02 Chris Dumez <cdumez@apple.com> |
| |
| Move string-typed properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138295 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move string-typed properties to the new StyleBuilder: |
| -webkit-hyphenate-character |
| -webkit-line-grid |
| -webkit-flow-into |
| -webkit-flow-from |
| |
| No new tests, no behavior change. |
| |
| 2014-11-02 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rebaseline bindings tests after r175462. |
| |
| * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: |
| (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): |
| (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): |
| * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: |
| (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::jsTestEventTargetPrototypeFunctionItem): |
| (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::JSTestInterfaceConstructor::constructJSTestInterface): |
| (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): |
| (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): |
| * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
| (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): |
| * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: |
| (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::JSTestObjConstructor::constructJSTestObj): |
| (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): |
| (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): |
| (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): |
| (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): |
| (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg): |
| (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): |
| (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): |
| (WebCore::jsTestObjPrototypeFunctionSerializedValue): |
| (WebCore::jsTestObjPrototypeFunctionOptionsObject): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): |
| (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11): |
| (WebCore::jsTestObjConstructorFunctionClassMethod2): |
| (WebCore::jsTestObjConstructorFunctionOverloadedMethod11): |
| (WebCore::jsTestObjConstructorFunctionOverloadedMethod12): |
| (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): |
| (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): |
| (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): |
| (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2): |
| (WebCore::jsTestObjPrototypeFunctionConvert1): |
| (WebCore::jsTestObjPrototypeFunctionConvert2): |
| (WebCore::jsTestObjPrototypeFunctionConvert4): |
| (WebCore::jsTestObjPrototypeFunctionConvert5): |
| (WebCore::jsTestObjPrototypeFunctionStrictFunction): |
| (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence): |
| (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray): |
| (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): |
| (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): |
| (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): |
| (WebCore::jsTestObjPrototypeFunctionAny): |
| * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: |
| (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1): |
| (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2): |
| (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3): |
| (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4): |
| * bindings/scripts/test/JS/JSTestTypedefs.cpp: |
| (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs): |
| (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): |
| (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): |
| (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg): |
| (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): |
| (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction): |
| (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2): |
| (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): |
| |
| 2014-11-02 Chris Dumez <cdumez@apple.com> |
| |
| Reduce the cost of argumentCount checks in the JS bindings |
| https://bugs.webkit.org/show_bug.cgi?id=138289 |
| |
| Reviewed by Sam Weinig. |
| |
| Slightly reduce the cost of argumentCount checks in the JS bindings by |
| hinting to the compiler that it is UNLIKELY that those methods are |
| called with too few arguments. |
| |
| I see a 3% progression on PerformanceTests/DOM/DOMDivWalk.html |
| performance test. |
| |
| No new tests, no behavior change. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateArgumentsCountCheck): |
| |
| 2014-11-01 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION: Using a media element changes window.name |
| https://bugs.webkit.org/show_bug.cgi?id=138278 |
| rdar://problem/18704134 |
| |
| Reviewed by Jer Noble. |
| |
| Test: fast/media/window-name.html |
| |
| Use an actual variable for name (and while at it, for "item" as well). |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.addVideoListeners): |
| (Controller.prototype.removeVideoListeners): |
| (Controller.prototype.disconnectControls): |
| |
| 2014-11-01 Chris Dumez <cdumez@apple.com> |
| |
| Move "direction" CSS property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138288 |
| |
| Reviewed by Sam Weinig. |
| |
| Move "direction" CSS property to the new StyleBuilder by using custom |
| code as it requires special handling to call |
| Document::setDirectionSetOnDocumentElement() when necessary. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyDirection::applyValue): Deleted. |
| (WebCore::ApplyPropertyDirection::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueDirection): |
| |
| 2014-11-01 Sam Weinig <sam@webkit.org> |
| |
| Move the -webkit-transform property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138283 |
| |
| Reviewed by Chris Dumez. |
| |
| Move the -webkit-transform property from StyleResolver to the new |
| generated StyleBuilder. Adds a converter for TransformOperations. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertTransform): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * css/TransformFunctions.cpp: |
| (WebCore::transformsForValue): |
| * css/TransformFunctions.h: |
| * css/WebKitCSSMatrix.cpp: |
| (WebCore::WebKitCSSMatrix::setMatrixValue): |
| |
| 2014-11-01 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the specificity of the extended :not() selector |
| https://bugs.webkit.org/show_bug.cgi?id=138275 |
| |
| Reviewed by Andreas Kling. |
| |
| The current draft says "The specificity of a :not() pseudo-class |
| is the specificity of the most specifc complex selector in its selector list." |
| |
| It is still unclear how :not() plays with other new selectors. Until that is clarified, |
| this only handle the simple cases. |
| |
| Tests: fast/css/not-self-specificity.html |
| fast/css/not-specificity-1.html |
| fast/css/not-specificity-2.html |
| fast/css/not-specificity-3.html |
| fast/css/not-specificity-4.html |
| fast/css/not-specificity-5.html |
| fast/css/not-specificity-6.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificityForOneSelector): |
| |
| 2014-10-31 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the Debug builds after r175446 |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| |
| 2014-10-31 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Add initial parsing functionality of :lang pseudo class in Selectors Level 4. |
| https://bugs.webkit.org/show_bug.cgi?id=138170 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Add initial parsing functionality of :lang pseudo class in Selectors Level 4, |
| as specified in [1]. |
| |
| It parses comma-separated list of string arguments. Currently, it throws error |
| on arguments with "*" (e.g. :lang(zh, *-hant)). |
| |
| Add additional test file fast/selectors/lang-invalid.html along side the |
| fast/css/css-selector-text.html. |
| |
| [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo |
| |
| Test: fast/selectors/lang-invalid.html |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::detectFunctionTypeToken): |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::setArgumentList): |
| * css/CSSParserValues.h: |
| * css/CSSSelector.cpp: |
| (WebCore::appendArgumentList): |
| (WebCore::CSSSelector::selectorText): |
| (WebCore::CSSSelector::setArgumentList): |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::argumentList): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| |
| 2014-10-31 Chris Dumez <cdumez@apple.com> |
| |
| StyleBuilder: Stop using custom code for -webkit-hyphenate-limit-lines |
| https://bugs.webkit.org/show_bug.cgi?id=138270 |
| |
| Reviewed by Antti Koivisto. |
| |
| Stop using custom code for -webkit-hyphenate-limit-lines in the new |
| StyleBuilder. We don't really need to, we can just have a Converter |
| specific to this property. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertWebkitHyphenateLimitLines): |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines): Deleted. |
| |
| 2014-10-31 Chris Dumez <cdumez@apple.com> |
| |
| Support throttling of DOMTimers using nested setTimeout() calls |
| https://bugs.webkit.org/show_bug.cgi?id=138262 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Extend DOMTimers throttling support to timers that are using nested |
| setTimeout() calls instead of a setInterval(). To achieve this, this |
| patch introduces a NestedTimersVector singleton class where nested |
| timers are appended, and for which we potentially update the next |
| firing time, after the parent timer is done executing. |
| |
| I have verified this helps on cnn.com for example, which has timers |
| interacting with non-visible plugins that are scheduled using nested |
| setTimeout() calls with a frequency of 150 / 200 ms. |
| |
| * page/DOMTimer.cpp: |
| (WebCore::NestedTimersVector::NestedTimersVector): |
| (WebCore::NestedTimersVector::~NestedTimersVector): |
| (WebCore::NestedTimersVector::registerTimer): |
| (WebCore::NestedTimersVector::begin): |
| (WebCore::NestedTimersVector::end): |
| (WebCore::DOMTimer::install): |
| (WebCore::DOMTimer::updateThrottlingStateIfNecessary): |
| (WebCore::DOMTimer::fired): |
| * page/DOMTimer.h: |
| |
| 2014-10-31 Chris Dumez <cdumez@apple.com> |
| |
| Move -webkit-marquee-increment property to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138208 |
| |
| Reviewed by Andreas Kling. |
| |
| Move -webkit-marquee-increment property from DeprecatedStyleBuilder to |
| the new StyleBuilder so that it is generated from CSSPropertyNames.in. |
| Custom code is used to set the value due to the !length.isUndefined() |
| check before calling setMarqueeIncrement(). |
| |
| Test: fast/css/webkit-marquee-increment-bad-value.html |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyLength::setValue): Deleted. |
| (WebCore::ApplyPropertyLength::applyValue): Deleted. |
| (WebCore::ApplyPropertyLength::createHandler): Deleted. |
| (WebCore::ApplyPropertyMarqueeIncrement::applyValue): Deleted. |
| (WebCore::ApplyPropertyMarqueeIncrement::createHandler): Deleted. |
| * css/StyleBuilderCustom.h: |
| (WebCore::StyleBuilderFunctions::applyValueWebkitMarqueeIncrement): |
| |
| 2014-10-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Brace cleanup in StyleResolver::adjustRenderStyle() |
| https://bugs.webkit.org/show_bug.cgi?id=138267 |
| |
| Reviewed by Chris Dumez. |
| |
| No braces for single-line clauses. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): |
| |
| 2014-10-31 Chris Dumez <cdumez@apple.com> |
| |
| Fix several warnings reported by clang static analyzer in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138258 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Fix several warnings reported by clang static analyzer in WebCore |
| related to variable unnecessary assignments and scope. |
| |
| No new tests, no behavior change. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getUpperLeftCorner): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * inspector/InspectorStyleTextEditor.cpp: |
| (WebCore::InspectorStyleTextEditor::replaceProperty): |
| * page/ContextMenuController.cpp: |
| (WebCore::openNewWindow): |
| * page/DragController.cpp: |
| (WebCore::createMouseEvent): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths): |
| * rendering/svg/SVGInlineTextBox.cpp: |
| (WebCore::SVGInlineTextBox::paintSelectionBackground): |
| |
| 2014-10-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Whitespace cleanup in Screen.h |
| https://bugs.webkit.org/show_bug.cgi?id=138265 |
| |
| Reviewed by Chris Dumez. |
| |
| No indent for namespaces. Mark 'final'. Fix * placement. |
| |
| * page/Screen.h: |
| (WebCore::Screen::create): |
| |
| 2014-10-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Change the ScrollingThread code to use RunLoop::main().dispatch() rather than callOnMainThread(), which has Obj-C overhead |
| https://bugs.webkit.org/show_bug.cgi?id=138263 |
| |
| Reviewed by Geoffrey Garen. |
| |
| callOnMainThread() uses -performSelector:onMainThread:withObject:waitUntilDone:, so |
| it's slightly more efficient to use RunLoop::main().dispatch(). |
| |
| * page/scrolling/ThreadedScrollingTree.cpp: |
| (WebCore::ThreadedScrollingTree::invalidate): |
| (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll): |
| (WebCore::ThreadedScrollingTree::handleWheelEventPhase): |
| |
| 2014-10-31 Benjamin Poulain <bpoulain@apple.com> |
| |
| Pseudo classes with an escaped parenthesis generate invalid rules |
| https://bugs.webkit.org/show_bug.cgi?id=138266 |
| |
| Reviewed by Antti Koivisto. |
| |
| Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement, |
| they could be created by the rule |
| pseudo: |
| ':' IDENT |
| if the parenthesis is escaped. For example, with ":not\\(", the IDENT would be |
| "not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would |
| find a pseudo class type of PseudoClassNot, and the action would create an invalid |
| CSSSelector for a :not() without nested selector. |
| |
| This patch fixes the issue by detecting the function case in |
| CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector(). |
| |
| An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class |
| and functional pseudo classes. We may do that some day but at the moment it is a lot of work with |
| a little benefit. |
| |
| Tests: fast/css/crash-on-incomplete-webkit-any.html |
| fast/css/pseudo-escaped-parenthesis.html |
| fast/selectors/invalid-functional-pseudo-class.html |
| |
| * css/CSSParserValues.cpp: |
| (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector): |
| |
| 2014-10-31 Chris Dumez <cdumez@apple.com> |
| |
| Make CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() faster |
| https://bugs.webkit.org/show_bug.cgi?id=138227 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Restructure CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() |
| a bit to do less if checks. The previous implementation was doing 7 if |
| checks no matter the input value. The new implementation does less |
| if checks depending on the input type. |
| |
| Also, the isImageControlsRootElement() was showing in the profiles so |
| I updated the condition to only do this virtual function call if the |
| input is an HTMLDivElement (which we can check more efficiently). |
| |
| With the change, I see that we're spending about ~26% less time in |
| this method when running speedometer. However, the impact on the |
| overall score is within noise. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSDefaultStyleSheets.cpp: |
| (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement): |
| |
| 2014-10-31 Antti Koivisto <antti@apple.com> |
| |
| Fix assertion in CachedResource::addDataBuffer |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::addDataBuffer): |
| |
| Don't call to base class if buffering mode changed (happens with some special top level document types). |
| |
| 2014-10-31 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove webkit prefix from CSS columns. |
| https://bugs.webkit.org/show_bug.cgi?id=137132. |
| |
| Reviewed by Dean Jackson. |
| |
| CSS columns properties are ready for un-prefixing. There are still a couple |
| that we haven't implemented, such as the ones starting with "break-", so we're |
| just going to do the ones starting with "column-". The list of column un- |
| prefixed properties in this change set is: |
| - column-count |
| - column-fill |
| - column-gap |
| - column-progression |
| - column-rule |
| - column-rule-color |
| - column-rule-style |
| - column-rule-width |
| - column-span |
| - column-width |
| - columns |
| |
| Tests: fast/multicol/column-box-alignment-rtl.html |
| fast/multicol/multicol-aliases.html |
| imported/w3c/css/multicol/multicol-basic-001.html |
| imported/w3c/css/multicol/multicol-basic-002.html |
| imported/w3c/css/multicol/multicol-basic-003.html |
| imported/w3c/css/multicol/multicol-basic-004.html |
| |
| Add new un-prefixed column properties and make the -webkit* ones be aliases |
| to the new ones. |
| * css/CSSPropertyNames.in: |
| |
| Use the new enums CSSPropertyColumn* instead of the prefixed ones. |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::isColorPropertyID): |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleProperties.cpp: |
| (WebCore::StyleProperties::getPropertyValue): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::webkitColumnsShorthand): |
| (WebCore::webkitColumnRuleShorthand): |
| (WebCore::shorthandForProperty): |
| (WebCore::matchingShorthandsForLonghand): |
| * css/StyleResolver.cpp: |
| (WebCore::isValidVisitedLinkProperty): |
| (WebCore::StyleResolver::applyProperty): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::paintColumnRules): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::colorIncludingFallback): |
| |
| 2014-10-31 Tim Horton <timothy_horton@apple.com> |
| |
| Remove "Add to iPhoto" from the action menu's sharing menu |
| https://bugs.webkit.org/show_bug.cgi?id=138251 |
| <rdar://problem/18837197> |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/spi/mac/NSSharingServiceSPI.h: |
| Add 'name' to the NSSharingService SPI header. |
| |
| 2014-10-31 Akos Kiss <akiss@inf.u-szeged.hu> |
| |
| Fix type clash warning in supports_error rule of CSSGrammar. |
| https://bugs.webkit.org/show_bug.cgi?id=138248 |
| |
| Reviewed by Antti Koivisto. |
| |
| Added explicit actions to supports_error rule in CSSGrammar.y.in since |
| the default actions caused bison to emit type clash warnings. |
| |
| No new tests because there is no behavior change. |
| |
| * css/CSSGrammar.y.in: |
| |
| 2014-10-31 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Support script message handlers WebKitUserContentManager |
| https://bugs.webkit.org/show_bug.cgi?id=133730 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Support user script message handlers in WebKitUserContentManager. |
| This needs building with ENABLE_USER_MESSAGE_HANDLERS, for which |
| an option is added to the CMake build files. The option is disabled |
| globally by default, and the WebKitGTK port enables it. On the API |
| level, two new methods to register and unregister names are provided |
| in the "window.webkit" namespace, and on message reception the |
| "WebKitUserContentManager::script-message-received" signal is |
| emitted, using the registered names as signal detail. |
| |
| * CMakeLists.txt: Conditionally add the needed files to the build |
| when the ENABLE_USER_MESSAGE_HANDLERS feature is enabled. |
| |
| 2014-10-31 Andrzej Badowski <a.badowski@samsung.com> |
| |
| [ATK] Improve AccessibilityTableCell's determineAccessibilityRole function. |
| https://bugs.webkit.org/show_bug.cgi?id=137737 |
| |
| Reviewed by Chris Fleizach. |
| |
| Use of new functions isRowHeaderCell and isColumnHeaderCell (bug 136818) |
| to more accurately determine accessibility role of the table cell. |
| |
| Test: accessibility/table-cells-roles.html |
| |
| * accessibility/AccessibilityARIAGridCell.cpp: |
| (WebCore::AccessibilityARIAGridCell::rowIndexRange): |
| Change to const. |
| * accessibility/AccessibilityARIAGridCell.h: |
| Change rowIndexRange function to const. |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::determineAccessibilityRole): |
| Use of isRowHeaderCell and isColumnHeaderCell to more accurately determine accessibility role (ATK). |
| (WebCore::AccessibilityTableCell::isColumnHeaderCell): |
| Add a case of direct placement a row in the table. |
| (WebCore::AccessibilityTableCell::isRowHeaderCell): |
| Add a case of direct placement a row in the table. |
| (WebCore::AccessibilityTableCell::rowIndexRange): |
| Change to const. |
| * accessibility/AccessibilityTableCell.h: |
| Change rowIndexRange function to const. |
| |
| 2014-10-30 Darin Adler <darin@apple.com> |
| |
| Eliminate ResourceBuffer and use SharedBuffer directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| |
| Reviewed by Antti Koivisto. |
| |
| Refactoring, with test coverage across many existing tests. |
| |
| * CMakeLists.txt: Deleted ResourceBuffer.cpp. |
| |
| * WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol |
| for one function that used to take a PassRefPtr but now takes a reference instead. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h. |
| |
| * bindings/objc/DOMUIKitExtensions.mm: |
| (-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly. |
| * editing/ios/EditorIOS.mm: |
| (WebCore::Editor::writeImageToPasteboard): Ditto. |
| * editing/mac/EditorMac.mm: |
| (WebCore::Editor::writeImageToPasteboard): Ditto. |
| |
| * html/ImageDocument.cpp: |
| (WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and |
| also pass a reference only if non-null rather than passing a pointer. |
| (WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check. |
| |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly. |
| (WebCore::InspectorPageAgent::mainResourceContent): Ditto. |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::didFinishLoading): Ditto. |
| (WebCore::InspectorResourceAgent::didFailLoading): Ditto. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly, |
| and use the copy function rather than a hand-written alternative. |
| (WebCore::DocumentLoader::maybeCreateArchive): Ditto. |
| (WebCore::DocumentLoader::mainResource): Ditto. |
| (WebCore::DocumentLoader::subresource): Ditto. |
| (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto. |
| |
| * loader/DocumentLoader.h: Changed mainResourceData to return a |
| PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&, |
| but it currently returns a newly created buffer when there is substitute |
| data and can also return null, even though many callers assume it will not! |
| |
| * loader/MediaResourceLoader.cpp: |
| (WebCore::MediaResourceLoader::dataReceived): Removed call to unused client |
| function bufferReceived. |
| (WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer |
| argument to client function loadFinished. |
| |
| * loader/ResourceBuffer.cpp: Removed. |
| * loader/ResourceBuffer.h: Removed. |
| |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly. |
| |
| * loader/ResourceLoader.h: |
| (WebCore::ResourceLoader::resourceData): Use SharedBuffer. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer. |
| (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto. |
| |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer. |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto. |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): Ditto. |
| |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer. |
| * loader/cache/CachedCSSStyleSheet.h: Ditto. |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::finishLoading): Ditto. |
| (WebCore::CachedFont::ensureCustomFontData): Ditto. |
| * loader/cache/CachedFont.h: Ditto. |
| |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::didAddClient): Use SharedBuffer. |
| (WebCore::CachedImage::didRemoveClient): Ditto. |
| (WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take |
| a reference rather than a pointer. |
| (WebCore::CachedImage::addDataBuffer): Ditto. Also added call through |
| to base class and changed to take a reference rather than a pointer. |
| (WebCore::CachedImage::addData): Ditto. Also added call through to base class. |
| (WebCore::CachedImage::finishLoading): Ditto. |
| * loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields |
| to be unsigned instead of unsigend char. |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer. |
| (WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take |
| a reference rather than a pointer. |
| (WebCore::CachedRawResource::addData): Ditto. |
| (WebCore::CachedRawResource::finishLoading): Ditto. |
| (WebCore::CachedRawResource::canReuse): Ditto. |
| * loader/cache/CachedRawResource.h: Ditto. |
| |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::CachedResource): Reordered data members due to change |
| in header. |
| (WebCore::CachedResource::addDataBuffer): Changed argument type. |
| (WebCore::CachedResource::finishLoading): Ditto. |
| (WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash |
| table lookup by using the return value from the remove function. |
| (WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead |
| of using a function named "schedule" to allocate the callback object. |
| (WebCore::CachedResource::Callback::Callback): Changed function and data member |
| name. |
| (WebCore::CachedResource::Callback::cancel): Ditto. |
| (WebCore::CachedResource::Callback::timerFired): Ditto. |
| (WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&. |
| |
| * loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most |
| data members and one function member private instead of protected. Also renamed the |
| CachedResource::CachedResourceCallback function CachedResource::Callback and moved |
| its definition out of the CachedResource class definition. |
| |
| * loader/cache/CachedResourceClient.h: Removed unneeded include. |
| |
| * loader/cache/CachedSVGDocument.cpp: |
| (WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer. |
| |
| * loader/cache/CachedSVGDocument.h: Ditto. Made data members private. |
| |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::finishLoading): Use SharedBuffer. |
| * loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded |
| forward declaration. |
| |
| * loader/cache/CachedTextTrack.cpp: |
| (WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not |
| call addDataBuffer. |
| (WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData. |
| (WebCore::CachedTextTrack::finishLoading): Ditto. |
| * loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the |
| destructor. Updated for above changes. |
| |
| * loader/cache/CachedXSLStyleSheet.cpp: |
| (WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer. |
| * loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything |
| private rather than protected. Added an explicit virtual constructor so we can |
| compile without knowing how to ref/deref TextResourceDecoder. |
| |
| * loader/cf/SubresourceLoaderCF.cpp: |
| (WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer |
| and to call addDataBuffer only if there is a new data buffer. |
| |
| * loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr. |
| * loader/cocoa/DiskCacheMonitorCocoa.mm: |
| (WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto. |
| (WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto. |
| |
| * loader/icon/IconLoader.cpp: |
| (WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of |
| RefPtr<ResourceBuffer>. |
| |
| * loader/mac/ResourceBuffer.mm: Removed. |
| |
| * loader/mac/ResourceLoaderMac.mm: |
| (WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer. |
| |
| * platform/SharedBuffer.cpp: |
| (WebCore::SharedBuffer::clear): Use a modern for loop. |
| (WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since |
| this never returns null. Use modern for loops. |
| (WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop. |
| |
| * platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr. |
| Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than |
| a pointer. |
| |
| * platform/cf/SharedBufferCF.cpp: |
| (WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference |
| instead of a pointer. |
| |
| * platform/graphics/PlatformMediaResourceLoader.h: Removed unused function |
| bufferReceived and unneeded buffer argument from loadFinished. Also marked the |
| constructor explicit. |
| |
| * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: |
| Removed include of ResourceBuffer.h. |
| * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: |
| (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use |
| SharedBuffer directly. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (CachedResourceStreamingClient::loadFinished): Updated for change to |
| PlatformMediaResourceLoaderClient. |
| |
| * platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h. |
| |
| * platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded |
| tryReplaceContentsWithPlatformBuffer function. |
| |
| 2014-10-30 Chris Dumez <cdumez@apple.com> |
| |
| Move border-image-source / -webkit-mask-box-image-source to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138209 |
| |
| Reviewed by Andreas Kling. |
| |
| Move border-image-source / -webkit-mask-box-image-source CSS properties |
| from DeprecatedStyleBuilder to the new StyleBuilder so that they are |
| now generated from CSSPropertyNames.in. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyBorderImageSource::applyValue): Deleted. |
| (WebCore::ApplyPropertyBorderImageSource::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertBorderImageSource): |
| |
| 2014-10-30 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Add Setting for accessing storage location for MediaKeys data |
| https://bugs.webkit.org/show_bug.cgi?id=138147 |
| |
| Reviewed by Brady Eidson. |
| |
| Allow MediaPlayerPrivateAVFoundationObjC to query for the MediaKeys storage directory |
| by piping that request down from WebKit and WebKit2 into Settings. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaKeysStorageDirectory): Get the location from Settings and |
| append the current origin. |
| * html/HTMLMediaElement.h: |
| * page/Settings.h: |
| (WebCore::Settings::setMediaKeysStorageDirectory): Simple setter. |
| (WebCore::Settings::mediaKeysStorageDirectory): Simple accessor. |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::mediaKeysStorageDirectory): Pass through to m_client. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerMediaKeysStorageDirectory): Default implementation. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Fetch the location from MediaPlayer. |
| (WebCore::sessionStorageDirectory): Deleted. |
| |
| 2014-10-30 Dana Burkart <dburkart@apple.com> |
| |
| <rdar://problem/18821260> Prepare for the mysterious future |
| |
| Reviewed by Lucas Forschler. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| |
| 2014-10-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Short-circuit repaints with empty rects |
| https://bugs.webkit.org/show_bug.cgi?id=138234 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Repaints with an empty rectangle are common enough that it's worth |
| short-circuiting them. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::repaintUsingContainer): |
| |
| 2014-10-30 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in css/ |
| https://bugs.webkit.org/show_bug.cgi?id=138230 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Clean up virtual functions in css/ by: |
| - Making virtual functions final when possible |
| - Making classes final when possible |
| - Using 'override' when appropriate |
| - Explicitly marking functions / destructors as virtual when they are |
| inherently virtual |
| - Making isXXX() virtual functions private on XXX classes to avoid |
| unnecessary type checks |
| |
| No new tests, no behavior change. |
| |
| * WebCore.exp.in: |
| * css/CSSBasicShapes.h: |
| * css/CSSCharsetRule.h: |
| * css/CSSComputedStyleDeclaration.h: |
| * css/CSSCrossfadeValue.h: |
| * css/CSSFilterImageValue.h: |
| * css/CSSFontFaceLoadEvent.h: |
| * css/CSSFontFaceRule.h: |
| * css/CSSFontFaceSource.h: |
| * css/CSSImportRule.h: |
| * css/CSSMediaRule.h: |
| * css/CSSPageRule.h: |
| * css/CSSRuleList.h: |
| (WebCore::StaticCSSRuleList::ref): Deleted. |
| (WebCore::StaticCSSRuleList::styleSheet): Deleted. |
| (WebCore::StaticCSSRuleList::length): Deleted. |
| (WebCore::StaticCSSRuleList::item): Deleted. |
| (WebCore::LiveCSSRuleList::ref): Deleted. |
| (WebCore::LiveCSSRuleList::deref): Deleted. |
| (WebCore::LiveCSSRuleList::length): Deleted. |
| (WebCore::LiveCSSRuleList::item): Deleted. |
| (WebCore::LiveCSSRuleList::styleSheet): Deleted. |
| * css/CSSStyleRule.h: |
| * css/CSSSupportsRule.h: |
| * css/CSSUnknownRule.h: |
| * css/FontLoader.h: |
| * css/PropertySetCSSStyleDeclaration.h: |
| (WebCore::PropertySetCSSStyleDeclaration::parentElement): |
| * css/WebKitCSSKeyframeRule.h: |
| * css/WebKitCSSViewportRule.h: |
| |
| 2014-10-30 Tim Horton <timothy_horton@apple.com> |
| |
| Long spins under rangeExpandedAroundPosition on Yahoo Mail |
| https://bugs.webkit.org/show_bug.cgi?id=138223 |
| <rdar://problem/18819547> |
| |
| Reviewed by Enrica Casucci. |
| |
| * WebCore.exp.in: |
| Export some things. |
| |
| 2014-10-30 Ada Chan <adachan@apple.com> |
| |
| The Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute. |
| https://bugs.webkit.org/show_bug.cgi?id=138215 |
| |
| Reviewed by Eric Carlson. |
| |
| Add m_muted in Page to keep track of the Page's muted state. Change AudioProducer::setMuted() |
| to pageMutedStateDidChange(). When that method is called, the AudioProducer is supposed to |
| update its muted state again taking the Page's muted state into account. |
| |
| Add HTMLMediaElement::effectiveMuted(), which returns the effective muted state of the |
| HTMLMediaElement, taking the Page's muted state into account. |
| |
| Test: media/video-muted-after-setting-page-muted-state.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::pageMutedStateDidChange): |
| (WebCore::Document::setMuted): Deleted. |
| * dom/Document.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::setMuted): |
| Set the MediaPlayer's muted state to the result of effectiveMuted() rather than m_muted. |
| (WebCore::HTMLMediaElement::updateVolume): |
| Ditto, and also make sure the MediaController's muted state does not override the Page's |
| muted state. |
| (WebCore::HTMLMediaElement::updatePlayState): |
| Set the MediaPlayer's muted state to the result of effectiveMuted() rather than muted(). |
| (WebCore::HTMLMediaElement::pageMutedStateDidChange): |
| Call updateVolume(), which will update the MediaPlayer's muted state. |
| (WebCore::HTMLMediaElement::effectiveMuted): |
| Figure out the muted value taking Page's muted state into account. |
| * html/HTMLMediaElement.h: |
| * page/AudioProducer.h: |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::setMuted): |
| Update m_muted, and only iterate through the frames' documents to call pageMutedStateDidChange() |
| if m_muted changes. |
| * page/Page.h: |
| (WebCore::Page::isMuted): |
| * testing/Internals.cpp: |
| (WebCore::Internals::setPageMuted): |
| Expose a way to set the Page's muted state in Internals for testing. |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-10-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Use references in calculateMinimumPageHeight() for non-optional arguments |
| https://bugs.webkit.org/show_bug.cgi?id=138231 |
| |
| Reviewed by Dean Jackson. |
| |
| No new tests because there is no behavior change. |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::calculateMinimumPageHeight): |
| (WebCore::RenderBlockFlow::adjustLinePositionForPagination): |
| |
| 2014-10-30 Chris Dumez <cdumez@apple.com> |
| |
| Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138207 |
| |
| Reviewed by Andreas Kling. |
| |
| Move -webkit-border-image / -webkit-mask-box-image CSS properties to |
| the new StyleBuilder so that they are now generated from |
| CSSPropertyNames.in. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyBorderImage::applyValue): Deleted. |
| (WebCore::ApplyPropertyBorderImage::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertBorderImage): |
| (WebCore::StyleBuilderConverter::convertBorderMask): |
| |
| 2014-10-30 Chris Dumez <cdumez@apple.com> |
| |
| Optimize HTMLVideoElement / HTMLAudioElement type checks a bit |
| https://bugs.webkit.org/show_bug.cgi?id=138202 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by: |
| 1. Using is<HTMLMediaElement>() instead of |
| (is<HTMLVideoElement>() || is<HTMLAudioElement>()) if the caller is |
| interested in both video and audio elements. This is faster because |
| it ends up doing: |
| - virtual call to Element::isMediaElement() |
| instead of |
| - Node::isHTMLElement() + |
| virtual call to HTMLElement::isHTMLUnknownElement() + |
| 2 * HTMLElement::hasTagName() |
| 2. Updating HTMLVideoElement / HTMLAudioElement type traits |
| specializations to: |
| - Avoid doing any virtual function call if the input type is an |
| HTMLMediaElement (which is common in the code base). |
| - Speed up check if the input is an Element by doing: |
| - virtual call to Element::isMediaElement() + |
| HTMLElement::hasTagName() |
| instead of |
| - Node::isHTMLElement() + |
| virtual call to !HTMLElement::isHTMLUnknownElement() + |
| HTMLElement::hasTagName() |
| The speed stays the same if the input is a Node or an HTMLElement. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSDefaultStyleSheets.cpp: |
| (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement): |
| * dom/make_names.pl: |
| (defaultTagPropertyHash): |
| (printTypeHelpers): |
| * html/HTMLAudioElement.h: |
| (isType): |
| * html/HTMLImageLoader.cpp: |
| * html/HTMLTagNames.in: |
| * html/HTMLVideoElement.h: |
| (isType): |
| * page/ChromeClient.h: |
| |
| 2014-10-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Migrate ComplexTextControllerCoreText to use SPI instead of WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138228 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no behavior change. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): |
| * platform/spi/cocoa/CoreTextSPI.h: Added. |
| |
| 2014-10-30 Eric Carlson <eric.carlson@apple.com> |
| |
| Add diagnostic logging to track page loads. |
| https://bugs.webkit.org/show_bug.cgi?id=138205 |
| <rdar://problem/18173017> |
| |
| Reviewed by Jer Noble. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure. |
| |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::pageLoadedKey): New. |
| * page/DiagnosticLoggingKeys.h: |
| |
| 2014-10-24 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Video resolution changes trigger a crash in the TextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=137065 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Switch to GstSample for buffer+caps communication between the |
| video sink and the player. Using a single object type for this |
| avoid issues where the caps might not correctly describe the |
| buffer contents anymore, for example when the video resolution is |
| changed. |
| |
| * platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample |
| instead of GstBuffer+GstCaps. |
| (WebCore::ImageGStreamer::createImage): |
| * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto. |
| (ImageGStreamer::ImageGStreamer): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: |
| (WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal |
| now uses a GstSample instead of a GstBuffer. |
| (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): |
| Store the current sample instead of a buffer. Also renamed the |
| mutex protecting access to the sample. |
| (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return |
| early if no sample is available. The caps used to get the video |
| size are store in the sample. |
| (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use |
| GstSample instead of GstBuffer. |
| (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto. |
| (WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto. |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: |
| * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a |
| GstSample internally. Also removed the now useless current-caps property. |
| (_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the |
| mutex protecting access to the sample. |
| (_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto. |
| (webkit_video_sink_init): Disable last-sample in basesink since we |
| already store one in our sink anyway. |
| (webkitVideoSinkTimeoutCallback): Switch to GstSample. |
| (webkitVideoSinkRender): Ditto. |
| (unlockSampleMutex): Ditto. |
| (webkitVideoSinkUnlock): Ditto. |
| (webkitVideoSinkUnlockStop): Ditto. |
| (webkitVideoSinkStop): Ditto! |
| (webkitVideoSinkStart): Ditto. |
| (webkit_video_sink_class_init): Drop current-caps property. |
| (webkitVideoSinkGetProperty): Deleted. |
| (unlockBufferMutex): Deleted. |
| |
| 2014-10-30 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| FormDataBuilder should not use Document |
| https://bugs.webkit.org/show_bug.cgi?id=138172 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| It's only used by encodingFromAcceptCharset() to fallback to |
| document input encoding. That method is only used by |
| FormSubmission::create(), so it could be moved as a static |
| function to FormSubmission.cpp. |
| |
| * loader/FormSubmission.cpp: |
| (WebCore::encodingFromAcceptCharset): |
| (WebCore::FormSubmission::create): |
| * platform/network/FormDataBuilder.cpp: |
| (WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted. |
| * platform/network/FormDataBuilder.h: |
| |
| 2014-10-29 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'. |
| https://bugs.webkit.org/show_bug.cgi?id=138054. |
| |
| Reviewed by Zalan Bujtas. |
| |
| A Length of type 'Calculated' can be generated from blending two lengths of |
| different types. Setting the wordSpacing of the render style should be handled |
| correctly when the type of the new value is 'Calculated'. |
| |
| Tests: css3/calculated-word-spacing.html. |
| |
| Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'. |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::setWordSpacing): |
| |
| 2014-10-29 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [CoordinatedGraphics] Use modern for-loops |
| https://bugs.webkit.org/show_bug.cgi?id=138168 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests as there is no change in functionality. |
| |
| * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop. |
| (WebCore::CompositingCoordinator::renderNextFrame): |
| (WebCore::CompositingCoordinator::paintToSurface): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop. |
| (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect): |
| (WebCore::CoordinatedGraphicsLayer::flushCompositingState): |
| (WebCore::CoordinatedGraphicsLayer::syncChildren): |
| (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): |
| (WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively): |
| (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers): |
| * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop. |
| (WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded): |
| |
| 2014-10-29 Chris Dumez <cdumez@apple.com> |
| |
| Final-ize more of TextFieldInputType's virtual functions |
| https://bugs.webkit.org/show_bug.cgi?id=138194 |
| |
| Reviewed by Andreas Kling. |
| |
| Final-ize more of TextFieldInputType's virtual functions for |
| performance. |
| |
| No new tests, no behavior change. |
| |
| * html/TextFieldInputType.h: |
| |
| 2014-10-29 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in inspector/ |
| https://bugs.webkit.org/show_bug.cgi?id=138190 |
| |
| Reviewed by Andreas Kling. |
| |
| Clean up virtual functions in inspector/ by: |
| - Making virtual functions final when possible |
| - Making classes final when possible |
| - Explicitly marking functions / destructors as virtual when they are |
| inherently virtual |
| - Making isXXX() virtual functions private on XXX classes to avoid |
| unnecessary type checks |
| |
| No new tests, no behavior change. |
| |
| * inspector/InspectorApplicationCacheAgent.h: |
| (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted. |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorDOMAgent.h: |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorDOMStorageAgent.h: |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorFrontendClientLocal.h: |
| * inspector/InspectorIndexedDBAgent.h: |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorStyleSheet.h: |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/InspectorWorkerAgent.h: |
| * inspector/PageConsoleAgent.h: |
| * inspector/WorkerInspectorController.h: |
| |
| 2014-10-29 Andreas Kling <akling@apple.com> |
| |
| Generalize dirtying of parent's line boxes when taking a renderer out of tree. |
| <https://webkit.org/b/138152> |
| |
| Reviewed by Antti Koivisto. |
| |
| Instead of calling dirtyLinesFromChangedChild() when certain types of renderers |
| are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree(). |
| |
| This is part of an effort to make render tree teardown less incomprehensible. |
| |
| We still don't bother at all if we're in the process of tearing down the entire |
| render tree, since that would be a waste of time. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::willBeDestroyed): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::willBeDestroyed): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::willBeRemovedFromTree): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::willBeDestroyed): |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::willBeDestroyed): Deleted. |
| * rendering/RenderReplaced.h: |
| |
| 2014-10-28 Ada Chan <adachan@apple.com> |
| |
| Implement WKPageSetMuted(bool). |
| https://bugs.webkit.org/show_bug.cgi?id=138158 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| * page/Page.h: |
| |
| 2014-10-29 Alexey Proskuryakov <ap@apple.com> |
| |
| Notify Settings object when its Page object goes away. |
| https://bugs.webkit.org/show_bug.cgi?id=138183 |
| rdar://problem/18786900 |
| |
| Reviewed by Andreas Kling. |
| |
| I could not make a test for this issue. |
| |
| * page/Page.cpp: |
| (WebCore::Page::~Page): |
| * page/Settings.cpp: |
| (WebCore::setImageLoadingSettings): |
| (WebCore::Settings::Settings): |
| (WebCore::Settings::setTextAutosizingEnabled): |
| (WebCore::Settings::setTextAutosizingWindowSizeOverride): |
| (WebCore::Settings::setTextAutosizingFontScaleFactor): |
| (WebCore::Settings::setMediaTypeOverride): |
| (WebCore::Settings::setScriptEnabled): |
| (WebCore::Settings::setUserStyleSheetLocation): |
| (WebCore::Settings::setMinDOMTimerInterval): |
| (WebCore::Settings::minDOMTimerInterval): |
| (WebCore::Settings::domTimerAlignmentInterval): |
| (WebCore::Settings::setUsesPageCache): |
| (WebCore::Settings::setScreenFontSubstitutionEnabled): |
| (WebCore::Settings::setFontRenderingMode): |
| (WebCore::Settings::setDNSPrefetchingEnabled): |
| (WebCore::Settings::setStorageBlockingPolicy): |
| (WebCore::Settings::setBackgroundShouldExtendBeyondPage): |
| (WebCore::Settings::setScrollingPerformanceLoggingEnabled): |
| (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled): |
| (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled): |
| (WebCore::Settings::setFontFallbackPrefersPictographs): |
| * page/Settings.h: |
| (WebCore::Settings::pageDestroyed): |
| |
| 2014-10-29 Zalan Bujtas <zalan@apple.com> |
| |
| Remove invalid float from RootInlineBox. |
| https://bugs.webkit.org/show_bug.cgi?id=137707 |
| |
| Reviewed by Antti Koivisto. |
| |
| In certain cases, floating boxes get attached to the last (root) inline box. |
| When this particular floating box gets destroyed, it also needs to be detached |
| from the last inline box. |
| 1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat()) |
| 2. Ensure that it is called when the floating box is being destroyed. |
| |
| Test: fast/inline/crash-when-inline-box-has-invalid-float.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::removeFloatingObject): |
| (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while |
| tearing down the render tree, we can get to a state where a block element has both inline and block children. |
| It happens when the style change on an element makes sibling anonymous block wrappers detached. |
| In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the |
| block child elements as we return early at the childrenInline() check. |
| * rendering/RootInlineBox.h: |
| (WebCore::RootInlineBox::removeFloat): |
| |
| 2014-10-29 Antti Koivisto <antti@apple.com> |
| |
| Factor cache validity computation functions out of CachedResource |
| https://bugs.webkit.org/show_bug.cgi?id=138156 |
| |
| Reviewed by Andreas Kling. |
| |
| These can be used to implement cache logic on WebKit level. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/CacheValidation.cpp: Added. |
| (WebCore::computeCurrentAge): |
| (WebCore::computeFreshnessLifetimeForHTTPFamily): |
| (WebCore::updateRedirectChainStatus): |
| (WebCore::redirectChainAllowsReuse): |
| * loader/CacheValidation.h: Added. |
| (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::updateResponseHeadersAfterRevalidation): |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::isExpired): |
| (WebCore::CachedResource::freshnessLifetime): |
| (WebCore::CachedResource::willSendRequest): |
| (WebCore::CachedResource::updateResponseAfterRevalidation): |
| (WebCore::CachedResource::redirectChainAllowsReuse): |
| (WebCore::currentAge): Deleted. |
| * loader/cache/CachedResource.h: |
| |
| 2014-10-29 Antti Koivisto <antti@apple.com> |
| |
| Unreviewed, rolling out r175342. |
| |
| a file ended up in a wrong directory |
| |
| Reverted changeset: |
| |
| "Factor cache validity computation functions out of |
| CachedResource" |
| https://bugs.webkit.org/show_bug.cgi?id=138156 |
| http://trac.webkit.org/changeset/175342 |
| |
| 2014-10-29 Antti Koivisto <antti@apple.com> |
| |
| Factor cache validity computation functions out of CachedResource |
| https://bugs.webkit.org/show_bug.cgi?id=138156 |
| |
| Reviewed by Andreas Kling. |
| |
| These can be used to implement cache logic on WebKit level. |
| |
| * CMakeLists.txt: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/CacheValidation.cpp: Added. |
| (WebCore::computeCurrentAge): |
| (WebCore::computeFreshnessLifetimeForHTTPFamily): |
| (WebCore::updateRedirectChainStatus): |
| (WebCore::redirectChainAllowsReuse): |
| * loader/CacheValidation.h: Added. |
| (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::updateResponseHeadersAfterRevalidation): |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::isExpired): |
| (WebCore::CachedResource::freshnessLifetime): |
| (WebCore::CachedResource::willSendRequest): |
| (WebCore::CachedResource::updateResponseAfterRevalidation): |
| (WebCore::CachedResource::redirectChainAllowsReuse): |
| (WebCore::currentAge): Deleted. |
| * loader/cache/CachedResource.h: |
| |
| 2014-10-28 Ada Chan <adachan@apple.com> |
| |
| Add API to mute/unmute a page. |
| https://bugs.webkit.org/show_bug.cgi?id=138150 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, since it's difficult to test whether the Page has indeed been muted. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setMuted): |
| Go through each AudioProducer and call setMuted() on it. |
| * dom/Document.h: |
| * page/AudioProducer.h: |
| Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far, |
| has already implemented setMuted(). |
| * page/Page.cpp: |
| (WebCore::Page::setMuted): |
| Go through all its frames and call setMuted() on each frame's Document. |
| * page/Page.h: |
| |
| 2014-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Implement action menus for data detected items |
| https://bugs.webkit.org/show_bug.cgi?id=138178 |
| <rdar://problem/18709436> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Export a symbol from Position that we need. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac/DataDetectorsSPI.h: |
| Add a combined SPI header for all of the random bits of DataDetectors that we use. |
| |
| 2014-10-29 Jer Noble <jer.noble@apple.com> |
| |
| [EME] NULL-dereference crash in MediaKeys::setMediaElement(). |
| https://bugs.webkit.org/show_bug.cgi?id=138177 |
| |
| Reviewed by Eric Carlson. |
| |
| NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement |
| has previously had stop() called. |
| |
| * Modules/encryptedmedia/MediaKeys.cpp: |
| (WebCore::MediaKeys::setMediaElement): |
| |
| 2014-10-29 Jer Noble <jer.noble@apple.com> |
| |
| [EME] MediaKeySession resources persist across page reloads |
| https://bugs.webkit.org/show_bug.cgi?id=138176 |
| |
| Reviewed by Eric Carlson. |
| |
| MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context, |
| close() the session, releasing all our resources. |
| |
| * Modules/encryptedmedia/MediaKeySession.h: |
| |
| 2014-10-29 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] MediaKeySession type "keyrelease" is ignored. |
| https://bugs.webkit.org/show_bug.cgi?id=138175 |
| |
| Reviewed by Eric Carlson. |
| |
| To indicate that they would like to recevie expired session confirmation messages, clients |
| will create a MediaKeySession with a type parameter of "keyrelease". The code which validates |
| this type needs to be updated to recognize "keyrelease" as a valid type. |
| |
| Also, the code which validates update() requests needs to allow updates containing the string |
| "acknowledged", so that clients can request the confirmation messages be discarded. |
| |
| * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm: |
| (WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): |
| |
| 2014-10-28 Ada Chan <adachan@apple.com> |
| |
| Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange(). |
| https://bugs.webkit.org/show_bug.cgi?id=138153 |
| |
| Reviewed by Jer Noble. |
| |
| After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions |
| and it doesn't need to query each MediaSession for its characteristics and play state. |
| MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange() |
| can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::updatePlayState): |
| Call setPlaying() rather than setting m_playing directly. |
| (WebCore::HTMLMediaElement::setPlaying): |
| Update m_playing. If it has changed, call Document::updateIsPlayingAudio(). |
| (WebCore::HTMLMediaElement::setPausedInternal): |
| Call setPlaying() rather than setting m_playing directly. |
| (WebCore::HTMLMediaElement::isPlayingAudio): |
| Call isPlaying() directly rather than checking the MediaSession's state. |
| * html/HTMLMediaElement.h: |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::setState): |
| MediaSessionClient::mediaStateDidChange() has been removed. |
| (WebCore::MediaSession::hasMediaCharacteristics): Deleted. |
| * platform/audio/MediaSession.h: |
| (WebCore::MediaSessionClient::mediaStateDidChange): Deleted. |
| * platform/audio/ios/AudioDestinationIOS.h: |
| * platform/audio/mac/AudioDestinationMac.h: |
| |
| 2014-10-29 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in html/ |
| https://bugs.webkit.org/show_bug.cgi?id=138166 |
| |
| Reviewed by Andreas Kling. |
| |
| Clean up virtual functions in html/ by: |
| - Making virtual functions final when possible |
| - Making classes final when possible |
| - Using 'override' when appropriate |
| - Explicitly marking functions / destructors as virtual when they are |
| inherently virtual |
| - Dropping virtual destructors when the class does not have subclasses |
| and mark the class as final, to get rid of unnecessary vtables |
| - Making isXXX() virtual functions private on XXX classes to avoid |
| unnecessary type checks |
| - De-virtualizing some functions that do not need to be virtual |
| - Dropping final for virtual functions in classes already marked as |
| final |
| |
| No new tests, no behavior change. |
| |
| * html/ButtonInputType.h: |
| * html/CheckboxInputType.h: |
| * html/ColorInputType.h: |
| * html/DOMSettableTokenList.h: |
| * html/DateInputType.h: |
| * html/DateTimeInputType.h: |
| * html/DateTimeLocalInputType.h: |
| * html/EmailInputType.h: |
| * html/FTPDirectoryDocument.h: |
| * html/HTMLAnchorElement.h: |
| * html/HTMLDetailsElement.cpp: |
| * html/HTMLFormControlElement.h: |
| * html/HTMLFormControlsCollection.h: |
| * html/HTMLFrameElement.h: |
| * html/HTMLFrameElementBase.h: |
| * html/HTMLFrameOwnerElement.h: |
| * html/HTMLInputElement.h: |
| * html/HTMLMarqueeElement.h: |
| * html/HTMLMediaElement.h: |
| * html/HTMLMediaSession.h: |
| (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted. |
| * html/HTMLMeterElement.h: |
| * html/HTMLNameCollection.h: |
| * html/HTMLObjectElement.h: |
| * html/HTMLOptGroupElement.h: |
| * html/HTMLOptionElement.h: |
| * html/HTMLSpanElement.h: |
| * html/HTMLStyleElement.h: |
| * html/HTMLSummaryElement.cpp: |
| * html/HTMLSummaryElement.h: |
| * html/HTMLUnknownElement.h: |
| * html/HTMLVideoElement.h: |
| * html/HiddenInputType.h: |
| * html/ImageInputType.h: |
| * html/MediaKeyEvent.h: |
| * html/MonthInputType.h: |
| * html/NumberInputType.h: |
| * html/PasswordInputType.h: |
| * html/PublicURLManager.h: |
| * html/RadioInputType.h: |
| * html/ResetInputType.h: |
| * html/SubmitInputType.h: |
| * html/TelephoneInputType.h: |
| * html/TextInputType.h: |
| * html/TimeInputType.h: |
| * html/URLInputType.h: |
| * html/WeekInputType.h: |
| * html/canvas/ANGLEInstancedArrays.h: |
| * html/canvas/CanvasRenderingContext2D.h: |
| * html/canvas/DOMPath.h: |
| * html/canvas/EXTShaderTextureLOD.h: |
| * html/canvas/EXTTextureFilterAnisotropic.h: |
| * html/canvas/OESElementIndexUint.h: |
| * html/canvas/OESStandardDerivatives.h: |
| * html/canvas/OESTextureFloat.h: |
| * html/canvas/OESTextureFloatLinear.h: |
| * html/canvas/OESTextureHalfFloat.h: |
| * html/canvas/OESTextureHalfFloatLinear.h: |
| * html/canvas/OESVertexArrayObject.h: |
| * html/canvas/WebGLBuffer.h: |
| * html/canvas/WebGLCompressedTextureATC.h: |
| * html/canvas/WebGLCompressedTexturePVRTC.h: |
| * html/canvas/WebGLCompressedTextureS3TC.h: |
| * html/canvas/WebGLContextAttributes.h: |
| * html/canvas/WebGLContextEvent.h: |
| * html/canvas/WebGLDebugRendererInfo.h: |
| * html/canvas/WebGLDebugShaders.h: |
| * html/canvas/WebGLDepthTexture.h: |
| * html/canvas/WebGLDrawBuffers.h: |
| * html/canvas/WebGLFramebuffer.h: |
| (WebCore::WebGLFramebuffer::isFramebuffer): Deleted. |
| * html/canvas/WebGLLoseContext.h: |
| * html/canvas/WebGLProgram.h: |
| * html/canvas/WebGLRenderbuffer.h: |
| * html/canvas/WebGLRenderingContext.h: |
| * html/canvas/WebGLShader.h: |
| * html/canvas/WebGLSharedObject.h: |
| (WebCore::WebGLSharedObject::isFramebuffer): Deleted. |
| * html/canvas/WebGLTexture.h: |
| * html/canvas/WebGLVertexArrayObjectOES.h: |
| (WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted. |
| * html/shadow/ImageControlsRootElement.h: |
| * html/shadow/InsertionPoint.h: |
| * html/shadow/MediaControlElementTypes.h: |
| * html/shadow/MediaControlElements.h: |
| * html/shadow/MediaControls.h: |
| * html/shadow/MediaControlsApple.h: |
| * html/shadow/SpinButtonElement.h: |
| * html/track/AudioTrack.h: |
| * html/track/AudioTrackList.h: |
| * html/track/DataCue.h: |
| (WebCore::DataCue::cueType): Deleted. |
| * html/track/InbandDataTextTrack.h: |
| * html/track/InbandGenericTextTrack.h: |
| * html/track/InbandTextTrack.h: |
| * html/track/InbandWebVTTTextTrack.h: |
| * html/track/LoadableTextTrack.h: |
| * html/track/TextTrackList.h: |
| * html/track/TrackEvent.h: |
| * html/track/VTTCue.h: |
| (WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs): |
| * html/track/VTTRegion.h: |
| * html/track/VideoTrack.h: |
| * html/track/VideoTrackList.h: |
| * html/track/WebVTTParser.h: |
| (WebCore::WebVTTCueData::~WebVTTCueData): Deleted. |
| |
| 2014-10-17 Sergio Villar Senin <svillar@igalia.com> |
| |
| ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks |
| https://bugs.webkit.org/show_bug.cgi?id=137772 |
| |
| Reviewed by Andreas Kling. |
| |
| We're hitting the ASSERTION because if the number of tracks an |
| item spans does greatly exceed the available logical space, then |
| the result of the division availableLogicalSpace/numberOfTracks is |
| truncated to 0. So the ASSERTION was theoretically right because |
| the result has to be always >0 (as the dividend > 0) but the fact |
| that the result is a LayoutUnit forces us to accept 0 as a valid |
| outcome of the operation. |
| |
| Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::distributeSpaceToTracks): |
| |
| 2014-10-29 Chris Dumez <cdumez@apple.com> |
| |
| Crash in CachedRawResource::canReuse() when reloading http://dnd.wizards.com/dungeons-and-dragons/story |
| https://bugs.webkit.org/show_bug.cgi?id=138164 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch fixes a crash when reloading the following URL: |
| http://dnd.wizards.com/dungeons-and-dragons/story |
| |
| We were crashing in CachedRawResource::canReuse() because header.key |
| would sometimes be a null String and we would call |
| HashMap::get(nullString). |
| |
| The real issue was that header.key was null in the first place, which |
| means that even though the HTTPHeaderMap iterator is valid, it->key |
| is a null String, which should never happen. There was a bug in the |
| HTTPHeaderMapConstIterator() constructor that would cause the |
| iterator key/value pair to not get initialized if the HTTPHeaderMap |
| contained *only* uncommon HTTP headers. This patch updates the |
| constructor so that we fall back to updating the key/value from the |
| uncommon header map, if we failed to initialized from the common |
| header map (because it was empty). |
| |
| Test: http/tests/cache/xhr-uncommon-header.html |
| |
| * platform/network/HTTPHeaderMap.h: |
| (WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator): |
| |
| 2014-10-28 Benjamin Poulain <benjamin@webkit.org> |
| |
| CSS4 Selectors: Add the pseudo class :any-link |
| https://bugs.webkit.org/show_bug.cgi?id=138128 |
| |
| Reviewed by Andreas Kling. |
| |
| Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo |
| |
| After :link and :-webkit-any-link were fixed, :any-link behaves |
| exactly like :-webkit-any-link. All I had left to do here was |
| make them synonyms when evaluating selectors. |
| |
| Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo |
| |
| After :link and :-webkit-any-link were fixed, :any-link behaves |
| exactly like :-webkit-any-link. All I had left to do here was |
| make them synonyms when evaluating selectors. |
| |
| Tests: fast/selectors/any-link-basics-2.html |
| fast/selectors/any-link-basics.html |
| fast/selectors/any-link-styling.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| * css/CSSSelector.h: |
| * css/RuleSet.cpp: |
| (WebCore::RuleSet::addRule): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * css/SelectorChecker.h: |
| (WebCore::SelectorChecker::isCommonPseudoClassSelector): |
| * css/SelectorPseudoClassAndCompatibilityElementMap.in: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching): |
| |
| 2014-10-28 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time |
| https://bugs.webkit.org/show_bug.cgi?id=138149 |
| |
| Reviewed by Brent Fulgham. |
| |
| AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires |
| us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed. |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): |
| (WebCore::sessionStorageDirectory): Deleted. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::sessionStorageDirectory): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): |
| |
| 2014-10-28 Geoffrey Garen <ggaren@apple.com> |
| |
| All networking crashes on Mac 32bit |
| https://bugs.webkit.org/show_bug.cgi?id=138157 |
| |
| Reviewed by Andy Estes. |
| |
| NEFilterSource content filtering is not available on 32bit, so |
| soft-linking fails at runtime. The simplest solution is just to disable |
| it at compile time. |
| |
| * platform/ContentFilter.h: |
| |
| 2014-10-28 Jeremy Jones <jeremyj@apple.com> |
| |
| Add optimized fullscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=138044 |
| |
| Reviewed by Jer Noble. |
| |
| Enable different types of fullscreen video behavior. |
| Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen. |
| Add gesture for alternate fullscreen. |
| |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::enterFullscreenOptimized): added |
| * Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized |
| * Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture |
| * WebCore.exp.in: added parameter to setupFullscreen |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType |
| (WebCore::HTMLMediaElement::stop) : ditto |
| (WebCore::HTMLMediaElement::isFullscreen) : ditto |
| (WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement |
| (WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType |
| (WebCore::HTMLMediaElement::enterFullscreenOptimized): added |
| * html/HTMLMediaElement.h: added enterFullscreenOptimized |
| * page/ChromeClient.h: |
| (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter |
| * platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| (-[WebVideoFullscreenController enterFullscreen:type:]): add parameter |
| (-[WebVideoFullscreenController enterFullscreen:]): Deleted. |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (-[WebAVPlayerController player]): this stub is now required |
| (-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames |
| (WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto |
| (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto |
| |
| 2014-10-28 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in accessibility/ |
| https://bugs.webkit.org/show_bug.cgi?id=138148 |
| |
| Reviewed by Chris Fleizach. |
| |
| Clean up virtual functions in accessibility/ by: |
| - Marking classes as final when suitable |
| - Marking virtual functions as final when suitable |
| - Dropping final on virtual functions in classes that are already final |
| - Make isXXX() virtual type checking functions in XXX classes to avoid |
| useless type checks |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityARIAGrid.h: |
| * accessibility/AccessibilityARIAGridCell.h: |
| * accessibility/AccessibilityARIAGridRow.h: |
| * accessibility/AccessibilityImageMapLink.h: |
| * accessibility/AccessibilityList.h: |
| * accessibility/AccessibilityListBox.h: |
| * accessibility/AccessibilityListBoxOption.h: |
| * accessibility/AccessibilityMediaControls.h: |
| * accessibility/AccessibilityMenuList.h: |
| * accessibility/AccessibilityMenuListOption.h: |
| * accessibility/AccessibilityMenuListPopup.h: |
| * accessibility/AccessibilityMockObject.h: |
| (WebCore::AccessibilityMockObject::setParent): |
| * accessibility/AccessibilityNodeObject.h: |
| * accessibility/AccessibilityProgressIndicator.h: |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/AccessibilitySVGRoot.h: |
| * accessibility/AccessibilityScrollView.h: |
| * accessibility/AccessibilityScrollbar.h: |
| * accessibility/AccessibilitySearchFieldButtons.h: |
| * accessibility/AccessibilitySlider.h: |
| * accessibility/AccessibilitySpinButton.h: |
| * accessibility/AccessibilityTable.h: |
| * accessibility/AccessibilityTableCell.h: |
| * accessibility/AccessibilityTableColumn.h: |
| * accessibility/AccessibilityTableHeaderContainer.h: |
| * accessibility/AccessibilityTableRow.h: |
| |
| 2014-10-24 Jeffrey Pfau <jpfau@apple.com> |
| |
| FrameProgressTracker expects Page to not have detached |
| https://bugs.webkit.org/show_bug.cgi?id=138061 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In some cases, a Page may be detached from a Frame before its |
| FrameLoader is torn down, causing FrameProgressTracker's destructor |
| to hit a null pointer. |
| |
| No new tests; it is impossible to reliably simulate the null pointer |
| case without intrusive code changes. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker): |
| |
| 2014-10-27 Ada Chan <adachan@apple.com> |
| |
| Introduce a new abstract class called AudioProducer and keep a set of AudioProducers |
| rather than the active MediaSessions in Document |
| https://bugs.webkit.org/show_bug.cgi?id=138107 |
| |
| Reviewed by Eric Carlson. |
| |
| No new tests, no behavior change. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Add AudioProducer.h to the project. |
| * dom/Document.cpp: |
| (WebCore::Document::addAudioProducer): |
| (WebCore::Document::removeAudioProducer): |
| (WebCore::Document::updateIsPlayingAudio): |
| Go through the set of AudioProducers and see if any is playing audio. |
| Now that this method no longer refers to MediaSessions directly, this code |
| does not need to be guarded by #if ENABLE(VIDEO). |
| (WebCore::Document::registerMediaSession): Deleted. |
| (WebCore::Document::unregisterMediaSession): Deleted. |
| * dom/Document.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::registerWithDocument): |
| (WebCore::HTMLMediaElement::unregisterWithDocument): |
| (WebCore::HTMLMediaElement::isPlayingAudio): |
| Return whether this element is playing audio. |
| * html/HTMLMediaElement.h: |
| * page/AudioProducer.h: Added. |
| (WebCore::AudioProducer::~AudioProducer): |
| * page/Page.cpp: |
| (WebCore::Page::updateIsPlayingAudio): |
| This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls |
| are no longer guarded. |
| * page/Page.h: |
| |
| 2014-10-28 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed comment fix from r175267. |
| |
| Fix namespace name in comment. |
| |
| * css/StyleBuilderCustom.h: |
| |
| 2014-10-28 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store |
| https://bugs.webkit.org/show_bug.cgi?id=137757 |
| |
| Reviewed by Eric Carlson. |
| |
| In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead |
| of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this |
| <div> should be created and added in mediaControlsiOS.js, which requires overloading |
| Controller.addControls. |
| |
| * Modules/mediacontrols/mediaControlsApple.css: |
| (audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden. |
| (video::-webkit-media-controls-panel-composited-parent): Deleted. |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.createControls): Remove the composited parent. |
| (Controller.prototype.addControls): Ditto. |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.createControls): Create the composited parent. |
| (ControllerIOS.prototype.addControls): Copied from (previous) apple.js. |
| |
| 2014-10-28 Chris Dumez <cdumez@apple.com> |
| |
| Move "Number" CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138125 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move "Number" CSS properties from DeprecatedStyleBuilder to the new |
| StyleBuilder: |
| -webkit-hyphenate-limit-after |
| -webkit-hyphenate-limit-before |
| -webkit-shape-image-threshold |
| -webkit-hyphenate-limit-lines |
| |
| They are now generated from CSSPropertyNames.in |
| |
| For -webkit-hyphenate-limit-lines, I used custom code instead of |
| the Number converter as it required special handling for the id |
| value. This patch thus adds support for [Custom=Value] to |
| CSSPropertyNames.in and the custom code goes into |
| css/StyleBuilderCustom.h. |
| |
| No new tests, no behavior change. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyNumber::setValue): Deleted. |
| (WebCore::ApplyPropertyNumber::applyValue): Deleted. |
| (WebCore::ApplyPropertyNumber::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertNumber): |
| * css/StyleBuilderCustom.h: Added. |
| (WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines): |
| * css/makeprop.pl: |
| |
| 2014-10-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WebCore] Remove uses of WTF::bind() in the Media Stream module |
| https://bugs.webkit.org/show_bug.cgi?id=138016 |
| |
| Reviewed by Eric Carlson. |
| |
| Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas. |
| Internal helper methods are removed in favor of inlining the code directly |
| into the lambdas. Range-based for-loops are deployed where appropriate. |
| |
| * Modules/mediastream/MediaStreamTrack.cpp: |
| (WebCore::MediaStreamTrack::scheduleEventDispatch): |
| (WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted. |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: |
| (WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest): |
| (WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted. |
| * Modules/mediastream/MediaStreamTrackSourcesRequest.h: |
| * Modules/mediastream/UserMediaRequest.cpp: |
| (WebCore::UserMediaRequest::constraintsValidated): |
| (WebCore::UserMediaRequest::userMediaAccessGranted): |
| (WebCore::UserMediaRequest::didCreateStream): |
| (WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError): |
| (WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError): |
| (WebCore::UserMediaRequest::requestPermission): Deleted. |
| (WebCore::UserMediaRequest::createMediaStream): Deleted. |
| (WebCore::UserMediaRequest::callSuccessHandler): Deleted. |
| (WebCore::UserMediaRequest::callErrorHandler): Deleted. |
| * Modules/mediastream/UserMediaRequest.h: |
| |
| 2014-10-28 Pascal Jacquemart <p.jacquemart@samsung.com> |
| |
| Abandoned select option is reselected when shift selecting new options |
| https://bugs.webkit.org/show_bug.cgi?id=137553 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using |
| typeAhead. Fixed by clearing previously selected options before starting a new active selection. |
| |
| Test: fast/forms/listbox-selection-after-typeahead.html |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::selectOption): Code re-ordering |
| |
| 2014-10-28 Milan Crha <mcrha@redhat.com> |
| |
| Use constants from wtf/MathExtras.h |
| https://bugs.webkit.org/show_bug.cgi?id=137967 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/graphics/freetype/FontPlatformDataFreeType.cpp: |
| (WebCore::rotateCairoMatrixForVerticalOrientation): |
| * rendering/mathml/RenderMathMLMenclose.cpp: |
| (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths): |
| (WebCore::RenderMathMLMenclose::updateLogicalHeight): |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): |
| |
| 2014-10-28 David Hyatt <hyatt@apple.com> |
| |
| Selection gap painting is ugly for ruby bases. |
| https://bugs.webkit.org/show_bug.cgi?id=138136 |
| |
| Reviewed by Dean Jackson. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::selectionGaps): |
| For ruby bases don't fill to the end of the block (in the block direction), |
| since ideographic baselines push that end below the text baseline. |
| |
| (WebCore::RenderBlock::blockSelectionGaps): |
| * rendering/RenderBlockFlow.cpp: |
| Skip ruby bases for block selection gap filling. |
| |
| 2014-10-28 Zalan Bujtas <zalan@apple.com> |
| |
| Speed up line parsing for simple line layout. |
| https://bugs.webkit.org/show_bug.cgi?id=137275 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch speeds up the line parsing for simple line layout by |
| reducing the number of text measurement calls. |
| The parsing logic hasn't changed. We simply walk over |
| the whitespace/non-whitespace fragments and measure them to |
| figure out whether they fit. |
| The performance gain mainly comes from the more efficient line wrapping |
| so that we don't re-measure the fragment when it is pushed to |
| the next line. |
| |
| No change in behaviour. (except the empty line-break run removal.) |
| |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::skipWhitespace): |
| (WebCore::SimpleLineLayout::computeLineLeft): |
| (WebCore::SimpleLineLayout::TextFragment::TextFragment): |
| (WebCore::SimpleLineLayout::TextFragment::isEmpty): |
| (WebCore::SimpleLineLayout::LineState::LineState): |
| (WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it. |
| (WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text. |
| (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text. |
| (WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text. |
| (WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text. |
| (WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line. |
| (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): |
| (WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace. |
| (WebCore::SimpleLineLayout::initializeLine): |
| (WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line. |
| (WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text. |
| (WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line. |
| (WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line. |
| (WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text. |
| (WebCore::SimpleLineLayout::isWhitespace): Deleted. |
| (WebCore::SimpleLineLayout::skipWhitespaces): Deleted. |
| (WebCore::SimpleLineLayout::measureWord): Deleted. |
| (WebCore::SimpleLineLayout::adjustRunOffsets): Deleted. |
| * rendering/SimpleLineLayout.h: |
| (WebCore::SimpleLineLayout::Run::Run): |
| |
| 2014-10-28 Alexey Proskuryakov <ap@apple.com> |
| |
| Windows build fix. |
| |
| * platform/network/cf/NetworkStorageSessionCFNet.cpp: |
| (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function |
| for getting current process ID instead of getpid(). |
| |
| 2014-10-28 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| Clean up subtrees selection code |
| https://bugs.webkit.org/show_bug.cgi?id=137740 |
| |
| Reviewed by David Hyatt. |
| |
| Clean up subtrees selection code. Add a new class SelectionSubtreeData |
| that keeps only the selection data. Have SelectionSubtreeRoot class embed |
| a SelectionSubtreeData member and keep the business logic methods. |
| No functionality changed therefore no new layout tests. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::selectionStartEnd): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::subtreeSelectionBounds): |
| (WebCore::RenderView::repaintSubtreeSelection): |
| (WebCore::RenderView::setSelection): |
| (WebCore::RenderView::splitSelectionBetweenSubtrees): |
| (WebCore::RenderView::updateSelectionForSubtrees): |
| (WebCore::RenderView::clearSubtreeSelection): |
| (WebCore::RenderView::applySubtreeSelection): |
| * rendering/RenderView.h: |
| * rendering/SelectionSubtreeRoot.cpp: |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot): |
| (WebCore::SelectionSubtreeRoot::adjustForVisibleSelection): |
| * rendering/SelectionSubtreeRoot.h: |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos): |
| (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection): |
| (WebCore::SelectionSubtreeRoot::selectionData): |
| (WebCore::SelectionSubtreeRoot::setSelectionData): |
| (WebCore::SelectionSubtreeRoot::selectionStart): Deleted. |
| (WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted. |
| (WebCore::SelectionSubtreeRoot::selectionEnd): Deleted. |
| (WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted. |
| (WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted. |
| (WebCore::SelectionSubtreeRoot::selectionClear): Deleted. |
| (WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted. |
| (WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted. |
| (WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted. |
| (WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted. |
| |
| 2014-10-28 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] The first software paint of a <video> element takes up to 2.5s. |
| https://bugs.webkit.org/show_bug.cgi?id=137754 |
| |
| Reviewed by Brent Fulgham. |
| |
| It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:] |
| the video output will not attempt to conform the resulting pixel buffers into a particular format. |
| This means that adding such a video output to a AVPlayerItem should have almost no performance |
| penalty, since the video output does not even copy the resulting buffers, but rather just retains |
| and returns the ones from the AVPlayerLayer. |
| |
| Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching |
| the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching |
| a video output to an already attached AVPlayerItem. |
| |
| When creating the AVPlayerItemVideoOutput, pass in `nil` for the pixelBufferAttributes parameter. |
| |
| Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and |
| whait when asked to paint with the video output. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): |
| |
| 2014-10-28 Chris Dumez <cdumez@apple.com> |
| |
| Move text decoration CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138121 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move text decoration CSS properties from DeprecatedStyleBuilder to the |
| new StyleBuilder so that they are generated from CSSPropertyNames.in. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyTextDecoration::applyValue): Deleted. |
| (WebCore::ApplyPropertyTextDecoration::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertTextDecoration): |
| |
| 2014-10-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove GDK dependency from SharedTimerGtk |
| https://bugs.webkit.org/show_bug.cgi?id=138092 |
| |
| Reviewed by Martin Robinson. |
| |
| It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can |
| use its value directly instead. |
| |
| * PlatformGTK.cmake: |
| * platform/gtk/SharedTimerGtk.cpp: |
| (WebCore::setSharedTimerFireInterval): |
| |
| 2014-10-27 Andreas Kling <akling@apple.com> |
| |
| Move RenderBlock::beingDestroyed() to RenderObject. |
| <https://webkit.org/b/138116> |
| |
| Reviewed by Antti Koivisto. |
| |
| Make "is being destroyed" a RenderObject concept instead of restricting |
| it to RenderBlocks. I'm guessing that this was specific to blocks due to |
| lack of bitfield space in RenderObject, and that's no longer an issue. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::RenderBlock): |
| (WebCore::RenderBlock::willBeDestroyed): |
| * rendering/RenderBlock.h: |
| (WebCore::RenderBlock::beingDestroyed): Deleted. |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::willBeDestroyed): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::destroy): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::beingDestroyed): |
| (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields): |
| |
| 2014-10-27 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: input type=hidden is being exposed when aria-hidden=false |
| https://bugs.webkit.org/show_bug.cgi?id=138106 |
| |
| Reviewed by Benjamin Poulain. |
| |
| If an input type=hidden was inside an aria-hidden=false, it would appear because |
| the lack of a RenderObject behind that object was not blocking its adoption into the AX tree. |
| We should explicity check for whether the type is hidden and then return an appropriate role. |
| |
| Test: accessibility/input-type-hidden-in-aria-hidden-false.html |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::determineAccessibilityRole): |
| (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored): |
| |
| 2014-10-27 Alexey Proskuryakov <ap@apple.com> |
| |
| https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| |
| 2014-10-24 David Hyatt <hyatt@apple.com> |
| |
| text-combine needs to center text within the vertical space using glyph bounds |
| https://bugs.webkit.org/show_bug.cgi?id=138056 |
| <rdar://problem/15403667> |
| |
| Reviewed by Dean Jackson. |
| |
| Added fast/text/tatechuyoko.html |
| |
| * rendering/RenderCombineText.cpp: |
| (WebCore::RenderCombineText::RenderCombineText): |
| (WebCore::RenderCombineText::adjustTextOrigin): |
| (WebCore::RenderCombineText::combineText): |
| * rendering/RenderCombineText.h: |
| |
| 2014-10-27 Benjamin Poulain <benjamin@webkit.org> |
| |
| Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute() |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| Darin spotted this mistake. |
| |
| 2014-10-27 Alexey Proskuryakov <ap@apple.com> |
| |
| http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots |
| https://bugs.webkit.org/show_bug.cgi?id=138098 |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/network/cf/NetworkStorageSessionCFNet.cpp: |
| (WebCore::NetworkStorageSession::switchToNewTestingSession): |
| Create a separate session for each WKTR/DRT process when testing. |
| |
| 2014-10-27 Chris Dumez <cdumez@apple.com> |
| |
| Use separate HashMaps for common and uncommon headers in HTTPHeaderMap |
| https://bugs.webkit.org/show_bug.cgi?id=138079 |
| |
| Reviewed by Anders Carlsson. |
| |
| Use separate HashMaps for common and uncommon headers in HTTPHeaderMap: |
| - a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers |
| - a HashMap<String, String, CaseFoldingHash> for uncommon ones |
| |
| This avoids having to construct Strings from HTTPHeaderMap values for |
| storing. This also means we have less isolated String copies to do when |
| creating cross-thread data. The common headers HashMap should also be |
| a bit more efficient due to faster hashing and faster key comparison in |
| case of collision. |
| |
| Some calls sites can also benefit from having direct access to common |
| headers of the request in HTTPHeaderName type. |
| |
| This patch adds a new HTTPHeaderMapConstIterator iterator type for |
| HTTPHeaderMap so that call sites that do not need / want to distinguish |
| common / uncommon headers still do not need to. They can keep using |
| modern C++ loops over HTTPHeaderMap objects and get <String, String> |
| key/value pairs. |
| |
| No new tests, no behavior change. |
| |
| * loader/CrossOriginAccessControl.cpp: |
| (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): |
| Have isOnAccessControlSimpleRequestHeaderWhitelist() take a |
| HTTPHeaderName in argument instead of a String as only common headers |
| are in the whitelist. |
| |
| (WebCore::isSimpleCrossOriginAccessRequest): |
| Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common |
| HTTP headers. |
| |
| * loader/CrossOriginAccessControl.h: |
| Have isOnAccessControlSimpleRequestHeaderWhitelist() take a |
| HTTPHeaderName in argument instead of a String as only common headers |
| are in the whitelist. |
| |
| * loader/CrossOriginPreflightResultCache.cpp: |
| (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): |
| Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common |
| HTTP headers. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::responseReceived): |
| Call httpHeaderFields().commonHeaders().find() instead of |
| httpHeaderFields().find() as we are looking for a common header. |
| HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a |
| HashMap dedicated to common headers. |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::shouldIgnoreHeaderForCacheReuse): |
| Update argument type to be a HTTPHeaderName instead of a String as |
| only common HTTP headers can be ignored for cache reuse. The |
| implementation already dealt with HTTPHeaderName type and had to |
| call findHTTPHeaderName(). This is no longer needed now that the |
| call site now has direct access to common headers in HTTPHeaderName |
| type. |
| |
| (WebCore::CachedRawResource::canReuse): |
| - Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers. |
| - Slightly optimize the second loop (the one over oldHeaderMap) to only |
| check that the key is present in newHeaderMap, without actually |
| comparing the String values. If the String values were different, the |
| first loop would have seen it already and we would have returned |
| early. |
| |
| 2014-10-27 Andreas Kling <akling@apple.com> |
| |
| Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren(). |
| <https://webkit.org/b/138096> |
| |
| Reviewed by Chris Dumez. |
| |
| This function is only ever called on a renderer after we've checked |
| that it's a RenderDeprecatedFlexibleBox, so make it non-virtual. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computeLogicalHeight): |
| * rendering/RenderDeprecatedFlexibleBox.h: |
| * rendering/RenderObject.h: |
| |
| 2014-10-27 Chris Dumez <cdumez@apple.com> |
| |
| Reintroduce null check removed in r175222 |
| https://bugs.webkit.org/show_bug.cgi?id=138087 |
| |
| Reviewed by Andreas Kling. |
| |
| Reintroduce null check removed in r175222 as several layout tests are |
| crashing on the bots without them. At least the Pair pointer can be |
| null according to the assertion hits on the bots. |
| |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertRadius): |
| |
| 2014-10-27 Chris Dumez <cdumez@apple.com> |
| |
| Move radius CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138087 |
| |
| Reviewed by Andreas Kling. |
| |
| Move radius CSS properties from DeprecatedStyleBuilder to the new |
| StyleBuilder so that they are now generated from CSSPropertyNames.in. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyBorderRadius::setValue): Deleted. |
| (WebCore::ApplyPropertyBorderRadius::applyValue): Deleted. |
| (WebCore::ApplyPropertyBorderRadius::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertRadius): |
| |
| 2014-10-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| Shrink MathMLOperatorDictionary::dictionary table |
| https://bugs.webkit.org/show_bug.cgi?id=137914 |
| |
| Reviewed by Darin Adler. |
| |
| Improve packing of the Entry structure that's used for elements |
| of the MathMLOperatorDictionary::dictionary table. This drops the |
| size of the struct from 16 bytes to just 4 bytes, and shrinks the |
| size of the dictionary table from rougly 16 kB down to 4 kB. |
| |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::MathMLOperatorDictionary::ExtractKey): |
| (WebCore::RenderMathMLOperator::setOperatorProperties): |
| * rendering/mathml/RenderMathMLOperator.h: |
| |
| 2014-10-27 Andreas Kling <akling@apple.com> |
| |
| Move canContainFixedPositionObjects() to RenderElement. |
| <https://webkit.org/b/138088> |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Only RenderElement can contain other renderers, so it's not really |
| natural to answer this question on RenderObject anyway. |
| |
| Moving it to RenderElement lets it access more efficient getters |
| that don't have to handle the RenderText case. |
| |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::canContainFixedPositionObjects): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::canContainFixedPositionObjects): Deleted. |
| |
| 2014-10-26 Benjamin Poulain <benjamin@webkit.org> |
| |
| Images with usemap should not have a link state |
| https://bugs.webkit.org/show_bug.cgi?id=138071 |
| |
| Reviewed by Andreas Kling. |
| |
| Image tags were incorrectly getting a link state if a usemap is defined. |
| The <area> of the usemap is supposed to get the link state, but never the image. |
| |
| Unfortunately, the Accessibility code was relying on the wrong behavior |
| to set the ImageMapRole, most of the patch is updating that code to get |
| the correct role without the link state. |
| |
| Test: fast/selectors/images-with-usemap-should-not-match-link.html |
| |
| The accessibility code is covered by a few tests in accessibility/. |
| The test accessibility/aria-used-on-image-maps.html ensure the <area> |
| elements also get the correct role. |
| |
| * dom/Node.h: |
| (WebCore::Node::setIsLink): |
| (WebCore::Node::clearIsLink): Deleted. |
| Unused code. |
| |
| (WebCore::Node::isLink): |
| Move with its setter for clarity. |
| |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::parseAttribute): |
| This is the bug. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| Here the branches for the role ImageMap where behind isLink() which would |
| never be valid after the fix. |
| |
| My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(), |
| any usemap attribute qualifies the node for ImageMapRole. |
| |
| (WebCore::AccessibilityRenderObject::anchorElement): |
| (WebCore::AccessibilityRenderObject::linkedUIElements): |
| (WebCore::AccessibilityRenderObject::url): |
| |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isAnchor): Deleted. |
| Something funny I discovered is the Accessibility code worked around the bug |
| by defining isAnchor() that exclude images from isLink(). |
| |
| Since isLink() will no longer be true for images, the hack can be removed. |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::anchorElement): |
| (WebCore::AccessibilityNodeObject::isAnchor): Deleted. |
| * accessibility/AccessibilityNodeObject.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): |
| |
| 2014-10-26 Benjamin Poulain <benjamin@webkit.org> |
| |
| Replace Element::didAffectSelector() by setNeedsStyleRecalc() |
| https://bugs.webkit.org/show_bug.cgi?id=138080 |
| |
| Reviewed by Andreas Kling. |
| |
| Element::didAffectSelector() was probably an optimization at some point, |
| with the current code is does nothing more than setNeedsStyleRecalc(). |
| |
| * dom/Document.cpp: |
| (WebCore::Document::setCSSTarget): |
| * dom/Element.cpp: |
| (WebCore::Element::didAffectSelector): Deleted. |
| * dom/Element.h: |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::parseAttribute): |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::disabledStateChanged): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setChecked): |
| (WebCore::HTMLInputElement::setIndeterminate): |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::parseAttribute): |
| * html/HTMLOptGroupElement.cpp: |
| (WebCore::HTMLOptGroupElement::parseAttribute): |
| * html/HTMLOptionElement.cpp: |
| (WebCore::HTMLOptionElement::parseAttribute): |
| (WebCore::HTMLOptionElement::setSelectedState): |
| * html/HTMLProgressElement.cpp: |
| (WebCore::HTMLProgressElement::didElementStateChange): |
| |
| 2014-10-26 Andreas Kling <akling@apple.com> |
| |
| Move some RenderObject member functions to RenderElement. |
| <https://webkit.org/b/138085> |
| |
| Reviewed by Chris Dumez. |
| |
| Move these two functions to RenderElement: |
| |
| - handleDynamicFloatPositionChange() |
| - removeAnonymousWrappersForInlinesIfNecessary() |
| |
| Also make childBecameNonInline() take a RenderElement& since |
| that's all we ever pass to it. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::childBecameNonInline): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBoxModelObject.h: |
| (WebCore::RenderBoxModelObject::childBecameNonInline): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::handleDynamicFloatPositionChange): |
| (WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary): |
| * rendering/RenderElement.h: |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::childBecameNonInline): |
| * rendering/RenderInline.h: |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted. |
| (WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted. |
| * rendering/RenderObject.h: |
| |
| 2014-10-26 Andreas Kling <akling@apple.com> |
| |
| Move continuation teardown from subclasses to RenderBoxModelObject. |
| <https://webkit.org/b/138081> |
| |
| Reviewed by Antti Koivisto. |
| |
| Let RenderBoxModelObject::willBeDestroyed() tear down any continuation |
| instead of having every subclass do this themselves. |
| |
| Also added a RenderElement bit tracking whether the renderer has a |
| continuation. This avoids a hash lookup every time we destroy a |
| RenderBoxModelObject that didn't have a continuation. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::willBeDestroyed): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::willBeDestroyed): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::continuationMap): |
| (WebCore::RenderBoxModelObject::willBeDestroyed): |
| (WebCore::RenderBoxModelObject::continuation): |
| (WebCore::RenderBoxModelObject::setContinuation): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::RenderElement): |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::setHasContinuation): |
| (WebCore::RenderElement::hasContinuation): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::willBeDestroyed): |
| |
| 2014-10-25 Benjamin Poulain <benjamin@webkit.org> |
| |
| Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList() |
| https://bugs.webkit.org/show_bug.cgi?id=138076 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| The variable elementAddressRegisterIndex was just needed for debugging, it is useless now. |
| |
| 2014-10-18 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: timelines should not count time elapsed while paused in the debugger |
| https://bugs.webkit.org/show_bug.cgi?id=136351 |
| |
| Reviewed by Timothy Hatcher. |
| |
| To avoid counting time elapsed while the debugger is paused, timeline records should |
| keep track of time elapsed since the start of timeline capturing, rather than wall clock |
| timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the |
| inspector environment. The stopwatch runs with timelines and is paused with the debugger, |
| so subsequent time measurements will not include time elapsed while the debugger is paused. |
| |
| This refactoring is safe because start and end times are only used to graph records; the |
| timestamp's actual value is irrelevant and is not displayed in the user interface. Date |
| timestamps are still included with network-related records as part of their header data. |
| |
| No new tests, because we cannot reliably test timing changes induced by debugger pauses. |
| It is possible for records to accrue time before the debugger pauses or after it resumes. |
| |
| * inspector/InspectorCSSAgent.cpp: Remove unnecessary include. |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| (WebCore::InspectorController::executionStopwatch): Add a shared stopwatch. |
| * inspector/InspectorController.h: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::timestamp): Redirect to the shared stopwatch. |
| (WebCore::InspectorPageAgent::domContentEventFired): |
| (WebCore::InspectorPageAgent::loadEventFired): |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::timestamp): Redirect to the shared stopwatch. |
| (WebCore::InspectorResourceAgent::willSendRequest): |
| (WebCore::InspectorResourceAgent::didReceiveResponse): |
| (WebCore::InspectorResourceAgent::didReceiveData): |
| (WebCore::InspectorResourceAgent::didFinishLoading): |
| (WebCore::InspectorResourceAgent::didFailLoading): |
| (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): |
| (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): |
| (WebCore::InspectorResourceAgent::didCloseWebSocket): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame): |
| (WebCore::InspectorResourceAgent::didSendWebSocketFrame): |
| (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError): |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::internalStart): Start and stop the stopwatch with timelines. |
| (WebCore::InspectorTimelineAgent::internalStop): |
| (WebCore::InspectorTimelineAgent::timestamp): Redirect to the shared stopwatch. |
| (WebCore::startProfiling): |
| (WebCore::InspectorTimelineAgent::startFromConsole): |
| (WebCore::InspectorTimelineAgent::willCallFunction): |
| (WebCore::InspectorTimelineAgent::willEvaluateScript): |
| (WebCore::TimelineTimeConverter::reset): Deleted. |
| * inspector/InspectorTimelineAgent.h: |
| (WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted. |
| (WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted. |
| (WebCore::InspectorTimelineAgent::timeConverter): Deleted. |
| * inspector/TimelineRecordFactory.cpp: |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| (WebCore::WorkerInspectorController::executionStopwatch): Add a shared stopwatch. |
| * inspector/WorkerInspectorController.h: |
| |
| 2014-10-25 Dan Bernstein <mitz@apple.com> |
| |
| Fix builds using the public SDK. |
| |
| * platform/spi/cocoa/NSExtensionSPI.h: |
| |
| 2014-10-24 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Clamp wordSpacing percentage value. |
| https://bugs.webkit.org/show_bug.cgi?id=129350. |
| |
| Reviewed by Zalan Bujtas. |
| |
| When the CSS wordSpacing property is percentage, its value has to be within the |
| pre-defined min/max values for the CSS length type. This is done the same way |
| the wordSpacing of type <length> is handled. |
| |
| Tests: css3/infinite-word-spacing.html. |
| |
| Move the definitions of minValueForCssLength and maxValueForCssLength from the |
| .cpp file to the .h file. |
| * css/CSSPrimitiveValue.cpp: |
| * css/CSSPrimitiveValue.h: |
| |
| Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when |
| its type is percentage. |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::ApplyPropertyWordSpacing::applyValue): |
| |
| 2014-10-24 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Use modern loops in ResourceRequestCocoa.mm |
| https://bugs.webkit.org/show_bug.cgi?id=138052 |
| |
| Reviewed by Darin Adler. |
| |
| Use modern loops in ResourceRequestCocoa.mm and leverage Objective-C's |
| fast enumeration. |
| |
| No new tests, no behavior change. |
| |
| * platform/network/cocoa/ResourceRequestCocoa.mm: |
| (WebCore::ResourceRequest::doUpdateResourceRequest): |
| - Use NSDictionary's block-based enumeration as we enumerate both keys |
| and values and this is faster than using fast enumeration of the keys |
| then calling [NSDictionary objectForKey:] |
| - Use Objective C's fast enumeration for |
| contentDispositionEncodingFallbackArray as this is faster and shorter |
| than index based access. Also use reserveCapacity() / |
| uncheckedAppend() for m_responseContentDispositionEncodingFallbackArray |
| as we know how many elements were are going to append in the common |
| case. |
| |
| (WebCore::ResourceRequest::doUpdatePlatformRequest): |
| - Use fast enumeration for [nsRequest allHTTPHeaderFields] dictionary |
| keys instead of calling [NSDictionary allKeys] and then doing |
| index-based iteration, to avoid copying the keys to a new array. |
| Also do a forward enumeration instead of a reverse one. I don't see |
| why a backward enumeration would be necessary here. We are not |
| modifying the NSDictionary we are iterating over as |
| [nsRequest allHTTPHeaderFields] makes a copy. |
| - Use a modern C++ loop for |
| m_responseContentDispositionEncodingFallbackArray. |
| |
| 2014-10-24 Zalan Bujtas <zalan@apple.com> |
| |
| Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit. |
| https://bugs.webkit.org/show_bug.cgi?id=138047 |
| |
| Reviewed by Andreas Kling. |
| |
| No change in functionality. |
| |
| * css/CSSPrimitiveValue.cpp: |
| |
| 2014-10-24 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION(r174877): WebProcess sends an empty Cookies HTTP header |
| https://bugs.webkit.org/show_bug.cgi?id=138053 |
| |
| Reviewed by Chris Dumez. |
| |
| Fixes existing tests. |
| |
| * platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForSession): Restore the |
| behavior of returning a null string when there are no cookies. |
| |
| 2014-10-24 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() |
| https://bugs.webkit.org/show_bug.cgi?id=138039 |
| |
| Reviewed by Darin Adler. |
| |
| Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() |
| for case-insensitive string comparison instead of converting to UTF-8 and then |
| using strcasecmp(). |
| |
| No new tests, no behavior change. |
| |
| * platform/mac/QuickLookMac.mm: |
| (WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks): |
| |
| 2014-10-24 Chris Dumez <cdumez@apple.com> |
| |
| Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() / doUpdatePlatformHTTPBody() |
| https://bugs.webkit.org/show_bug.cgi?id=138049 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() |
| / doUpdatePlatformHTTPBody(). It turns out that about half the time, the |
| m_nsRequest member is already mutable so it is unnecessary to call |
| [NSURLRequest mutableCopy], we can just cast it to an NSMutableURLRequest* and |
| avoid copying. |
| |
| This patch also moves the code to a new ensureMutableNSURLRequest() method to |
| avoid duplicating the logic. |
| |
| I see that we spend ~21% less time in these 2 functions when loading |
| http://flickr.com/explore/ (39.6ms -> 31.2ms). |
| |
| No new tests, no behavior change. |
| |
| * platform/network/cf/ResourceRequest.h: |
| * platform/network/cocoa/ResourceRequestCocoa.mm: |
| (WebCore::ResourceRequest::ensureMutableNSURLRequest): |
| (WebCore::ResourceRequest::doUpdatePlatformRequest): |
| (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): |
| |
| 2014-10-24 Chris Dumez <cdumez@apple.com> |
| |
| Move ComputeLength CSS properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138036 |
| |
| Reviewed by Andreas Kling. |
| |
| Move ComputeLength CSS properties from DeprecatedStyleBuilder to the |
| new StyleBuilder so that they are now generated. 3 Converters are |
| provided for these properties: ComputedLength / LineWidth / Spacing. |
| |
| This is inspired by the following Blink revision by |
| <timloh@chromium.org>: |
| https://src.chromium.org/viewvc/blink?view=rev&revision=154012 |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| (WebCore::ApplyPropertyComputeLength::setValue): Deleted. |
| (WebCore::ApplyPropertyComputeLength::applyValue): Deleted. |
| (WebCore::ApplyPropertyComputeLength::createHandler): Deleted. |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertComputedLength): |
| (WebCore::StyleBuilderConverter::convertLineWidth): |
| (WebCore::StyleBuilderConverter::convertSpacing): |
| |
| 2014-10-24 Chris Dumez <cdumez@apple.com> |
| |
| Make ScriptWrappable's destructor protected instead of public |
| https://bugs.webkit.org/show_bug.cgi?id=138037 |
| |
| Reviewed by Andreas Kling. |
| |
| Make ScriptWrappable's destructor protected instead of public as it is |
| not virtual and this class is subclassed a lot. |
| |
| No new tests, no behavior change. |
| |
| * bindings/js/ScriptWrappable.h: |
| (WebCore::ScriptWrappable::~ScriptWrappable): |
| |
| 2014-10-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11 |
| https://bugs.webkit.org/show_bug.cgi?id=138004 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Rename all WidgetBackingStore* classes as |
| BackingStoreBackendCairo* since all of them are actually |
| BackingStore backends based on cairo, and move them from |
| platform/cairo and platform/gtk to platform/graphics/cairo. |
| BackingStoreBackendCairo is the base class that contains common |
| members like the surface and size. BackingStoreBackendCairoImpl is |
| the implementation using only cairo, and BackingStoreBackendCairoX11 |
| using xlib. BackingStoreBackendCairoX11 receives all the X11 |
| information it needs as constructor parameters, instead of using a |
| GtkWidget and GTK+ X11 API. BackingStoreBackendCairoImpl receives |
| the surface already created as constructor parameter, so that it |
| doesn't have any platform specific code now. |
| |
| * PlatformEfl.cmake: Update compilation files. |
| * PlatformGTK.cmake: Ditto. |
| * platform/cairo/WidgetBackingStoreCairo.cpp: Removed. |
| * platform/graphics/cairo/BackingStoreBackendCairo.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStore.h. |
| (WebCore::BackingStoreBackendCairo::~BackingStoreBackendCairo): |
| (WebCore::BackingStoreBackendCairo::surface): |
| (WebCore::BackingStoreBackendCairo::size): |
| (WebCore::BackingStoreBackendCairo::BackingStoreBackendCairo): |
| * platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp: Added. |
| (WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl): |
| (WebCore::BackingStoreBackendCairoImpl::~BackingStoreBackendCairoImpl): |
| (WebCore::BackingStoreBackendCairoImpl::scroll): |
| * platform/graphics/cairo/BackingStoreBackendCairoImpl.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h. |
| * platform/graphics/cairo/BackingStoreBackendCairoX11.cpp: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.cpp. |
| (WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11): |
| (WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11): |
| (WebCore::BackingStoreBackendCairoX11::scroll): |
| * platform/graphics/cairo/BackingStoreBackendCairoX11.h: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.h. |
| * platform/graphics/cairo/CairoUtilities.cpp: |
| (WebCore::cairoSurfaceGetDeviceScale): |
| * platform/graphics/cairo/CairoUtilities.h: |
| |
| 2014-10-23 Zalan Bujtas <zalan@apple.com> |
| |
| WebContent crash at WebCore::RenderTextControl::textFormControlElement const. |
| https://bugs.webkit.org/show_bug.cgi?id=138035 |
| |
| Reviewed by Antti Koivisto. |
| |
| NULL-check element().renderer() before using it. |
| |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::didSetValueByUserEdit): |
| |
| 2014-10-23 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove HarfBuzzRun::create() factory function |
| https://bugs.webkit.org/show_bug.cgi?id=137945 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| As a step to use std::unique_ptr<>, this patch applies std::unique_ptr<> and std::make_unique<>. |
| Thus HarfBuzzRun::create() is needed no longer. |
| |
| No new tests, no behavior changes. |
| |
| * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::collectHarfBuzzRuns): |
| * platform/graphics/harfbuzz/HarfBuzzShaper.h: |
| (WebCore::HarfBuzzShaper::HarfBuzzRun::create): Deleted. |
| |
| 2014-10-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewed iOS build fix |
| |
| * editing/FrameSelection.cpp: |
| |
| 2014-10-23 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Optimize URL::createCFURL() for the common case |
| https://bugs.webkit.org/show_bug.cgi?id=138030 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Optimize URL::createCFURL() for the common case by adding a fast path |
| for when the URL String is already 8-bit (common case). |
| When the string is 8-bit, we don't need to copy the bytes into a |
| temporary buffer and we can construct the CFURLRef directly from it. |
| |
| This makes URL::createCFURL() ~34% faster on my machine. |
| |
| No new tests, no behavior change. |
| |
| * platform/mac/URLMac.mm: |
| (WebCore::URL::createCFURL): |
| |
| 2014-10-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Carets in GMail and iCloud compositions are the foreground text color |
| https://bugs.webkit.org/show_bug.cgi?id=138029 |
| |
| Reviewed by Simon Fraser. |
| |
| Previously, we were only checking whether the background colors of the foreground and background |
| elements were the same, rather than taking validity and opacity into consideration. |
| |
| Test: editing/caret/color-span-inside-editable-background.html |
| |
| * editing/FrameSelection.cpp: |
| (WebCore::disappearsIntoBackground): |
| (WebCore::CaretBase::paintCaret): |
| |
| 2014-10-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide a way to have alternate inspector agents |
| https://bugs.webkit.org/show_bug.cgi?id=137901 |
| |
| Reviewed by Brian Burg. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-10-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Don't assume that style.overflowX() == style.overflowY() |
| https://bugs.webkit.org/show_bug.cgi?id=138028 |
| |
| Reviewed by Zalan Bujtas. |
| |
| WebKit doesn't support independent overflow scroll/hidden on different axes, |
| but the RenderStyle does report the correct values. So check both overflowX() |
| and overflowY() in a couple of places where we need to. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::styleHasTouchScrolling): |
| (WebCore::styleChangeRequiresLayerRebuild): |
| |
| 2014-10-23 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of unnecessary vtables in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=138024 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Get rid of unnecessary vtables in WebKit by de-virtualizing destructors |
| when possible and marking the class as final to make sure people don't |
| subclass it. |
| |
| No new tests, no behavior change. |
| |
| * WebCore.exp.in: |
| * css/WebKitCSSMatrix.h: |
| * css/WebKitCSSMatrix.idl: |
| * html/canvas/WebGLContextGroup.h: |
| * html/canvas/WebGLGetInfo.h: |
| * html/canvas/WebGLUniformLocation.h: |
| (WebCore::WebGLUniformLocation::~WebGLUniformLocation): Deleted. |
| * html/canvas/WebGLUniformLocation.idl: |
| * inspector/DOMPatchSupport.h: |
| * inspector/InspectorHistory.h: |
| * inspector/InspectorStyleSheet.h: |
| * page/WheelEventDeltaTracker.h: |
| * page/scrolling/ScrollLatchingState.h: |
| * platform/audio/Biquad.h: |
| * platform/graphics/Pattern.h: |
| |
| 2014-10-23 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in dom/ |
| https://bugs.webkit.org/show_bug.cgi?id=138019 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Clean up virtual functions in dom/ by: |
| - Making virtual functions final when possible |
| - Making classes final when possible |
| - Using 'override' when appropriate |
| - Explicitly marking functions / destructors as virtual when they are |
| inherently virtual |
| - Making isXXX() virtual functions private on XXX classes to avoid |
| unnecessary type checks |
| - Dropping final for virtual functions in classes already marked as |
| final |
| |
| No new tests, no behavior change. |
| |
| * WebCore.exp.in: |
| * dom/AutocompleteErrorEvent.h: |
| * dom/BeforeLoadEvent.h: |
| (WebCore::BeforeLoadEventInit::BeforeLoadEventInit): |
| * dom/BeforeTextInsertedEvent.h: |
| * dom/ClipboardEvent.h: |
| * dom/CompositionEvent.h: |
| * dom/CustomEvent.h: |
| * dom/DeviceMotionController.h: |
| (WebCore::DeviceMotionController::~DeviceMotionController): Deleted. |
| * dom/DeviceMotionEvent.h: |
| * dom/DeviceOrientationController.h: |
| (WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted. |
| * dom/DeviceOrientationEvent.h: |
| * dom/Document.h: |
| * dom/DocumentFragment.h: |
| * dom/ErrorEvent.h: |
| * dom/FocusEvent.h: |
| * dom/HashChangeEvent.h: |
| * dom/KeyboardEvent.h: |
| * dom/LiveNodeList.h: |
| * dom/MessageEvent.h: |
| * dom/MessagePort.h: |
| * dom/MouseEvent.h: |
| * dom/MouseRelatedEvent.h: |
| * dom/MutationEvent.h: |
| * dom/NamedFlowCollection.h: |
| * dom/OverflowEvent.h: |
| * dom/PageTransitionEvent.h: |
| * dom/PendingScript.h: |
| * dom/PopStateEvent.h: |
| * dom/RawDataDocumentParser.h: |
| (WebCore::RawDataDocumentParser::finish): Deleted. |
| (WebCore::RawDataDocumentParser::flush): Deleted. |
| (WebCore::RawDataDocumentParser::insert): Deleted. |
| (WebCore::RawDataDocumentParser::append): Deleted. |
| * dom/ScriptableDocumentParser.h: |
| * dom/SecurityPolicyViolationEvent.h: |
| * dom/TextEvent.h: |
| * dom/TouchEvent.h: |
| * dom/TransitionEvent.h: |
| * dom/UIEvent.h: |
| * dom/WebKitAnimationEvent.h: |
| * dom/WebKitTransitionEvent.h: |
| * dom/WheelEvent.h: |
| * page/DeviceController.h: |
| (WebCore::DeviceController::~DeviceController): |
| |
| 2014-10-23 Tim Horton <timothy_horton@apple.com> |
| |
| Add some SPI headers for NSExtension and NSSharingService{Picker} |
| https://bugs.webkit.org/show_bug.cgi?id=138027 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/cocoa/NSExtensionSPI.h: Added. |
| * platform/spi/mac/NSSharingServicePickerSPI.h: Added. |
| * platform/spi/mac/NSSharingServiceSPI.h: Added. |
| Add modern SPI headers for NSExtension, and NSSharingService{Picker}. |
| |
| * rendering/RenderThemeMac.mm: |
| Replace redefinitions with an SPI header #import. |
| |
| 2014-10-23 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] don't update caption user style sheet during parsing |
| https://bugs.webkit.org/show_bug.cgi?id=137983 |
| rdar://problem/18735366 |
| |
| Reviewed by Jer Noble. |
| |
| No new tests, existing tests cover the changes. |
| |
| * page/CaptionUserPreferencesMediaAF.cpp: |
| (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Initialize m_updateStyleSheetTimer. |
| (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): Call updateCaptionStyleSheetOveride. |
| (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Prime a timer to update |
| the captions style sheet after a slight delay. |
| |
| 2014-10-23 Chris Dumez <cdumez@apple.com> |
| |
| Move remaining Length-type properties to the new StyleBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=138012 |
| |
| Reviewed by Antti Koivisto. |
| |
| Move remaining Length-type properties from DeprecatedStyleBuilder to |
| the new StyleBuilder so that they are now generated from |
| CSSPropertyNames.in as well. The patch introduces a couple of type |
| converters for those: "LengthSizing / LengthMaxSizing". |
| |
| No new tests, no behavior change. |
| |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleBuilderConverter.h: |
| (WebCore::StyleBuilderConverter::convertLengthSizing): |
| (WebCore::StyleBuilderConverter::convertLengthMaxSizing): |
| |
| 2014-10-23 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Safari cannot play 'audio/amr' content. |
| https://bugs.webkit.org/show_bug.cgi?id=137894 |
| |
| Reviewed by Eric Carlson. |
| |
| Test: media/media-can-play-case-insensitive.html |
| |
| Sites are returning 'video/amr' for AMR audio content, but the IANA spec says 'audio/AMR', which is also what |
| AVFoundation claims to support. However, MIME types are supposed to be case-insensitive. When creating our |
| mime type cache, case-fold to lower all MIME types given to us by our media frameworks. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::mimeTypeCache): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::addFileTypesToCache): |
| |
| 2014-10-23 Chris Dumez <cdumez@apple.com> |
| |
| Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder |
| https://bugs.webkit.org/show_bug.cgi?id=138000 |
| |
| Reviewed by Andreas Kling. |
| |
| Move most Length-type CSS properties from DeprecatedStyleBuilder to the |
| new Style Builder so that they are now generated. This patch adds |
| support for a "Converter" option in CSSPropertyNames.in that can be |
| used to specify a type converter function in |
| css/StyleBuilderConverter.h. This patch adds support for Length and |
| LengthOrAuto converters so that most Length-type properties can now be |
| generated. |
| |
| Another converter (likely called "LengthSizing") will be needed to |
| generate the remaining Length-type properties. This will be taken care |
| of in a follow-up patch. |
| |
| This patch is inspired by the following Blink revision by |
| <timloh@chromium.org>: |
| https://src.chromium.org/viewvc/blink?view=rev&revision=150500 |
| |
| No new tests, no behavior change. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/SVGCSSPropertyNames.in: |
| * css/StyleBuilder.h: |
| * css/StyleBuilderConverter.h: Added. |
| (WebCore::StyleBuilderConverter::convertLength): |
| (WebCore::StyleBuilderConverter::convertLengthOrAuto): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * css/makeprop.pl: |
| |
| 2014-10-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| Const-ify static s_resourceType members in RenderSVGResource* classes |
| https://bugs.webkit.org/show_bug.cgi?id=137911 |
| |
| Reviewed by Andreas Kling. |
| |
| Make s_resourceType static members in RenderSVGResource* classes const. |
| Also update the resourceType() methods, where necessary, so that they |
| return the s_resourceType constant. |
| |
| * rendering/svg/RenderSVGResourceClipper.cpp: |
| * rendering/svg/RenderSVGResourceClipper.h: |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| * rendering/svg/RenderSVGResourceFilter.h: |
| * rendering/svg/RenderSVGResourceLinearGradient.cpp: |
| * rendering/svg/RenderSVGResourceLinearGradient.h: |
| * rendering/svg/RenderSVGResourceMarker.cpp: |
| * rendering/svg/RenderSVGResourceMarker.h: |
| * rendering/svg/RenderSVGResourceMasker.cpp: |
| * rendering/svg/RenderSVGResourceMasker.h: |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| * rendering/svg/RenderSVGResourcePattern.h: |
| * rendering/svg/RenderSVGResourceRadialGradient.cpp: |
| * rendering/svg/RenderSVGResourceRadialGradient.h: |
| * rendering/svg/RenderSVGResourceSolidColor.cpp: |
| * rendering/svg/RenderSVGResourceSolidColor.h: |
| |
| 2014-10-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Clean up virtual method declarations in GraphicsLayerTextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=137957 |
| |
| Reviewed by Martin Robinson. |
| |
| Added override notation to the GraphicsLayerTextureMapper methods that are |
| overriding the base methods from the GraphicsLayer class and don't have it yet. |
| Also reordered these methods to follow the order of declaration in the |
| GraphicsLayer class. |
| |
| Removed ::setName() and ::willBeDestroyed() methods since they just called |
| the base class' methods. |
| |
| Also removed the ::solidColor() and ::changeMask() methods. The first one was |
| only called in one place which can reference the m_solidColor member directly, |
| and the second one wasn't used at all. |
| |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::commitLayerChanges): |
| (WebCore::GraphicsLayerTextureMapper::setName): Deleted. |
| (WebCore::GraphicsLayerTextureMapper::willBeDestroyed): Deleted. |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| (WebCore::GraphicsLayerTextureMapper::solidColor): Deleted. |
| (WebCore::GraphicsLayerTextureMapper::usesContentsLayer): Deleted. |
| (WebCore::GraphicsLayerTextureMapper::platformLayer): Deleted. |
| (WebCore::GraphicsLayerTextureMapper::changeMask): Deleted. |
| |
| 2014-10-23 Krzysztof Czech <k.czech@samsung.com> |
| |
| AX: Do the early return when role is different than UnknownRole |
| https://bugs.webkit.org/show_bug.cgi?id=137880 |
| |
| Reviewed by Chris Fleizach. |
| |
| We do not need to call ariaRoleAttribute() to check whether m_ariaRole is different than UnknownRole. |
| Just check m_ariaRole instead. |
| |
| No new tests, no behavior change, just some cleanup |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::determineAccessibilityRole): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| * accessibility/AccessibilityTableRow.cpp: |
| (WebCore::AccessibilityTableRow::determineAccessibilityRole): |
| |
| 2014-10-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| CSS JIT: Implement :matches |
| https://bugs.webkit.org/show_bug.cgi?id=137947 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Initial patch for supporting :matches in CSS JIT. |
| In this patch, we implement :matches |
| by leveraging the generalized nested backtracking implementation. |
| |
| Tests: fast/selectors/matches-backtracking.html |
| fast/selectors/matches-complex.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::hasAnyCombinators): |
| (WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements): |
| (WebCore::SelectorCompiler::computeBacktrackingInformation): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass): |
| |
| 2014-10-23 Milan Crha <mcrha@redhat.com> |
| |
| RenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled. |
| <https://webkit.org/b/137970>. |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * rendering/RenderThemeGtk.cpp: |
| |
| 2014-10-22 Milan Crha <mcrha@redhat.com> |
| |
| Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used. |
| <https://webkit.org/b/137969>. |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
| |
| 2014-10-22 Milan Crha <mcrha@redhat.com> |
| |
| Do not build WidgetBackingStoreGtkX11 when not used. |
| <https://webkit.org/b/137972>. |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/gtk/WidgetBackingStoreGtkX11.cpp: |
| * platform/gtk/WidgetBackingStoreGtkX11.h: |
| |
| 2014-10-22 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling:touch can cause children to disappear |
| https://bugs.webkit.org/show_bug.cgi?id=137999 |
| rdar://problem/18425550 |
| |
| Reviewed by Zalan Bujtas. |
| |
| When toggling overflow from scroll to hidden on an element with -webkit-overflow-scrolling:touch, |
| we'd fail to do a compositing layer rebuild, which caused various issues like unparented |
| descendants, and misplaced and unrepainted content. |
| |
| This happened because we'd get to RenderLayerBacking::updateConfiguration() via styleChanged |
| with the view needing layout, so never hit the updateScrollingLayers() code, and the subsequent |
| updateCompositingLayers() would be a no-op. |
| |
| Fix by explicitly triggering a layer rebuild when style changes such that the touch-scrollability |
| of an element changes, as we do for changes in clip. |
| |
| Test: compositing/scrolling/touch-scroll-to-clip.html |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::isScrollableOverflow): |
| (WebCore::styleHasTouchScrolling): |
| (WebCore::styleChangeRequiresLayerRebuild): |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| Clean up virtual functions in rendering/ |
| https://bugs.webkit.org/show_bug.cgi?id=137984 |
| |
| Reviewed by Darin Adler. |
| |
| Clean up virtual functions in rendering/ by: |
| - Making virtual functions final when possible |
| - Making classes final when possible |
| - Using 'override' when appropriate |
| - Explicitly marking functions / destructors as virtual when they are |
| inherently virtual |
| - Dropping virtual destructors when the class does not have subclasses |
| and mark the class as final, to get rid of unnecessary vtables |
| - Making isXXX() virtual functions private on XXX classes to avoid |
| unnecessary type checks |
| - De-virtualizing some functions that do not need to be virtual |
| - Dropping final for virtual functions in classes already marked as |
| final |
| |
| No new tests, no behavior change. |
| |
| * html/shadow/SliderThumbElement.cpp: |
| * rendering/AutoTableLayout.h: |
| * rendering/ClipPathOperation.h: |
| (WebCore::ClipPathOperation::type): |
| (WebCore::ClipPathOperation::isSameType): |
| * rendering/EllipsisBox.h: |
| * rendering/FixedTableLayout.h: |
| * rendering/InlineElementBox.h: |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderCombineText.h: |
| * rendering/RenderCounter.h: |
| * rendering/RenderDeprecatedFlexibleBox.h: |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderFullScreen.h: |
| * rendering/RenderGrid.h: |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.h: |
| * rendering/RenderLayerCompositor.h: |
| * rendering/RenderLayerFilterInfo.h: |
| * rendering/RenderLineBreak.h: |
| * rendering/RenderMarquee.h: |
| * rendering/RenderMediaControlElements.h: |
| * rendering/RenderMultiColumnFlowThread.h: |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderMultiColumnSpannerPlaceholder.h: |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderQuote.h: |
| * rendering/RenderRegion.h: |
| (WebCore::RenderRegion::renderName): Deleted. |
| * rendering/RenderReplica.h: |
| * rendering/RenderRubyBase.h: |
| * rendering/RenderRubyRun.h: |
| * rendering/RenderScrollbar.h: |
| * rendering/RenderScrollbarPart.h: |
| * rendering/RenderScrollbarTheme.h: |
| (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): Deleted. |
| (WebCore::RenderScrollbarTheme::scrollbarThickness): Deleted. |
| (WebCore::RenderScrollbarTheme::buttonsPlacement): Deleted. |
| (WebCore::RenderScrollbarTheme::supportsControlTints): Deleted. |
| (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): Deleted. |
| (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): Deleted. |
| (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): Deleted. |
| (WebCore::RenderScrollbarTheme::registerScrollbar): Deleted. |
| (WebCore::RenderScrollbarTheme::unregisterScrollbar): Deleted. |
| * rendering/RenderSnapshottedPlugIn.h: |
| * rendering/RenderTextControlMultiLine.h: |
| * rendering/RenderTextFragment.h: |
| * rendering/RenderThemeGtk.h: |
| * rendering/RenderThemeIOS.h: |
| * rendering/RenderThemeWin.h: |
| * rendering/RenderVideo.h: |
| * rendering/TextAutosizer.h: |
| * rendering/TrailingFloatsRootInlineBox.h: |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLMenclose.h: |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRadicalOperator.h: |
| * rendering/mathml/RenderMathMLRoot.h: |
| * rendering/mathml/RenderMathMLRow.h: |
| * rendering/mathml/RenderMathMLScripts.h: |
| * rendering/mathml/RenderMathMLToken.h: |
| * rendering/mathml/RenderMathMLUnderOver.h: |
| * rendering/shapes/BoxShape.h: |
| * rendering/shapes/PolygonShape.h: |
| * rendering/shapes/RasterShape.h: |
| * rendering/shapes/RectangleShape.h: |
| * rendering/style/BasicShapes.h: |
| * rendering/style/StylePendingImage.h: |
| (WebCore::StylePendingImage::computeIntrinsicDimensions): Deleted. |
| * rendering/svg/RenderSVGBlock.h: |
| * rendering/svg/RenderSVGContainer.h: |
| * rendering/svg/RenderSVGEllipse.h: |
| * rendering/svg/RenderSVGForeignObject.h: |
| * rendering/svg/RenderSVGImage.h: |
| * rendering/svg/RenderSVGPath.h: |
| * rendering/svg/RenderSVGRect.h: |
| * rendering/svg/RenderSVGResourceClipper.h: |
| * rendering/svg/RenderSVGResourceFilter.h: |
| * rendering/svg/RenderSVGResourceFilterPrimitive.h: |
| * rendering/svg/RenderSVGResourceLinearGradient.h: |
| * rendering/svg/RenderSVGResourceMarker.h: |
| * rendering/svg/RenderSVGResourceMasker.h: |
| * rendering/svg/RenderSVGResourcePattern.h: |
| * rendering/svg/RenderSVGResourceRadialGradient.h: |
| * rendering/svg/RenderSVGRoot.h: |
| * rendering/svg/RenderSVGTSpan.h: |
| * rendering/svg/RenderSVGText.h: |
| * rendering/svg/RenderSVGTransformableContainer.h: |
| * rendering/svg/RenderSVGViewportContainer.h: |
| * rendering/svg/SVGInlineTextBox.h: |
| * rendering/svg/SVGRootInlineBox.h: |
| |
| 2014-10-22 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser() |
| https://bugs.webkit.org/show_bug.cgi?id=137990 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| NULL-check m_mediaSource before using. |
| |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (WebCore::SourceBufferPrivateAVFObjC::destroyParser): |
| |
| 2014-10-22 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| SVG loaded through html <img> can't request to load any external resources. |
| https://bugs.webkit.org/show_bug.cgi?id=137762. |
| |
| Reviewed by Daniel Bates. |
| |
| SVG images have unique security rules that prevent them from loading any external |
| resources. This patch enforces these rules in CachedResourceLoader::canRequest for |
| all non-data-uri resources. |
| |
| The fix and the tests are ported but modified a little from the chromium fix: |
| http://src.chromium.org/viewvc/blink?view=rev&rev=176084 |
| |
| Test: http/tests/security/svg-image-with-cached-remote-image.html |
| http/tests/security/svg-image-with-css-cross-domain.html |
| |
| For the SVG image, prevent loading any external sub-resource except for data urls. |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::canRequest): |
| |
| 2014-10-21 Ada Chan <adachan@apple.com> |
| |
| MediaPlayerPrivateAVFoundation::hasAudio() returns false even when there is an audible AVMediaSelectionOption selected |
| https://bugs.webkit.org/show_bug.cgi?id=137935 |
| |
| Reviewed by Eric Carlson. |
| |
| Set hasAudio to true if there's a selected audible AVMediaSelectionOption |
| after the call to updateAudioTracks(). Ditto for video. |
| |
| Test: http/tests/media/hls/hls-audio-tracks-has-audio.html |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::mediaElementHasCharacteristic): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| Add internals.mediaElementHasCharacteristic for the new test. |
| |
| 2014-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove WidgetBackingStoreCairo::create() factory function |
| https://bugs.webkit.org/show_bug.cgi?id=137943 |
| |
| Reviewed by Darin Adler. |
| |
| WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>. |
| Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>. |
| |
| No new tests, no behavior changes. |
| |
| * platform/cairo/WidgetBackingStoreCairo.cpp: |
| (WebCore::WidgetBackingStoreCairo::create): Deleted. |
| * platform/cairo/WidgetBackingStoreCairo.h: |
| * platform/gtk/WidgetBackingStoreGtkX11.cpp: |
| (WebCore::WidgetBackingStoreGtkX11::create): Deleted. |
| * platform/gtk/WidgetBackingStoreGtkX11.h: |
| |
| 2014-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove TextCheckerEnchant::create() factory function |
| https://bugs.webkit.org/show_bug.cgi?id=137944 |
| |
| Reviewed by Darin Adler. |
| |
| TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>. |
| |
| No new tests, no behavior change. |
| |
| * platform/text/enchant/TextCheckerEnchant.h: |
| (WebCore::TextCheckerEnchant::create): Deleted. |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| Avoid confusion between AccessibilityObject::isTable() / isAccessibilityTable() |
| https://bugs.webkit.org/show_bug.cgi?id=137899 |
| |
| Reviewed by Darin Adler. |
| |
| Avoid confusion between AccessibilityObject::isTable() and |
| isAccessibilityTable(). isTable() is equivalent to |
| is<AccessibilityTable>(), while isAccessibilityTable() is an |
| AccessibilityTable that is exposed as an AccessibilityTable to the |
| platform. |
| |
| This patch is renaming isAccessibilityTable() to |
| isExposableThroughAccessibility(), makes it non-virtual and defines it |
| on AccessibilityTable only, for clarity. |
| |
| This patch also renames isTableExposableThroughAccessibility() to |
| computeIisTableExposableThroughAccessibility() as it is called only |
| once to initialize the m_isExposableThroughAccessibility data member. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityARIAGrid.h: |
| * accessibility/AccessibilityARIAGridCell.cpp: |
| (WebCore::AccessibilityARIAGridCell::parentTable): |
| (WebCore::AccessibilityARIAGridCell::rowIndexRange): |
| (WebCore::AccessibilityARIAGridCell::columnIndexRange): |
| * accessibility/AccessibilityARIAGridRow.cpp: |
| (WebCore::AccessibilityARIAGridRow::disclosedRows): |
| (WebCore::AccessibilityARIAGridRow::disclosedByRow): |
| (WebCore::AccessibilityARIAGridRow::parentTable): |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::shouldUseAccessiblityObjectInnerText): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex): |
| (WebCore::appendChildrenToArray): |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::isAccessibilityTable): Deleted. |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::ariaSelectedRows): |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::AccessibilityTable): |
| (WebCore::AccessibilityTable::init): |
| (WebCore::AccessibilityTable::isExposableThroughAccessibility): |
| (WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility): |
| (WebCore::AccessibilityTable::addChildren): |
| (WebCore::AccessibilityTable::tableLevel): |
| (WebCore::AccessibilityTable::roleValue): |
| (WebCore::AccessibilityTable::computeAccessibilityIsIgnored): |
| (WebCore::AccessibilityTable::title): |
| (WebCore::AccessibilityTable::isAccessibilityTable): Deleted. |
| (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): Deleted. |
| * accessibility/AccessibilityTable.h: |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::isTableCell): |
| * accessibility/AccessibilityTableColumn.cpp: |
| (WebCore::AccessibilityTableColumn::headerObject): |
| (WebCore::AccessibilityTableColumn::addChildren): |
| * accessibility/AccessibilityTableHeaderContainer.cpp: |
| (WebCore::AccessibilityTableHeaderContainer::addChildren): |
| * accessibility/AccessibilityTableRow.cpp: |
| (WebCore::AccessibilityTableRow::isTableRow): |
| (WebCore::AccessibilityTableRow::parentTable): |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetNChildren): |
| (webkitAccessibleRefChild): |
| (webkitAccessibleGetAttributes): |
| * accessibility/mac/AXObjectCacheMac.mm: |
| (WebCore::AXObjectCache::postPlatformNotification): |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): |
| (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| Avoid repeated is<MutableStyleProperties>() checks in StyleProperties |
| https://bugs.webkit.org/show_bug.cgi?id=137978 |
| |
| Reviewed by Andreas Kling. |
| |
| Reduce the amount of is<MutableStyleProperties>() checks in |
| StyleProperties by: |
| - Removing the checks in each method of StyleProperties::PropertyReference, |
| and replace them by a single check in StyleProperties::propertyAt(). |
| - Providing faster propertyCount() / propertyAt() / isEmpty() methods on |
| MutableStyleProperties / ImmutableStyleProperties as a lot of callers use |
| tight typing. |
| - Using tighter typing at call sites whenever possible. |
| |
| Ideally, we could be able to use iterators instead of propertyCount() / |
| propertyAt() but this is not trivial to do efficiently as the |
| representation in memory is fundamentally different for MutableStyleProperties |
| / ImmutableStyleProperties. We may be able to do better longer term, but |
| this is already more efficient short term at least. |
| |
| No new tests, no behavior change. |
| |
| * css/StyleProperties.cpp: |
| (WebCore::MutableStyleProperties::MutableStyleProperties): |
| (WebCore::StyleProperties::PropertyReference::cssText): |
| * css/StyleProperties.h: |
| (WebCore::StyleProperties::PropertyReference::PropertyReference): |
| (WebCore::StyleProperties::PropertyReference::id): |
| (WebCore::StyleProperties::PropertyReference::shorthandID): |
| (WebCore::StyleProperties::PropertyReference::isImportant): |
| (WebCore::StyleProperties::PropertyReference::isInherited): |
| (WebCore::StyleProperties::PropertyReference::isImplicit): |
| (WebCore::StyleProperties::PropertyReference::value): |
| (WebCore::StyleProperties::PropertyReference::toCSSProperty): |
| (WebCore::StyleProperties::isEmpty): |
| (WebCore::ImmutableStyleProperties::isEmpty): |
| (WebCore::MutableStyleProperties::isEmpty): |
| (WebCore::ImmutableStyleProperties::propertyAt): |
| (WebCore::MutableStyleProperties::propertyAt): |
| (WebCore::StyleProperties::propertyAt): |
| (WebCore::StyleProperties::propertyCount): |
| (WebCore::StyleProperties::PropertyReference::propertyMetadata): Deleted. |
| (WebCore::StyleProperties::PropertyReference::propertyValue): Deleted. |
| * editing/EditingStyle.cpp: |
| (WebCore::removePropertiesInStyle): |
| (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): |
| |
| 2014-10-22 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac][MediaStream] clean up bit rot |
| https://bugs.webkit.org/show_bug.cgi?id=137976 |
| |
| Reviewed by Jer Noble. |
| |
| No new tests, this just gets the Mac port compiling again. |
| |
| * Modules/mediastream/MediaStream.h: Add a virtual destructor to Observer since it has |
| a virtual method. |
| |
| * WebCore.exp.in: Export RTCPeerConnectionHandler::create and RTCPeerConnectionHandlerMock::create(WebCore::RTCPeerConnectionHandlerClient*), |
| they are both use by Internals for testing. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add RTC and MediaStream files. |
| |
| * html/HTMLMediaElement.h: Forward declare MediaStream instead of including MediaStream.h. |
| |
| * platform/mediastream/RTCPeerConnectionHandler.h: EXPORT the create method. |
| |
| * platform/mock/MediaConstraintsMock.cpp: |
| (WebCore::isSupported): Make static. |
| (WebCore::isValid): Ditto. |
| |
| * platform/mock/RTCPeerConnectionHandlerMock.h: EXPORT the create method. |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| [Mac][WK2] Fix applicationIsSafari() detection |
| https://bugs.webkit.org/show_bug.cgi?id=137893 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| I noticed when profiling Safari on Mac that we were exercising a code |
| path we shouldn't because it is meant for other applications that |
| Safari. |
| |
| The detection relies on the applicationIsSafari() function in |
| RuntimeApplicationChecks.cpp. This was in some cases returning false on |
| my machine even though I was running Safari so I investigated a bit and |
| noticed that the check relies on the main bundle identifier string and |
| is doing: |
| isSafari = mainBundleIsEqualTo("com.apple.Safari") |
| || mainBundleIsEqualTo("com.apple.WebProcess"); |
| |
| This WebProcess detection is very unreliable because: |
| - It matches other apps than Safari's WebProcesses |
| - The bundle name for the WebProcess is sometimes |
| "com.apple.WebKit.WebContent" or |
| "com.apple.WebKit.WebContent.Development". |
| |
| The solution used in this patch is to move the applicationIsSafari() |
| check to the UIProcess so that the check actually succeeds reliably. |
| The call site for applicationIsSafari() was in |
| ResourceRequest::useQuickLookResourceCachingQuirks(). This match |
| removes that logic from ResourceRequest and move it to |
| FrameLoaderClient as only the FrameLoader is interested in this |
| information. The logic to determine if we should use QuickLook |
| resource caching quirks is moved to a new QuickLook class under |
| platform/ as the code needs to be shared between WebKit and WebKit2. |
| On WebKit2, we make use that code on the UIProcess side and pass |
| the flag as a parameter when constructing the WebProcess. The flag |
| is then stored on the WebProcess and queried by WebFrameLoaderClient. |
| |
| Previously, we would spend ~1% of the WebProcess cpu time (when loading |
| apple.com) trying to detect if we should use QuickLook resource caching |
| quirks even though that check was supposed to be disabled and return |
| early when running Safari. |
| |
| No new tests, not easily testable. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * loader/EmptyClients.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::subresourceCachePolicy): |
| * loader/FrameLoaderClient.h: |
| * platform/RuntimeApplicationChecks.cpp: |
| (WebCore::applicationIsSafari): |
| Remove "com.apple.WebProcess" bundle name matching as this causes false |
| positives (matches other applications than Safari's WebProcesses) and |
| it is no longer needed now that applicationIsSafari() is always called |
| from the UIProcess. |
| |
| * platform/mac/QuickLookMac.h: Added. |
| * platform/mac/QuickLookMac.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm. |
| (WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks): |
| * platform/network/cf/ResourceRequest.h: |
| * platform/network/ios/ResourceRequestIOS.mm: |
| (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted. |
| * platform/network/mac/ResourceRequestMac.mm: |
| (WebCore::initQuickLookResourceCachingQuirks): Deleted. |
| (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted. |
| |
| 2014-10-22 Shivakumar JM <shiva.jm@samsung.com> |
| |
| XMLHttpRequest should support attribute responseURL as per latest XHR spec. |
| https://bugs.webkit.org/show_bug.cgi?id=136938 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Tests: http/tests/xmlhttprequest/basic-auth-responseURL.html |
| http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html |
| http/tests/xmlhttprequest/redirect-credentials-responseURL.html |
| http/tests/xmlhttprequest/xmlhttprequest-responseURL.html |
| |
| XMLHttpRequest should support attribute responseURL |
| |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::responseURL): |
| * xml/XMLHttpRequest.h: |
| * xml/XMLHttpRequest.idl: |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| Add initial support for generating the StyleBuilder from CSSPropertyNames.in |
| https://bugs.webkit.org/show_bug.cgi?id=137910 |
| |
| Reviewed by Andreas Kling. |
| |
| Add initial support for generating the StyleBuilder from |
| CSSPropertyNames.in. This is a first step towards getting rid of the |
| legacy DeprecatedStyleBuilder class and having everything defined in one |
| place (CSSPropertyNames.in). |
| |
| This patch updates makeprop.pl script to generate a StyleBuilder.cpp |
| file that generate a the StyleBuilder::applyProperty() method |
| implementation using a huge switch statement for all the CSS |
| properties. With this patch, we are now generating the new StyleBuilder |
| code for all the "simple" CSS properties (i.e. those that were using |
| ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a |
| "NewStyleBuilder" option in CSSPropertyNames.in for properties that |
| we generate to help with improving incrementally the generator. Once |
| we are able to generate all properties, this transition option will |
| do away and become the default. |
| |
| By default, the generator will make an educated guess for the type |
| name, the getter, the setter and the initial function of each property. |
| For example, for the border-collapse property, it will use: |
| - TypeName: EBorderCollapse (i.e. 'E' + PropertyId) |
| - Getter: borderCollapse() (i.e. PropertyId with first letter lowercased) |
| - Setter: setBorderCollapse() (i.e. 'set' + PropertyId) |
| - Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId) |
| |
| This works for most properties. For properties that need |
| special-casing, developers can use the following options in |
| CSSPropertyNames.in: |
| - TypeName: Overrides the type name |
| - Getter: Overrides the getter name |
| - Setter: Overrides the setter name |
| - Initial: Overrides the initial function name |
| - NameForMethods: Overrides the Getter / Setter / Initial function |
| names. For e.g. "NameForMethods=OverflowWrap" will use |
| "overflowWrap() / setOverflowWrap() / initialOverflowWrap()". |
| |
| The patch is inspired by the following Blink revision by |
| <timloh@chromium.org>: |
| https://src.chromium.org/viewvc/blink?view=rev&revision=150424 |
| |
| No new tests, no behavior change. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::ApplyPropertyVerticalAlign::createHandler): |
| (WebCore::ApplyPropertyDisplay::applyInitialValue): |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleBuilder.h: Added. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): |
| (WebCore::StyleResolver::applyProperty): |
| * css/makeprop.pl: |
| * rendering/style/RenderStyle.h: |
| Move the initialXXX() methods that were in NonInheritedFlags to |
| RenderStyle class, with the other initialXXX() methods to facilitate |
| code generation. |
| |
| * rendering/style/StyleMultiColData.cpp: |
| (WebCore::StyleMultiColData::StyleMultiColData): |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| |
| 2014-10-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GStreamer debug build after r175050. |
| |
| Explicitly include wtf/MainThread.h. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| |
| 2014-10-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GStreamer] Do not use CachedResourceLoader, SecurityOrigin, ResourceBuffer and other WebCore types |
| https://bugs.webkit.org/show_bug.cgi?id=137064 |
| |
| Reviewed by Philippe Normand. |
| |
| Move the media resource loader to a new class in WebCore/loader |
| that inherits from a PlatformMediaResourceLoader class defined in |
| the platform layer. The platform specific behaviour is implemented |
| using a client also defined in the platform layer, implemented by |
| every media backend, and used by the WebCore MediaResourceLoader. |
| |
| * CMakeLists.txt: Add new files to compilation. |
| * WebCore.vcxproj/WebCore.vcxproj: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader): |
| Create a MediaResourceLoader. |
| (WebCore::HTMLMediaElement::mediaPlayerCORSMode): Deleted. This is |
| no longer used. |
| * html/HTMLMediaElement.h: |
| * loader/MediaResourceLoader.cpp: Added. |
| (WebCore::MediaResourceLoader::MediaResourceLoader): |
| (WebCore::MediaResourceLoader::~MediaResourceLoader): |
| (WebCore::MediaResourceLoader::start): Start a new load for the |
| given request and load options. |
| (WebCore::MediaResourceLoader::stop): Stop the load if needed. |
| (WebCore::MediaResourceLoader::setDefersLoading): |
| (WebCore::MediaResourceLoader::responseReceived): Handle CORS |
| access check and notify the client about the response. |
| (WebCore::MediaResourceLoader::dataReceived): Notify the client. |
| (WebCore::MediaResourceLoader::notifyFinished): Ditto. |
| (WebCore::MediaResourceLoader::getOrCreateReadBuffer): Ask the |
| client to create the read buffer. |
| * loader/MediaResourceLoader.h: Added. |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::createResourceLoader): Call |
| mediaPlayerCreateResourceLoader() if there's a client. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader): |
| (WebCore::MediaPlayerClient::mediaPlayerCORSMode): Deleted. |
| * platform/graphics/PlatformMediaResourceLoader.h: Added. |
| (WebCore::PlatformMediaResourceLoaderClient::responseReceived): |
| (WebCore::PlatformMediaResourceLoaderClient::dataReceived): |
| (WebCore::PlatformMediaResourceLoaderClient::bufferReceived): |
| (WebCore::PlatformMediaResourceLoaderClient::accessControlCheckFailed): |
| (WebCore::PlatformMediaResourceLoaderClient::loadFailed): |
| (WebCore::PlatformMediaResourceLoaderClient::loadFinished): |
| (WebCore::PlatformMediaResourceLoaderClient::getOrCreateReadBuffer): |
| (WebCore::PlatformMediaResourceLoader::~PlatformMediaResourceLoader): |
| (WebCore::PlatformMediaResourceLoader::stop): |
| (WebCore::PlatformMediaResourceLoader::setDefersLoading): |
| (WebCore::PlatformMediaResourceLoader::didPassAccessControlCheck): |
| (WebCore::PlatformMediaResourceLoader::PlatformMediaResourceLoader): |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (webKitWebSrcStop): Also delete the PlatformMediaResourceLoader. |
| (webKitWebSrcStart): Create a new resource loader using |
| MediaPlayer::createResourceLoader() with a new |
| CachedResourceStreamingClient as client. |
| (webKitWebSrcNeedDataMainCb): Call setDefersLoading() for the |
| resource loader if there's one. |
| (webKitWebSrcEnoughDataMainCb): Ditto. |
| (webKitSrcPassedCORSAccessCheck): Return didPassAccessControlCheck. |
| (StreamingClient::handleResponseReceived): Remove the CORS check |
| result parameter since that's now handled by MediaResourceLoader. |
| (CachedResourceStreamingClient::CachedResourceStreamingClient): |
| (CachedResourceStreamingClient::~CachedResourceStreamingClient): |
| (CachedResourceStreamingClient::getOrCreateReadBuffer): |
| (CachedResourceStreamingClient::responseReceived): Update didPassAccessControlCheck. |
| (CachedResourceStreamingClient::dataReceived): |
| (CachedResourceStreamingClient::accessControlCheckFailed): Log the |
| error and stop the load. |
| (CachedResourceStreamingClient::loadFailed): Log the error if it |
| was not a cancellation. |
| (CachedResourceStreamingClient::loadFinished): |
| (ResourceHandleStreamingClient::didReceiveResponse): |
| (CachedResourceStreamingClient::setDefersLoading): Deleted. |
| (CachedResourceStreamingClient::notifyFinished): Deleted. |
| |
| 2014-10-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move GtkInputMethodFilter from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137884 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Remove GtkInputMethodFilter. |
| |
| * PlatformGTK.cmake: |
| * platform/gtk/GtkInputMethodFilter.cpp: Removed. |
| * platform/gtk/GtkInputMethodFilter.h: Removed. |
| |
| 2014-10-22 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> |
| |
| Match spec for font-weight: bolder|lighter |
| https://bugs.webkit.org/show_bug.cgi?id=137919 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch is a merge of Blink's |
| https://chromiumcodereview.appspot.com/15994009 |
| |
| Currently, bolder and lighter change font-weight in a non-compliant way. |
| The spec (http://www.w3.org/TR/css3-fonts/#bolderlighter) defines |
| exactly what the computed values should be given the inherited weight values, |
| so we should match those. |
| |
| The removed FIXME's for selecting the next lightest/heaviest weight from |
| the used font family seems to refer to behaviour from |
| CSS1 (http://www.w3.org/TR/CSS1/#font-weight), while this is replaced |
| with a simpler procedure for resolving bolder and lighter in font weights |
| in CSS2 (http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight) and CSS3 (link above). |
| |
| and https://codereview.chromium.org/137813004 |
| |
| According to http://dev.w3.org/csswg/css-fonts/#font-weight-prop, the computed |
| weight of 'lighter' and 'bolder' are based on the inherited 'font-weight', so set |
| that inherited weight before calculating 'lighter' and 'bolder'. |
| |
| Tests: css3/font-weight-multiple-selectors.html |
| css3/font-weight.html |
| |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::ApplyPropertyFontWeight::applyValue): |
| * platform/graphics/FontDescription.cpp: |
| (WebCore::FontDescription::lighterWeight): |
| (WebCore::FontDescription::bolderWeight): |
| |
| 2014-10-22 Rohit Kumar <kumar.rohit@samsung.com> |
| |
| [GTK]: Fix unused parameter build warnings in WebCore/platform module |
| https://bugs.webkit.org/show_bug.cgi?id=137921 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData): |
| (WebCore::ScrollAnimatorNone::animationTimerFired): |
| |
| 2014-10-22 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Add relList to the anchor, area and link elements |
| https://bugs.webkit.org/show_bug.cgi?id=137860 |
| |
| Reviewed by Darin Adler and Chris Dumez. |
| |
| Add relList to reflect the rel content attribute for anchor[1], |
| area[2] and link[3] elements. |
| |
| [1] https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist |
| [2] https://html.spec.whatwg.org/multipage/embedded-content.html#dom-area-rellist |
| [3] https://html.spec.whatwg.org/multipage/semantics.html#dom-link-rellist |
| |
| Tests: fast/dom/rel-list-gc.html |
| fast/dom/rel-list.html |
| perf/rel-list-remove.html |
| |
| * CMakeLists.txt: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/SpaceSplitString.cpp: |
| (WebCore::SpaceSplitString::set): |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::parseAttribute): |
| (WebCore::HTMLAnchorElement::relList): |
| (WebCore::HTMLAnchorElement::setRel): Deleted. |
| * html/HTMLAnchorElement.h: |
| * html/HTMLAnchorElement.idl: |
| * html/HTMLAreaElement.idl: |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::parseAttribute): |
| (WebCore::HTMLLinkElement::relList): |
| * html/HTMLLinkElement.h: |
| * html/HTMLLinkElement.idl: |
| * html/RelList.cpp: Added. |
| (WebCore::RelList::RelList): |
| (WebCore::RelList::ref): |
| (WebCore::RelList::deref): |
| (WebCore::RelList::length): |
| (WebCore::RelList::item): |
| (WebCore::RelList::element): |
| (WebCore::RelList::updateRelAttribute): |
| (WebCore::RelList::containsInternal): |
| (WebCore::RelList::value): |
| (WebCore::RelList::setValue): |
| * html/RelList.h: Added. |
| |
| 2014-10-21 Andy Estes <aestes@apple.com> |
| |
| One more iOS build fix after r175013. |
| |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::createFontPlatformData): |
| |
| 2014-10-21 Benjamin Poulain <bpoulain@apple.com> |
| |
| CSS Rule features are ignored for nested CSS Selector lists |
| https://bugs.webkit.org/show_bug.cgi?id=137908 |
| |
| Reviewed by Andreas Kling. |
| |
| When Rule feature sets were collected, any selector list nested inside an other |
| selector list was ignored when collecting properties of the CSS Selector. |
| |
| As a result, style was not invalidated properly when any property listed in |
| the nested selectors. |
| |
| This patch fixes the issue by make RuleFeatureSet::collectFeaturesFromSelector() |
| recursive, evaluating every chain of every selector lists. |
| |
| Tests: fast/css/class-style-invalidation-optimization.html |
| fast/css/direct-adjacent-style-sharing-1.html |
| fast/css/direct-adjacent-style-sharing-2.html |
| fast/css/direct-adjacent-style-sharing-3.html |
| fast/css/id-style-invalidation-optimization.html |
| fast/selectors/class-style-update-with-not.html |
| fast/selectors/class-style-update-with-nth-child-of.html |
| fast/selectors/class-style-update.html |
| |
| * css/RuleFeature.cpp: |
| (WebCore::recursivelyCollectFeaturesFromSelector): |
| (WebCore::RuleFeatureSet::collectFeaturesFromSelector): |
| * css/RuleFeature.h: |
| * css/RuleSet.cpp: |
| (WebCore::collectFeaturesFromRuleData): |
| |
| 2014-10-21 Tim Horton <timothy_horton@apple.com> |
| |
| Try to fix the iOS build after r175013. |
| |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::createFontPlatformData): |
| |
| 2014-10-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr | std::make_unique in FontCacheFoo |
| https://bugs.webkit.org/show_bug.cgi?id=137905 |
| |
| Reviewed by Darin Adler. |
| |
| Clean up PassOwnPtr|OwnPtr using std::unique_ptr|std::make_unique. |
| |
| No new tests, no behavior changes. |
| |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::getCachedFontPlatformData): |
| * platform/graphics/FontCache.h: |
| * platform/graphics/freetype/FontCacheFreeType.cpp: |
| (WebCore::FontCache::createFontPlatformData): |
| * platform/graphics/ios/FontCacheIOS.mm: |
| (WebCore::FontCache::createFontPlatformData): |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::FontCache::createFontPlatformData): |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::FontCache::createFontPlatformData): |
| |
| 2014-10-21 Ada Chan <adachan@apple.com> |
| |
| Calling WebCore::Page::setMediaVolume(0) does not mute videos as expected. |
| https://bugs.webkit.org/show_bug.cgi?id=137305 |
| |
| Reviewed by Darin Adler. |
| |
| This was broken in http://trac.webkit.org/changeset/154970. To fix this (but not break |
| GStreamer), remove the "if (m_volumeInitialized)" check before updating the MediaPlayer's |
| volume to the value multiplied with the Page's mediaVolume. This should not affect GStreamer's |
| behavior because MediaPlayerPrivateGStreamerBase::setStreamVolumeElement does nothing unless |
| m_volumeInitialized is true. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::updateVolume): |
| |
| 2014-10-21 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Update to match new AVStreamSession API and requirements. |
| https://bugs.webkit.org/show_bug.cgi?id=137923 |
| |
| Reviewed by Eric Carlson. |
| |
| The session identifier has moved from AVStreamDataParser to -[AVStreamSession contentProtectionSessionIdentifier] |
| and the property is no longer KVObservable. A new notification key has been added in place of KVO. |
| |
| Additionally, the requirements for using AVStreamDataParser with AVStreamSession have changed. It is now |
| required that AVStreamDataParsers be added to an AVStreamSession before the |
| -streamSession:didProvideContentKeyRequestInitializationData:forTrackID delegate method is called. A |
| -streamParserWillProvideContentKeyRequestInitializationData:forTrackID delegate has been added, and |
| an AVStreamSession must be created and the AVStreamDataParser added to it during the scope of that delegate |
| method. |
| |
| To facilitate this, the MediaPlayerPrivateMediaSourceAVFObjC object will lazily create and own a AVStreamSession |
| object when requested. The SourceBufferPrivateAVFObjC object will listen for the -willProvide delegate call |
| and will add its AVStreamDataParser to that AVStreamSession when called. |
| |
| The CDMSessionMediaSourceAVFObjC object is no longer responsible for creating the AVStreamSession, and because |
| the session identifier has moved from many AVStreamDataParsers to a single AVStreamSession, the |
| CDMSessionMediaSourceAVFObjCObserver class can become much simpler, as it only has to observe a single object. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (-[CDMSessionMediaSourceAVFObjCObserver dealloc]): Deleted. |
| (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): Deleted. |
| (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): Deleted. |
| (-[CDMSessionMediaSourceAVFObjCObserver invalidate]): Deleted. |
| (-[CDMSessionMediaSourceAVFObjCObserver observeValueForKeyPath:ofObject:change:context:]): Deleted. |
| (-[CDMSessionMediaSourceAVFObjCObserver contentProtectionSessionIdentifierChanged:]): Added. |
| (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Call setStreamSession(nullptr). |
| (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): The sessionId is now a value in the dictionary, not the key. |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): No longer create an AVStreamSession. |
| (WebCore::CDMSessionMediaSourceAVFObjC::setStreamSession): Add and remove observers as appropriate. |
| (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): No longer add or remove parsers from AVStreamSessions. |
| (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Ditto. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasStreamSession): Simple getter. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Lazy initializing getter. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Call setStreamSession(). |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (-[WebAVStreamDataParserListener streamParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Synchronously pass to SourceBufferPrivateAVFObjC. |
| (WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID): Add the parser to an AVStreamSession. |
| (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Check the trackId. |
| * platform/mac/SoftLinking.h: |
| |
| 2014-10-21 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| 'true' isn't a valid value for justify-self |
| https://bugs.webkit.org/show_bug.cgi?id=137913 |
| |
| Reviewed by Andreas Kling. |
| |
| Merged from Blink (patch by dstockwell): |
| <https://src.chromium.org/viewvc/blink?view=rev&revision=174638> |
| |
| CSS Box Alignment Module Level 3: |
| http://dev.w3.org/csswg/css-align/#justify-self-property |
| |
| No new tests, modify existing test case. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseJustifySelf): |
| |
| 2014-10-21 Michael Saboff <msaboff@apple.com> |
| |
| Add operator==(PropertyName, const char*) |
| https://bugs.webkit.org/show_bug.cgi?id=137925 |
| |
| Reviewed by Mark Lam. |
| |
| Use new == operator to compare a PropertyName with a string literal. |
| |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): |
| |
| 2014-10-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after r174921. |
| |
| Export new symbol after function rename. |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| |
| 2014-10-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after r174921. |
| |
| Remove symbol from export files that no longer exists. |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| |
| 2014-10-21 peavo@outlook.com <peavo@outlook.com> |
| |
| [Curl] Optimization; avoid string reallocation. |
| https://bugs.webkit.org/show_bug.cgi?id=137920 |
| |
| Reviewed by Brent Fulgham. |
| |
| Profiling reveals that the cookiesForDOM function is spending time on removing a character from a string. |
| |
| * platform/network/curl/CookieJarCurl.cpp: |
| (WebCore::domainMatch): |
| (WebCore::addMatchingCurlCookie): |
| |
| 2014-10-21 Joanmarie Diggs <jdiggs@igalia.com> |
| |
| AX: [ATK] CSS-generated text content not exposed to assistive technologies |
| https://bugs.webkit.org/show_bug.cgi?id=137669 |
| |
| Reviewed by Chris Fleizach. |
| |
| Do not use a text iterator to get the text for elements which include |
| pseudo elements. |
| |
| Test: accessibility/css-content-attribute.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::textUnderElement): |
| |
| 2014-10-21 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION(r174676): It broke the !ENABLE(VIDEO) build |
| https://bugs.webkit.org/show_bug.cgi?id=137916 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Fix the !ENABLE(VIDEO) build by adding an #if ENABLE(VIDEO) where |
| needed. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::isDirectlyCompositedImage): |
| |
| 2014-10-21 Zalan Bujtas <zalan@apple.com> |
| |
| REGRESSION: Google Search (mobile) video thumbnails are too large. |
| https://bugs.webkit.org/show_bug.cgi?id=137895 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch fixes layer clipping when an ancestor layer has border-radius clipping. |
| |
| In cases, where the current layer has non-radius cliprect, while an ancestor layer |
| has border-radius clipping, we only use the border-radius rect to clip. |
| |
| Test: fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::clipToRect): |
| (WebCore::RenderLayer::restoreClip): |
| (WebCore::RenderLayer::collectFragments): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| (WebCore::ClipRect::ClipRect): |
| (WebCore::ClipRect::effectedByRadius): |
| (WebCore::ClipRect::setEffectedByRadius): |
| (WebCore::ClipRect::operator==): |
| (WebCore::ClipRect::operator!=): |
| (WebCore::ClipRect::intersect): |
| (WebCore::ClipRect::hasRadius): Deleted. |
| (WebCore::ClipRect::setHasRadius): Deleted. |
| |
| 2014-10-20 Michael Saboff <msaboff@apple.com> |
| |
| Don't create cached functions for HTMLDocument.write*() |
| https://bugs.webkit.org/show_bug.cgi?id=137906 |
| |
| Reviewed by Darin Adler. |
| |
| Made it so that JSHTMLDocument::write() and ::writeln() are always created for every prototype. |
| This is similar to the change in r174847. |
| |
| This change is alread covered by the tests: |
| LayoutTests/http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html |
| LayoutTests/http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html |
| LayoutTests/http/tests/security/aboutBlank/security-context-write.html |
| LayoutTests/http/tests/security/aboutBlank/security-context-writeln.html |
| LayoutTests/http/tests/xmlhttprequest/request-from-popup.html |
| LayoutTests/http/tests/navigation/new-window-redirect-history.html |
| LayoutTests/http/tests/misc/window-open-then-write.html |
| |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): |
| * html/HTMLDocument.idl: |
| |
| 2014-10-21 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION(r174676): It broke the !ENABLE(VIDEO) build |
| https://bugs.webkit.org/show_bug.cgi?id=137916 |
| |
| Unreviewed build fix. Add missing header include. |
| |
| * rendering/RenderLayerBacking.cpp: |
| |
| 2014-10-21 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION (r170808): Volume slider in built-in media controls only changes volume when thumb is released, not while dragging |
| https://bugs.webkit.org/show_bug.cgi?id=137805 |
| |
| Reviewed by Dan Bernstein. |
| |
| Test: media/video-volume-slider-drag.html |
| |
| Respond to the 'input' event rather than the 'change' event for the volume slider, so that |
| volume changes are continuous during drag operations. |
| |
| Also listen for both 'input' and 'change' events for the timeline slider, doing fastSeek() |
| during 'input' and setting an explicit currentTime during 'change'. This is the same behavior |
| as current, but using 'change' instead of 'mouseup' to do the final currentTime change. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.createControls): |
| (Controller.prototype.handleTimelineInput): |
| (Controller.prototype.handleTimelineChange): |
| (Controller.prototype.handleTimelineMouseUp): |
| (Controller.prototype.handleVolumeSliderInput): |
| (Controller.prototype.handlePlayButtonClicked): Deleted. |
| (Controller.prototype.handleMaxButtonClicked): Deleted. |
| |
| 2014-10-21 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid |
| https://bugs.webkit.org/show_bug.cgi?id=136939 |
| |
| Reviewed by Darin Adler. |
| |
| In some particular situations computeIntrinsicLogicalWidths() is called |
| in the middle of layoutGridItems(). In these cases we do not need to |
| populate the grid again, so we should avoid calling placeItemsOnGrid(). |
| In addition, we do not need to clean the grid either, as that will be |
| done later by layoutGridItems(). |
| |
| Test: fast/css-grid-layout/grid-was-populated-assert.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to |
| placeItemsOnGrid() and clearGrid() if the grid was already populated. |
| * rendering/RenderGrid.h: Move gridWasPopulated() header out of the |
| debug ifdefs. |
| |
| 2014-10-21 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Make dashPattern, dotPattern in GraphicsContext::setPlatformStrokeStyle() const |
| https://bugs.webkit.org/show_bug.cgi?id=137912 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::setPlatformStrokeStyle): Make the two static variables |
| constants since their value doesn't change after initialization. |
| |
| 2014-10-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Several labels are white instead of black |
| https://bugs.webkit.org/show_bug.cgi?id=137803 |
| |
| Reviewed by Martin Robinson. |
| |
| Recent GTK+ versions require to explicitly set the state before |
| getting a color. |
| |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::styleColor): Helper function to get a color from a |
| GtkStylecontext that explicitly sets the state before getting the color. |
| (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor(). |
| (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto. |
| (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto. |
| (WebCore::RenderThemeGtk::systemColor): Ditto. |
| |
| 2014-10-20 YongGeol Jung <yg48.jung@samsung.com> |
| |
| [Coordinated Graphics] '-webkit-mask-image: -webkit-gradient' doesn't work for AC layer. |
| https://bugs.webkit.org/show_bug.cgi?id=125326 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Mask layer hasn't requested to synchronize with AC layer in CoordinatedGraphics so far. |
| That's why the mask layer isn't shown under CoordinatedGraphics. |
| Thus this patch lets the mask layer synchronize with the AC layer whenever AC layer is updated. |
| |
| Below layout test case is related to this issue when --pixel test is enabled. |
| Unfortunately EFL WebKitTestRunner doesn't support AC mode yet. |
| When EFL test framework supports AC mode, the test will be passed. |
| |
| Test: compositing/masks/mask-of-clipped-layer.html |
| |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): |
| |
| 2014-10-17 Jeffrey Pfau <jpfau@apple.com> |
| |
| Ensure attached frame count doesn't exceed the maximum allowed frames |
| https://bugs.webkit.org/show_bug.cgi?id=136457 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Test: fast/frames/exponential-frames.html |
| |
| * html/HTMLFrameElementBase.cpp: |
| (WebCore::HTMLFrameElementBase::isURLAllowed): |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition |
| https://bugs.webkit.org/show_bug.cgi?id=137797 |
| |
| Reviewed by Darin Adler. |
| |
| ResourceRequest deserialization was unnecessarily calling partitionName() |
| on the decoded cache partition. In the deserialization case, we already |
| know the cache partition is a valid partition name so we can bypass the |
| call to partitionName() (which is fairly expensive) for performance. |
| |
| This patch adds a setDomainForCachePartion() method to ResourceRequest |
| that calls partitionName() on the domain argument, and moves all the |
| callers of setCachedPartition() to this new setter, except |
| ArgumentCoder<ResourceRequest>::decode(). |
| |
| This patch updates the setCachedPartition() to merely set the |
| m_cachePartition member, without calling partitionName() on the |
| argument. There is also a new assertion in place to make sure the |
| argument is a valid partition name. |
| |
| No new tests, no behavior change. |
| |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::revokeObjectURL): |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResource): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::replayXHR): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::loadURL): |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): |
| (WebCore::CachedResourceLoader::requestResource): |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::addImageToCache): |
| (WebCore::MemoryCache::removeImageFromCache): |
| * loader/cache/MemoryCache.h: |
| * page/SecurityOrigin.cpp: |
| (WebCore::SecurityOrigin::domainForCachePartition): |
| (WebCore::SecurityOrigin::cachePartition): Deleted. |
| Rename cachePartition() getter to domainForCachePartition() to make it |
| clear it returns a domain and not a partition name. As such, the caller |
| should then use ResourceRequest::setDomainForCachePartition(), not |
| setCachePartition(). |
| |
| * page/SecurityOrigin.h: |
| * platform/network/cf/ResourceRequest.h: |
| (WebCore::ResourceRequest::setCachePartition): |
| (WebCore::ResourceRequest::setDomainForCachePartition): |
| |
| 2014-10-20 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| Tighten XMLHttpRequest setRequestHeader value check |
| https://bugs.webkit.org/show_bug.cgi?id=128593 |
| |
| Reviewed by Darin Adler. |
| |
| Test: http/tests/xmlhttprequest/set-bad-headervalue.html |
| |
| * platform/network/HTTPParsers.cpp: |
| (WebCore::isValidHTTPHeaderValue): Updated header values check according RFC 7230. |
| (WebCore::isValidHTTPToken): Renamed variable name and updated RFC related comment. |
| |
| 2014-10-20 Michael Saboff <msaboff@apple.com> |
| |
| Make post checkin suggested changes to r174847 |
| https://bugs.webkit.org/show_bug.cgi?id=137885 |
| |
| Reviewed by Mark Lam. |
| |
| Eliminated the creation of a temporary Identifier when comparing propertyName to "open". |
| Made the suggested post checkin change to put the declaration of "entry" into the if. |
| |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for SpinButtonElement |
| https://bugs.webkit.org/show_bug.cgi?id=137896 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Use is<>() / downcast<>() for SpinButtonElement instead of |
| isSpinButtonElement() / static_cast for consistency with the rest of |
| the code and for safety. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::addTextFieldChildren): |
| * html/shadow/SpinButtonElement.h: |
| (isType): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::isSpinUpButtonPartPressed): |
| (WebCore::RenderTheme::isHovered): |
| (WebCore::RenderTheme::isSpinUpButtonPartHovered): |
| |
| 2014-10-20 Roger Fong <roger_fong@apple.com> |
| |
| Use glFlush instead of glFinish when drawing WebGL output to screen. |
| https://bugs.webkit.org/show_bug.cgi?id=137897. |
| <rdar://problem/15846550> |
| |
| Reviewed by Brent Fulgham. |
| |
| Passes all conformance tests. |
| Performance tested by http://threejs.org/examples/#webgl_performance and Unity WebGL performance tests. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::prepareTexture): |
| Use glFlush instead of glFinish. glFinish is a blocking operation pushed out queued up WebGL operations and then waits until |
| every operation has completed before returning and every pixel has been updated. This causes severe performance problems, |
| about a 10 fps difference on http://threejs.org/examples/#webgl_performance. glFlush, like glFinish, |
| forces all queued WebGL operations to take place, but returns immediately. Switching to glFlush does not seem |
| make our rendering quality any worse for the handful of sites I've tested and makes our performance on WebGL much better. |
| However, we should continue to be on the watch for any potential rendering issues after this lands. |
| |
| 2014-10-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| Generalize the compilation of :not() to support arbitrary selector lists |
| https://bugs.webkit.org/show_bug.cgi?id=137843 |
| |
| Reviewed by Andreas Kling. |
| |
| This builds :not() on top of the code created for :nth-child(An+B of selectorList) |
| to support any selector list. |
| |
| The tests for the JIT were added previously: |
| -not-boundaries.html |
| -not-backtracking.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| Any :not() of a selector is handled through a simple selector list. Cases like |
| :not(foo, bar) simply generate not([fragmentFoo, bragmentBar]). |
| |
| Old cases like :not(foo):not(bar) simply add those cases to the selector list, |
| generating not([fragmentFoo, bragmentBar]). |
| |
| (WebCore::SelectorCompiler::minimumRegisterRequirements): |
| Register pressure is now tracked through computeBacktrackingMemoryRequirements. |
| |
| (WebCore::SelectorCompiler::hasAnyCombinators): |
| (WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements): |
| (WebCore::SelectorCompiler::computeBacktrackingInformation): |
| Abstract the code creating Selector Lists from :nth-child(of). Use that for :not() |
| and :nth-child(of). |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesNotPseudoClass): |
| |
| 2014-10-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr<>|make_unique<> in PluginView::scheduleRequest() |
| https://bugs.webkit.org/show_bug.cgi?id=137874 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests, no behavior change. |
| |
| * plugins/PluginView.cpp: |
| (WebCore::PluginView::requestTimerFired): |
| (WebCore::PluginView::scheduleRequest): Replace PassOwnPtr with std::unique_ptr. |
| (WebCore::PluginView::load): Create PluginRequest using std::make_unique. |
| * plugins/PluginView.h: |
| |
| 2014-10-20 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * platform/spi/mac/NSViewSPI.h: |
| |
| 2014-10-20 Beth Dakin <bdakin@apple.com> |
| |
| Add support for action menus |
| https://bugs.webkit.org/show_bug.cgi?id=137891 |
| rdar://problem/18451638 |
| rdar://problem/18694470 |
| |
| Reviewed by Anders Carlsson. |
| |
| New SPI that is needed for this. |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/spi/mac: Added. |
| * platform/spi/mac/NSViewSPI.h: Added. |
| |
| 2014-10-20 Dean Jackson <dino@apple.com> |
| |
| [Mac] Support "inverted-colors" and "monochrome" media feature. |
| https://bugs.webkit.org/show_bug.cgi?id=137535 |
| <rdar://problem/18586398> |
| |
| Rolling out the Windows part of this to fix the build. |
| |
| * platform/win/PlatformScreenWin.cpp: |
| (WebCore::screenHasInvertedColors): Revert to a stub function. |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed EFL / GTK build fix after r174898. |
| |
| Add missing header include. |
| |
| * accessibility/AccessibilityARIAGrid.cpp: |
| |
| 2014-10-20 Dean Jackson <dino@apple.com> |
| |
| [Mac] Support "inverted-colors" and "monochrome" media feature. |
| https://bugs.webkit.org/show_bug.cgi?id=137535 |
| <rdar://problem/18586398> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add a new media query from CSS Level 4, "inverted-colors", and |
| implement the Apple backends for the "monochrome" media query. |
| |
| The platform code went into PlatformScreenMac, which already |
| had a screenIsMonochrome method. This now calls into Core |
| Graphics via SPI. I added a screenHasInvertedColors |
| method which tests for inversion. On iOS, there is public API |
| for both queries. On Windows, we try to use CoreGraphics. |
| |
| At the moment neither of these media queries re-evaluate |
| automatically if the user changes their mode. The page will |
| need to be reloaded. It is possible to detect a change on iOS, |
| but not OS X. |
| https://bugs.webkit.org/show_bug.cgi?id=137868 |
| |
| I decided to not add an ENABLE flag for this, mostly because it |
| is such an isolated feature and seems very unlikely to be |
| controversial. I don't expect the syntax to change. (I'm sure |
| this comment will come back to haunt me.) |
| |
| Testing this automatically is slightly tricky. We'd need |
| to expose SPI to invert the user's screen, but then we get |
| inverted images from our testing which could interfere with concurrent |
| operations. Instead I've included some tests that exercise |
| the "false" parts of the media query, with explanations as |
| to why they would fail if the display is inverted. |
| |
| Tests: fast/media/mq-inverted-colors.html |
| fast/media/mq-monochrome.html |
| |
| * css/CSSValueKeywords.in: Add the "inverted" keyword for "inverted-colors". |
| * css/MediaFeatureNames.h: Add the "inverted-colors" feature name. |
| * css/MediaQueryEvaluator.cpp: |
| (WebCore::inverted_colorsMediaFeatureEval): Implementation of the new media query. |
| * css/MediaQueryExp.cpp: |
| (WebCore::featureWithCSSValueID): The new query takes an id... |
| (WebCore::featureWithoutValue): ... or no value. |
| * platform/PlatformScreen.h: Add "screenHasInvertedColors". |
| * platform/efl/PlatformScreenEfl.cpp: |
| (WebCore::screenHasInvertedColors): Stub implementation. |
| * platform/gtk/PlatformScreenGtk.cpp: |
| (WebCore::screenHasInvertedColors): Ditto. |
| * platform/ios/PlatformScreenIOS.mm: |
| (WebCore::screenHasInvertedColors): Call into the platform accessibility API. |
| (WebCore::screenIsMonochrome): Ditto. |
| * platform/mac/PlatformScreenMac.mm: |
| (WebCore::screenIsMonochrome): Call into the CoreGraphics SPI. |
| (WebCore::screenHasInvertedColors): Call into the CoreGraphics SPI. |
| * platform/win/PlatformScreenWin.cpp: |
| (WebCore::screenHasInvertedColors): Call into CoreGraphics if we're using it. |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Accessibility objects |
| https://bugs.webkit.org/show_bug.cgi?id=137286 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for Accessibility objects and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::focusedImageMapUIElement): |
| (WebCore::AXObjectCache::notificationPostTimerFired): |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addTableCellChild): |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityARIAGridCell.cpp: |
| (WebCore::AccessibilityARIAGridCell::parentTable): |
| (WebCore::AccessibilityARIAGridCell::rowIndexRange): |
| * accessibility/AccessibilityARIAGridRow.cpp: |
| (WebCore::AccessibilityARIAGridRow::disclosedRows): |
| (WebCore::AccessibilityARIAGridRow::disclosedByRow): |
| (WebCore::AccessibilityARIAGridRow::parentTable): |
| * accessibility/AccessibilityARIAGridRow.h: |
| * accessibility/AccessibilityImageMapLink.cpp: |
| (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer): |
| * accessibility/AccessibilityImageMapLink.h: |
| * accessibility/AccessibilityList.h: |
| * accessibility/AccessibilityListBox.cpp: |
| (WebCore::AccessibilityListBox::setSelectedChildren): |
| (WebCore::AccessibilityListBox::selectedChildren): |
| (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject): |
| * accessibility/AccessibilityListBox.h: |
| * accessibility/AccessibilityListBoxOption.h: |
| * accessibility/AccessibilityMenuList.cpp: |
| (WebCore::AccessibilityMenuList::addChildren): |
| (WebCore::AccessibilityMenuList::didUpdateActiveOption): |
| * accessibility/AccessibilityMenuList.h: |
| * accessibility/AccessibilityMenuListOption.h: |
| * accessibility/AccessibilityMenuListPopup.cpp: |
| (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject): |
| * accessibility/AccessibilityMenuListPopup.h: |
| * accessibility/AccessibilityMockObject.h: |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| * accessibility/AccessibilityNodeObject.h: |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::appendChildrenToArray): |
| (WebCore::AccessibilityObject::scrollViewAncestor): |
| * accessibility/AccessibilityObject.h: |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::getDocumentLinks): |
| (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): |
| (WebCore::AccessibilityRenderObject::inheritsPresentationalRole): |
| (WebCore::AccessibilityRenderObject::addImageMapChildren): |
| (WebCore::AccessibilityRenderObject::addTextFieldChildren): |
| (WebCore::AccessibilityRenderObject::remoteSVGRootElement): |
| (WebCore::AccessibilityRenderObject::ariaSelectedRows): |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/AccessibilitySVGRoot.h: |
| * accessibility/AccessibilityScrollView.cpp: |
| (WebCore::AccessibilityScrollView::addChildScrollbar): |
| * accessibility/AccessibilityScrollView.h: |
| * accessibility/AccessibilityScrollbar.h: |
| * accessibility/AccessibilitySlider.cpp: |
| (WebCore::AccessibilitySlider::addChildren): |
| * accessibility/AccessibilitySlider.h: |
| * accessibility/AccessibilitySpinButton.cpp: |
| (WebCore::AccessibilitySpinButton::addChildren): |
| (WebCore::AccessibilitySpinButtonPart::press): |
| * accessibility/AccessibilitySpinButton.h: |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::addChildren): |
| (WebCore::AccessibilityTable::addChildrenFromSection): |
| (WebCore::AccessibilityTable::headerContainer): |
| (WebCore::AccessibilityTable::columnHeaders): |
| (WebCore::AccessibilityTable::rowHeaders): |
| (WebCore::AccessibilityTable::cellForColumnAndRow): |
| * accessibility/AccessibilityTable.h: |
| Make isAccessibilityTable() public and mark as final so that callers |
| can benefit from tighter typing, as isAccessibilityTable() is |
| stricter than isTable(). isTable() indicates that the object is an |
| AccessibilityTable and is equivalent to is<AccessibilityTable>(object). |
| isAccessibilityTable() is equivalent to "isTable() && renderer()". |
| |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::parentTable): |
| * accessibility/AccessibilityTableCell.h: |
| * accessibility/AccessibilityTableColumn.cpp: |
| (WebCore::AccessibilityTableColumn::headerObject): |
| (WebCore::AccessibilityTableColumn::addChildren): |
| * accessibility/AccessibilityTableColumn.h: |
| * accessibility/AccessibilityTableHeaderContainer.cpp: |
| (WebCore::AccessibilityTableHeaderContainer::addChildren): |
| * accessibility/AccessibilityTableRow.cpp: |
| (WebCore::AccessibilityTableRow::parentTable): |
| (WebCore::AccessibilityTableRow::headerObject): |
| * accessibility/AccessibilityTableRow.h: |
| * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp: |
| (webkitAccessibleSelectionClearSelection): |
| (webkitAccessibleSelectionSelectAllSelection): |
| * accessibility/atk/WebKitAccessibleInterfaceTable.cpp: |
| (core): |
| (cell): |
| (cellAtIndex): |
| (webkitAccessibleTableGetIndexAt): |
| (webkitAccessibleTableGetNColumns): |
| (webkitAccessibleTableGetNRows): |
| (webkitAccessibleTableGetColumnHeader): |
| (webkitAccessibleTableGetRowHeader): |
| * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: |
| (webkitAccessibleTableCellGetColumnHeaderCells): |
| (webkitAccessibleTableCellGetRowHeaderCells): |
| (webkitAccessibleTableCellGetColumnSpan): |
| (webkitAccessibleTableCellGetRowSpan): |
| (webkitAccessibleTableCellGetPosition): |
| * accessibility/ios/AccessibilityObjectIOS.mm: |
| (WebCore::AccessibilityObject::accessibilityPasswordFieldLength): |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]): |
| (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]): |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (AXAttributeStringSetElement): |
| (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]): |
| (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]): |
| (-[WebAccessibilityObjectWrapper subrole]): |
| (-[WebAccessibilityObjectWrapper roleDescription]): |
| (-[WebAccessibilityObjectWrapper scrollViewParent]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]): |
| (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): |
| * rendering/RenderMenuList.cpp: |
| (RenderMenuList::didUpdateActiveOption): |
| |
| 2014-10-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Generate all Inspector domains together in JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=137748 |
| |
| Reviewed by Brian Burg. |
| |
| After moving the json files into JavaScriptCore update the includes, |
| and names of functions that were previously prefixed. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * ForwardingHeaders/inspector/InspectorBackendDispatchers.h: Added. |
| * ForwardingHeaders/inspector/InspectorFrontendDispatchers.h: Added. |
| * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Removed. |
| * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Removed. |
| * ForwardingHeaders/inspector/InspectorJSProtocolTypes.h: Removed. |
| * ForwardingHeaders/inspector/InspectorProtocolTypesBase.h: Added. |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.vcxproj/copyForwardingHeaders.cmd: |
| * WebCore.xcodeproj/project.pbxproj: |
| * inspector/CommandLineAPIHost.cpp: |
| * inspector/InspectorApplicationCacheAgent.cpp: |
| * inspector/InspectorApplicationCacheAgent.h: |
| * inspector/InspectorCSSAgent.cpp: |
| * inspector/InspectorCSSAgent.h: |
| * inspector/InspectorController.cpp: |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): |
| * inspector/InspectorDOMAgent.h: |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| * inspector/InspectorDOMDebuggerAgent.h: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| * inspector/InspectorDOMStorageAgent.h: |
| * inspector/InspectorDatabaseAgent.cpp: |
| * inspector/InspectorDatabaseAgent.h: |
| * inspector/InspectorDatabaseResource.cpp: |
| * inspector/InspectorDatabaseResource.h: |
| * inspector/InspectorFrontendClientLocal.cpp: |
| * inspector/InspectorIndexedDBAgent.cpp: |
| * inspector/InspectorIndexedDBAgent.h: |
| * inspector/InspectorLayerTreeAgent.cpp: |
| * inspector/InspectorLayerTreeAgent.h: |
| * inspector/InspectorPageAgent.cpp: |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorReplayAgent.cpp: |
| * inspector/InspectorReplayAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| * inspector/InspectorResourceAgent.h: |
| * inspector/InspectorStyleSheet.cpp: |
| * inspector/InspectorStyleSheet.h: |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::addRecordToTimeline): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/InspectorWorkerAgent.cpp: |
| * inspector/InspectorWorkerAgent.h: |
| * inspector/PageRuntimeAgent.h: |
| * inspector/TimelineRecordFactory.cpp: |
| * inspector/WorkerInspectorController.cpp: |
| |
| 2014-10-20 Andy Estes <aestes@apple.com> |
| |
| Fix the GTK build. |
| |
| * dom/RenderedDocumentMarker.h: |
| |
| 2014-10-19 Antti Koivisto <antti@apple.com> |
| |
| Avoid unnecessary NSURLResponse construction for QuickLook on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=137876 |
| |
| Reviewed by Andy Estes. |
| |
| QuickLook specific code path creates NSURLResponse in the web process for every response. |
| It is rarely needed so this is unnecessary work. |
| |
| * WebCore.exp.in: |
| * platform/network/ios/QuickLook.h: |
| * platform/network/ios/QuickLook.mm: |
| (WebCore::isMainResourceLoader): |
| (WebCore::QuickLookHandle::shouldCreateForMIMEType): |
| |
| Separate function for testing if QuickLookHandle is needed. |
| |
| (WebCore::QuickLookHandle::create): |
| |
| Switch the interface to take ResourceResponse. |
| |
| 2014-10-20 Andy Estes <aestes@apple.com> |
| |
| Fix the iOS build. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/RenderedDocumentMarker.h: |
| * page/ios/FrameIOS.mm: |
| (WebCore::Frame::interpretationsForCurrentRoot): |
| |
| 2014-10-20 Benjamin Poulain <benjamin@webkit.org> |
| |
| Update the <link>'s link status |
| https://bugs.webkit.org/show_bug.cgi?id=137861 |
| |
| Reviewed by Chris Dumez. |
| |
| In the latest HTML spec, <link> has the link status |
| if it has a 'href' attribute, exactly like <a> and <area>: |
| https://html.spec.whatwg.org/multipage/scripting.html#selector-link |
| |
| This patch updates WebKit accordingly. |
| |
| Tests: fast/css/link-basics.html |
| fast/selectors/link-basics-xhtml.xhtml |
| fast/selectors/link-basics.html |
| fast/selectors/webkit-any-link-basics.html |
| |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::parseAttribute): |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Optimize cookiesForDOM() by filtering and serializing cookies in a single pass |
| https://bugs.webkit.org/show_bug.cgi?id=137869 |
| |
| Reviewed by Darin Adler. |
| |
| Optimize cookiesForDOM() by filtering and serializing in 1 pass instead of 2. |
| |
| Previously, when accessing document.cookie, we ended up doing the following: |
| 1. Call wkHTTPCookiesForURL() to get an NSArray of NSHTTPCookies. |
| 2. Call filterCookies() to filter out cookies that are httpOnly or with an |
| empty name, thus allocating a new NSMutableArray. |
| 3. Call NSHTTPCookie's requestHeaderFieldsWithCookies() to serialize the |
| cookies |
| 4. Construct a WTF::String from the NSString* |
| |
| There were several inefficiencies here: |
| 1. We needed to pre-filter the cookies and allocate a new NSMutableArray |
| before calling requestHeaderFieldsWithCookies() |
| 2. requestHeaderFieldsWithCookies() does more things that we actually need. |
| It constructs a Dictionary of header fields, of which we query the |
| "Cookie" field, even though we merely want a ';'-separated string |
| representation of the cookies in "key=value" form. |
| |
| With this patch, we now take care of the string serialization ourselves, |
| using a StringBuilder as it is trivial to do. This also allows us to filter |
| out the httpOnly/invalid cookies as we do the serialization instead of |
| having a first pass to do so. |
| |
| When scrolling the http://www.apple.com/iphone/ entire page down, then up, |
| se were spending ~13.1% of the NetworkProcess time in cookiesForDOM() |
| (~96ms) on my machine. With the patch, we spend ~23% less time in |
| cookiesForDOM() (~74ms). |
| |
| No new tests, no behavior change. |
| |
| * platform/network/mac/CookieJarMac.mm: |
| (WebCore::cookiesForSession): |
| (WebCore::cookiesForDOM): |
| (WebCore::cookieRequestHeaderFieldValue): |
| |
| 2014-10-19 Chris Dumez <cdumez@apple.com> |
| |
| Kill toRenderedDocumentMarker() by using tighter typing |
| https://bugs.webkit.org/show_bug.cgi?id=137858 |
| |
| Reviewed by Darin Adler. |
| |
| Kill toRenderedDocumentMarker() by using tighter typing. This method |
| was doing no type validation, just a static_cast<>(). |
| |
| No new tests, no behavior change. |
| |
| * dom/DocumentMarkerController.cpp: |
| (WebCore::DocumentMarkerController::addTextMatchMarker): |
| (WebCore::DocumentMarkerController::markersFor): |
| (WebCore::DocumentMarkerController::markersInRange): |
| (DocumentMarkerController::hasMarkers): |
| * dom/DocumentMarkerController.h: |
| * dom/RenderedDocumentMarker.h: |
| (WebCore::toRenderedDocumentMarker): Deleted. |
| * editing/AlternativeTextController.cpp: |
| (WebCore::markersHaveIdenticalDescription): |
| (WebCore::AlternativeTextController::respondToChangedSelection): |
| (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection): |
| (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult): |
| (WebCore::AlternativeTextController::applyDictationAlternative): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::copyMarkers): |
| (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers): |
| * editing/DeleteSelectionCommand.cpp: |
| (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection): |
| * editing/Editor.cpp: |
| (WebCore::Editor::updateMarkersForWordsAffectedByEditing): |
| (WebCore::Editor::selectionStartHasMarkerFor): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDocumentMarker): |
| (WebCore::InlineTextBox::paintTextMatchMarker): |
| (WebCore::InlineTextBox::computeRectForReplacementMarker): |
| (WebCore::InlineTextBox::paintDocumentMarkers): |
| * rendering/InlineTextBox.h: |
| * rendering/svg/SVGInlineFlowBox.cpp: |
| (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): |
| * testing/Internals.cpp: |
| (WebCore::Internals::markerAt): |
| (WebCore::Internals::markerRangeForNode): |
| (WebCore::Internals::markerDescriptionForNode): |
| * testing/Internals.h: |
| |
| 2014-10-19 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for all remaining RenderObject subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137845 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for all remaining RenderObject subclasses and |
| clean up the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityProgressIndicator.cpp: |
| (WebCore::AccessibilityProgressIndicator::progressElement): |
| (WebCore::AccessibilityProgressIndicator::meterElement): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::layoutCount): |
| (WebCore::AccessibilityRenderObject::widgetForAttachmentView): |
| (WebCore::AccessibilityRenderObject::visiblePositionForPoint): |
| * dom/Document.cpp: |
| (WebCore::widgetForElement): |
| * dom/Position.cpp: |
| (WebCore::Position::getInlineBoxAndOffset): |
| * dom/WebKitNamedFlow.cpp: |
| (WebCore::WebKitNamedFlow::overset): |
| (WebCore::WebKitNamedFlow::firstEmptyRegionIndex): |
| (WebCore::WebKitNamedFlow::getRegionsByContent): |
| (WebCore::WebKitNamedFlow::getRegions): |
| * editing/FrameSelection.cpp: |
| (WebCore::isFrameElement): |
| * html/HTMLEmbedElement.cpp: |
| (WebCore::findWidgetRenderer): |
| * html/HTMLFrameOwnerElement.cpp: |
| (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): |
| (WebCore::HTMLFrameOwnerElement::renderWidget): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * html/HTMLMeterElement.cpp: |
| (WebCore::HTMLMeterElement::renderMeter): |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::supportsFocus): |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::renderEmbeddedObject): |
| (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): |
| * html/HTMLProgressElement.cpp: |
| (WebCore::HTMLProgressElement::renderProgress): |
| * html/PluginDocument.cpp: |
| (WebCore::PluginDocument::pluginWidget): |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlTimelineElement::defaultEventHandler): |
| (WebCore::MediaControlTextTrackContainerElement::updateSizes): |
| (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage): |
| * inspector/InspectorLayerTreeAgent.cpp: |
| (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForElementInfo): |
| * loader/SubframeLoader.cpp: |
| (WebCore::SubframeLoader::loadSubframe): |
| * page/Frame.cpp: |
| (WebCore::Frame::ownerRenderer): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| * page/gtk/EventHandlerGtk.cpp: |
| (WebCore::EventHandler::passWidgetMouseDownEventToWidget): |
| * page/ios/EventHandlerIOS.mm: |
| (WebCore::EventHandler::passWidgetMouseDownEventToWidget): |
| (WebCore::EventHandler::passSubframeEventToSubframe): |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::EventHandler::passWidgetMouseDownEventToWidget): |
| (WebCore::EventHandler::passSubframeEventToSubframe): |
| (WebCore::widgetForEventTarget): |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::applyEdjeRTLState): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::fontToUse): |
| (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove): |
| (WebCore::InlineTextBox::paint): |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::collapseAnonymousBoxChild): |
| (WebCore::RenderBlock::simplifiedLayout): |
| (WebCore::RenderBlock::paintObject): |
| (WebCore::RenderBlock::selectionGaps): |
| (WebCore::RenderBlock::nodeAtPoint): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::layoutBlock): |
| (WebCore::RenderBlockFlow::hitTestFloats): |
| (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::scroll): |
| (WebCore::RenderBox::nodeAtPoint): |
| (WebCore::RenderBox::repaintLayerRectsForImage): |
| (WebCore::RenderBox::mapLocalToContainer): |
| (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): |
| * rendering/RenderCombineText.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::adjustStyleDifference): |
| (WebCore::addLayers): |
| (WebCore::RenderElement::removeLayers): |
| (WebCore::RenderElement::moveLayers): |
| (WebCore::RenderElement::setNeedsPositionedMovementLayout): |
| (WebCore::RenderElement::renderNamedFlowThreadWrapper): |
| * rendering/RenderEmbeddedObject.h: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::validateRegions): |
| (WebCore::RenderFlowThread::hasCompositingRegionDescendant): |
| (WebCore::RenderFlowThread::regionForCompositedLayer): |
| (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle): |
| (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight): |
| (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): |
| (WebCore::RenderFlowThread::addForcedRegionBreak): |
| (WebCore::RenderFlowThread::addRegionsOverflowFromChild): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): |
| (WebCore::transparencyClipBox): |
| (WebCore::accumulateOffsetTowardsAncestor): |
| (WebCore::RenderLayer::collectFragments): |
| (WebCore::RenderLayer::hitTest): |
| (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateAfterWidgetResize): |
| (WebCore::RenderLayerBacking::updateConfiguration): |
| (WebCore::isRestartedPlugin): |
| (WebCore::isCompositedPlugin): |
| (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): |
| (WebCore::RenderLayerBacking::containsPaintedContent): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): |
| (WebCore::RenderLayerCompositor::requiresCompositingLayer): |
| (WebCore::RenderLayerCompositor::reasonsForCompositing): |
| (WebCore::RenderLayerCompositor::requiresCompositingForVideo): |
| (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): |
| (WebCore::RenderLayerCompositor::requiresCompositingForFrame): |
| * rendering/RenderLayerModelObject.h: |
| * rendering/RenderLineBreak.h: |
| * rendering/RenderMeter.h: |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet): |
| (WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet): |
| (WebCore::RenderMultiColumnFlowThread::layout): |
| (WebCore::RenderMultiColumnFlowThread::addRegionToThread): |
| (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): |
| (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved): |
| (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut): |
| (WebCore::RenderMultiColumnFlowThread::setPageBreak): |
| (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight): |
| (WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox): |
| (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak): |
| (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion): |
| * rendering/RenderMultiColumnFlowThread.h: |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::nextSiblingMultiColumnSet): |
| (WebCore::RenderMultiColumnSet::previousSiblingMultiColumnSet): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderMultiColumnSpannerPlaceholder.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::checkRegionStyle): |
| (WebCore::RenderNamedFlowFragment::namedFlowThread): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::updateWritingMode): |
| (WebCore::addFragmentToList): |
| (WebCore::RenderNamedFlowThread::addRegionToThread): |
| (WebCore::RenderNamedFlowThread::removeRegionFromThread): |
| (WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock): |
| (WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox): |
| (WebCore::RenderNamedFlowThread::checkInvalidRegions): |
| (WebCore::RenderNamedFlowThread::checkRegionsWithStyling): |
| (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle): |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderObject.cpp: |
| (WebCore::scheduleRelayoutForSubtree): |
| (WebCore::RenderObject::setLayerNeedsFullRepaint): |
| (WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout): |
| (WebCore::RenderObject::repaintUsingContainer): |
| (WebCore::RenderObject::selectionRoot): |
| (WebCore::RenderObject::shouldUseTransformFromContainer): |
| (WebCore::RenderObject::getTransformFromContainer): |
| (WebCore::RenderObject::isRooted): |
| (WebCore::RenderObject::willBeDestroyed): |
| (WebCore::RenderObject::isComposited): |
| (WebCore::RenderObject::currentRenderNamedFlowFragment): |
| * rendering/RenderObject.h: |
| * rendering/RenderProgress.h: |
| * rendering/RenderRuby.cpp: |
| (WebCore::lastRubyRun): |
| * rendering/RenderRubyBase.cpp: |
| (WebCore::RenderRubyBase::rubyRun): |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::removeChild): |
| * rendering/RenderRubyRun.h: |
| * rendering/RenderSlider.h: |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::widthFromCache): |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::RenderThemeGtk::calculateProgressRect): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::paintProgressBar): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintMeter): |
| (WebCore::RenderThemeMac::paintProgressBar): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::paintMeter): |
| * rendering/RenderThemeWin.cpp: |
| (WebCore::RenderThemeWin::paintMeter): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::writeRenderRegionList): |
| (WebCore::writeLayers): |
| * rendering/RenderVideo.h: |
| * rendering/RenderView.cpp: |
| (WebCore::SelectionIterator::checkForSpanner): |
| (WebCore::isComposited): |
| * rendering/RenderView.h: |
| * rendering/RenderWidget.h: |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::BreakingContext::handleText): |
| * rendering/line/LineBreaker.cpp: |
| (WebCore::LineBreaker::skipLeadingWhitespace): |
| * testing/Internals.cpp: |
| (WebCore::Internals::isPluginUnavailabilityIndicatorObscured): |
| |
| 2014-10-19 Chris Dumez <cdumez@apple.com> |
| |
| Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar |
| https://bugs.webkit.org/show_bug.cgi?id=137854 |
| |
| Reviewed by Darin Adler. |
| |
| Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar instead of a |
| custom toRenderScrollbar() function, for consistency. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderScrollbar.h: |
| (isType): |
| (WebCore::toRenderScrollbar): Deleted. |
| * rendering/RenderScrollbarTheme.cpp: |
| (WebCore::RenderScrollbarTheme::minimumThumbLength): |
| (WebCore::RenderScrollbarTheme::backButtonRect): |
| (WebCore::RenderScrollbarTheme::forwardButtonRect): |
| (WebCore::RenderScrollbarTheme::trackRect): |
| (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): |
| (WebCore::RenderScrollbarTheme::willPaintScrollbar): |
| (WebCore::RenderScrollbarTheme::didPaintScrollbar): |
| (WebCore::RenderScrollbarTheme::paintScrollbarBackground): |
| (WebCore::RenderScrollbarTheme::paintTrackBackground): |
| (WebCore::RenderScrollbarTheme::paintTrackPiece): |
| (WebCore::RenderScrollbarTheme::paintButton): |
| (WebCore::RenderScrollbarTheme::paintThumb): |
| |
| 2014-10-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move GtkDragAndDropHelper from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137422 |
| |
| Reviewed by Martin Robinson. |
| |
| Remove ClipboardUtilitiesGtk and GtkDragAndDropHelper. |
| |
| * PlatformGTK.cmake: |
| * platform/gtk/ClipboardUtilitiesGtk.cpp: Removed. |
| * platform/gtk/ClipboardUtilitiesGtk.h: Removed. |
| * platform/gtk/GtkDragAndDropHelper.cpp: Removed. |
| * platform/gtk/GtkDragAndDropHelper.h: Removed. |
| |
| 2014-10-19 Roger Fong <roger_fong@apple.com> |
| |
| Unreviewed. Style fix following r174855. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
| |
| 2014-10-18 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error |
| https://bugs.webkit.org/show_bug.cgi?id=137855 |
| |
| Reviewed by Dan Bernstein. |
| |
| We lose the sniffed MIME type for the response when synthesizing an NSURLResponse. Sniffing requires |
| backchannel data that the synthesized response doesn't have. |
| |
| Test: http/tests/mime/mime-type-sniff.html |
| |
| * platform/network/mac/ResourceResponseMac.mm: |
| (WebCore::ResourceResponse::initNSURLResponse): |
| |
| When synthesizing NSURLResponse explicitly set the Content-type header to the sniffed type. |
| |
| 2014-10-18 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Use Fast enumeration consistently in WebFontCache.mm |
| https://bugs.webkit.org/show_bug.cgi?id=137791 |
| |
| Reviewed by Darin Adler. |
| |
| Use fast enumeration consistently in WebFontCache.mm as this results in |
| more efficient, concise and safer code. |
| |
| No new tests, no behavior change. |
| |
| * platform/mac/WebFontCache.mm: |
| (+[WebFontCache getTraits:inFamily:]): |
| Reserve Vector capacity before the loop as we know how many traits we |
| are going to append. Also use uncheckedAppend() for performance. |
| |
| (+[WebFontCache internalFontWithFamily:traits:weight:size:]): |
| |
| 2014-10-18 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Tables with <colgroups> are not reporting table column headers |
| https://bugs.webkit.org/show_bug.cgi?id=137846 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| The code to search for header objects was getting stuck on anonymous RenderTableSections. |
| We also need to check more rows for headers, in case the first row or more is not visible or is empty. |
| |
| Test: accessibility/table-column-headers-with-captions.html |
| |
| * accessibility/AccessibilityTableColumn.cpp: |
| (WebCore::AccessibilityTableColumn::headerObject): |
| (WebCore::AccessibilityTableColumn::headerObjectForSection): |
| |
| 2014-10-18 KwangHyuk Kim <hyuki.kim@samsung.com> |
| |
| [EFL] build break occurs on webkit efl build. |
| https://bugs.webkit.org/show_bug.cgi?id=137844 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| As local variable elementAddressRegisterIndex is assigned but not used, there is build break for the webkit efl. |
| |
| No new tests because it's just to fix build break. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| |
| 2014-10-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Apply std::unique_ptr to FooFont classes |
| https://bugs.webkit.org/show_bug.cgi?id=137769 |
| |
| Reviewed by Andreas Kling. |
| |
| As a step to use std::unique_ptr, this patch applies std::unique_ptr to Font classes. |
| |
| No new tests, no behavior changes. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::retrieveOrAddCachedFontGlyphs): |
| (WebCore::Font::createLayout): |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::DerivedFontData::create): |
| * platform/graphics/SimpleFontData.h: |
| Remove create() factory function because public ctor and std::make_unique<> can replace it. |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::Font::createLayout): |
| |
| 2014-10-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr in WebCore/bindings |
| https://bugs.webkit.org/show_bug.cgi?id=137808 |
| |
| Reviewed by Andreas Kling. |
| |
| Clean up PassOwnPtr|OwnPtr in WebCore/bindings by using std::unique_ptr, std::make_unique |
| and WTF::move. |
| |
| No new tests, no behavior changes. |
| |
| * bindings/generic/ActiveDOMCallback.h: |
| * bindings/js/JSMessageEventCustom.cpp: |
| (WebCore::handleInitMessageEvent): |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::SerializedScriptValue::SerializedScriptValue): |
| (WebCore::SerializedScriptValue::transferArrayBuffers): |
| (WebCore::SerializedScriptValue::create): |
| * bindings/js/SerializedScriptValue.h: |
| * bindings/js/WorkerScriptDebugServer.cpp: |
| (WebCore::WorkerScriptDebugServer::interruptAndRunTask): |
| * bindings/js/WorkerScriptDebugServer.h: |
| * inspector/WorkerDebuggerAgent.cpp: |
| (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands): |
| |
| 2014-10-16 Roger Fong <roger_fong@apple.com> |
| |
| Calling glReadPixels with BGRA format on an NVIDIA machine with an opaque context returns the wrong alpha values. |
| https://bugs.webkit.org/show_bug.cgi?id=137793. |
| <rdar://problem/15408133> |
| |
| Reviewed by Dean Jackson. |
| |
| This fixes conformance test context/context-attribute-preserve-drawing-buffer.html. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
| On an NVIDIA machine, when the context has alpha turned off, call glReadPixels with RGBA format and then convert to RGBA. |
| |
| 2014-10-17 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for all SVG RenderObjects |
| https://bugs.webkit.org/show_bug.cgi?id=137840 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Use is<>() / downcast<>() for all SVG RenderObjects and clean up the |
| surrounding code. |
| |
| No new tests, no behaviro change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::supportsPath): |
| (WebCore::AccessibilityRenderObject::elementPath): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::applyOverflowToViewport): |
| (WebCore::FrameView::forceLayoutParentViewIfNeeded): |
| * rendering/RenderLayerFilterInfo.cpp: |
| (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients): |
| * rendering/svg/RenderSVGGradientStop.cpp: |
| (WebCore::RenderSVGGradientStop::styleDidChange): |
| * rendering/svg/RenderSVGImage.h: |
| * rendering/svg/RenderSVGInlineText.h: |
| * rendering/svg/RenderSVGResourceContainer.cpp: |
| (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): |
| * rendering/svg/RenderSVGResourceContainer.h: |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::addResourceForClientInvalidation): |
| * rendering/svg/RenderSVGRoot.h: |
| * rendering/svg/RenderSVGShape.h: |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::collectLayoutAttributes): |
| (WebCore::RenderSVGText::subtreeChildWillBeRemoved): |
| (WebCore::RenderSVGText::subtreeTextDidChange): |
| (WebCore::updateFontInAllDescendants): |
| * rendering/svg/RenderSVGText.h: |
| * rendering/svg/SVGInlineTextBox.h: |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::mapLocalToContainer): |
| (WebCore::SVGRenderSupport::pushMappingToContainer): |
| (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): |
| * rendering/svg/SVGRenderTreeAsText.cpp: |
| (WebCore::writeStyle): |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::bufferForeground): |
| * rendering/svg/SVGResourcesCycleSolver.cpp: |
| (WebCore::SVGResourcesCycleSolver::resolveCycles): |
| * rendering/svg/SVGRootInlineBox.cpp: |
| (WebCore::SVGRootInlineBox::renderSVGText): |
| (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): |
| * svg/SVGCircleElement.cpp: |
| (WebCore::SVGCircleElement::svgAttributeChanged): |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::svgAttributeChanged): |
| * svg/SVGEllipseElement.cpp: |
| (WebCore::SVGEllipseElement::svgAttributeChanged): |
| * svg/SVGImageElement.cpp: |
| (WebCore::SVGImageElement::svgAttributeChanged): |
| (WebCore::SVGImageElement::didAttachRenderers): |
| * svg/SVGLineElement.cpp: |
| (WebCore::SVGLineElement::svgAttributeChanged): |
| * svg/SVGPolyElement.cpp: |
| (WebCore::SVGPolyElement::svgAttributeChanged): |
| * svg/SVGRectElement.cpp: |
| (WebCore::SVGRectElement::svgAttributeChanged): |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::localCoordinateSpaceTransform): |
| (WebCore::SVGSVGElement::currentViewBoxRect): |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::setContainerSize): |
| (WebCore::SVGImage::containerSize): |
| |
| 2014-10-17 Chris Dumez <cdumez@apple.com> |
| |
| Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms() |
| https://bugs.webkit.org/show_bug.cgi?id=137836 |
| |
| Reviewed by Andreas Kling. |
| |
| Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms(). |
| This function is only called from WidthIterator::applyFontTransforms(), |
| which already makes sure to call applyTransforms() if isSVGFont() |
| returns false. This patch replaces the check with a simple assertion. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/SimpleFontData.h: |
| * svg/SVGFontData.h: |
| |
| 2014-10-17 Michael Saboff <msaboff@apple.com> |
| |
| Don't create cached functions that access lexicalGlobalObject() |
| https://bugs.webkit.org/show_bug.cgi?id=137839 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Made it so that all the JSDOMWindow special functions blur(), close(), focus() and postMessage() |
| are always created as needed for every prototype. Made it so that JSHTMLDocument does |
| the same for open(). Updated test to account for these methods not being cached |
| |
| Updated tests accordingly. |
| |
| * bindings/js/JSDOMWindowCustom.cpp: |
| (WebCore::JSDOMWindow::getOwnPropertySlot): Updated to always create cached versions of the |
| special functions. |
| * bindings/js/JSHTMLDocumentCustom.cpp: |
| (WebCore::JSHTMLDocument::getOwnPropertySlot): Added to create an uncached open() method when |
| it is first accessed. |
| * html/HTMLDocument.idl: Added CustomGetOwnPropertySlot and implemented it in JSHTMLDocumentCustom.cpp. |
| |
| 2014-10-17 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS] Speculative fix for a crash under RenderLayerCompositor::updateScrollCoordinatedLayer() |
| https://bugs.webkit.org/show_bug.cgi?id=137837 |
| rdar://problem/18545452 |
| |
| Reviewed by Tim Horton. |
| |
| Crash logs suggest that an iframe's RenderView's RenderLayer's backing can be null |
| in a call to updateScrollCoordinatedLayer(), so add an assertion (to help find a reproducible case) |
| and a null check. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::attachScrollingNode): |
| |
| 2014-10-17 Andreas Kling <akling@apple.com> |
| |
| Re-arrange parentheses for compilation purposes. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| |
| 2014-10-17 Andreas Kling <akling@apple.com> |
| |
| Unreviewed build fix after r174838. |
| |
| Use StackAllocator::addressOf() instead of the old way of grabbing at a stack reference. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| |
| 2014-10-17 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBox |
| https://bugs.webkit.org/show_bug.cgi?id=137804 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for RenderBox and clean up the surrounding |
| code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored): |
| (WebCore::AccessibilityRenderObject::accessibilityHitTest): |
| (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable): |
| (WebCore::AccessibilityRenderObject::scrollTo): |
| * bindings/objc/DOMHTML.mm: |
| (-[DOMHTMLElement scrollYOffset]): |
| (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]): |
| * bindings/objc/DOMUIKitExtensions.mm: |
| (-[DOMNode borderRadii]): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::sizingBox): |
| (WebCore::computedTransform): |
| (WebCore::zoomAdjustedPaddingOrMarginPixelValue): |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getLowerRightCorner): |
| * dom/Document.cpp: |
| (WebCore::Document::webkitWillEnterFullScreenForElement): |
| * dom/Element.cpp: |
| (WebCore::Element::scrollByUnits): |
| * dom/Node.cpp: |
| (WebCore::Node::defaultEventHandler): |
| * dom/Position.cpp: |
| (WebCore::endsOfNodeAreVisuallyDistinctPositions): |
| * editing/DeleteButtonController.cpp: |
| (WebCore::isDeletableElement): |
| * editing/EditorCommand.cpp: |
| (WebCore::verticalScrollDistance): |
| * editing/FrameSelection.cpp: |
| (WebCore::CaretBase::paintCaret): |
| * editing/TextIterator.cpp: |
| (WebCore::fullyClipsContents): |
| (WebCore::shouldEmitExtraNewlineForNode): |
| * editing/htmlediting.cpp: |
| (WebCore::absoluteBoundsForLocalCaretRect): |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::isFocusable): |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::SliderThumbElement::setPositionFromPoint): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForElementInfo): |
| * page/AutoscrollController.cpp: |
| (WebCore::AutoscrollController::updateAutoscrollRenderer): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::startPanScrolling): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::embeddedContentBox): |
| * page/GestureTapHighlighter.cpp: |
| * page/SpatialNavigation.cpp: |
| (WebCore::isScrollableNode): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::baselinePosition): |
| * plugins/PluginView.cpp: |
| (WebCore::PluginView::invalidateWindowlessPluginRect): |
| * rendering/InlineBox.cpp: |
| (WebCore::InlineBox::logicalHeight): |
| (WebCore::InlineBox::adjustPosition): |
| * rendering/InlineElementBox.cpp: |
| (WebCore::InlineElementBox::deleteLine): |
| (WebCore::InlineElementBox::extractLine): |
| (WebCore::InlineElementBox::attachLine): |
| (WebCore::InlineElementBox::paint): |
| (WebCore::InlineElementBox::nodeAtPoint): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::addToLine): |
| (WebCore::InlineFlowBox::addReplacedChildOverflow): |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::simplifiedNormalFlowLayout): |
| (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded): |
| (WebCore::RenderBlock::clearPercentHeightDescendantsFrom): |
| (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): |
| (WebCore::RenderBlock::addFocusRingRects): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): |
| (WebCore::RenderBlockFlow::positionForPointWithInlineChildren): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine): |
| (WebCore::RenderBlockFlow::layoutLineBoxes): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::findAutoscrollable): |
| (WebCore::computeBlockStaticDistance): |
| (WebCore::RenderBox::positionForPoint): |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::previousSiblingBox): |
| (WebCore::RenderBox::nextSiblingBox): |
| (WebCore::RenderBox::parentBox): |
| (WebCore::RenderBox::firstChildBox): |
| (WebCore::RenderBox::lastChildBox): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent): |
| (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): |
| (WebCore::RenderBoxModelObject::constrainingRectForStickyPosition): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::removeChildInternal): |
| (WebCore::RenderElement::styleWillChange): |
| (WebCore::RenderElement::repaintAfterLayoutIfNeeded): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::layout): |
| * rendering/RenderFieldset.cpp: |
| (WebCore::RenderFieldset::findLegend): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): |
| (WebCore::RenderFlowThread::currentActiveRenderBox): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderFullScreen.cpp: |
| (WebCore::RenderFullScreen::unwrapRenderer): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::layoutShadowControls): |
| (WebCore::RenderImage::computeIntrinsicRatioInformation): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::absoluteRects): |
| (WebCore::RenderInline::addFocusRingRects): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateLayerPosition): |
| (WebCore::RenderLayer::perspectiveTransform): |
| (WebCore::RenderLayer::perspectiveOrigin): |
| (WebCore::parentLayerCrossFrame): |
| (WebCore::RenderLayer::enclosingScrollableLayer): |
| (WebCore::RenderLayer::resize): |
| (WebCore::RenderLayer::scrollsOverflow): |
| (WebCore::computeReferenceBox): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateTransform): |
| (WebCore::RenderLayerBacking::updateGeometry): |
| (WebCore::RenderLayerBacking::resetContentsRect): |
| (WebCore::RenderLayerBacking::positionOverflowControlsLayers): |
| (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): |
| (WebCore::RenderLayerBacking::contentsBox): |
| (WebCore::RenderLayerBacking::backgroundBoxForPainting): |
| (WebCore::RenderLayerBacking::startAnimation): |
| (WebCore::RenderLayerBacking::startTransition): |
| * rendering/RenderLineBoxList.cpp: |
| (WebCore::RenderLineBoxList::rangeIntersectsRect): |
| * rendering/RenderMediaControlElements.cpp: |
| (WebCore::RenderMediaVolumeSliderContainer::layout): |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner): |
| (WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf): |
| (WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf): |
| (WebCore::RenderMultiColumnFlowThread::resolveMovedChild): |
| (WebCore::isValidColumnSpanner): |
| (WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval): |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::getRanges): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::computeRectForRepaint): |
| (WebCore::RenderObject::showRegionsInformation): |
| (WebCore::RenderObject::showRenderObject): |
| (WebCore::RenderObject::mapLocalToContainer): |
| (WebCore::RenderObject::pushMappingToContainer): |
| (WebCore::RenderObject::mapAbsoluteToLocalPoint): |
| (WebCore::RenderObject::addAnnotatedRegions): |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::nodeAtPoint): |
| * rendering/RenderTextControlMultiLine.cpp: |
| (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::baselinePosition): |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::RenderThemeGtk::baselinePosition): |
| (WebCore::centerRectVerticallyInParentInputElement): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::baselinePosition): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::baselinePosition): |
| * rendering/RenderThemeWin.cpp: |
| (WebCore::RenderThemeWin::paintSearchFieldCancelButton): |
| (WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart): |
| (WebCore::RenderThemeWin::paintSearchFieldResultsButton): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::RenderTreeAsText::writeRenderObject): |
| (WebCore::externalRepresentation): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::paintBoxDecorations): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::setLineBreakInfo): |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::BreakingContext::handleOutOfFlowPositioned): |
| (WebCore::BreakingContext::handleFloat): |
| (WebCore::BreakingContext::handleReplaced): |
| * rendering/line/LineBreaker.cpp: |
| (WebCore::LineBreaker::skipTrailingWhitespace): |
| (WebCore::LineBreaker::skipLeadingWhitespace): |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::layout): |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::embeddedContentBox): |
| |
| 2014-10-17 Andreas Kling <akling@apple.com> |
| |
| Get rid of wrapperContext() in DOM bindings. |
| <https://webkit.org/b/137834> |
| |
| Reviewed by Chris Dumez. |
| |
| The "wrapper context" is always the DOMWrapperWorld, and since we're passing that around |
| already, we don't need a separate mechanism to get at the context. |
| |
| The context is extra data stored in the DOM object's JSC::Weak (the wrapper GC object.) |
| |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::setInlineCachedWrapper): |
| (WebCore::cacheWrapper): |
| (WebCore::wrapperContext): Deleted. |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| |
| 2014-10-17 Benjamin Poulain <benjamin@webkit.org> |
| |
| Make a better use of the available registers when compiling nested selector lists |
| https://bugs.webkit.org/show_bug.cgi?id=137802 |
| |
| Reviewed by Andreas Kling. |
| |
| Previously, when compiling a nested selector list, the compiler would start by pushing all |
| the allocated registers to the stack to free them for the compiled selector list. |
| While neat to ensure register allocation is correct, this is very inefficient. |
| |
| This patch brings the first step for reducing the overhead. Instead of pushing everything |
| to the stack, we just push as many registers as we need for compiling the selector list. |
| |
| In most cases, we have so many registers that we don't even need to push anything to the stack. |
| |
| Test: fast/selectors/nth-child-of-register-requirement.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| Add an explicit type for SelectorList to keep information aggregated from all |
| SelectorFragmentList inside it. |
| |
| SelectorFragmentList is also extended to include its register and stack requirements. |
| This information is then used to create a SelectorList and to compile the SelectorFragmentList. |
| |
| (WebCore::SelectorCompiler::hasAnyCombinators): |
| We only change the elementAddressRegister when moving over combinators. This is used to detect |
| if a selector list clobber the elementAddressRegister or leave it untouched. |
| |
| (WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements): |
| (WebCore::SelectorCompiler::computeBacktrackingInformation): |
| Instead of returning a BacktrackingMemoryRequirements, update the SelectorFragmentList and SelectorList directly. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| This is where the fun happen. |
| First step is keep the input untouched. For now it is simply pushed on the stack. This can be improved later. |
| |
| Then we find how many allocated registers we need to save to compile the input selector list. We push those registers |
| to the stack and give them back to the register allocator. |
| |
| With enough registers we can now compile the nested selector list. The code has changed a bit for efficiency. Instead |
| of creating a shortcut for success case, the code now exit on error and proceed on success. This is the general pattern |
| of SelectorCompiler and it is quite a bit more efficient in the common cases. |
| |
| Finally, we reallocate the registers and get their values back from the stack. The "tail" is duplicated but that's fine |
| because in the vast majority of cases it is 1 or 2 pop. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf): |
| * cssjit/StackAllocator.h: |
| (WebCore::StackAllocator::push): |
| |
| 2014-10-17 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for StyleImage |
| https://bugs.webkit.org/show_bug.cgi?id=137824 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for StyleImage and clean up the surrouding |
| code. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSCursorImageValue.cpp: |
| (WebCore::CSSCursorImageValue::detachPendingImage): |
| (WebCore::CSSCursorImageValue::cachedImage): |
| (WebCore::CSSCursorImageValue::cachedImageURL): |
| * css/CSSImageSetValue.cpp: |
| (WebCore::CSSImageSetValue::detachPendingImage): |
| (WebCore::CSSImageSetValue::~CSSImageSetValue): |
| (WebCore::CSSImageSetValue::cachedImageSet): |
| (WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources): |
| * css/CSSImageValue.cpp: |
| (WebCore::CSSImageValue::detachPendingImage): |
| (WebCore::CSSImageValue::cachedImage): |
| (WebCore::CSSImageValue::hasFailedOrCanceledSubresources): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::loadPendingShapeImage): |
| (WebCore::StyleResolver::loadPendingImages): |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::retrieveResourcesForProperties): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| * rendering/style/StyleCachedImage.h: |
| * rendering/style/StyleCachedImageSet.h: |
| * rendering/style/StyleGeneratedImage.h: |
| * rendering/style/StyleImage.h: |
| * rendering/style/StylePendingImage.h: |
| |
| 2014-10-17 Dean Jackson <dino@apple.com> |
| |
| [Media] Always update controls for <audio> since they are always visible |
| https://bugs.webkit.org/show_bug.cgi?id=137829 |
| <rdar://problem/18693987> |
| |
| Reviewed by Brent Fulgham. |
| |
| Revision 174756 made a change to only update the display of the controls |
| while they are visible. However, <audio> elements didn't detect visibility |
| the same way, since their controls do not auto-hide. |
| |
| Change controlsAreHidden to check if we're an audio element. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.controlsAreHidden): Audio elements do not auto-hide their controls. |
| |
| 2014-10-17 peavo@outlook.com <peavo@outlook.com> |
| |
| [WinCairo] Accelerated compositing is not implemented. |
| https://bugs.webkit.org/show_bug.cgi?id=137345 |
| |
| Reviewed by Brent Fulgham. |
| |
| This patch is based on GTK, and the texture mapper graphics layer type. |
| |
| * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy texmap headers. |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added method and flag indicating whether animation has started. |
| (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): |
| (WebCore::GraphicsLayerTextureMapper::addAnimation): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Ditto. |
| (WebCore::GraphicsLayerTextureMapper::startedAnimation): |
| * platform/graphics/texmap/TextureMapperShaderProgram.cpp: Use same precision for uniform in vertex shader as in fragment shader. |
| Otherwise glLinkProgram() will fail, and nothing will be rendered. |
| |
| 2014-10-17 Alexey Proskuryakov <ap@apple.com> |
| |
| [iOS] Crash when load is canceled while waiting for the user to type HTTP authentication credentials |
| https://bugs.webkit.org/show_bug.cgi?id=137826 |
| rdar://problem/17329599 |
| |
| Reviewed by Brady Eidson. |
| |
| No new tests, as we don't have a way to simulate details of user interaction with |
| an auth dialog. |
| |
| * platform/network/cf/ResourceHandleCFNet.cpp: |
| (WebCore::ResourceHandle::receivedCredential): |
| (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): |
| (WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling): |
| (WebCore::ResourceHandle::receivedChallengeRejection): |
| Added null checks before passing m_connection for CFNetwork functions, making this |
| match what Mac code does when sending a message to a nil receiver. |
| |
| 2014-10-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix the iOS build. |
| |
| * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: |
| (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption): |
| |
| 2014-10-16 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Represent AVMediaSelectionOptions as AudioTracks |
| https://bugs.webkit.org/show_bug.cgi?id=137474 |
| |
| Reviewed by Brent Fulgham. |
| |
| Test: http/tests/media/hls/hls-audio-tracks.html |
| |
| Support selecting audio "tracks" in HLS streams by exposing AVMediaSelectionOptions |
| as entries in the video's AudioTrackList. |
| |
| AVMediaSessionGroups and AVPlayerItems don't have KVO or notifications to track when options |
| are selected and deselected, so wrap AVMediaSessionGroup and AVMediaSessionOption in C++ |
| wrappers. Each AVMediaSelectionGroup can have only one AVMediaSelectionOption selected at a |
| time, so the wrapper will take care of answering which AVMediaSelectionOption is currently |
| selected, as without KVO notifications, asking the AVMediaSelectionGroup directly is |
| inconsistent. Because setting the selected option multiple times in the same run-loop can |
| cause flakiness, coalesce calls to setSelectedOption() by setting a one-shot timer to do |
| the actual selection in the next run-loop. |
| |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: Added. |
| (WebCore::MediaSelectionOptionAVFObjC::avMediaSelectionOption): |
| (WebCore::MediaSelectionOptionAVFObjC::clearGroup): Clear backpointer to group from option. |
| (WebCore::MediaSelectionGroupAVFObjC::selectedOption): Simple accessor. |
| (WebCore::MediaSelectionGroupAVFObjC::options): Simple accessor. |
| (WebCore::MediaSelectionGroupAVFObjC::avMediaSelectionGroup): Simple accessor. |
| * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: Added. |
| (WebCore::MediaSelectionOptionAVFObjC::create): Simple factory method. |
| (WebCore::MediaSelectionOptionAVFObjC::MediaSelectionOptionAVFObjC): Simple constructor. |
| (WebCore::MediaSelectionOptionAVFObjC::setSelected): Pass through to MediaSelectionGroupAVFObjC. |
| (WebCore::MediaSelectionOptionAVFObjC::selected): Ditto. |
| (WebCore::MediaSelectionOptionAVFObjC::index): Return index of this object in the group's object. |
| (WebCore::MediaSelectionGroupAVFObjC::create): |
| (WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC): |
| (WebCore::MediaSelectionGroupAVFObjC::~MediaSelectionGroupAVFObjC): |
| (WebCore::MediaSelectionGroupAVFObjC::updateOptions): Discover added or removed options. |
| (WebCore::MediaSelectionGroupAVFObjC::setSelectedOption): Set a one shot timer to coalesce multiple calls. |
| (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): Set the selected AVSelectionOption. |
| |
| Modify AVTrackPrivateAVFObjCImpl to support both AVPlayerItemTracks and these new |
| MediaSelectionOptionAVFObjC objects. |
| |
| * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: |
| (WebCore::AVTrackPrivateAVFObjCImpl::mediaSelectionOption): Simple accessor. |
| * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: |
| (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor. |
| (WebCore::AVTrackPrivateAVFObjCImpl::~AVTrackPrivateAVFObjCImpl): Simple destructor. |
| (WebCore::AVTrackPrivateAVFObjCImpl::enabled): Use MediaSelectionOptionAVFObjC, if present. |
| (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::index): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::id): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::label): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::language): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption): Ditto. |
| (WebCore::AVTrackPrivateAVFObjCImpl::trackID): Ditto. |
| |
| Allow AudioTrackPrivateAVFObjC and VideoTrackPrivateAVFObjC to be created with |
| a MediaSelectionOptionAVFObjC. |
| |
| * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: |
| (WebCore::AudioTrackPrivateAVFObjC::create): Takes a MediaSelectionOptionAVFObjC. |
| * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: |
| (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Simple constructor. |
| (WebCore::AudioTrackPrivateAVFObjC::setMediaSelectionOption): Create a new AVTrackPrivateAVFObjCImpl. |
| (WebCore::AudioTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor. |
| * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: |
| (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Simple constructor. |
| (WebCore::VideoTrackPrivateAVFObjC::setMediaSelectonOption): Create a new AVTrackPrivateAVFObjCImpl. |
| (WebCore::VideoTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor. |
| * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: |
| |
| Because IDs are not necessarily unique across AVPlayerItemTracks and AVMediaSelectionOptions, |
| use the index of the track or option instead of it's self-declared ID for ordering for the |
| trackIndex. |
| |
| * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: |
| (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): |
| * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: |
| (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack): |
| |
| Rather than making allowing the AVPlayerItem to automatically select the "best" |
| AVMediaSelectionOption, select the automatic options when creating the AVPlayerItem |
| and thereafter allow the users manual selections "stick". |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayerItem): |
| |
| Determine whether any MediaSelectionOptionsAVFObjC have been added or removed and send trackChange events accordingly. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::determineChangedTracksFromNewTracksAndOldItems): Added. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Search for updated selection options. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Return selection group, if available. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Filter out AVPlayerItemTracks without |
| AVAssetTracks, as these will be represented by MediaSelectionGroupObjCs instead. |
| |
| Add new files to project. |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| [EFL] window.screen.width returns wrong value if more displays are available |
| https://bugs.webkit.org/show_bug.cgi?id=137778 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| ecore_x_screen_size_get() retrieves the size of Ecore_X_Screen, for example, |
| having two displays of 1680x1050, it will return 3360x1050. |
| |
| Unlike EFL's MiniBrowser, Firefox and Chrome return screen of the current display. |
| |
| No new tests. Hardware specific bug including multiple displays. |
| |
| * platform/efl/PlatformScreenEfl.cpp: |
| (WebCore::screenRect): |
| Use ecore's xrandr to determine the screen on which browser window is displayed. |
| |
| 2014-10-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds |
| https://bugs.webkit.org/show_bug.cgi?id=137782 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * platform/gtk/SharedTimerGtk.cpp: |
| (WebCore::setSharedTimerFireInterval): Use microseconds instead of |
| milliseconds. |
| |
| 2014-10-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move touch events handling from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137735 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Remove GtkTouchContextHelper. |
| |
| * PlatformGTK.cmake: |
| * platform/gtk/GtkTouchContextHelper.cpp: Removed. |
| * platform/gtk/GtkTouchContextHelper.h: Removed. |
| |
| 2014-10-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove unused function in WorkerThreadableLoader.h |
| https://bugs.webkit.org/show_bug.cgi?id=137811 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| mainThreadCreateLoader() isn't used anywhere. Even there is no implementation. |
| |
| * loader/WorkerThreadableLoader.h: |
| |
| 2014-10-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| CSS Selectors Level 4: Implement :matches in SelectorChecker |
| https://bugs.webkit.org/show_bug.cgi?id=137393 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In this patch, we introduce initial :matches implementation. |
| In this current implementation, we don't consider pseudo elements. |
| |
| Test: fast/selectors/querySelector-matches.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| |
| 2014-10-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| CSS JIT: Introduce StackAllocator::addressOf |
| https://bugs.webkit.org/show_bug.cgi?id=137771 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Introduce StackAllocator::addressOf and drop offsetToStackReference, it's too primitive. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::loadCheckingContext): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement): |
| * cssjit/StackAllocator.h: |
| (WebCore::StackAllocator::addressOf): |
| (WebCore::StackAllocator::offsetToStackReference): |
| |
| 2014-10-16 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (r169024): Undetermined text is not displayed in the search field of Adobe Help Website |
| https://bugs.webkit.org/show_bug.cgi?id=137679 |
| rdar://problem/18450335 |
| |
| Reviewed by Enrica Casucci. |
| |
| Test: platform/mac/editing/input/selected-composed-text-painting.html |
| |
| * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): We do not paint |
| selection beckground for unconfirmed text with underlines, so we should use a regular |
| style for text painting, as well. |
| |
| 2014-10-16 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for BasicShape subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137766 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for BasicShape subclasses and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * css/BasicShapeFunctions.cpp: |
| (WebCore::valueForBasicShape): |
| (WebCore::basicShapeForValue): |
| * css/BasicShapeFunctions.h: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::shapePropertyValue): |
| * page/animation/CSSPropertyAnimation.cpp: |
| (WebCore::blendFunc): |
| * rendering/ClipPathOperation.h: |
| (WebCore::ShapeClipPathOperation::create): |
| Take a PassRef<BasicShape> in argument to make it obvious it is never |
| null. |
| |
| (WebCore::ShapeClipPathOperation::basicShape): |
| Return a reference instead of a pointer as it can never return null. |
| |
| (WebCore::ShapeClipPathOperation::windRule): |
| (WebCore::ShapeClipPathOperation::pathForReferenceRect): |
| Make it non-const due to the const-correctness of Ref::get(). |
| |
| (WebCore::ShapeClipPathOperation::ShapeClipPathOperation): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::nodeAtPoint): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::setupClipPath): |
| * rendering/shapes/Shape.cpp: |
| (WebCore::Shape::createShape): |
| * rendering/shapes/Shape.h: |
| * rendering/shapes/ShapeOutsideInfo.cpp: |
| (WebCore::ShapeOutsideInfo::computedShape): |
| * rendering/style/BasicShapes.cpp: |
| (WebCore::BasicShape::canBlend): |
| (WebCore::BasicShapeCircle::blend): |
| (WebCore::BasicShapeEllipse::blend): |
| (WebCore::BasicShapePolygon::blend): |
| (WebCore::BasicShapeInset::blend): |
| * rendering/style/BasicShapes.h: |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::prepareToRenderSVGContent): |
| |
| 2014-10-16 Chris Dumez <cdumez@apple.com> |
| |
| Leverage the new RenderElement::m_isCSSAnimating flag in more places |
| https://bugs.webkit.org/show_bug.cgi?id=137786 |
| |
| Reviewed by Simon Fraser. |
| |
| Leverage the new RenderElement::m_isCSSAnimating flag that was introduced |
| in r174703 in more places, for performance. This avoids doing extra work |
| for renderers on which we are not running animations on. This patch also |
| updates the API a bit to use more references instead of pointers, making |
| it clear the RenderElement cannot be null and thus avoiding unnecessary |
| null checks. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::computeRenderStyleForProperty): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::ensureCompositeAnimation): |
| (WebCore::AnimationControllerPrivate::clear): |
| (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): |
| (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer): |
| (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer): |
| (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): |
| (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): |
| (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): |
| (WebCore::AnimationController::cancelAnimations): |
| (WebCore::AnimationController::updateAnimations): |
| (WebCore::AnimationController::getAnimatedStyleForRenderer): |
| (WebCore::AnimationController::notifyAnimationStarted): |
| (WebCore::AnimationController::isRunningAnimationOnRenderer): |
| (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer): |
| * page/animation/AnimationController.h: |
| * page/animation/AnimationControllerPrivate.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::willBeDestroyed): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::currentTransform): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGeometry): |
| (WebCore::RenderLayerBacking::notifyAnimationStarted): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): |
| (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation): |
| |
| 2014-10-16 Adrien Destugues <pulkomandy@gmail.com> |
| |
| Missing RefPtr.release() calls in TextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=137777 |
| |
| Reviewed by Chris Dumez. |
| |
| No new tests: no functional change, cleanup/optimization. |
| |
| Avoids useless ref/deref cycle when returning from functions. |
| |
| * platform/graphics/texmap/TextureMapper.cpp: |
| (WebCore::TextureMapper::acquireTextureFromPool): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::paintIntoSurface): |
| |
| 2014-10-16 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for ContentData subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137768 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for ContentData subclasses. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::contentToCSSValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::loadPendingImages): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::createFor): |
| * rendering/style/ContentData.h: |
| (WebCore::operator==): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::setContent): |
| |
| 2014-10-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r174744. |
| https://bugs.webkit.org/show_bug.cgi?id=137790 |
| |
| Caused another WebGL conformance test to fail (Requested by |
| rfong on #webkit). |
| |
| Reverted changeset: |
| |
| "glReadPixels on NVIDIA cards returns the wrong values for the |
| alpha channel when alpha is off." |
| https://bugs.webkit.org/show_bug.cgi?id=137752 |
| http://trac.webkit.org/changeset/174744 |
| |
| 2014-10-16 Tim Horton <timothy_horton@apple.com> |
| |
| Implement selection services menu for Legacy WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=137582 |
| <rdar://problem/18604241> |
| |
| Reviewed by Brady Eidson. |
| |
| * WebCore.exp.in: |
| * editing/Editor.h: |
| * editing/ios/EditorIOS.mm: |
| (WebCore::Editor::replaceSelectionWithAttributedString): |
| * editing/mac/EditorMac.mm: |
| (WebCore::Editor::replaceSelectionWithAttributedString): |
| Add replaceSelectionWithAttributedString, which replaces the selection |
| with the given attributed string (converting to plain text if the destination |
| is not richly editable). |
| |
| 2014-10-16 Alexey Proskuryakov <ap@apple.com> |
| |
| Crashes in ResourceHandleCFURLConnectionDelegateWithOperationQueue due to unimplemented retain/release |
| https://bugs.webkit.org/show_bug.cgi?id=137779 |
| rdar://problem/18679320 |
| |
| Reviewed by Brady Eidson. |
| |
| * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: |
| (WebCore::ResourceHandleCFURLConnectionDelegate::retain): |
| (WebCore::ResourceHandleCFURLConnectionDelegate::release): |
| (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient): |
| * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: |
| Implemented retain/release. They are necessary, as ResourceHandle goes away when |
| it's canceled, and there is noone else to keep the client object alive but |
| CFURLConnection itself. |
| |
| * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace): |
| (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray): |
| Added a FIXME about potential improvements that I spotted while invsestigating this. |
| |
| 2014-10-15 Andrei Bucur <abucur@adobe.com> |
| |
| ASSERTION FAILED in WebCore::RenderFlowThread::getRegionRangeForBox |
| https://bugs.webkit.org/show_bug.cgi?id=135563 |
| |
| Reviewed by David Hyatt. |
| |
| The new multi-column code doesn't work correctly when the document contains nested fragmentation |
| contexts. The problem is the current flow thread concept that can store only one RenderFlowThread |
| at a time and use it during layout. |
| |
| The stored flow thread is always correct for regions because named flow threads are absolutley positioned |
| so every child renderer is contained inside them (with the expcetion of fixed positioned elements which are |
| treated separately). |
| |
| For multi-column elements this is no longer the case. An absolutely positioned element inside a static |
| multi-column element will be contained by a block outside the fragmentation context. It can even be |
| contained by a different multi-column element in the case of nested flow threads. |
| |
| The patch below explores a solution that's not based on a current flow thread stored globally. The proposed |
| patch makes every block to store a pointer to its fragmentation context and a flag that states if this pointer |
| needs to be updated or not. If the renderer is not a block it will get its flow thread from the containing |
| block. Once the containing flow thread is requested for the block, the pointer is computed and cached until |
| invalidated: |
| - when a subtree is removed from a flow thread |
| - when the position property of an element inside a flow thread changes |
| |
| The process is recursive and it doesn't affect elements that are not nested inside a flow thread. If a block |
| changes position from relative to static, any element that was contained by it can only be contained by an |
| ancestor of the block. This ancestor will still be outside of any flow thread. This ensures that non-fragmentation |
| code is not affected from a performance perspective. |
| |
| The patch affects the results of the performance tests: |
| - the regions layout tests have a decreased performance raging from 2% to 5-6% |
| - the regions selection tests have an increased performance raging from 1-2% to 10% |
| - the multicolumn layout tests (now pending review in b137687) have an increased performance |
| raging from 1.8% to 5% |
| |
| Tests: fast/multicol/multicol-all-positioned-crash.html |
| fast/multicol/multicol-transform-containing-block.html |
| |
| * rendering/FlowThreadController.cpp: |
| (WebCore::FlowThreadController::FlowThreadController): |
| * rendering/FlowThreadController.h: |
| (WebCore::FlowThreadController::currentRenderFlowThread): Deleted. |
| (WebCore::FlowThreadController::setCurrentRenderFlowThread): Deleted. |
| * rendering/LayoutState.h: |
| (WebCore::LayoutState::currentRenderFlowThread): |
| (WebCore::LayoutState::setCurrentRenderFlowThread): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlockRareData::RenderBlockRareData): |
| (WebCore::RenderBlock::styleWillChange): |
| (WebCore::RenderBlock::styleDidChange): |
| (WebCore::RenderBlock::collapseAnonymousBoxChild): |
| (WebCore::RenderBlock::cachedFlowThreadContainingBlock): |
| (WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate): |
| (WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate): |
| (WebCore::RenderBlock::updateCachedFlowThreadContainingBlock): |
| (WebCore::RenderBlock::locateFlowThreadContainingBlock): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::styleWillChange): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::borderBoxRectInRegion): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::layout): |
| (WebCore::RenderFlowThread::updateAllLayerToRegionMappings): |
| (WebCore::RenderFlowThread::repaintRectangleInRegions): |
| (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer): Deleted. |
| (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer): Deleted. |
| (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler): Deleted. |
| (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler): Deleted. |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayer): |
| (WebCore::RenderLayer::hitTestLayer): |
| (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::showRegionsInformation): |
| (WebCore::RenderObject::insertedIntoTree): |
| (WebCore::RenderObject::removeFromRenderFlowThread): |
| (WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants): |
| (WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants): |
| (WebCore::RenderObject::currentRenderNamedFlowFragment): |
| (WebCore::RenderObject::locateFlowThreadContainingBlock): |
| (WebCore::RenderObject::locateFlowThreadContainingBlockNoCache): Deleted. |
| (WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Deleted. |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::flowThreadContainingBlock): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::computeOverflowFromFlowThread): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::pushLayoutStateForCurrentFlowThread): |
| (WebCore::RenderView::popLayoutStateForCurrentFlowThread): |
| * rendering/RenderView.h: |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for list-related render objects |
| https://bugs.webkit.org/show_bug.cgi?id=137764 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Use is<>() / downcast<>() for list-related render objects and clean up |
| the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityListBox.cpp: |
| (WebCore::AccessibilityListBox::visibleChildren): |
| (WebCore::AccessibilityListBox::elementAccessibilityHitTest): |
| * accessibility/AccessibilityListBoxOption.cpp: |
| (WebCore::AccessibilityListBoxOption::elementRect): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::renderListItemContainerForNode): |
| * accessibility/atk/WebKitAccessibleHyperlink.cpp: |
| (getRangeLengthForObject): |
| * accessibility/atk/WebKitAccessibleInterfaceText.cpp: |
| (accessibilityObjectLength): |
| (offsetAdjustmentForListItem): |
| (webkitAccessibleTextGetText): |
| * editing/BreakBlockquoteCommand.cpp: |
| (WebCore::BreakBlockquoteCommand::doApply): |
| * html/HTMLLIElement.cpp: |
| (WebCore::HTMLLIElement::didAttachRenderers): |
| (WebCore::HTMLLIElement::parseValue): |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): |
| (WebCore::HTMLSelectElement::scrollToSelection): |
| (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): |
| (WebCore::HTMLSelectElement::selectOption): |
| (WebCore::HTMLSelectElement::platformHandleKeydownEvent): |
| (WebCore::HTMLSelectElement::menuListDefaultEventHandler): |
| (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
| * html/HTMLSelectElementWin.cpp: |
| (WebCore::HTMLSelectElement::platformHandleKeydownEvent): |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::EventHandler::platformPrepareForWheelEvents): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::addToLine): |
| (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): |
| * rendering/RenderCounter.cpp: |
| (WebCore::planCounter): |
| * rendering/RenderListBox.h: |
| * rendering/RenderListItem.cpp: |
| (WebCore::nextListItem): |
| (WebCore::previousListItem): |
| * rendering/RenderListItem.h: |
| * rendering/RenderListMarker.h: |
| * rendering/RenderMenuList.h: |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::markerTextForListItem): |
| * rendering/TextAutoSizing.cpp: |
| (WebCore::TextAutoSizingValue::adjustNodeSizes): |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::BreakingContext::handleReplaced): |
| (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded): |
| * testing/Internals.cpp: |
| (WebCore::Internals::isSelectPopupVisible): |
| |
| 2014-10-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr for CachedResource |
| https://bugs.webkit.org/show_bug.cgi?id=137736 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests, no behavior change. |
| |
| * loader/cache/CachedResource.cpp: Use std::unique_ptr instead of PassOwnPtr|OwnPtr. |
| (WebCore::CachedResource::removeClient): |
| * loader/cache/CachedResource.h: Set ctor from private to public. |
| (WebCore::CachedResource::CachedResourceCallback::schedule): |
| |
| 2014-10-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move TextCodec classes to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=137738 |
| |
| Reviewed by Darin Adler. |
| |
| Replace uses of PassOwnPtr in code under TextCodecFoo class with std::unique_ptr. |
| To do this, ctor of TextCodecFoo classes is changed from private to public. Besides |
| related classes follow this change as well. |
| |
| No new tests, no behavior change. |
| |
| * html/parser/HTMLMetaCharsetParser.h: |
| * loader/TextResourceDecoder.cpp: |
| (WebCore::TextResourceDecoder::setEncoding): |
| (WebCore::TextResourceDecoder::flush): |
| * loader/TextResourceDecoder.h: |
| * platform/text/TextCodec.h: |
| * platform/text/TextCodecICU.cpp: |
| (WebCore::TextCodecICU::create): |
| * platform/text/TextCodecICU.h: |
| * platform/text/TextCodecLatin1.cpp: |
| (WebCore::newStreamingTextDecoderWindowsLatin1): |
| * platform/text/TextCodecUTF16.cpp: |
| (WebCore::newStreamingTextDecoderUTF16LE): |
| (WebCore::newStreamingTextDecoderUTF16BE): |
| * platform/text/TextCodecUTF8.cpp: |
| (WebCore::TextCodecUTF8::create): |
| * platform/text/TextCodecUTF8.h: |
| * platform/text/TextCodecUserDefined.cpp: |
| (WebCore::newStreamingTextDecoderUserDefined): |
| * platform/text/TextEncodingRegistry.cpp: |
| (WebCore::newTextCodec): |
| * platform/text/TextEncodingRegistry.h: |
| * platform/text/mac/TextCodecMac.cpp: |
| (WebCore::newTextCodecMac): |
| |
| 2014-10-15 Dean Jackson <dino@apple.com> |
| |
| [Media] Reduce style updates (painting) in controls |
| https://bugs.webkit.org/show_bug.cgi?id=137763 |
| <rdar://problem/17833045> |
| |
| Reviewed by Simon Fraser. |
| |
| Media controls were causing a lot of repaints they were |
| constantly updating the style of the widgets, the value |
| of the forms, or the text in the display. |
| |
| This is necessary when the controls are visible, but not |
| necessary when they are hidden. Return immediately in that case. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.createControls): Initialise the slider to a zero value. |
| (Controller.prototype.handleDurationChange): Force an update even though we might be hidden. |
| (Controller.prototype.updateProgress): Don't update if we're hidden. |
| (Controller.prototype.updateTime): Ditto. |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.updateProgress): Ditto. |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel) - Part 2 |
| https://bugs.webkit.org/show_bug.cgi?id=137721 |
| |
| Reviewed by Darin Adler. |
| |
| Follow-up patch to r174717 addressing review comments made after the patch landed: |
| - Use modern C++ loop |
| - Remove explicit calls to String(NSString*) constructor |
| |
| No new tests, no new tests. |
| |
| * platform/network/mac/ResourceResponseMac.mm: |
| (WebCore::ResourceResponse::platformLazyInit): |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for InlineBox subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137749 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for InlineBox subclasses and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * dom/Position.cpp: |
| (WebCore::Position::upstream): |
| (WebCore::Position::downstream): |
| * editing/VisibleUnits.cpp: |
| (WebCore::wordBreakIteratorForMinOffsetBoundary): |
| (WebCore::wordBreakIteratorForMaxOffsetBoundary): |
| (WebCore::visualWordPosition): |
| (WebCore::startPositionForLine): |
| (WebCore::endPositionForLine): |
| * rendering/InlineBox.cpp: |
| (WebCore::InlineBox::root): |
| (WebCore::InlineBox::nextLeafChild): |
| (WebCore::InlineBox::prevLeafChild): |
| (WebCore::InlineBox::nextLeafChildIgnoringLineBreak): |
| * rendering/InlineBox.h: |
| * rendering/InlineElementBox.h: |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): |
| (WebCore::InlineFlowBox::addToLine): |
| (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): |
| (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): |
| (WebCore::InlineFlowBox::requiresIdeographicBaseline): |
| (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): |
| (WebCore::InlineFlowBox::computeLogicalBoxHeights): |
| (WebCore::InlineFlowBox::placeBoxesInBlockDirection): |
| (WebCore::InlineFlowBox::computeMaxLogicalTop): |
| (WebCore::InlineFlowBox::flipLinesInBlockDirection): |
| (WebCore::InlineFlowBox::computeOverflow): |
| (WebCore::InlineFlowBox::firstLeafChild): |
| (WebCore::InlineFlowBox::lastLeafChild): |
| (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): |
| (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): |
| * rendering/InlineFlowBox.h: |
| * rendering/InlineTextBox.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::positionForBox): |
| * rendering/RenderBlockFlow.h: |
| (WebCore::RenderBlockFlow::firstRootBox): |
| (WebCore::RenderBlockFlow::lastRootBox): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::createLineBoxes): |
| (WebCore::RenderBlockFlow::constructLine): |
| (WebCore::setLogicalWidthForTextRun): |
| (WebCore::computeExpansionForJustifiedText): |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): |
| (WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine): |
| (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::localCaretRect): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::isHyphenated): |
| (WebCore::RootInlineBox::ascentAndDescentForBox): |
| * rendering/RootInlineBox.h: |
| (WebCore::RootInlineBox::nextRootBox): |
| (WebCore::RootInlineBox::prevRootBox): |
| * rendering/svg/RenderSVGInlineText.cpp: |
| (WebCore::RenderSVGInlineText::localCaretRect): |
| (WebCore::RenderSVGInlineText::positionForPoint): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::positionForPoint): |
| * rendering/svg/SVGInlineFlowBox.cpp: |
| (WebCore::SVGInlineFlowBox::paintSelectionBackground): |
| (WebCore::SVGInlineFlowBox::paint): |
| (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): |
| * rendering/svg/SVGInlineFlowBox.h: |
| * rendering/svg/SVGInlineTextBox.h: |
| * rendering/svg/SVGRenderTreeAsText.cpp: |
| (WebCore::writeRenderSVGTextBox): |
| (WebCore::writeSVGInlineTextBoxes): |
| * rendering/svg/SVGRootInlineBox.cpp: |
| (WebCore::SVGRootInlineBox::paint): |
| (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): |
| (WebCore::SVGRootInlineBox::layoutChildBoxes): |
| (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded): |
| * rendering/svg/SVGRootInlineBox.h: |
| * rendering/svg/SVGTextQuery.cpp: |
| (WebCore::SVGTextQuery::collectTextBoxesInFlowBox): |
| |
| 2014-10-15 Roger Fong <roger_fong@apple.com> |
| |
| glReadPixels on NVIDIA cards returns the wrong values for the alpha channel when alpha is off. |
| https://bugs.webkit.org/show_bug.cgi?id=137752. |
| <rdar://problem/15408133> |
| |
| Reviewed by Brent Fulgham. |
| |
| This change fixed the 1.0.2 conformance test: context/context-attribute-preserve-drawing-buffer.html |
| |
| * platform/graphics/GraphicsContext3D.h: |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| Manually set the alpha channel to 255 when alpha is off on the rendering context. |
| |
| 2014-10-13 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Going back is broken for VoiceOver |
| https://bugs.webkit.org/show_bug.cgi?id=137382 |
| |
| Reviewed by Darin Adler. |
| |
| There were two issues preventing VoiceOver from navigating when using page history to go back/forward. |
| 1) Existing AXLoadComplete does not get fired when you just move through page history. |
| There were existing frameLoad notifications used by GTK. I think we should use those which seem more reliable. |
| 2) The AccessibilityScrollView cached its children, but on some history page loads, that cache was never cleared out. |
| Rather than trying to find those places to clear out the cache, it's easier to just add the elements to the children |
| array everytime it's asked for. Since there's only ever 3 elements (web area + 2 scroll bars) this should not be a performance hit. |
| |
| Tests are not possible since they require monitoring notifications across multiple page loads. |
| |
| * accessibility/AXObjectCache.h: |
| * accessibility/AccessibilityScrollView.cpp: |
| (WebCore::AccessibilityScrollView::updateChildrenIfNecessary): |
| * accessibility/ios/AXObjectCacheIOS.mm: |
| (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): |
| * accessibility/mac/AXObjectCacheMac.mm: |
| (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): |
| * dom/Document.cpp: |
| (WebCore::Document::implicitClose): |
| |
| 2014-10-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Sometimes can't scroll overflow:scroll areas in subframes |
| https://bugs.webkit.org/show_bug.cgi?id=137746 |
| rdar://problem/18603560 |
| |
| Reviewed by Tim Horton. |
| |
| r169733 introduced a regression which caused us to no longer update the non-fast |
| scrollable region on every layout in subframes, by adding a bogus isMainFrame() check. |
| Revert to the previous code. |
| |
| Test: platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout.html |
| |
| * page/scrolling/AsyncScrollingCoordinator.cpp: |
| (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for TransformOperation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137731 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for TransformOperation subclasses and clean |
| up the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::validateTransformOperations): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::getTransformFunctionValue): |
| * platform/graphics/transforms/IdentityTransformOperation.h: |
| * platform/graphics/transforms/Matrix3DTransformOperation.cpp: |
| (WebCore::Matrix3DTransformOperation::operator==): |
| * platform/graphics/transforms/Matrix3DTransformOperation.h: |
| * platform/graphics/transforms/MatrixTransformOperation.cpp: |
| (WebCore::MatrixTransformOperation::operator==): |
| (WebCore::MatrixTransformOperation::blend): |
| * platform/graphics/transforms/MatrixTransformOperation.h: |
| * platform/graphics/transforms/PerspectiveTransformOperation.cpp: |
| (WebCore::PerspectiveTransformOperation::operator==): |
| (WebCore::PerspectiveTransformOperation::blend): |
| * platform/graphics/transforms/PerspectiveTransformOperation.h: |
| * platform/graphics/transforms/RotateTransformOperation.cpp: |
| (WebCore::RotateTransformOperation::operator==): |
| (WebCore::RotateTransformOperation::blend): |
| * platform/graphics/transforms/RotateTransformOperation.h: |
| * platform/graphics/transforms/ScaleTransformOperation.cpp: |
| (WebCore::ScaleTransformOperation::operator==): |
| (WebCore::ScaleTransformOperation::blend): |
| * platform/graphics/transforms/ScaleTransformOperation.h: |
| * platform/graphics/transforms/SkewTransformOperation.cpp: |
| (WebCore::SkewTransformOperation::operator==): |
| (WebCore::SkewTransformOperation::blend): |
| * platform/graphics/transforms/SkewTransformOperation.h: |
| * platform/graphics/transforms/TransformOperation.h: |
| * platform/graphics/transforms/TranslateTransformOperation.cpp: |
| (WebCore::TranslateTransformOperation::operator==): |
| (WebCore::TranslateTransformOperation::blend): |
| * platform/graphics/transforms/TranslateTransformOperation.h: |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine |
| https://bugs.webkit.org/show_bug.cgi?id=137727 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::selectedText): |
| (WebCore::AccessibilityRenderObject::selectedTextRange): |
| (WebCore::AccessibilityRenderObject::setSelectedTextRange): |
| (WebCore::AccessibilityRenderObject::visiblePositionForIndex): |
| (WebCore::AccessibilityRenderObject::indexForVisiblePosition): |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::handleReplacedElement): |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::forwardEvent): |
| * html/shadow/TextControlInnerElements.cpp: |
| (WebCore::TextControlInnerElement::customStyleForRenderer): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::capsLockStateMayHaveChanged): |
| * page/ios/FrameIOS.mm: |
| (WebCore::ancestorRespondingToScrollWheelEvents): |
| * rendering/RenderTextControl.h: |
| * rendering/RenderTextControlSingleLine.h: |
| * rendering/SimpleLineLayout.cpp: |
| (WebCore::SimpleLineLayout::canUseFor): |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for ClipPathOperation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137733 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for ClipPathOperation subclasses. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::ApplyPropertyClipPath::applyValue): |
| * rendering/ClipPathOperation.h: |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::nodeAtPoint): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::setupClipPath): |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::prepareToRenderSVGContent): |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable() |
| https://bugs.webkit.org/show_bug.cgi?id=137723 |
| |
| Reviewed by Simon Fraser. |
| |
| Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable() instead |
| of CFDictionaryGetValue() as we are not actually interested in the |
| value. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::ImageSource::isSizeAvailable): |
| |
| 2014-10-15 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| Use modern loops in subtrees selection code |
| https://bugs.webkit.org/show_bug.cgi?id=137688 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests as no change in functionality. |
| |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::splitSelectionBetweenSubtrees): |
| (WebCore::RenderView::updateSelectionForSubtrees): |
| (WebCore::RenderView::clearSubtreeSelection): |
| (WebCore::RenderView::applySubtreeSelection): |
| * rendering/RenderView.h: |
| |
| 2014-10-14 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Clean up unnecessary PassOwnPtr.h inclusion |
| https://bugs.webkit.org/show_bug.cgi?id=137726 |
| |
| Reviewed by Chris Dumez. |
| |
| No new tests, no behavior changes. |
| |
| * dom/Document.h: Remove PassOwnPtr.h inclusion. |
| * loader/ResourceBuffer.h: ditto. |
| * loader/cocoa/DiskCacheMonitorCocoa.mm: ditto. |
| * page/scrolling/AxisScrollSnapOffsets.h: ditto. |
| * page/scrolling/ScrollingStateScrollingNode.h: ditto. |
| * platform/ColorChooserClient.h: ditto. |
| * platform/ScrollableArea.cpp: ditto. |
| * platform/ScrollbarThemeClient.h: ditto. |
| * platform/SharedBuffer.cpp: ditto. |
| * platform/Supplementable.h: ditto. |
| * platform/graphics/surfaces/GraphicsSurface.h: ditto. |
| * platform/graphics/surfaces/GraphicsSurfaceToken.h: ditto. |
| * platform/graphics/win/WKCAImageQueue.cpp: ditto. |
| * platform/win/CursorWin.cpp: ditto. |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement& |
| https://bugs.webkit.org/show_bug.cgi?id=137728 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement& |
| instead of a RenderObject*. The argument passed is never null and the type |
| should be a RenderElement as the argument is a container. |
| |
| No new tests, no behavior change. |
| |
| * editing/htmlediting.cpp: |
| (WebCore::localCaretRectInRendererForCaretPainting): |
| * page/GestureTapHighlighter.cpp: |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::mapLocalToContainer): |
| (WebCore::RenderBox::pushMappingToContainer): |
| (WebCore::RenderBox::offsetFromContainer): |
| (WebCore::RenderBox::computeRectForRepaint): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::computeRectForRepaint): |
| (WebCore::RenderInline::offsetFromContainer): |
| (WebCore::RenderInline::mapLocalToContainer): |
| (WebCore::RenderInline::pushMappingToContainer): |
| * rendering/RenderInline.h: |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::offsetFromContainer): |
| * rendering/RenderMultiColumnFlowThread.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::offsetFromContainer): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::offsetFromContainer): |
| (WebCore::RenderObject::offsetFromAncestorContainer): |
| * rendering/RenderObject.h: |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::offsetFromContainer): |
| * rendering/RenderTableCell.h: |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::convertToPaintingRect): |
| |
| 2014-10-14 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video |
| https://bugs.webkit.org/show_bug.cgi?id=137715 |
| |
| Reviewed by Darin Adler. |
| |
| Simple null-check of m_player in refreshCachedTime. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::refreshCachedTime): |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel) |
| https://bugs.webkit.org/show_bug.cgi?id=137721 |
| |
| Reviewed by Geoffrey Garen. |
| |
| There were several inefficiencies with the Mac implementation of |
| ResourceResponse::platformLazyInit(InitLevel): |
| 1. We end up initializing uncommon fields even if called with |
| 'CommonFieldsOnly' initLevel. |
| 2. If called with 'AllFields' initLevel (and if currently |
| uninitialized), we end up populating m_httpHeaderFields twice, once |
| with only the common headers, then a second time with ALL the |
| headers. We can skip the common-header case in this case to avoid |
| wasting CPU time. |
| |
| This patch addresses both inefficiencies and cleans up the code a |
| little bit to reduce variable scope and to use fast enumeration of |
| header names. |
| |
| As a result, we spend almost twice as little time in platformLazyInit() |
| when loading msn.com (~30ms -> ~18ms). |
| |
| No new tests, no behavior change. |
| |
| * platform/network/mac/ResourceResponseMac.mm: |
| (WebCore::ResourceResponse::platformLazyInit): |
| |
| 2014-10-14 Zalan Bujtas <zalan@apple.com> |
| |
| REGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly. |
| https://bugs.webkit.org/show_bug.cgi?id=137205 |
| |
| Reviewed by Simon Fraser. |
| |
| Child layer should not reset radius clipping behaviour. |
| |
| Test: fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for PlatformCAAnimation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137722 |
| |
| Reviewed by Simon Fraser. |
| |
| Use is<>() / downcast<>() for PlatformCAAnimation subclasses and clean |
| up the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::Highlight::fadeIn): |
| (WebCore::ServicesOverlayController::Highlight::fadeOut): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation): |
| (WebCore::GraphicsLayerCA::updateAnimations): |
| (WebCore::GraphicsLayerCA::setAnimationOnLayer): |
| (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| * platform/graphics/ca/PlatformCAAnimation.h: |
| * platform/graphics/ca/PlatformCALayer.h: |
| * platform/graphics/ca/mac/PlatformCAAnimationMac.h: |
| * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: |
| (PlatformCAAnimationMac::copy): |
| (PlatformCAAnimationMac::copyTimingFunctionFrom): |
| (PlatformCAAnimationMac::copyFromValueFrom): |
| (PlatformCAAnimationMac::copyToValueFrom): |
| (PlatformCAAnimationMac::copyValuesFrom): |
| (PlatformCAAnimationMac::copyKeyTimesFrom): |
| (PlatformCAAnimationMac::copyTimingFunctionsFrom): |
| * platform/graphics/ca/mac/PlatformCALayerMac.h: |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::addAnimationForKey): |
| * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: |
| (PlatformCAAnimationWin::copy): |
| (PlatformCAAnimationWin::copyTimingFunctionFrom): |
| (PlatformCAAnimationWin::copyFromValueFrom): |
| (PlatformCAAnimationWin::copyToValueFrom): |
| (PlatformCAAnimationWin::copyValuesFrom): |
| (PlatformCAAnimationWin::copyKeyTimesFrom): |
| (PlatformCAAnimationWin::copyTimingFunctionsFrom): |
| * platform/graphics/ca/win/PlatformCAAnimationWin.h: |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| (PlatformCALayerWin::addAnimationForKey): |
| * platform/graphics/ca/win/PlatformCALayerWin.h: |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderInline |
| https://bugs.webkit.org/show_bug.cgi?id=137704 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderInline and clean up the surrounding |
| code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::firstChildInContinuation): |
| * editing/SimplifyMarkupCommand.cpp: |
| (WebCore::SimplifyMarkupCommand::doApply): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildRendererHighlight): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::paintContents): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): |
| (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): |
| (WebCore::InlineFlowBox::attachLineBoxToRenderObject): |
| (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): |
| (WebCore::InlineFlowBox::nodeAtPoint): |
| (WebCore::InlineFlowBox::paint): |
| * rendering/InlineIterator.h: |
| (WebCore::bidiFirstSkippingEmptyInlines): |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::willBeDestroyed): |
| (WebCore::RenderBlock::paintObject): |
| (WebCore::RenderBlock::inlineElementContinuation): |
| (WebCore::RenderBlock::addFocusRingRects): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::willBeDestroyed): |
| (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths): |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::constructBidiRunsForSegment): |
| (WebCore::RenderBlockFlow::layoutLineBoxes): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::offsetFromContainer): |
| (WebCore::RenderBox::computeRectForRepaint): |
| (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): |
| (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): |
| (WebCore::RenderBox::computePositionedLogicalWidthUsing): |
| (WebCore::RenderBox::computePositionedLogicalWidthReplaced): |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::accumulateInFlowPositionOffsets): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::willBeRemovedFromTree): |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::dirtyLinesFromChangedChild): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::addRegionsOverflowFromChild): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::willBeDestroyed): |
| (WebCore::RenderInline::updateAlwaysCreateLineBoxes): |
| (WebCore::RenderInline::clippedOverflowRectForRepaint): |
| * rendering/RenderInline.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateLayerPosition): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLineBoxList.cpp: |
| (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): |
| * rendering/RenderLineBoxList.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::insertedIntoTree): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::overflowRectForFlowThreadPortion): |
| (WebCore::RenderRegion::visualOverflowRectForBox): |
| (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation): |
| * rendering/RenderRegion.h: |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::willBeDestroyed): |
| * rendering/RenderTextLineBoxes.cpp: |
| (WebCore::RenderTextLineBoxes::removeAllFromParent): |
| (WebCore::RenderTextLineBoxes::dirtyRange): |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::inlineLogicalWidth): |
| (WebCore::BreakingContext::handleEmptyInline): |
| * rendering/line/LineInlineHeaders.h: |
| (WebCore::requiresLineBox): |
| (WebCore::setStaticPositions): |
| * rendering/svg/SVGInlineTextBox.cpp: |
| (WebCore::SVGInlineTextBox::paint): |
| |
| 2014-10-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r174710. |
| |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::createSession): |
| |
| 2014-10-14 Dan Bernstein <mitz@apple.com> |
| |
| URLs that start with http:/// and https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior |
| https://bugs.webkit.org/show_bug.cgi?id=137718 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Added cases to fast/loader/url-parse-1.html. |
| |
| * platform/URL.cpp: |
| (WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional |
| slashes after the ://, as prescribed by the authority-ignore-slashes state in the current |
| URL spec. |
| |
| 2014-10-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r174698 and r174709. |
| |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem): |
| (WebCore::AVFWrapper::shouldWaitForLoadingOfResource): |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| |
| 2014-10-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix after r174698 |
| |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: |
| * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::createSession): |
| |
| 2014-10-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Improve debug description of WAKViews |
| https://bugs.webkit.org/show_bug.cgi?id=137716 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/ios/wak/WAKView.mm: |
| (-[WAKView description]): |
| * platform/ios/wak/WKView.h: |
| * platform/ios/wak/WKView.mm: |
| (WKViewGetOrigin): |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Introduce an isCSSAnimated flag on RenderElement for performance |
| https://bugs.webkit.org/show_bug.cgi?id=137583 |
| |
| Reviewed by Simon Fraser. |
| |
| I noticed when profiling the ebay.com page load that isRunningAnimationOnRenderer() |
| and isRunningAcceleratedAnimationOnRenderer() were called frequently, causing |
| ~4.7 millions m_compositeAnimations HashMap lookups. |
| |
| This patch introduces an isCSSAnimated flag on RenderElement to return early if |
| there is no animation on the renderer, thus avoiding HashMap lookups. This reduces |
| the number of HashMap lookups from ~4.7 millions to ~68k. On my machine, I see |
| the following performance improvements: |
| - isRunning*AnimationOnRenderer() / computeCompositingRequirements() |
| - before: ~45ms / ~90ms |
| - after: ~4ms / ~30ms |
| |
| No new tests, no behavior change. |
| |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::ensureCompositeAnimation): |
| (WebCore::AnimationControllerPrivate::clear): |
| (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer): |
| (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer): |
| (WebCore::AnimationController::isRunningAnimationOnRenderer): |
| (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::RenderElement): |
| * rendering/RenderElement.h: |
| (WebCore::RenderElement::isCSSAnimating): |
| (WebCore::RenderElement::setIsCSSAnimating): |
| |
| 2014-10-14 Dean Jackson <dino@apple.com> |
| |
| Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers |
| https://bugs.webkit.org/show_bug.cgi?id=137676 |
| <rdar://problem/15735049> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Remove the code I added that tracks the timestamp of the most recent |
| user gesture from the event handling dispatch, as it was both |
| a silly place to do it and it originally crashed when events were fired from |
| Worker threads (although this was fixed in r152238). |
| |
| It's now recorded by going through UserGestureIndicator, which is good because |
| it knows when a user has triggered an event. Its constructor now takes |
| a pointer to Document, and updates the timestamp there if necessary. |
| |
| Not all UserGestureIndicator instances needed to reset the timestamp; Those did |
| not have to pass along the Document. |
| |
| This is untestable due to the fix mentioned above. |
| |
| * WebCore.exp.in: Change constructor signature. |
| |
| * accessibility/AccessibilityNodeObject.cpp: Pass a pointer to the Document into the UserGestureIndicator. |
| (WebCore::AccessibilityNodeObject::increment): |
| (WebCore::AccessibilityNodeObject::decrement): |
| * accessibility/AccessibilityObject.cpp: Ditto. |
| (WebCore::AccessibilityObject::press): |
| |
| * dom/Document.cpp: |
| (WebCore::Document::updateLastHandledUserGestureTimestamp): Renamed. |
| * dom/Document.h: |
| |
| * dom/EventTarget.cpp: Remove the code to update the timestamp. |
| (WebCore::EventTarget::fireEventListeners): |
| |
| * dom/UserGestureIndicator.cpp: |
| (WebCore::UserGestureIndicator::UserGestureIndicator): If there is a Document and |
| this is a user gesture, then reset the timestamp. |
| * dom/UserGestureIndicator.h: |
| |
| * page/EventHandler.cpp: Pass a pointer to the Document. |
| (WebCore::EventHandler::handleMousePressEvent): |
| (WebCore::EventHandler::handleMouseDoubleClickEvent): |
| (WebCore::EventHandler::handleMouseReleaseEvent): |
| (WebCore::EventHandler::keyEvent): |
| (WebCore::EventHandler::handleTouchEvent): |
| |
| * rendering/HitTestResult.cpp: Ditto. |
| (WebCore::HitTestResult::toggleMediaFullscreenState): |
| (WebCore::HitTestResult::enterFullscreenForVideo): |
| |
| 2014-10-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed gardening. Ignore Visual Studio *.sdf files. |
| |
| * WebCore.vcxproj: Modified property svn:ignore. |
| |
| 2014-10-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Enable Encrypted Media Support |
| https://bugs.webkit.org/show_bug.cgi?id=137710 |
| <rdar://problem/18652699> |
| |
| Reviewed by Jer Noble. |
| |
| This feature is covered by existing media tests. |
| |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::destroyAVFWrapper): Remove redundant ASSERT. |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (displayOnMainThreadContext::displayOnMainThreadContext): Added. |
| (redispatchOnMainQueue): Added. |
| (PlatformCALayerWinInternal::displayCallback): Check if a display |
| call is happening on a background queue, and re-dispatch on the |
| main thread if necessary. |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Avoid unnecessary dictionary lookup in ImageSource::isSizeAvailable() |
| https://bugs.webkit.org/show_bug.cgi?id=137701 |
| |
| Reviewed by Simon Fraser. |
| |
| The CG implementation of ImageSource::isSizeAvailable() was looking up |
| both the width and the height keys in the dictionary before determining |
| if the size is available. We can abort early and return false if the |
| first key (the width) is missing, thus avoiding an extra dictionary |
| lookup in this case. |
| |
| This is a small win but ImageSource::isSizeAvailable() is called quite |
| frequently during page loads |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::ImageSource::isSizeAvailable): |
| |
| 2014-10-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Remove unnecessary logging from SimpleFontData |
| https://bugs.webkit.org/show_bug.cgi?id=137699 |
| |
| Reviewed by Andreas Kling. |
| |
| Because of web fonts, fonts that don't have a glyph page 0 are common and expected. Printing out a |
| message is not helpful, especially if you're not dealing with a font-related piece of WebKit. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::platformGlyphInit): |
| |
| 2014-10-14 Martin Hock <mhock@apple.com> |
| |
| Update ViewportConfiguration whenever its size attributes change |
| https://bugs.webkit.org/show_bug.cgi?id=137682 |
| rdar://problem/18643655 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * page/ViewportConfiguration.cpp: |
| (WebCore::ViewportConfiguration::setMinimumLayoutSize): |
| (WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI): |
| |
| 2014-10-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree |
| https://bugs.webkit.org/show_bug.cgi?id=137681 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::buildObjectForNode): |
| Include the nodeName, localName, and nodeValue (string data) |
| properties for processing instruction nodes. |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderFrame / RenderFrameSet |
| https://bugs.webkit.org/show_bug.cgi?id=137696 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderFrame / RenderFrameSet. |
| |
| No new tests, no behavior change. |
| |
| * html/HTMLFrameSetElement.cpp: |
| (WebCore::HTMLFrameSetElement::defaultEventHandler): |
| * rendering/RenderFrame.cpp: |
| (WebCore::RenderFrame::updateFromElement): |
| * rendering/RenderFrame.h: |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::computeEdgeInfo): |
| (WebCore::RenderFrameSet::positionFramesWithFlattening): |
| * rendering/RenderFrameSet.h: |
| |
| 2014-10-14 Youenn Fablet <youennf@gmail.com> |
| |
| [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry |
| https://bugs.webkit.org/show_bug.cgi?id=126975 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4 |
| Ensuring new test from https://codereview.chromium.org/76133002/ is passing. |
| |
| Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html |
| |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::open): exit early if internalAbort asks so |
| (WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so |
| (WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback) |
| (WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so |
| * xml/XMLHttpRequest.h: |
| |
| 2014-10-14 Alejandro G. Castro <alex@igalia.com> |
| |
| Multiple refactors in RenderMathMLOperator |
| https://bugs.webkit.org/show_bug.cgi?id=137611 |
| |
| Reviewed by Darin Adler. |
| |
| The changes include: |
| - Rename m_operator to m_textContent. |
| - Make most of the functions private, we needed to create some |
| public member functions to be able to make the some funtions private |
| and move trailingSpaceError to RenderMathMLOperator. |
| - Fix incorrect capitalization of setOperatorProperties function. |
| - Make all data members private and move them to the end of the |
| class defition. |
| |
| No new tests as no change in functionality. |
| |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::RenderMathMLOperator): |
| (WebCore::RenderMathMLOperator::setOperatorProperties): Renamed, |
| incorrect capitalization |
| (WebCore::RenderMathMLOperator::stretchTo): |
| (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): |
| (WebCore::RenderMathMLOperator::rebuildTokenContent): |
| (WebCore::RenderMathMLOperator::updateFromElement): |
| (WebCore::RenderMathMLOperator::updateOperatorProperties): |
| (WebCore::RenderMathMLOperator::shouldAllowStretching): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| (WebCore::RenderMathMLOperator::trailingSpaceError): |
| (WebCore::RenderMathMLOperator::SetOperatorProperties): Deleted. |
| (WebCore::RenderMathMLOperator::advanceForGlyph): Deleted. |
| (WebCore::RenderMathMLOperator::updateTokenContent): Deleted. |
| (WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): Deleted. |
| * rendering/mathml/RenderMathMLOperator.h: |
| (WebCore::RenderMathMLOperator::setLeadingSpace): Added. |
| (WebCore::RenderMathMLOperator::setTrailingSpace): Added. |
| (WebCore::RenderMathMLOperator::textContent): Added. |
| (WebCore::RenderMathMLOperator::isInvisibleOperator): |
| * rendering/mathml/RenderMathMLRadicalOperator.cpp: |
| (WebCore::RenderMathMLRadicalOperator::setOperatorProperties): |
| Renamed, incorrect capitalization |
| (WebCore::RenderMathMLRadicalOperator::SetOperatorProperties): Deleted. |
| (WebCore::RenderMathMLRadicalOperator::trailingSpaceError): Deleted. |
| * rendering/mathml/RenderMathMLRadicalOperator.h: |
| |
| 2014-10-14 Alejandro G. Castro <alex@igalia.com> |
| |
| Changes in the stretchy attribute do not update rendering |
| https://bugs.webkit.org/show_bug.cgi?id=136883 |
| |
| Reviewed by Darin Adler. |
| |
| Test: mathml/presentation/mo-stretch-update.html |
| |
| We need to relayout when a change in the stretchy attribute |
| happens. |
| |
| * mathml/MathMLTextElement.cpp: |
| (WebCore::MathMLTextElement::parseAttribute): Parse the |
| modifications of the stretchy attribute. |
| * mathml/MathMLTextElement.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded): |
| Add function that receives the value instead of looking for it and |
| checks if the change should schedule a layout. |
| (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute): |
| (WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue): |
| Add function that receives the value instead of looking for it. |
| * rendering/mathml/RenderMathMLOperator.h: |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderImage |
| https://bugs.webkit.org/show_bug.cgi?id=137683 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for RenderImage. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::alternativeText): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::addImageMapChildren): |
| (WebCore::AccessibilityRenderObject::remoteSVGRootElement): |
| * bindings/objc/DOM.mm: |
| (-[DOMElement image]): |
| (-[DOMElement _imageTIFFRepresentation]): |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::handleReplacedElement): |
| * editing/cocoa/HTMLConverter.mm: |
| (fileWrapperForElement): |
| * editing/gtk/EditorGtk.cpp: |
| (WebCore::getImageForElement): |
| * editing/ios/EditorIOS.mm: |
| (WebCore::getImage): |
| * editing/mac/EditorMac.mm: |
| (WebCore::getImage): |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::appendServerMapMousePosition): |
| * html/HTMLAreaElement.cpp: |
| (WebCore::HTMLAreaElement::setFocus): |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate): |
| (WebCore::HTMLImageElement::parseAttribute): |
| (WebCore::HTMLImageElement::didAttachRenderers): |
| (WebCore::HTMLImageElement::createImageControls): |
| (WebCore::HTMLImageElement::destroyImageControls): |
| * html/HTMLVideoElement.cpp: |
| (WebCore::HTMLVideoElement::didAttachRenderers): |
| (WebCore::HTMLVideoElement::parseAttribute): |
| * html/ImageInputType.cpp: |
| (WebCore::ImageInputType::altAttributeChanged): |
| (WebCore::ImageInputType::attach): |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::size): |
| * html/shadow/mac/ImageControlsRootElementMac.cpp: |
| (WebCore::RenderImageControls::updateLogicalWidth): |
| (WebCore::RenderImageControls::computeLogicalHeight): |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::renderImageResource): |
| * page/ContextMenuController.cpp: |
| (WebCore::imageFromImageElementNode): |
| * page/DragController.cpp: |
| (WebCore::getCachedImage): |
| (WebCore::getImage): |
| * platform/win/PasteboardWin.cpp: |
| (WebCore::Pasteboard::writeImage): |
| (WebCore::getCachedImage): |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::image): |
| * rendering/RenderImage.h: |
| * rendering/RenderImageResource.cpp: |
| (WebCore::RenderImageResource::getImageSize): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::isDirectlyCompositedImage): |
| (WebCore::RenderLayerBacking::updateImageContents): |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox): |
| * rendering/shapes/ShapeOutsideInfo.cpp: |
| (WebCore::ShapeOutsideInfo::createShapeForImage): |
| |
| 2014-10-14 Andrzej Badowski <a.badowski@samsung.com> |
| |
| [AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions. |
| https://bugs.webkit.org/show_bug.cgi?id=136818 |
| |
| Reviewed by Chris Fleizach. |
| |
| Take into account that <th> elements can be both the column headers and row headers |
| improved the operation of two functions: columnHeaders and rowHeaders. |
| |
| Test: accessibility/table-headers.html |
| |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::isColumnHeaderCell): |
| A new function that helps the main goal. |
| (WebCore::AccessibilityTableCell::isRowHeaderCell): |
| A new function that helps the main goal. |
| (WebCore::AccessibilityTableCell::columnHeaders): |
| Use isColumnHeaderCell instead of isTableHeaderCell. |
| (WebCore::AccessibilityTableCell::rowHeaders): |
| Use isRowHeaderCell also includes <th> row header element next to the scope attribute. |
| * accessibility/AccessibilityTableCell.h: |
| Adds new functions to the header file. |
| |
| 2014-10-14 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix the !ENABLE(VIDEO) build after r174353 |
| https://bugs.webkit.org/show_bug.cgi?id=137655 |
| |
| Reviewed by Darin Adler. |
| |
| * dom/Document.cpp: |
| * dom/Document.h: |
| * page/Page.cpp: |
| * page/Page.h: |
| |
| 2014-10-14 peavo@outlook.com <peavo@outlook.com> |
| |
| [Curl] Compile error in CurlDownload.cpp. |
| https://bugs.webkit.org/show_bug.cgi?id=137654 |
| |
| Reviewed by Philippe Normand. |
| |
| A template specialization is not needed anymore. |
| |
| * platform/network/curl/CurlDownload.cpp: |
| |
| 2014-10-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unused stale Page protocol methods |
| https://bugs.webkit.org/show_bug.cgi?id=137678 |
| |
| Reviewed by Andreas Kling. |
| |
| * inspector/InspectorClient.h: |
| (WebCore::InspectorClient::canShowDebugBorders): Deleted. |
| (WebCore::InspectorClient::setShowDebugBorders): Deleted. |
| (WebCore::InspectorClient::canShowFPSCounter): Deleted. |
| (WebCore::InspectorClient::setShowFPSCounter): Deleted. |
| (WebCore::InspectorClient::canContinuouslyPaint): Deleted. |
| (WebCore::InspectorClient::setContinuousPaintingEnabled): Deleted. |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::disable): |
| (WebCore::InspectorPageAgent::canShowDebugBorders): Deleted. |
| (WebCore::InspectorPageAgent::setShowDebugBorders): Deleted. |
| (WebCore::InspectorPageAgent::canShowFPSCounter): Deleted. |
| (WebCore::InspectorPageAgent::setShowFPSCounter): Deleted. |
| (WebCore::InspectorPageAgent::canContinuouslyPaint): Deleted. |
| (WebCore::InspectorPageAgent::setContinuousPaintingEnabled): Deleted. |
| * inspector/InspectorPageAgent.h: |
| * inspector/protocol/Page.json: |
| |
| 2014-10-13 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Refactor AirPlay monitoring code |
| https://bugs.webkit.org/show_bug.cgi?id=137645 |
| <rdar://problem/18444817> |
| |
| Reviewed by Jer Noble. |
| |
| Refactor AirPlay route change monitoring code: |
| + Have MediaSessionManager register/unregister for route changes depending on the state of |
| all sessions so it does the right thing when there is more than one media element. |
| + Make HTMLMediaElement unregister with MediaSession as soon as the media player is cleared |
| because there can be no wireless playback without a player. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::~HTMLMediaElement): Call mediaSession->setHasPlaybackTargetAvailabilityListeners |
| when there are target availability changed listeners. |
| (WebCore::HTMLMediaElement::clearMediaPlayer): Ditto. |
| (WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): New, media session client method. |
| * html/HTMLMediaElement.h: |
| |
| * html/HTMLMediaSession.cpp: |
| (WebCore::HTMLMediaSession::HTMLMediaSession): Initialize m_hasPlaybackTargetAvailabilityListeners. |
| (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Remember whether or not |
| the client has a target availability listener and tell the media session manager to reconfigure |
| itself instead of telling it to start or stop listening for route changes so it does the |
| right thing when there is more than one media element. |
| * html/HTMLMediaSession.h: |
| (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Return true when the client |
| has a target availability listener, false otherwise. |
| |
| * platform/audio/MediaSession.cpp: |
| (WebCore::MediaSession::wirelessRoutesAvailableDidChange): Inform the client that routes have changed. |
| * platform/audio/MediaSession.h: |
| (WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring): |
| (WebCore::MediaSessionClient::wirelessRoutesAvailableDidChange): |
| |
| * platform/audio/MediaSessionManager.cpp: |
| (WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Implement it. |
| * platform/audio/MediaSessionManager.h: |
| (WebCore::MediaSessionManager::configureWireLessTargetMonitoring): |
| (WebCore::MediaSessionManager::hasWirelessTargetsAvailable): |
| (WebCore::MediaSessionManager::sessions): |
| (WebCore::MediaSessionManager::startMonitoringAirPlayRoutes): Deleted. |
| (WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes): Deleted. |
| |
| * platform/audio/ios/MediaSessionManagerIOS.h: |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Start or stop monitoring |
| for route changes depending on client state. |
| (WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes): Deleted. |
| (WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes): Deleted. |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG |
| https://bugs.webkit.org/show_bug.cgi?id=137677 |
| |
| Reviewed by Simon Fraser. |
| |
| The return value of createImageSourceOptions() was leaked in |
| ImageSourceCG.cpp. It was returning a CFDictionaryRef created using |
| CFDictionaryCreate(). Therefore, the return value should have been |
| released but wasn't. |
| |
| This patch makes createImageSourceOptions() return a |
| RetainPtr<CFDictionaryRef> to make sure the CFDictionaryRef properly |
| gets released after use. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::createImageSourceOptions): |
| (WebCore::imageSourceOptions): |
| (WebCore::ImageSource::isSizeAvailable): |
| (WebCore::ImageSource::allowSubsamplingOfFrameAtIndex): |
| (WebCore::ImageSource::frameSizeAtIndex): |
| (WebCore::ImageSource::orientationAtIndex): |
| (WebCore::ImageSource::getHotSpot): |
| (WebCore::ImageSource::repetitionCount): |
| (WebCore::ImageSource::createFrameAtIndex): |
| (WebCore::ImageSource::frameDurationAtIndex): |
| |
| 2014-10-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| CSS JIT: Implement :visited pseudo class |
| https://bugs.webkit.org/show_bug.cgi?id=135293 |
| |
| Reviewed by Benjamin Poulain. |
| |
| This patch implements CSS JIT for :visited. And it makes :not(:link) JIT-ed. |
| Following the design discussed at the other bug[1], implemented :visited JIT |
| without tracking VisitedMatchEnabled state. |
| |
| In this patch, we change the semantics of :visited / :link |
| inside functional pseudo classes for further CSS Selector Level 4 extensions. |
| |
| Edge cases are tested by the existing tests. |
| :not(:link) |
| fast/history/link-inside-not.html |
| :not(:visited) |
| fast/history/visited-inside-not.html |
| :-webkit-any(:link) |
| fast/history/link-inside-any.html |
| :-webkit-any(:visited) |
| fast/history/visited-inside-any.html |
| |
| [1]: https://bugs.webkit.org/show_bug.cgi?id=135639 |
| |
| Test: fast/history/link-inside-not-inside-any.html |
| To cover the :-webkit-any(:not(:link)), added new tests. |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::constructFragments): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRightmostTreeWalker): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement): |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use modern loops in RenderLayerCompositor |
| https://bugs.webkit.org/show_bug.cgi?id=137670 |
| |
| Reviewed by Simon Fraser. |
| |
| Use modern range for-loops in RenderLayerCompositor. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::OverlapMapContainer::overlapsLayers): |
| (WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects): |
| (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush): |
| (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): |
| (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements): |
| (WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed): |
| (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): |
| (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree): |
| (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): |
| (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): |
| (WebCore::RenderLayerCompositor::recursiveRepaintLayer): |
| (WebCore::resetTrackedRepaintRectsRecursive): |
| (WebCore::RenderLayerCompositor::layerHas3DContent): |
| (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): |
| (WebCore::RenderLayerCompositor::registerAllScrollingLayers): |
| (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Drop unnecessary overlapMap null checks in computeCompositingRequirements() |
| https://bugs.webkit.org/show_bug.cgi?id=137668 |
| |
| Reviewed by Andreas Kling. |
| |
| Drop unnecessary overlapMap null checks in computeCompositingRequirements(). |
| The function is never called with a null overlapMap so we can make the |
| argument a reference and drop all the null checks. |
| |
| No new tests, no behavior change. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed): |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for PlatformCALayer subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137661 |
| |
| Reviewed by Simon Fraser. |
| |
| Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up |
| the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): |
| (WebCore::GraphicsLayerCA::updateContentsRects): |
| (WebCore::GraphicsLayerCA::updateReplicatedLayers): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| (WebCore::GraphicsLayerCA::fetchCloneLayers): Deleted. |
| * platform/graphics/ca/PlatformCALayer.h: |
| * platform/graphics/ca/TileCoverageMap.cpp: |
| (WebCore::TileCoverageMap::TileCoverageMap): |
| * platform/graphics/ca/TileGrid.cpp: |
| (WebCore::TileGrid::ensureTilesForRect): |
| * platform/graphics/ca/mac/PlatformCALayerMac.h: |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayerMac::clone): |
| (PlatformCALayerMac::appendSublayer): |
| (PlatformCALayerMac::insertSublayer): |
| (PlatformCALayerMac::replaceSublayer): |
| (PlatformCALayerMac::adoptSublayers): |
| (PlatformCALayerMac::copyFiltersFrom): |
| * platform/graphics/ca/win/CACFLayerTreeHost.cpp: |
| (WebCore::CACFLayerTreeHost::setRootChildLayer): |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| (PlatformCALayerWin::clone): |
| (PlatformCALayerWin::rootLayer): |
| (PlatformCALayerWin::appendSublayer): |
| (PlatformCALayerWin::insertSublayer): |
| (PlatformCALayerWin::replaceSublayer): |
| (PlatformCALayerWin::adoptSublayers): |
| (PlatformCALayerWin::copyFiltersFrom): |
| * platform/graphics/ca/win/PlatformCALayerWin.h: |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: |
| (PlatformCALayerWinInternal::insertSublayer): |
| * platform/graphics/ca/win/PlatformCALayerWinInternal.h: |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Filter / FilterOperation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137644 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for Filter / FilterOperation subclasses. |
| |
| No new tests, no behavior change. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::valueForFilter): |
| * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: |
| (PlatformCAFilters::filterValueForOperation): |
| (PlatformCAFilters::colorMatrixValueForFilter): |
| * platform/graphics/filters/Filter.h: |
| * platform/graphics/filters/FilterOperation.cpp: |
| (WebCore::DefaultFilterOperation::operator==): |
| (WebCore::ReferenceFilterOperation::operator==): |
| (WebCore::BasicColorMatrixFilterOperation::blend): |
| (WebCore::BasicColorMatrixFilterOperation::operator==): |
| (WebCore::BasicComponentTransferFilterOperation::blend): |
| (WebCore::BasicComponentTransferFilterOperation::operator==): |
| (WebCore::BlurFilterOperation::operator==): |
| (WebCore::BlurFilterOperation::blend): |
| (WebCore::DropShadowFilterOperation::operator==): |
| (WebCore::DropShadowFilterOperation::blend): |
| * platform/graphics/filters/FilterOperation.h: |
| * platform/graphics/filters/FilterOperations.cpp: |
| (WebCore::FilterOperations::outsets): |
| * rendering/FilterEffectRenderer.cpp: |
| (WebCore::FilterEffectRenderer::build): |
| * rendering/RenderLayerFilterInfo.cpp: |
| (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): |
| * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: |
| (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): |
| * svg/graphics/filters/SVGFilter.h: |
| (isType): |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Table render objects |
| https://bugs.webkit.org/show_bug.cgi?id=137641 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for table-related render objects and clean |
| up the surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::tableElement): |
| (WebCore::AccessibilityTable::isDataTable): |
| (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): |
| (WebCore::AccessibilityTable::addChildren): |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::parentTable): |
| (WebCore::AccessibilityTableCell::rowIndexRange): |
| (WebCore::AccessibilityTableCell::columnIndexRange): |
| (WebCore::AccessibilityTableCell::titleUIElement): |
| * accessibility/AccessibilityTableColumn.cpp: |
| (WebCore::AccessibilityTableColumn::headerObject): |
| * editing/DeleteSelectionCommand.cpp: |
| (WebCore::DeleteSelectionCommand::removeNode): |
| * editing/TextIterator.cpp: |
| (WebCore::shouldEmitTabBeforeNode): |
| (WebCore::shouldEmitNewlinesBeforeAndAfterNode): |
| * html/HTMLTableCellElement.cpp: |
| (WebCore::HTMLTableCellElement::parseAttribute): |
| (WebCore::HTMLTableCellElement::cellAbove): |
| * html/HTMLTableColElement.cpp: |
| (WebCore::HTMLTableColElement::parseAttribute): |
| * mathml/MathMLElement.cpp: |
| (WebCore::MathMLElement::parseAttribute): |
| * rendering/AutoTableLayout.cpp: |
| (WebCore::AutoTableLayout::recalcColumn): |
| (WebCore::shouldScaleColumns): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computePercentageLogicalHeight): |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::addChild): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::addChild): |
| (WebCore::RenderTable::layout): |
| (WebCore::RenderTable::firstColumn): |
| (WebCore::RenderTable::recalcSections): |
| (WebCore::RenderTable::sectionAbove): |
| (WebCore::RenderTable::sectionBelow): |
| (WebCore::RenderTable::bottomSection): |
| * rendering/RenderTable.h: |
| * rendering/RenderTableCaption.cpp: |
| (WebCore::RenderTableCaption::table): |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::nextCell): |
| (WebCore::RenderTableCell::previousCell): |
| (WebCore::RenderTableRow::firstCell): |
| (WebCore::RenderTableRow::lastCell): |
| * rendering/RenderTableCol.cpp: |
| (WebCore::RenderTableCol::table): |
| (WebCore::RenderTableCol::enclosingColumnGroup): |
| (WebCore::RenderTableCol::nextColumn): |
| * rendering/RenderTableCol.h: |
| Make updateFromElement() public to allow the callers to use tighter |
| typing and devitualize the call as the class is final. |
| |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::addChild): |
| * rendering/RenderTableRow.h: |
| (WebCore::RenderTableSection::firstRow): |
| (WebCore::RenderTableSection::lastRow): |
| (WebCore::RenderTableRow::nextRow): |
| (WebCore::RenderTableRow::previousRow): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::addChild): |
| (WebCore::RenderTableSection::layoutRows): |
| (WebCore::RenderTableSection::paintCell): |
| * rendering/RenderTableSection.h: |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::writeTextRun): |
| (WebCore::writeSimpleLine): |
| |
| 2014-10-08 Jer Noble <jer.noble@apple.com> |
| |
| MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC |
| https://bugs.webkit.org/show_bug.cgi?id=137533 |
| |
| Reviewed by Darin Adler. |
| |
| When a new AVAsset is returned out of the AVStreamDataParser, notify the HTMLMediaElement that |
| characteristics of the player may have changed. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::characteristicsChanged): |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset): |
| |
| 2014-10-13 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Stop listening for wireless playback target availability when the default controls are hidden. |
| https://bugs.webkit.org/show_bug.cgi?id=137633 |
| |
| Reviewed by Dean Jackson. |
| |
| In order to minimize the excess bandwidth and power consumption required for actively listening |
| for wireless playback target availablity, unregister for those notifications while the controls |
| are hidden due to playback, or when the element's document is hidden. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.createBase): Register for document visiblity change notfications. |
| (ControllerIOS.prototype.setControlsType): Call updateShouldListenForPlaybackTargetAvailabilityEvent() |
| instead of setShouldListenForPlaybackTargetAvailabilityEvent() |
| (ControllerIOS.prototype.hideControls): Ditto. |
| (ControllerIOS.prototype.showControls): Ditto. |
| (ControllerIOS.prototype.updateStatusDisplay): Ditto. |
| (ControllerIOS.prototype.handleVisibilityChange): Ditto. |
| (ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent): Added. Only listen |
| for target availability when the video has no errors, is not in the initial "big play button" |
| controls state, and when the controls are not hidden. |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Explicitly set the discoveryMode to "disabled" |
| rather than waiting for the autoreleasepool to destroy our routing controller. |
| |
| 2014-10-13 Simon Fraser <simon.fraser@apple.com> |
| |
| iOS DRT snapshots are limited to the page visible area |
| https://bugs.webkit.org/show_bug.cgi?id=137650 |
| |
| Reviewed by Daniel Bates. |
| |
| LegacyTileCache drawing was limited to the window's visible area, found by |
| crawling up the layer hierarchy to the root layer. This caused test snapshots to |
| be missing non-composited content outside the iPhone visible area, which hinders |
| testing. |
| |
| Fix by adding a test-only mode where the window visible area is the entire window. |
| |
| * platform/ios/wak/WAKWindow.h: |
| * platform/ios/wak/WAKWindow.mm: |
| (-[WAKWindow setEntireWindowVisibleForTesting:]): |
| (-[WAKWindow _visibleRectRespectingMasksToBounds:]): |
| |
| 2014-10-13 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Make RenderNamedFlowFragment::computeStyleInRegion const |
| https://bugs.webkit.org/show_bug.cgi?id=137604 |
| |
| Reviewed by Andrei Bucur. |
| |
| The method computeStyleInRegion should be const as it does not modify |
| the state of the RenderNamedFlowFragment instance. Make pointers to |
| the region used for styling const along the way. No new tests as no |
| change in functionality. |
| |
| * css/ElementRuleCollector.h: |
| (WebCore::ElementRuleCollector::ElementRuleCollector): |
| (WebCore::ElementRuleCollector::setRegionForStyling): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::State::initForStyleResolve): |
| (WebCore::StyleResolver::styleForElement): |
| * css/StyleResolver.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::computeStyleInRegion): |
| * rendering/RenderNamedFlowFragment.h: |
| |
| 2014-09-30 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Pass the valid set of tracks to grow beyond growth limits |
| https://bugs.webkit.org/show_bug.cgi?id=137253 |
| |
| Reviewed by Darin Adler. |
| |
| Section 10.4 of the specs describe how to resolve content based |
| track sizing functions. Among others it describes the "distribute |
| extra space" algorithm. The 3rd bullet of that algorithm specifies |
| how to distribute (and also the target tracks) the extra space |
| once all the tracks have reached their growth limits. |
| |
| Our implementation had 2 problems. First we were not passing a |
| valid subset of tracks (instead we were always using all of |
| them). Now we use a function that filters the right tracks to be |
| the target of the extra space distribution depending on whether |
| we're computing the min track function or the max track function. |
| |
| Secondly the algorithm that was distributing the extra space was |
| not using that list of passed in tracks (it iterated over all of |
| them). From now on it will use the set of tracks selected using |
| the filter function described above. |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): |
| (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems): |
| (WebCore::RenderGrid::distributeSpaceToTracks): |
| * rendering/RenderGrid.h: |
| * rendering/style/GridTrackSize.h: |
| (WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth): |
| (WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth): |
| |
| 2014-10-12 Mike West <mkwst@chromium.org> |
| |
| Referrer Policy: Update <meta name="referrer"> values to match the spec |
| https://bugs.webkit.org/show_bug.cgi?id=137635 |
| |
| Reviewed by Jochen Eisinger. |
| |
| The Referrer Policy specification ([Working Draft][WD], [Editor's |
| draft[ED]) defines different keywords than we originally |
| implemented. We should support them in the interests of clarity and |
| interoperability with other browsers implementing the specification. |
| |
| [WD]: http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta |
| [ED]: http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta |
| |
| This patch is a port of Blink's https://codereview.chromium.org/607433002/ |
| |
| Tests: http/tests/security/referrer-policy-conflicting-policies.html |
| http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html |
| http/tests/security/referrer-policy-https-no-referrer.html |
| http/tests/security/referrer-policy-https-unsafe-url.html |
| http/tests/security/referrer-policy-no-referrer-when-downgrade.html |
| http/tests/security/referrer-policy-no-referrer.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::processReferrerPolicy): |
| |
| 2014-10-12 Dhi Aurrahman <diorahman@rockybars.com> |
| |
| Support activation behavior of link element |
| https://bugs.webkit.org/show_bug.cgi?id=137597 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Support activation behavior of link elements as defined in [1], |
| i.e. to follow the hyperlink created by the link element when it is fully active. |
| |
| [1] https://html.spec.whatwg.org/multipage/semantics.html#the-link-element |
| |
| Tests: fast/dom/html-link-element-activation-behavior-on-element-click.html |
| fast/dom/html-link-element-activation-behavior-on-mouse-click.html |
| fast/dom/html-link-element-activation-behavior-url-is-null.html |
| |
| * dom/MouseEvent.cpp: |
| (WebCore::MouseEvent::triggerActivationBehavior): |
| * dom/MouseEvent.h: |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::defaultEventHandler): |
| (WebCore::isLinkClick): Deleted. |
| * html/HTMLAnchorElement.h: |
| * html/HTMLLinkElement.cpp: |
| (WebCore::HTMLLinkElement::defaultEventHandler): |
| (WebCore::HTMLLinkElement::handleClick): |
| * html/HTMLLinkElement.h: |
| * svg/SVGAElement.cpp: |
| (WebCore::SVGAElement::defaultEventHandler): |
| |
| 2014-10-11 KwangHyuk Kim <hyuki.kim@samsung.com> |
| |
| [EFL] Enable WebP support. |
| https://bugs.webkit.org/show_bug.cgi?id=136156 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Add WebP library and inlcude path to WebCore path for WK2 Efl. |
| No new tests since existing feature is just enabled for WK2 Efl. |
| |
| * PlatformEfl.cmake: |
| |
| 2014-10-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource |
| https://bugs.webkit.org/show_bug.cgi?id=137485 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Use GThreadSafeMainLoopSource for GStreamer sources, since they |
| can be used from different threads. Also update GMutexLocker |
| usages, since it's now a template. |
| |
| * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: |
| (WebCore::AudioFileReader::createBus): |
| * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: |
| (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): |
| (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): |
| (WebCore::MediaPlayerPrivateGStreamerBase::paint): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: |
| * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: |
| * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: |
| (webkitVideoSinkTimeoutCallback): |
| (webkitVideoSinkRender): |
| (unlockBufferMutex): |
| (webkitVideoSinkUnlockStop): |
| (webkitVideoSinkStart): |
| * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (webKitWebSrcGetProperty): |
| (webKitWebSrcStop): |
| (webKitWebSrcStart): |
| (webKitWebSrcChangeState): |
| (webKitWebSrcQueryWithParent): |
| (webKitWebSrcGetUri): |
| (webKitWebSrcSetUri): |
| (webKitWebSrcNeedDataMainCb): |
| (webKitWebSrcNeedDataCb): |
| (webKitWebSrcEnoughDataMainCb): |
| (webKitWebSrcEnoughDataCb): |
| (webKitWebSrcSeekDataCb): |
| (webKitWebSrcSetMediaPlayer): |
| (StreamingClient::createReadBuffer): |
| (StreamingClient::handleResponseReceived): |
| (StreamingClient::handleDataReceived): |
| (StreamingClient::handleNotifyFinished): |
| (ResourceHandleStreamingClient::wasBlocked): |
| (ResourceHandleStreamingClient::cannotShowURL): |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Image subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137625 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for Image subclasses. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::remoteSVGRootElement): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::imageSizeForRenderer): |
| (WebCore::CachedImage::createImage): |
| * platform/graphics/BitmapImage.h: |
| * platform/graphics/Image.h: |
| * platform/mac/DragImageMac.mm: |
| (WebCore::createDragImageFromImage): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::embeddedContentBox): |
| * svg/graphics/SVGImage.h: |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderElement |
| https://bugs.webkit.org/show_bug.cgi?id=137622 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Use is<>() / downcast<>() for RenderElement and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityImageMapLink.cpp: |
| (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::computeRenderStyleForProperty): |
| * dom/Node.cpp: |
| (WebCore::Node::materializeRareData): |
| * dom/Position.cpp: |
| (WebCore::isNonTextLeafChild): |
| (WebCore::searchAheadForBetterMatch): |
| * dom/PseudoElement.cpp: |
| (WebCore::PseudoElement::didRecalcStyle): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): |
| * editing/htmlediting.cpp: |
| (WebCore::isEmptyTableCell): |
| * rendering/InlineIterator.h: |
| (WebCore::bidiNextShared): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::getFirstLetter): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::layout): |
| * rendering/RenderCounter.cpp: |
| (WebCore::RenderCounter::rendererRemovedFromTree): |
| (WebCore::RenderCounter::rendererSubtreeAttached): |
| (showCounterRendererTree): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::insertChildInternal): |
| (WebCore::RenderElement::removeChildInternal): |
| (WebCore::RenderElement::findNextLayer): |
| (WebCore::RenderElement::layout): |
| * rendering/RenderElement.h: |
| (WebCore::RenderObject::isRenderLayerModelObject): |
| (WebCore::RenderObject::isBoxModelObject): |
| (WebCore::RenderObject::isRenderBlock): |
| (WebCore::RenderObject::isRenderBlockFlow): |
| (WebCore::RenderObject::isRenderReplaced): |
| (WebCore::RenderObject::isRenderInline): |
| (WebCore::RenderObject::style): |
| (WebCore::RenderObject::firstLineStyle): |
| (WebCore::ContainerNode::renderer): |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::paint): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion): |
| (WebCore::RenderNamedFlowFragment::setObjectStyleInRegion): |
| (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::clearNeedsLayout): |
| (WebCore::RenderObject::willBeDestroyed): |
| (WebCore::RenderObject::collectAnnotatedRegions): |
| * rendering/RenderVTTCue.cpp: |
| (WebCore::RenderVTTCue::initializeLayoutParameters): |
| (WebCore::RenderVTTCue::repositionGenericCue): |
| * rendering/mathml/RenderMathMLFraction.cpp: |
| (WebCore::RenderMathMLFraction::addChild): |
| * rendering/mathml/RenderMathMLMenclose.cpp: |
| (WebCore::RenderMathMLMenclose::addChild): |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::rebuildTokenContent): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRoot::addChild): |
| (WebCore::RenderMathMLRoot::layout): |
| * rendering/mathml/RenderMathMLToken.cpp: |
| (WebCore::RenderMathMLToken::addChild): |
| (WebCore::RenderMathMLToken::updateTokenContent): |
| (WebCore::RenderMathMLToken::updateStyle): |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::layout): |
| * rendering/svg/RenderSVGResource.cpp: |
| (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::findPreviousAndNextAttributes): |
| (WebCore::RenderSVGText::subtreeStyleDidChange): |
| (WebCore::updateFontInAllDescendants): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::layoutChildren): |
| * rendering/svg/SVGResourcesCache.cpp: |
| (WebCore::SVGResourcesCache::clientWasAddedToTree): |
| (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree): |
| * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: |
| (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer): |
| (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree): |
| (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer): |
| * rendering/svg/SVGTextLayoutAttributesBuilder.h: |
| * rendering/svg/SVGTextMetricsBuilder.cpp: |
| (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): |
| (WebCore::SVGTextMetricsBuilder::measureTextRenderer): |
| (WebCore::SVGTextMetricsBuilder::walkTree): |
| (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes): |
| * rendering/svg/SVGTextMetricsBuilder.h: |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator): |
| (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): |
| (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): |
| * svg/SVGFontData.cpp: |
| (WebCore::SVGFontData::applySVGGlyphSelection): |
| |
| 2014-10-10 Benjamin Poulain <benjamin@webkit.org> |
| |
| Update :nth-child(An+B of selector-list) to the latest specification |
| https://bugs.webkit.org/show_bug.cgi?id=137593 |
| |
| Reviewed by Andreas Kling. |
| |
| Following my implementation feedback on :nth-child(An+B of selector-list), |
| the CSS WG decided to change the definition such that the current element on which |
| the selector is matched must also match the selector list in :nth-child(). |
| |
| This patch updates the implementation accordingly. |
| |
| Test: fast/selectors/nth-child-of-chained-3.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::matchSelectorList): |
| * css/SelectorChecker.h: |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf): |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Drop RENDER_OBJECT_TYPE_CASTS() for a lot of RenderObject subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137594 |
| |
| Reviewed by Darin Adler. |
| |
| Drop RENDER_OBJECT_TYPE_CASTS() for RenderObject subclasses that no |
| longer needed it or that required very few changes to do so. This will |
| make sure developers start using is<>() / downcast<>() for those |
| classes. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::textUnderElement): |
| (WebCore::AccessibilityRenderObject::stringValue): |
| (WebCore::AccessibilityRenderObject::titleUIElement): |
| * dom/PseudoElement.cpp: |
| (WebCore::PseudoElement::didAttachRenderers): |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::reset): |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::defaultEventHandler): |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::updateSnapshot): |
| (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): |
| * html/SearchInputType.cpp: |
| (WebCore::SearchInputType::addSearchResult): |
| (WebCore::SearchInputType::didSetValueByUserEdit): |
| * html/shadow/TextControlInnerElements.cpp: |
| (WebCore::TextControlInnerTextElement::renderer): |
| (WebCore::TextControlInnerTextElement::customStyleForRenderer): |
| (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::isInChildFrameWithFrameFlattening): |
| * rendering/RenderButton.h: |
| * rendering/RenderCounter.h: |
| * rendering/RenderDetailsMarker.h: |
| * rendering/RenderFieldset.h: |
| * rendering/RenderFileUploadControl.cpp: |
| (WebCore::RenderFileUploadControl::paintObject): |
| * rendering/RenderFileUploadControl.h: |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderFullScreen.h: |
| * rendering/RenderGrid.h: |
| * rendering/RenderHTMLCanvas.h: |
| * rendering/RenderIFrame.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::contentsBox): |
| * rendering/RenderMedia.h: |
| * rendering/RenderQuote.cpp: |
| (WebCore::RenderQuote::attachQuote): |
| * rendering/RenderQuote.h: |
| * rendering/RenderReplaced.h: |
| * rendering/RenderScrollbarPart.h: |
| * rendering/RenderSearchField.h: |
| * rendering/RenderSnapshottedPlugIn.h: |
| * rendering/RenderTableCaption.h: |
| * rendering/RenderTextControlMultiLine.h: |
| * rendering/RenderTextControlSingleLine.h: |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::RenderTreeAsText::writeRenderObject): |
| * rendering/RenderVideo.cpp: |
| (WebCore::rendererPlaceholder): |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::updateCounterIfNeeded): |
| * rendering/svg/RenderSVGContainer.h: |
| * rendering/svg/RenderSVGGradientStop.h: |
| * rendering/svg/RenderSVGModelObject.h: |
| * rendering/svg/RenderSVGPath.h: |
| * rendering/svg/RenderSVGResourceFilter.h: |
| * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: |
| (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange): |
| * rendering/svg/RenderSVGTextPath.h: |
| * rendering/svg/RenderSVGTransformableContainer.h: |
| * rendering/svg/RenderSVGViewportContainer.h: |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow): |
| (WebCore::SVGRenderSupport::checkForSVGRepaintDuringLayout): |
| (WebCore::updateObjectBoundingBox): |
| (WebCore::layoutSizeOfNearestViewportChanged): |
| (WebCore::SVGRenderSupport::transformToRootChanged): |
| (WebCore::SVGRenderSupport::rendererHasSVGShadow): |
| (WebCore::SVGRenderSupport::setRendererHasSVGShadow): |
| * rendering/svg/SVGTextLayoutEngine.cpp: |
| (WebCore::SVGTextLayoutEngine::beginTextPathLayout): |
| * svg/SVGPathElement.cpp: |
| (WebCore::SVGPathElement::svgAttributeChanged): |
| (WebCore::SVGPathElement::pathSegListChanged): |
| (WebCore::SVGPathElement::getBBox): |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::currentViewportSize): |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for GraphicsLayer subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137595 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for GraphicsLayer subclasses and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * page/mac/ServicesOverlayController.mm: |
| (WebCore::ServicesOverlayController::Highlight::Highlight): |
| (WebCore::ServicesOverlayController::Highlight::fadeIn): |
| (WebCore::ServicesOverlayController::Highlight::fadeOut): |
| * platform/graphics/GraphicsLayer.h: |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::removeFromParent): |
| (WebCore::GraphicsLayerCA::setMaskLayer): |
| (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush): |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): |
| (WebCore::GraphicsLayerCA::updateSublayerList): |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): |
| (WebCore::GraphicsLayerCA::updateMaskLayer): |
| (WebCore::GraphicsLayerCA::replicatedLayerRoot): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): |
| (WebCore::GraphicsLayerCA::fetchCloneLayers): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBoxModelObject |
| https://bugs.webkit.org/show_bug.cgi?id=137587 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for RenderBoxModelObject and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::createFromRenderer): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::renderBoxModelObject): |
| (WebCore::isInlineWithContinuation): |
| (WebCore::firstChildConsideringContinuation): |
| (WebCore::lastChildHasContinuation): |
| (WebCore::AccessibilityRenderObject::nextSibling): |
| (WebCore::AccessibilityRenderObject::widget): |
| (WebCore::AccessibilityRenderObject::renderObjectIsObservable): |
| (WebCore::AccessibilityRenderObject::observableObject): |
| (WebCore::msaaRoleForRenderer): |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/AccessibilityTable.cpp: |
| (WebCore::AccessibilityTable::isDataTable): |
| * dom/Node.cpp: |
| (WebCore::Node::renderBox): |
| (WebCore::Node::renderBoxModelObject): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForElementInfo): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollContentsFastPath): |
| * page/PrintContext.cpp: |
| (WebCore::enclosingBoxModelObject): |
| * page/animation/AnimationBase.cpp: |
| (WebCore::AnimationBase::freezeAtTime): |
| * page/animation/ImplicitAnimation.cpp: |
| (WebCore::ImplicitAnimation::startAnimation): |
| (WebCore::ImplicitAnimation::pauseAnimation): |
| (WebCore::ImplicitAnimation::endAnimation): |
| * page/animation/KeyframeAnimation.cpp: |
| (WebCore::KeyframeAnimation::startAnimation): |
| (WebCore::KeyframeAnimation::pauseAnimation): |
| (WebCore::KeyframeAnimation::endAnimation): |
| * page/ios/FrameIOS.mm: |
| (WebCore::Frame::overflowScrollPositionChangedForNode): |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects): |
| * rendering/InlineBox.h: |
| (WebCore::InlineBox::boxModelObject): |
| * rendering/InlineElementBox.h: |
| (WebCore::InlineElementBox::renderer): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::placeBoxesInBlockDirection): |
| * rendering/InlineFlowBox.h: |
| (WebCore::InlineFlowBox::renderer): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::baselinePosition): |
| (WebCore::InlineTextBox::lineHeight): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::addChildToContinuation): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computeReplacedLogicalWidthUsing): |
| (WebCore::RenderBox::computeReplacedLogicalHeightUsing): |
| (WebCore::RenderBox::computePositionedLogicalWidth): |
| (WebCore::RenderBox::computePositionedLogicalHeight): |
| (WebCore::RenderBox::computePositionedLogicalWidthReplaced): |
| (WebCore::RenderBox::computePositionedLogicalHeightReplaced): |
| * rendering/RenderBoxModelObject.h: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::splitInlines): |
| (WebCore::RenderInline::addChildToContinuation): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateLayerPosition): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): |
| (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::destroy): |
| (WebCore::RenderObject::offsetParent): |
| * rendering/mathml/RenderMathMLScripts.cpp: |
| (WebCore::RenderMathMLScripts::base): |
| |
| 2014-10-10 Zan Dobersek <zdobersek@igalia.com> |
| |
| Remove CrossThreadTask |
| https://bugs.webkit.org/show_bug.cgi?id=137570 |
| |
| Reviewed by Darin Adler. |
| |
| Replace uses of CrossThreadTask with C++11 lambdas. The initializations |
| of cross-thread copies are rather verbose at the moment, but should look |
| better once we can switch to using C++14 init capture for lambdas. |
| |
| * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize): |
| * WebCore.order: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/CrossThreadTask.h: Removed. |
| * loader/WorkerThreadableLoader.cpp: |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge): Deleted. |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Deleted. |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy): Deleted. |
| (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel): Deleted. |
| (WebCore::workerGlobalScopeDidSendData): Deleted. |
| (WebCore::workerGlobalScopeDidReceiveResponse): Deleted. |
| (WebCore::workerGlobalScopeDidReceiveData): Deleted. |
| (WebCore::workerGlobalScopeDidFinishLoading): Deleted. |
| (WebCore::workerGlobalScopeDidFail): Deleted. |
| (WebCore::workerGlobalScopeDidFailAccessControlCheck): Deleted. |
| (WebCore::workerGlobalScopeDidFailRedirectCheck): Deleted. |
| * loader/WorkerThreadableLoader.h: |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::removeRequestFromCache): |
| (WebCore::MemoryCache::removeRequestFromSessionCaches): |
| (WebCore::MemoryCache::removeRequestFromCacheImpl): Deleted. |
| (WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Deleted. |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Deleted. |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Deleted. |
| * loader/cache/MemoryCache.h: |
| |
| 2014-10-10 Zan Dobersek <zdobersek@igalia.com> |
| |
| Avoid defaulting to capture-by-value for C++11 lambdas in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=137565 |
| |
| Reviewed by Darin Adler. |
| |
| C++11 lambas should avoid defaulting to capturing used variables by value as that |
| can lead to unintended captures that, in worst cases, result in lambdas that are |
| not self-contained and end up operating on dangling pointers. |
| |
| Explicitly stating the variables that are to be copied by value can also serve as |
| a checklist of variables that are actually intented for use in the lambda body. |
| |
| * Modules/quota/StorageErrorCallback.cpp: |
| (WebCore::StorageErrorCallback::CallbackTask::CallbackTask): |
| * Modules/webdatabase/Database.cpp: |
| (WebCore::Database::~Database): |
| (WebCore::Database::runTransaction): |
| (WebCore::Database::scheduleTransactionCallback): |
| * Modules/webdatabase/DatabaseManager.cpp: |
| (WebCore::DatabaseManager::openDatabase): |
| * Modules/webdatabase/SQLCallbackWrapper.h: |
| (WebCore::SQLCallbackWrapper::clear): |
| * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError): |
| (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): |
| * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::send): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): |
| (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::close): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend): |
| (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume): |
| * bindings/js/JSCallbackData.h: |
| (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask): |
| * bindings/js/JSDOMGlobalObjectTask.cpp: |
| (WebCore::JSGlobalObjectTask::JSGlobalObjectTask): |
| * dom/ScriptExecutionContext.h: |
| (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask): |
| * dom/StringCallback.cpp: |
| (WebCore::StringCallback::scheduleCallback): |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::abort): |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::postListenerTask): |
| * workers/DefaultSharedWorkerRepository.cpp: |
| (WebCore::SharedWorkerProxy::postExceptionToWorkerObject): |
| (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): |
| (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask): |
| * workers/WorkerEventQueue.cpp: |
| (WebCore::WorkerEventQueue::enqueueEvent): |
| * workers/WorkerMessagingProxy.cpp: |
| (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): |
| (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope): |
| (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): |
| (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): |
| (WebCore::WorkerMessagingProxy::notifyNetworkStateChange): |
| (WebCore::WorkerMessagingProxy::postMessageToPageInspector): |
| (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject): |
| (WebCore::WorkerMessagingProxy::reportPendingActivity): |
| |
| 2014-10-10 Zan Dobersek <zdobersek@igalia.com> |
| |
| Remove MainThreadTask |
| https://bugs.webkit.org/show_bug.cgi?id=137563 |
| |
| Reviewed by Darin Adler. |
| |
| Replace the remaining uses of MainThreadTask with C++11 lambdas. |
| Remove the MainThreadTask header from the build. |
| |
| * WebCore.order: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/MainThreadTask.h: Removed. |
| * platform/network/curl/CurlDownload.cpp: |
| (WebCore::CurlDownloadManager::downloadThread): |
| (WebCore::CurlDownload::didReceiveHeader): |
| (WebCore::CurlDownload::didReceiveData): |
| |
| 2014-10-10 Andrzej Badowski <a.badowski@samsung.com> |
| |
| [ATK] Changing the mapping of ARIA rowheader and columnheader into respective ATK roles. |
| https://bugs.webkit.org/show_bug.cgi?id=136150 |
| |
| Reviewed by Chris Fleizach. |
| |
| Expose ColumnHeaderRole and RowHeaderRole objects into ATK. |
| |
| Test: accessibility/table-roles-hierarchy.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::determineAccessibilityRole): |
| Platforms based on ATK: added distinction of roles for the <th> elements. |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::determineAccessibilityRole): |
| Platforms based on ATK: the return value is determined in the ancestor. |
| * accessibility/atk/AccessibilityObjectAtk.cpp: |
| (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): |
| In addition to CellRole also included ColumnHeaderRole and RowHeaderRole. |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (atkRole): |
| Changing the mapping of ARIA rowheader and columnheader into respective ATK roles. |
| (getInterfaceMaskFromObject): |
| In addition to CellRole also included ColumnHeaderRole and RowHeaderRole. |
| |
| 2014-10-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| MediaPlayer should use a reference for the MediaPlayerClient |
| https://bugs.webkit.org/show_bug.cgi?id=137552 |
| |
| Reviewed by Darin Adler. |
| |
| The MediaPlayer client is set on constructor by HTMLMediaElement |
| and cleared on HTMLMediaElement destructor that also frees the |
| MediaPlayer object. Since the client will never be null while the |
| MediaPlayer player is alive, we can use a reference and remove all |
| the unneeded null checks. The member has also been renamed to m_client. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::~HTMLMediaElement): |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::MediaPlayer): |
| (WebCore::MediaPlayer::~MediaPlayer): |
| (WebCore::MediaPlayer::loadWithNextMediaEngine): |
| (WebCore::MediaPlayer::inMediaDocument): |
| (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged): |
| (WebCore::MediaPlayer::networkStateChanged): |
| (WebCore::MediaPlayer::readyStateChanged): |
| (WebCore::MediaPlayer::volumeChanged): |
| (WebCore::MediaPlayer::muteChanged): |
| (WebCore::MediaPlayer::timeChanged): |
| (WebCore::MediaPlayer::sizeChanged): |
| (WebCore::MediaPlayer::repaint): |
| (WebCore::MediaPlayer::durationChanged): |
| (WebCore::MediaPlayer::rateChanged): |
| (WebCore::MediaPlayer::playbackStateChanged): |
| (WebCore::MediaPlayer::firstVideoFrameAvailable): |
| (WebCore::MediaPlayer::characteristicChanged): |
| (WebCore::MediaPlayer::keyAdded): |
| (WebCore::MediaPlayer::keyError): |
| (WebCore::MediaPlayer::keyMessage): |
| (WebCore::MediaPlayer::keyNeeded): |
| (WebCore::MediaPlayer::referrer): |
| (WebCore::MediaPlayer::userAgent): |
| (WebCore::MediaPlayer::graphicsDeviceAdapter): |
| (WebCore::MediaPlayer::cachedResourceLoader): |
| (WebCore::MediaPlayer::addAudioTrack): |
| (WebCore::MediaPlayer::removeAudioTrack): |
| (WebCore::MediaPlayer::addTextTrack): |
| (WebCore::MediaPlayer::removeTextTrack): |
| (WebCore::MediaPlayer::addVideoTrack): |
| (WebCore::MediaPlayer::removeVideoTrack): |
| (WebCore::MediaPlayer::outOfBandTrackSources): |
| (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge): |
| (WebCore::MediaPlayer::handlePlaybackCommand): |
| (WebCore::MediaPlayer::sourceApplicationIdentifier): |
| (WebCore::MediaPlayer::doesHaveAttribute): |
| (WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName): |
| (WebCore::MediaPlayer::getRawCookies): |
| (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted. |
| (WebCore::MediaPlayer::audioSourceProvider): Deleted. |
| (WebCore::MediaPlayer::engineDescription): Deleted. |
| (WebCore::MediaPlayer::notifyTrackModeChanged): Deleted. |
| (WebCore::MediaPlayer::totalFrameDelay): Deleted. |
| (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayer::create): |
| (WebCore::MediaPlayer::platformVolumeConfigurationRequired): |
| (WebCore::MediaPlayer::client): |
| (WebCore::MediaPlayer::mediaPlayerClient): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode): |
| (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering): |
| (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): |
| (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): |
| (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): |
| (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): |
| (WebCore::MediaPlayerPrivateGStreamer::didEnd): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: |
| (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (webKitWebSrcStart): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode): |
| (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering): |
| (WebCore::MediaPlayerPrivateQTKit::prepareForRendering): |
| (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks): |
| |
| 2014-10-09 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Make RenderFlowThread::regionAtBlockOffset const |
| https://bugs.webkit.org/show_bug.cgi?id=137555 |
| |
| Reviewed by David Hyatt. |
| |
| Make the method const and remove autoGenerateRegionsToBlockOffset method as it |
| is not used by region-based multicolumn code. Also removed the RegionAutoGenerationPolicy |
| parameter in the process and the call sites. Make const some of the methods that call |
| regionAtBlockOffset. |
| |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::regionForCompositedLayer): |
| (WebCore::RenderFlowThread::regionAtBlockOffset): |
| (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): |
| (WebCore::RenderFlowThread::pageLogicalTopForOffset): |
| (WebCore::RenderFlowThread::pageLogicalWidthForOffset): |
| (WebCore::RenderFlowThread::pageLogicalHeightForOffset): |
| (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset): |
| (WebCore::RenderFlowThread::mapFromFlowToRegion): |
| (WebCore::RenderFlowThread::computedRegionRangeForBox): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset): |
| (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion): |
| (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion): |
| (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset): Deleted. |
| * rendering/RenderMultiColumnFlowThread.h: |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for FontData subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137591 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for FontData subclasses. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/FontData.h: |
| * platform/graphics/FontGlyphs.cpp: |
| (WebCore::FontGlyphs::releaseFontData): |
| (WebCore::FontGlyphs::determinePitch): |
| * platform/graphics/GlyphPageTreeNode.cpp: |
| (WebCore::GlyphPageTreeNode::initializePage): |
| * platform/graphics/SegmentedFontData.h: |
| (isType): |
| * platform/graphics/SimpleFontData.h: |
| (isType): |
| |
| 2014-10-09 Simon Fraser <simon.fraser@apple.com> |
| |
| Revert part of r174543 that broke grid layout tests. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::specifiedValueForGridTrackBreadth): |
| |
| 2014-10-09 Dean Jackson <dino@apple.com> |
| |
| Computed style for clip is wrong with respect to auto |
| https://bugs.webkit.org/show_bug.cgi?id=137567 |
| |
| Reviewed by Simon Fraser. |
| |
| Make sure that the computed style of clip returns the |
| correct value when the input is "auto", or in this |
| case "rect(auto, auto, auto, auto)". Before this |
| patch it returned "rect(0px, 0px, 0px, 0px)" which |
| was completely wrong. |
| |
| Test: fast/css/computed-clip-with-auto-rect.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::autoOrZoomAdjustedValue): Helper function to make the correct keyword or length. |
| (WebCore::specifiedValueForGridTrackBreadth): It can use the helper too. |
| (WebCore::ComputedStyleExtractor::propertyValue): If the |
| top/right/bottom/left is "auto", add that identifier |
| to the output rectangle. |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Use RenderObject::firstChildSlow() / lastChildSlow() less |
| https://bugs.webkit.org/show_bug.cgi?id=137573 |
| |
| Reviewed by Andreas Kling. |
| |
| Use RenderObject::firstChildSlow() / lastChildSlow() less by using |
| tighter typing at call sites whenever possible to be able to call the |
| faster RenderElement::firstChild() / lastChild() instead. |
| |
| This patch also uses more references instead of pointers when possible. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::firstChildIsInlineContinuation): |
| (WebCore::AccessibilityRenderObject::previousSibling): |
| (WebCore::lastChildHasContinuation): |
| (WebCore::AccessibilityRenderObject::nextSibling): |
| * page/FrameView.cpp: |
| (WebCore::countRenderedCharactersInRenderObjectWithThreshold): |
| (WebCore::FrameView::renderedCharactersExceed): |
| * rendering/RenderElement.h: |
| * rendering/RenderRuby.cpp: |
| (WebCore::isAnonymousRubyInlineBlock): |
| (WebCore::isRubyBeforeBlock): |
| (WebCore::isRubyAfterBlock): |
| * rendering/svg/RenderSVGInline.h: |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::layout): |
| * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: |
| (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer): |
| (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree): |
| (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements): |
| (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): |
| * rendering/svg/SVGTextLayoutAttributesBuilder.h: |
| * svg/SVGTextPositioningElement.cpp: |
| (WebCore::SVGTextPositioningElement::elementFromRenderer): |
| * svg/SVGTextPositioningElement.h: |
| |
| 2014-10-09 Roger Fong <roger_fong@apple.com> |
| |
| Build fix for Win EWS bots. |
| |
| * testing/Internals.idl: Move enum declaration to the top of the file. |
| |
| 2014-10-09 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing the window. |
| https://bugs.webkit.org/show_bug.cgi?id=137330 |
| |
| Reviewed by Darin Adler. |
| |
| The layout for the <mundercover> math object happens in two separate passes. The first pass runs |
| the layout for the two children and then calculates the maximum child width. It then sets the |
| stretch size for the math operator child. And finally it runs the second layout pass by calling |
| the base class layout() function. The base class function then runs the layout for the children |
| rendering blocks. In the operator child function computePreferredLogicalWidths(), the stretch |
| size is used to adjust the width (or the height) of the operator. Then it adds the leading and |
| trailing spaces and the total will be the operator child width. |
| |
| When resizing or zooming the window, the render objects are just invalidated but marked as 'needs- |
| Layout'. The problem is happening because the stretch size of the math operator is not reset |
| before running the layout. The old logical width (or height) of the the math operator child which |
| is equal to the stretch size plus the leading and trailing spaces for is compared with the glyph |
| size if the old logical width ( or height) is larger, it is set to be the stretch size. When it |
| is used again because of invalidation, new leading and trailing spaces are included in the new |
| logical width. So with every zooming-in or out or window resizing, new leading and trailing |
| spaces are added to the logical width of the math operator child or the math <munderober> object. |
| |
| Ensure the stretch size of the math operator render object is reset before running its layout. |
| Running the layout means either the page is just loaded or it's invalidated which means, no |
| layout stall data should be used. |
| |
| Test: mathml/opentype/munderover-window-resize.html |
| |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::resetStretchSize): |
| * rendering/mathml/RenderMathMLOperator.h: |
| resetStretchSize() sets the stretch size to its original value when the class is created. |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::layout): |
| Make sure the operator stretch size is reset before calling its layout. Also make sure the new |
| maximum stretch size to the operator objects that were invalid and needsLayout. |
| |
| 2014-10-09 Dean Jackson <dino@apple.com> |
| |
| Remove ENABLE_CSS3_CONDITIONAL_RULES |
| https://bugs.webkit.org/show_bug.cgi?id=137571 |
| |
| Reviewed by Simon Fraser. |
| |
| We have good enough support for @supports that |
| it should be a consistent part of the platform. Remove |
| the compile-time guard. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebCore.exp.in: |
| * bindings/js/JSCSSRuleCustom.cpp: |
| (WebCore::toJS): |
| * bindings/objc/DOMCSS.mm: |
| (kitClass): |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::CSSParser): |
| (WebCore::CSSParser::parseSupportsCondition): |
| (WebCore::CSSParser::detectAtToken): |
| (WebCore::CSSParser::detectSupportsToken): |
| (WebCore::CSSParser::realLex): |
| * css/CSSParser.h: |
| * css/CSSRule.h: |
| * css/CSSRule.idl: |
| * css/CSSSupportsRule.cpp: |
| * css/CSSSupportsRule.h: |
| * css/CSSSupportsRule.idl: |
| * css/DOMWindowCSS.cpp: |
| * css/DOMWindowCSS.h: |
| * css/DOMWindowCSS.idl: |
| * css/InspectorCSSOMWrappers.cpp: |
| (WebCore::InspectorCSSOMWrappers::collect): |
| * css/RuleSet.cpp: |
| (WebCore::RuleSet::addChildRules): |
| * css/StyleRule.cpp: |
| (WebCore::StyleRuleBase::destroy): |
| (WebCore::StyleRuleBase::copy): |
| (WebCore::StyleRuleBase::createCSSOMWrapper): |
| (WebCore::StyleRuleSupports::StyleRuleSupports): |
| * css/StyleRule.h: |
| (WebCore::toStyleRuleSupports): |
| * css/StyleSheetContents.cpp: |
| (WebCore::childRulesHaveFailedOrCanceledSubresources): |
| * inspector/InspectorStyleSheet.cpp: |
| (flattenSourceData): |
| (WebCore::asCSSRuleList): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::css): |
| * page/DOMWindow.h: |
| * page/DOMWindow.idl: |
| |
| 2014-10-09 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add the baseline implementation of :not(selectorList) |
| https://bugs.webkit.org/show_bug.cgi?id=137548 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch extend the pseudo class :not() to support the new definition |
| in CSS Selectors level 4. |
| |
| Instead of supporting a single simple selector, :not() now support |
| an arbitrary selector list, excepted pseudo elements. |
| |
| One side effect of this change is :visited and :link are no longer supported |
| inside :not(). The reason has to do with complexity and performance. |
| Since :not() and :matches() can have arbitrary selector list, keeping track of |
| :visited and :link can have many combination superposing, some valid, some invalid. |
| |
| Supporting :visited and :link should be possible by chaning the way we handle |
| them for style resolution, but given the limited use cases for such features |
| I'll wait to see if there is any interest before changing everything. |
| |
| This patch only covers SelectorChecker to keep things simple. The CSS JIT |
| will come later. |
| |
| Tests: fast/css/not-basics.html |
| fast/css/parsing-css-not-1.html |
| fast/css/parsing-css-not-2.html |
| fast/css/parsing-css-not-3.html |
| fast/css/parsing-css-not-4.html |
| fast/css/parsing-css-not-5.html |
| fast/css/parsing-css-not-6.html |
| fast/css/parsing-css-not-7.html |
| fast/css/parsing-css-not-8.html |
| fast/css/parsing-css-not-9.html |
| fast/css/parsing-css-nth-child-of-4.html |
| fast/selectors/not-basics.html |
| fast/selectors/not-nested.html |
| fast/selectors/not-selector-list.html |
| |
| * css/CSSGrammar.y.in: |
| Rename selectorListDoesNotMatchAnyPseudoElement() to selectorListDoesNotMatchAnyPseudoElement() |
| since both :not() and :nth-child(An+B of selectorList) have the same requirements at the moment. |
| |
| * css/CSSParserValues.cpp: |
| (WebCore::selectorListMatchesPseudoElement): |
| The patch adding :matches() introduced the possibility of putting pseudo element |
| arbitrary deep in a sequence of nested :matches(). Since this case is forbidded |
| by :not() and :nth-child(An+B of selectorList), selectorListMatchesPseudoElement() |
| now becomes recursive to find those pseudo elements. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::selectorText): |
| CSSOM for the extended :not(). |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| (WebCore::SelectorChecker::determineLinkMatchType): |
| * cssjit/SelectorCompiler.cpp: |
| |
| (WebCore::SelectorCompiler::addPseudoClassType): |
| Disable the new capabilities from the JIT for now. |
| |
| 2014-10-09 Tim Horton <timothy_horton@apple.com> |
| |
| Move ServicesOverlayController to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=137416 |
| <rdar://problem/18546283> |
| |
| Reviewed by Anders Carlsson. |
| |
| Move ServicesOverlayController from WebKit2 to WebCore, as it can be used by both Legacy WebKit and WebKit2. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * editing/Editor.cpp: |
| (WebCore::Editor::scanSelectionForTelephoneNumbers): |
| * editing/SelectionRectGatherer.cpp: |
| (WebCore::SelectionRectGatherer::Notifier::~Notifier): |
| Notify ServicesOverlayController of changes via Page instead of EditorClient. |
| |
| * page/ChromeClient.h: |
| (WebCore::ChromeClient::handleTelephoneNumberClick): |
| (WebCore::ChromeClient::handleSelectionServiceClick): |
| (WebCore::ChromeClient::hasRelevantSelectionServices): |
| Add ChromeClient functions for services actions. |
| |
| * page/EditorClient.h: |
| (WebCore::EditorClient::selectedTelephoneNumberRangesChanged): Deleted. |
| (WebCore::EditorClient::selectionRectsDidChange): Deleted. |
| Remove EditorClient functions for notifying ServicesOverlayController of changes, |
| because it lives in WebCore proper now. |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| (WebCore::Page::servicesOverlayController): |
| Keep a ServicesOverlayController on Page. |
| |
| * page/PageOverlay.cpp: |
| (WebCore::PageOverlay::mouseEvent): |
| Use windowToContents instead of rootViewToContents; events come in in window coordinates. |
| |
| * page/PageOverlayController.cpp: |
| (WebCore::PageOverlayController::updateSettingsForLayer): |
| Get Settings from MainFrame, not Page. |
| |
| * page/Settings.in: |
| Add servicesControlsEnabled setting. |
| |
| * page/mac/ServicesOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/ServicesOverlayController.h. |
| * page/mac/ServicesOverlayController.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/ServicesOverlayController.mm. |
| Moved from WebKit2. Mostly mechanical changes, plus: |
| - Use windowToContents instead of rootViewToContents; events come in in window coordinates. |
| - Cut off rebuild* if serviceControlsEnabled setting is false |
| - Don't create the overlay if serviceControlsEnabled setting is false |
| - Send click events via ChromeClient. |
| - Tie our lifetime to MainFrame instead of Page, and get lots of things from MainFrame instead. |
| |
| * platform/Logging.h: |
| Add Services logging channel (moved from WebKit2). |
| |
| 2014-10-09 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Unreviewed build fix: Revert r174378 |
| |
| Roll back this change, as it didn't fix the EWS builders, and has only |
| served to make Windows builds take forever. |
| |
| * WebCore.vcxproj/WebCoreGenerated.make: Don't delete all generated content |
| every time we build. |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed GTK build fix after r174504. |
| |
| Missing header include. |
| |
| * rendering/svg/SVGTextQuery.cpp: |
| |
| 2014-10-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Remove second-to-last client of WebFontCache |
| https://bugs.webkit.org/show_bug.cgi?id=137550 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests because no behavior change. |
| |
| * WebCore.exp.in: |
| * platform/graphics/FontCache.h: Allow migration of client to getCachedFontData() |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| [Mac] Spending too much time mapping desired font families to available ones |
| https://bugs.webkit.org/show_bug.cgi?id=137539 |
| |
| Reviewed by Darin Adler. |
| |
| While profiling the load of weather.com, I noticed that we are spending |
| quite a bit of time trying to map the font family requested to a font |
| that is available on the system. The process involves: |
| 1. Doing a linear search of all the installed font families and do a |
| case-insensitive string comparison for each of them until we find a |
| match, |
| 2. Then, if we don't find a match, do another linear search of the |
| fonts' postscript names this time and do again a case-insensitive |
| string comparison for each of them. |
| |
| This process is costly and the fonts requested by weather.com are not |
| available, causing us to do 2 linear searches and a lot of string |
| comparisons (accounting for ~2% of the WebProcess CPU time for the page |
| load). As a result, we end up spending ~90ms in |
| internalFontWithFamily() when loading weather.com. |
| |
| This patch introduces a cache for the mapping between desired font |
| families and available font families. This cuts the time spent in |
| internalFontWithFamily() in half (~45ms). The cache gets invalidated |
| when fonts are installed / uninstalled on the system so we don't break |
| that scenario. The cache is also limited in size to avoid using too |
| much memory. |
| |
| No new tests, but manual testing making sure the cache gets invalidated |
| when installing a font on the system. |
| |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::invalidateFontCache): |
| * platform/mac/WebFontCache.h: |
| * platform/mac/WebFontCache.mm: |
| (desiredFamilyToAvailableFamilyDictionary): |
| (rememberDesiredFamilyToAvailableFamilyMapping): |
| (+[WebFontCache internalFontWithFamily:traits:weight:size:]): |
| (+[WebFontCache invalidate]): |
| |
| 2014-10-09 Bear Travis <betravis@adobe.com> |
| |
| [CSS Font Loading] Decrement the font loading count before notifying callbacks |
| https://bugs.webkit.org/show_bug.cgi?id=137401 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In the callbacks, it should appear that font load has completed. This is |
| accessed through loading(), which relies on the current number of |
| fonts loading via JS and CSS. |
| |
| Unskipping the failing test http/tests/webfont/fontloader-loading-attribute.html |
| test which tests this. |
| |
| * css/FontLoader.cpp: |
| (WebCore::LoadFontCallback::notifyLoaded): |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed Windows build fix after r174506. |
| |
| We no longer needed to dereference as it is a reference instead of a |
| pointer now. |
| |
| * page/win/EventHandlerWin.cpp: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Widget subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137549 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for Widget subclasses and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::getOrCreate): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::appendAccessibilityObject): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::visiblePositionForPoint): |
| * accessibility/AccessibilityScrollView.cpp: |
| (WebCore::AccessibilityScrollView::webAreaObject): |
| (WebCore::AccessibilityScrollView::documentFrameView): |
| (WebCore::AccessibilityScrollView::parentObject): |
| (WebCore::AccessibilityScrollView::parentObjectIfExists): |
| * bindings/js/JSPluginElementFunctions.cpp: |
| (WebCore::pluginScriptObjectFromPluginViewBase): |
| * html/HTMLObjectElement.cpp: |
| (WebCore::HTMLObjectElement::appendFormData): |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::canProcessDrag): |
| (WebCore::HTMLPlugInElement::isKeyboardFocusable): |
| (WebCore::HTMLPlugInElement::isUserObservable): |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): |
| (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): |
| * html/HTMLPlugInImageElement.h: |
| * loader/SubframeLoader.cpp: |
| (WebCore::SubframeLoader::loadPlugin): |
| * page/DragController.cpp: |
| (WebCore::DragController::operationForLoad): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::subframeForTargetNode): |
| (WebCore::EventHandler::handleWheelEvent): |
| * page/EventHandler.h: |
| * page/Frame.cpp: |
| (WebCore::Frame::frameForWidget): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::hasCustomScrollbars): |
| (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): |
| (WebCore::FrameView::convertToContainingView): |
| (WebCore::FrameView::convertFromContainingView): |
| (WebCore::FrameView::removeChild): |
| * page/FrameView.h: |
| * page/Page.cpp: |
| (WebCore::Page::pluginViews): |
| * page/efl/EventHandlerEfl.cpp: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| * page/gtk/EventHandlerGtk.cpp: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| * page/ios/EventHandlerIOS.mm: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| * page/mac/EventHandlerMac.mm: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): |
| * page/win/EventHandlerWin.cpp: |
| (WebCore::EventHandler::passWheelEventToWidget): |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::removeChild): |
| (WebCore::ScrollView::setHasHorizontalScrollbar): |
| (WebCore::ScrollView::setHasVerticalScrollbar): |
| * platform/ScrollView.h: |
| * platform/Scrollbar.cpp: |
| (WebCore::Scrollbar::root): |
| Uninline as root() because Widget::root() returns a FrameView now and |
| it is impossible to include FrameView.h in Scrollbar.h without causing |
| a cycle. |
| |
| * platform/Scrollbar.h: |
| * platform/Widget.cpp: |
| (WebCore::Widget::root): |
| Use tighter typing and return a FrameView instead of a ScrollView. |
| |
| (WebCore::Widget::removeFromParent): |
| * platform/Widget.h: |
| * platform/efl/WidgetEfl.cpp: |
| (WebCore::Widget::setCursor): |
| * platform/gtk/PlatformScreenGtk.cpp: |
| * platform/gtk/WidgetGtk.cpp: |
| (WebCore::Widget::setCursor): |
| * platform/mac/PlatformScreenMac.mm: |
| (WebCore::displayFromWidget): |
| * platform/mac/WidgetMac.mm: |
| (WebCore::Widget::setCursor): |
| * platform/win/WidgetWin.cpp: |
| (WebCore::Widget::setCursor): |
| * plugins/PluginViewBase.h: |
| * plugins/win/PluginViewWin.cpp: |
| (WebCore::PluginView::updatePluginWidget): |
| (WebCore::PluginView::paintIntoTransformedContext): |
| (WebCore::PluginView::paintWindowedPluginIntoContext): |
| (WebCore::PluginView::paint): |
| (WebCore::PluginView::handleMouseEvent): |
| (WebCore::PluginView::setNPWindowRect): |
| (WebCore::PluginView::snapshot): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): |
| (WebCore::RenderEmbeddedObject::nodeAtPoint): |
| (WebCore::RenderEmbeddedObject::scroll): |
| * rendering/RenderFrameBase.h: |
| (WebCore::RenderFrameBase::childView): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::layerWillBeDestroyed): |
| (WebCore::RenderLayerBacking::updateConfiguration): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::write): |
| * rendering/RenderWidget.cpp: |
| (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets): |
| (WebCore::RenderWidget::paintContents): |
| (WebCore::RenderWidget::setOverlapTestResult): |
| (WebCore::RenderWidget::updateWidgetPosition): |
| (WebCore::RenderWidget::nodeAtPoint): |
| (WebCore::RenderWidget::embeddedContentBox): |
| |
| 2014-10-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Layering violation: MediaPlayer should not reference/use FrameView |
| https://bugs.webkit.org/show_bug.cgi?id=21562 |
| |
| Reviewed by Darin Adler. |
| |
| Remove FrameView dependency from MediaPlayer. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaPlayerIsInMediaDocument): Check if |
| the element document is a media document. |
| * html/HTMLMediaElement.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::MediaPlayer): Remove m_frameView initialization. |
| (WebCore::MediaPlayer::inMediaDocument): Use the MediaPlayerClient |
| to check if the media player is in a media document. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerIsInMediaDocument): |
| (WebCore::MediaPlayer::setFrameView): Deleted. |
| (WebCore::MediaPlayer::frameView): Deleted. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode): |
| Do not check if the media player has a frame view, checking whether it's visible |
| is enough. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| Remove unneeded header include. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto. |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Ditto. |
| * rendering/RenderVideo.cpp: |
| (WebCore::RenderVideo::~RenderVideo): Do not call MediaPlayer::setFrameView(). |
| (WebCore::RenderVideo::updatePlayer): Ditto. |
| |
| 2014-10-09 Christophe Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBlockFlow |
| https://bugs.webkit.org/show_bug.cgi?id=137545 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderBlockFlow and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored): |
| * dom/Element.cpp: |
| (WebCore::Element::renderNamedFlowFragment): |
| (WebCore::Element::webkitGetRegionFlowRanges): |
| * editing/Editor.cpp: |
| (WebCore::Editor::hasBidiSelection): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::buildObjectForRegionHighlight): |
| (WebCore::buildObjectForElementInfo): |
| * rendering/EllipsisBox.h: |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::innerTextIfTruncated): |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::removeChild): |
| * rendering/RenderBlock.h: |
| (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): |
| (WebCore::RenderBlockFlow::layoutBlockChild): |
| (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock): |
| (WebCore::RenderBlockFlow::marginValuesForChild): |
| (WebCore::RenderBlockFlow::collapseMargins): |
| (WebCore::RenderBlockFlow::marginBeforeEstimateForChild): |
| (WebCore::RenderBlockFlow::handleAfterSideOfBlock): |
| (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild): |
| (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild): |
| (WebCore::RenderBlockFlow::adjustBlockChildForPagination): |
| (WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo): |
| (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): |
| (WebCore::RenderBlockFlow::adjustForBorderFit): |
| (WebCore::getHeightForLineCount): |
| * rendering/RenderBlockFlow.h: |
| (WebCore::RenderElement::isRenderNamedFlowFragmentContainer): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::createLineBoxes): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::styleDidChange): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintMaskForTextFillBox): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): |
| (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::removeFlowChildInfo): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateLayerPositions): |
| (WebCore::expandClipRectForRegionAndReflection): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
| (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): |
| * rendering/RenderMultiColumnFlowThread.cpp: |
| (WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy): |
| (WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant): |
| (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): |
| * rendering/RenderMultiColumnFlowThread.h: |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset): |
| (WebCore::RenderMultiColumnSet::columnGap): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::fragmentContainer): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::adjustComputedFontSizesOnBlocks): |
| (WebCore::RenderObject::resetTextAutosizing): |
| (WebCore::RenderObject::showLineTreeForThis): |
| (WebCore::RenderObject::showRenderSubTreeAndMark): |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::setText): |
| (WebCore::RenderText::ensureLineBoxes): |
| (WebCore::RenderText::simpleLineLayout): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::write): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock): |
| (WebCore::RootInlineBox::blockFlow): |
| * rendering/SimpleLineLayoutFunctions.cpp: |
| (WebCore::SimpleLineLayout::computeTextBoundingBox): |
| (WebCore::SimpleLineLayout::computeTextFirstRunLocation): |
| (WebCore::SimpleLineLayout::collectTextAbsoluteRects): |
| (WebCore::SimpleLineLayout::collectTextAbsoluteQuads): |
| * rendering/svg/SVGTextQuery.cpp: |
| (WebCore::flowBoxForRenderer): |
| |
| 2014-10-09 Philip Chimento <philip.chimento@gmail.com> |
| |
| [GTK] Netscape plugin API symbol used outside feature guards |
| https://bugs.webkit.org/show_bug.cgi?id=137385 |
| |
| Reviewed by Philippe Normand. |
| |
| * plugins/PluginPackage.cpp: |
| (WebCore::PluginPackage::unload): Add guards for Netscape Plugin |
| API around symbol, so that it compiles OK when the API is not |
| available. |
| |
| 2014-10-08 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions]Remove unused parameter in adjustRegionBoundsFromFlowThreadPortionRect |
| https://bugs.webkit.org/show_bug.cgi?id=137518 |
| |
| Reviewed by Andrei Bucur. |
| |
| This method is used only by region code in accelerated compositing. |
| The first parameter for the method was introduced with the intent to be used for multicolumn, |
| but without being actually used in multicolumn code. Also make the method const. |
| No new tests as no change in functionality. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect): |
| * rendering/RenderRegion.h: |
| |
| 2014-10-08 Andreas Kling <akling@apple.com> |
| |
| [Mac] Show repaint counters in tile coverage map. |
| <https://webkit.org/b/137544> |
| |
| Reviewed by Simon Fraser. |
| |
| Add repaint counters to the tile layers in the "tiled scrolling |
| indicator" display. This will be helpful for diagnosing issues with |
| excessive tile repaints outside the visible viewport. |
| |
| * platform/graphics/ca/TileController.cpp: |
| (WebCore::TileController::setNeedsDisplayInRect): |
| * platform/graphics/ca/TileGrid.cpp: |
| (WebCore::TileGrid::drawTileMapContents): |
| |
| 2014-10-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unreviewed build fix after r174480. Broke iOS build. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::includeNonFixedHeight): |
| |
| 2014-10-08 Myles C. Maxfield <litherum@gmail.com> |
| |
| Inline ruby does not get justified correctly |
| https://bugs.webkit.org/show_bug.cgi?id=137421 |
| |
| Reviewed by Dave Hyatt. |
| |
| We justify text in two passes: one counts expansion opportunities within a line, |
| and the other doles out widths and expansion amounts to constituent inline boxes. |
| This patch simply modifies both passes to descend into ruby bases. Once it has |
| done so, we then re-layout the ruby run with the newly found width. |
| |
| Tests: fast/ruby/ruby-justification-hittest.html |
| fast/ruby/ruby-justification.html |
| |
| * rendering/InlineBox.h: |
| (WebCore::InlineBox::setExpansion): updateRubyForJustifiedText() has to set the |
| expansion for an inline box, so make setExpansion() public. |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::updateRubyForJustifiedText): Given values that have already been |
| computed in computeInlineDirectionPositionsForSegment(), adjust the widths and |
| expansion values for all the various pieces of ruby. |
| (WebCore::computeExpansionForJustifiedText): Call updateRubyForJustifiedText() if |
| necessary. |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): When |
| counting expansion opportunities in a line, include ruby bases. |
| * rendering/RenderRubyRun.h: Fix grammar in comment. |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::stringView): Give default arguments to function. |
| * rendering/RenderText.h: Ditto. |
| |
| 2014-10-08 Dean Jackson <dino@apple.com> |
| |
| PopupMenus should indicate if they are using a custom rendering |
| https://bugs.webkit.org/show_bug.cgi?id=137543 |
| <rdar://problem/18544212> |
| |
| Reviewed by Beth Dakin. |
| |
| On Yosemite there is an animation as a popup menu closes. We can't use |
| this when there is a custom rendering, since the animation doesn't match |
| the final result. Implement this by hooking into the existing code |
| for hiding the arrows during animation - a WebKitSystemInterface update |
| will implement the other side. |
| |
| * platform/mac/WebCoreSystemInterface.h: Rename parameter to be more clear. |
| * platform/mac/WebCoreSystemInterface.mm: |
| * rendering/RenderMenuList.cpp: |
| (RenderMenuList::menuStyle): We need to check that we are a native-looking |
| button, not just something with appearance. |
| |
| 2014-10-08 Christophe Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBlock objects |
| https://bugs.webkit.org/show_bug.cgi?id=137512 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderBlock objects and clean up the |
| surrounding code. |
| |
| No new tests, no behavior change. |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::firstChildConsideringContinuation): |
| (WebCore::lastChildConsideringContinuation): |
| (WebCore::AccessibilityRenderObject::firstChild): |
| (WebCore::startOfContinuations): |
| (WebCore::endOfContinuations): |
| (WebCore::childBeforeConsideringContinuations): |
| (WebCore::AccessibilityRenderObject::previousSibling): |
| (WebCore::AccessibilityRenderObject::nextSibling): |
| (WebCore::nextContinuation): |
| (WebCore::AccessibilityRenderObject::renderParentObject): |
| (WebCore::AccessibilityRenderObject::anchorElement): |
| (WebCore::AccessibilityRenderObject::setValue): |
| * bindings/objc/DOMUIKitExtensions.mm: |
| (-[DOMNode containsOnlyInlineObjects]): |
| (-[DOMNode isSelectableBlock]): |
| (-[DOMHTMLElement structuralComplexityContribution]): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::valueForGridTrackList): |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::shouldRepresentNodeOffsetZero): |
| * page/ios/FrameIOS.mm: |
| (WebCore::Frame::preferredHeight): |
| * rendering/LogicalSelectionOffsetCaches.h: |
| (WebCore::containingBlockForFixedPosition): |
| (WebCore::containingBlockForAbsolutePosition): |
| (WebCore::containingBlockForObjectInFlow): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::styleWillChange): |
| (WebCore::RenderBlock::continuationBefore): |
| (WebCore::RenderBlock::splitBlocks): |
| (WebCore::RenderBlock::addChildIgnoringContinuation): |
| (WebCore::canMergeAnonymousBlock): |
| (WebCore::canMergeContiguousAnonymousBlocks): |
| (WebCore::RenderBlock::collapseAnonymousBoxChild): |
| (WebCore::RenderBlock::removeChild): |
| (WebCore::RenderBlock::blockElementContinuation): |
| (WebCore::RenderBlock::blockSelectionGaps): |
| (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): |
| (WebCore::isChildHitTestCandidate): |
| (WebCore::RenderBlock::firstLineBlock): |
| (WebCore::findFirstLetterBlock): |
| (WebCore::RenderBlock::childBecameNonInline): |
| (WebCore::RenderBlock::hasMarginBeforeQuirk): |
| (WebCore::RenderBlock::hasMarginAfterQuirk): |
| * rendering/RenderBlock.h: |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::marginBeforeEstimateForChild): |
| (WebCore::RenderBlockFlow::estimateLogicalTopPosition): |
| (WebCore::RenderBlockFlow::adjustBlockChildForPagination): |
| (WebCore::RenderBlockFlow::positionNewFloats): |
| (WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::positionNewFloatOnLine): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computeReplacedLogicalHeightUsing): |
| (WebCore::RenderBox::availableLogicalHeightUsing): |
| (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): |
| (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): |
| (WebCore::computeInlineStaticDistance): |
| (WebCore::RenderBox::computePositionedLogicalWidth): |
| (WebCore::RenderBox::computePositionedLogicalHeight): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::accumulateInFlowPositionOffsets): |
| (WebCore::RenderBoxModelObject::moveChildTo): |
| (WebCore::RenderBoxModelObject::moveChildrenTo): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::propagateStyleToAnonymousChildren): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): |
| * rendering/RenderFullScreen.cpp: |
| (WebCore::RenderFullScreen::unwrapRenderer): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::inlineElementContinuation): |
| (WebCore::updateStyleOfAnonymousBlockContinuations): |
| (WebCore::RenderInline::styleDidChange): |
| (WebCore::nextContinuation): |
| (WebCore::RenderInline::splitFlow): |
| (WebCore::RenderInline::positionForPoint): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderListItem.cpp: |
| (WebCore::getParentOfFirstLineBox): |
| (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded): |
| (WebCore::RenderListItem::positionListMarker): |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::maxPageLogicalHeight): |
| * rendering/RenderObject.cpp: |
| (WebCore::includeNonFixedHeight): |
| (WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout): |
| (WebCore::RenderObject::containingBlock): |
| (WebCore::RenderObject::handleDynamicFloatPositionChange): |
| (WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): |
| (WebCore::RenderObject::getTextDecorationColors): |
| * rendering/RenderRuby.cpp: |
| (WebCore::rubyBeforeBlock): |
| (WebCore::rubyAfterBlock): |
| * rendering/RenderRubyBase.cpp: |
| (WebCore::RenderRubyBase::moveInlineChildren): |
| (WebCore::RenderRubyBase::moveBlockChildren): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay): |
| * rendering/TextAutosizer.cpp: |
| (WebCore::TextAutosizer::processSubtree): |
| (WebCore::TextAutosizer::processContainer): |
| (WebCore::TextAutosizer::measureDescendantTextWidth): |
| (WebCore::TextAutosizer::findDeepestBlockContainingAllText): |
| (WebCore::TextAutosizer::findFirstTextLeafNotInCluster): |
| * rendering/mathml/RenderMathMLRoot.cpp: |
| (WebCore::RenderMathMLRoot::layout): |
| |
| 2014-10-08 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed follow-up fix for r174460. Do not register for KVOs if the object does not respond to the requested property. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): |
| (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): |
| (-[CDMSessionMediaSourceAVFObjCObserver invalidate]): |
| |
| 2014-10-08 Dean Jackson <dino@apple.com> |
| |
| Add deprecation warning for CSSKeyframesRule::appendRule |
| https://bugs.webkit.org/show_bug.cgi?id=137532 |
| <rdar://problem/18585745> |
| |
| Reviewed by Brent Fulgham. |
| |
| In r173982 (webkit.org/b/57910) we added insertRule to match |
| the spec. We should print a warning to the JS console suggesting |
| users move to insertRule. |
| |
| * css/WebKitCSSKeyframesRule.cpp: |
| (WebCore::WebKitCSSKeyframesRule::appendRule): Add a message to the system |
| console. |
| * css/WebKitCSSKeyframesRule.h: |
| |
| 2014-10-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Text drawn with an SVG font has no spaces when word-rounding hacks are enabled |
| https://bugs.webkit.org/show_bug.cgi?id=137463 |
| |
| Reviewed by Darin Adler. |
| |
| When rounding hacks are enabled, we use the "adjusted space width" instead of the |
| regular space width. However, the SVG-font-specific implementation of the |
| SimpleFontData constructor doesn't initialize this value, so it was getting set |
| to an undefined value (which happened to be close to 0 in my tests). |
| |
| Test: svg/text/svg-font-word-rounding-hacks-spaces.html |
| |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): |
| (WebCore::CSSFontFaceSource::ensureFontData): |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::ensureCustomFontData): |
| (WebCore::CachedFont::getSVGFontById): |
| * platform/graphics/SimpleFontData.h: |
| * svg/SVGFontData.cpp: |
| (WebCore::SVGFontData::initializeFontData): |
| |
| 2014-10-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Resolve various static analyzer warnings in WebCore. |
| https://bugs.webkit.org/show_bug.cgi?id=137526 |
| |
| Reviewed by Dean Jackson. |
| |
| A series of small changes to resolve various issues found by the MSVC static analyzer. |
| |
| * inspector/NetworkResourcesData.cpp: |
| (WebCore::NetworkResourcesData::clear): Add assertion that it->value should never be null. |
| * page/SessionIDHash.h: |
| (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): Add explicit cast to avoid |
| compiler warning. |
| (WTF::HashTraits<WebCore::SessionID>::isDeletedValue): Ditto. |
| * page/win/FrameCGWin.cpp: |
| (WebCore::imageFromRect): Resolve static analyzer warnings by initializing bits, and |
| checking the return value of ::CreateDIBSection, which return nullptr on error. |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| (printLayer): Use correct MSVC format specifier for size_t. |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::getLinkedFonts): Handle possibility that a font link key does not exist. |
| (WebCore::FontCache::systemFallbackForCharacters): Handle error case when a valid code page |
| does not exist for a given character. |
| * platform/graphics/win/SimpleFontDataWin.cpp: |
| (WebCore::SimpleFontData::containsCharacters): Handle error cases for mapping to the CP_ACP code page, |
| and related failures when attempting to access the contents of a given code page. |
| * platform/graphics/win/UniscribeController.cpp: |
| (WebCore::UniscribeController::itemizeShapeAndPlace): Handle possible failure in the |
| ScriptItemize API call. |
| (WebCore::UniscribeController::shapeAndPlaceItem): Ditto for ScriptXtoCP API call. |
| * platform/win/BString.h: Use consistent SAL annotations for our typedeof of BSTR as in |
| the system header. |
| * platform/win/COMPtr.h: Ditto for HRESULT. |
| * platform/win/DragImageCGWin.cpp: |
| (WebCore::allocImage): Handle case of failing CreateDIBSection API call. |
| * platform/win/PopupMenuWin.cpp: |
| (WebCore::PopupMenuWin::show): Handle case of failing SystemParamtersInfo API call. |
| (WebCore::PopupMenuWin::wndProc): Ditto. |
| |
| 2014-10-07 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Update CDMSessionMediaSourceAVFObjC to match new API provided by AVStreamSession |
| https://bugs.webkit.org/show_bug.cgi?id=137469 |
| |
| Reviewed by Brent Fulgham. |
| |
| Update our forward declaration to match the API provided by AVStreamSession. |
| AVStreamSession now takes an error: parameter in its initialiazer. It also provides the |
| sessionIdentifier used by the CDM, which CDMSessionMediaSourceAVFObjC will use as the |
| value of sessionId. Having this identifier allows us to fire a |
| secure-proof-of-key-release message after the client calls MediaKeySession.close(). |
| Because this call will now generate messages, which have to be responded to in order |
| to remove those proofs from storage, do not clear the CDMSession from MediaKeySession |
| after calling close(). |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::~MediaKeySession): |
| (WebCore::MediaKeySession::close): |
| (WebCore::MediaKeySession::setError): Deleted. |
| (WebCore::MediaKeySession::sessionId): Deleted. |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: |
| (WebCore::CDMSessionMediaSourceAVFObjC::setSessionId): |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (-[CDMSessionMediaSourceAVFObjCListener initWithParent:]): |
| (-[CDMSessionMediaSourceAVFObjCObserver dealloc]): |
| (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): |
| (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): |
| (-[CDMSessionMediaSourceAVFObjCObserver invalidate]): |
| (-[CDMSessionMediaSourceAVFObjCListener observeValueForKeyPath:ofObject:change:context:]): |
| (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): |
| (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): |
| (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): |
| (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): |
| (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): |
| |
| 2014-10-08 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r174456. |
| |
| I was comparing a signed int to an unsigned one. |
| |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::shouldAutoActivateFontIfNeeded): |
| |
| 2014-10-08 Christophe Dumez <cdumez@apple.com> |
| |
| [Mac] We are spending a lot of time loading fonts when loading weather.com |
| https://bugs.webkit.org/show_bug.cgi?id=137454 |
| |
| Reviewed by Darin Adler. |
| |
| We are spending a lot of time loading fonts when loading weather.com: |
| ~4.2% of WebProcess's cpu time in FontCache::getCachedFrontData(). |
| In particular, we are spending a lot of time doing font auto-activation |
| because we don't have the Open Sans fonts installed and weather.com is |
| trying to load those. |
| |
| Before this patch, we were doing font auto-activation ~250 times when |
| loading weather.com, even though the site is loading ~10 distinct font |
| families. |
| |
| This patch adds a cache of font families we already tried to |
| auto-activate so that we don't try again. This results in ~10 font |
| auto-activations when loading weather.com instead of 250. It reduces |
| the amount of time spent in getCachedFrontData() to 62.6ms from 276ms |
| (4.4x less) when loading weather.com. |
| |
| No new tests, no behavior change. |
| |
| * platform/graphics/mac/FontCacheMac.mm: |
| (WebCore::shouldAutoActivateFontIfNeeded): |
| (WebCore::FontCache::createFontPlatformData): |
| * platform/mac/WebFontCache.h: |
| * platform/mac/WebFontCache.mm: |
| (+[WebFontCache fontWithFamily:traits:weight:size:shouldAutoActivateIfNeeded:]): |
| (+[WebFontCache fontWithFamily:traits:weight:size:]): |
| (+[WebFontCache fontWithFamily:traits:size:]): |
| |
| 2014-10-08 Darin Adler <darin@apple.com> |
| |
| ASSERTION FAILED: underlyingStringIsValid() |
| https://bugs.webkit.org/show_bug.cgi?id=137502 |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::quoteAndEscapeNonPrintables): Take a StringView instead of a String. |
| (WebCore::writeTextRun): Ditto. |
| (WebCore::writeSimpleLine): Ditto. |
| |
| * rendering/RenderTreeAsText.h: Removed unneeded include, tweaked formatting, |
| changed quoteAndEscapeNonPrintables to take a StringView. |
| |
| * rendering/SimpleLineLayoutFunctions.cpp: |
| (WebCore::SimpleLineLayout::paintFlow): Tighten code using a modern for loop. |
| (WebCore::SimpleLineLayout::showLineLayoutForFlow): Update to work with a |
| StringView result for SimpleLineLayout::RunResolver::Run::text. |
| |
| * rendering/SimpleLineLayoutResolver.h: |
| (WebCore::SimpleLineLayout::RunResolver::Run::text): Changed return type to |
| StringView to fix the lifetime bug and also to improve performance by getting |
| rid of the need to allocate and destroy a StringImpl object. |
| |
| 2014-10-07 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Call requestScrollPositionUpdate() instead of delegatedScrollRequested() in ScrollView::scrollTo() |
| https://bugs.webkit.org/show_bug.cgi?id=137478 |
| |
| Reviewed by Benjamin Poulain. |
| |
| As r174380 did, ScrollView::scrollTo() also calls requestScrollPositionUpdate() instead of delegatedScrollRequested(). |
| delegatedScrollRequested() will be only called by requestScrollPositionUpdate(), and it needs to be merged by existing |
| other scroll request function. |
| |
| No new tests, no behavior changes. |
| |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::scrollTo): |
| |
| 2014-10-08 Dean Jackson <dino@apple.com> |
| |
| Safari 8 on OSX 10.10 does not run WebGL in Retina HiDPI mode. |
| https://bugs.webkit.org/show_bug.cgi?id=134854 |
| <rdar://problem/18465263> |
| |
| Reviewed by Tim Horton. |
| |
| The NSOpenGLLayer has to have its contentScale property |
| set accordingly when on a retina display. Do this by |
| adding another value to the GraphicsContext3D creation |
| attribute dictionary, representing the device pixel ratio. |
| Then, when we come to draw into the layer, make sure |
| we set our GL viewport to the correct value. |
| |
| This is currently untestable because: |
| - we can't just read from the GL buffer as it is always correct |
| - WebGL isn't working in reftests |
| - a layer dump doesn't show the change since it was done in a CALayer subclass. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::create): Pass the devicePixelRatio into the attribute dictionary. |
| * platform/graphics/GraphicsContext3D.h: |
| (WebCore::GraphicsContext3D::Attributes::Attributes): Add a devicePixelRatio attribute. |
| * platform/graphics/mac/WebGLLayer.h: New property to save us looking up the attributes |
| each frame. |
| * platform/graphics/mac/WebGLLayer.mm: |
| (-[WebGLLayer initWithGraphicsContext3D:]): Store the devicePixelRatio, and set our |
| contents scale appropriately. |
| (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Draw into |
| a correctly sized backbuffer. |
| (-[WebGLLayer copyImageSnapshotWithColorSpace:]): Generate an image of the correct size. |
| |
| 2014-10-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Roll-over Changelogs. |
| |
| * ChangeLog-2014-10-07: Copied from Source/WebCore/ChangeLog. |
| |
| == Rolled over to ChangeLog-2014-10-07 == |