| 2014-03-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [WebRTC] Updating RTCPeerConnection.idl |
| https://bugs.webkit.org/show_bug.cgi?id=129804 |
| |
| Reviewed by Eric Carlson. |
| |
| Some methods signatures were wrong, marking some arguments as optional when they are mandatory. |
| |
| Existing tests were updated. |
| |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::getStats): |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * Modules/mediastream/RTCStatsRequestImpl.cpp: |
| (WebCore::RTCStatsRequestImpl::create): |
| (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): |
| (WebCore::RTCStatsRequestImpl::requestFailed): |
| * Modules/mediastream/RTCStatsRequestImpl.h: |
| * platform/mediastream/RTCStatsRequest.h: |
| |
| 2014-03-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [WebRTC] Updating RTCIceServer to match spec |
| https://bugs.webkit.org/show_bug.cgi?id=129844 |
| |
| Reviewed by Eric Carlson. |
| |
| Move RTCIceServer from RTCConfiguration to its own file. |
| |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::validateIceServerURL): |
| (WebCore::processIceServer): |
| * platform/mediastream/RTCConfiguration.h: |
| (WebCore::RTCConfiguration::iceServers): |
| * platform/mediastream/RTCIceServer.h: Added. |
| |
| 2014-03-06 Hyowon Kim <hw1008.kim@samsung.com> |
| |
| [EFL] Move EvasGL classes from WebKit to WebCore namespace. |
| https://bugs.webkit.org/show_bug.cgi?id=129797 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Though EvasGLContext and EvasGLSurface files were moved from WebKit2/UIProcess/API/efl/ |
| to WebCore/platform/graphics/efl/, they are still in WebKit namespace. |
| Patch for namespace changes. |
| |
| * platform/graphics/efl/EvasGLContext.cpp: |
| * platform/graphics/efl/EvasGLContext.h: |
| * platform/graphics/efl/EvasGLSurface.cpp: |
| * platform/graphics/efl/EvasGLSurface.h: |
| |
| 2014-03-06 Brian Burg <bburg@apple.com> |
| |
| CodeGeneratorJS.pm doesn't need to add spaces between consecutive closing template brackets |
| https://bugs.webkit.org/show_bug.cgi?id=129836 |
| |
| Reviewed by Andreas Kling. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateParametersCheck): |
| (GetNativeVectorInnerType): |
| (GetSVGPropertyTypes): |
| |
| 2014-03-06 Jinwoo Song <jinwoo7.song@samsung.com> |
| |
| Remove unused method from BatteryController |
| https://bugs.webkit.org/show_bug.cgi?id=129850 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| isActive() method is never called anywhere. |
| |
| * Modules/battery/BatteryController.cpp: |
| * Modules/battery/BatteryController.h: |
| |
| 2014-03-06 Pratik Solanki <psolanki@apple.com> |
| |
| [iOS] Crash on launch with website restrictions enabled |
| https://bugs.webkit.org/show_bug.cgi?id=129854 |
| <rdar://problem/16207016> |
| |
| Reviewed by Simon Fraser. |
| |
| * platform/mac/ContentFilterMac.mm: |
| (WebCore::ContentFilter::ContentFilter): Initialize m_neFilterSourceQueue so that we don't |
| crash in the dtor due to garbage value in the field. |
| |
| 2014-03-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Minor optimization in ScrollingTreeScrollingNodeMac |
| https://bugs.webkit.org/show_bug.cgi?id=129848 |
| |
| Reviewed by Dean Jackson. |
| |
| No need to call scrollOffsetForFixedPosition() again if we don't have header |
| and footer layers. |
| |
| * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: |
| (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): |
| |
| 2014-03-06 Mark Lam <mark.lam@apple.com> |
| |
| XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED. |
| https://bugs.webkit.org/show_bug.cgi?id=45994 |
| |
| Not reviewed. |
| |
| Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov) |
| since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue. |
| |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::status): |
| (WebCore::XMLHttpRequest::statusText): |
| * xml/XMLHttpRequest.h: |
| * xml/XMLHttpRequest.idl: |
| |
| 2014-03-06 Brent Fulgham <bfulgham@apple.com> |
| |
| Revise Out-of-band VTT support for better integration with AVFoundation engine |
| https://bugs.webkit.org/show_bug.cgi?id=129749 |
| <rdar://problem/16215701> |
| |
| Reviewed by Eric Carlson. |
| |
| Revise the platform handling of out-of-band text tracks so that we can keep AVFoundation |
| informed of track selections we make. Use a dummy out-of-band child of the existing text |
| track classes to avoid code duplication. |
| |
| * WebCore.xcodeproj/project.pbxproj: Add new OutOfBandTextTrackPrivateAVF.h file. |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): Notify player when OOB tracks change. |
| (WebCore::HTMLMediaElement::outOfBandTrackSources): Also pass track mode to platform backend. |
| * html/track/TextTrack.cpp: |
| (WebCore::TextTrack::platformTextTrack): Also pass track mode to constructor. |
| * html/track/TrackBase.cpp: |
| (WebCore::TrackBase::TrackBase): Move ownership of track unique identifier to this base class. |
| * html/track/TrackBase.h: |
| (WebCore::TrackBase::uniqueId): Ditto. |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::notifyTrackModeChanged): Added stub to pass message to platform player. |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged): Stub for most platforms. |
| * platform/graphics/PlatformTextTrack.h: |
| (WebCore::PlatformTextTrack::create): Update for revised constructor (with 'mode' argument). |
| (WebCore::PlatformTextTrack::createOutOfBand): Ditto. |
| (WebCore::PlatformTextTrack::mode): Added. |
| (WebCore::PlatformTextTrack::captionMenuOffItem): Use revised constructor arguments. |
| (WebCore::PlatformTextTrack::captionMenuAutomaticItem): Ditto. |
| (WebCore::PlatformTextTrack::PlatformTextTrack): Ditto. |
| * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Change predicate to return enum indicating the category |
| of track (out-of-band, legacy closed caption, or in band). |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Added. |
| * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Override predicate to return category enum. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Revise to use new category enum. |
| * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Override predicate to return category enum. |
| that this is NOT an out-of-band track. |
| * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: Ditto. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::notifyTrackModeChanged): Added implementation. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Revise to handle out-of-band |
| track placeholders. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Modify to inform AVFoundation about any |
| out-of-band tracks we've selected. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Added. |
| * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: Added. |
| (WebCore::OutOfBandTextTrackPrivateAVF::create): |
| (WebCore::OutOfBandTextTrackPrivateAVF::processCue): |
| (WebCore::OutOfBandTextTrackPrivateAVF::resetCueValues): |
| (WebCore::OutOfBandTextTrackPrivateAVF::mediaSelectionOption): |
| (WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF): |
| (WebCore::OutOfBandTextTrackPrivateAVF::processCueAttributes): |
| * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Override predicate to indicate |
| that this is NOT an out-of-band track. |
| * platform/graphics/ios/MediaPlayerPrivateIOS.mm: |
| (WebCore::MediaPlayerPrivateIOS::setSelectedTextTrack): Correct typo in logging text. |
| |
| 2014-03-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014 |
| https://bugs.webkit.org/show_bug.cgi?id=129484 |
| |
| Reviewed by Eric Carlson. |
| |
| According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument, |
| instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively. |
| |
| Existing tests were updated. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Modules/mediastream/RTCOfferAnswerOptions.cpp: Added. |
| * Modules/mediastream/RTCOfferAnswerOptions.h: Added. |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::createOffer): |
| (WebCore::RTCPeerConnection::createAnswer): |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * platform/mediastream/RTCPeerConnectionHandler.h: |
| * platform/mock/RTCPeerConnectionHandlerMock.cpp: |
| (WebCore::RTCPeerConnectionHandlerMock::createOffer): |
| (WebCore::RTCPeerConnectionHandlerMock::createAnswer): |
| * platform/mock/RTCPeerConnectionHandlerMock.h: |
| |
| 2014-03-06 Brian Burg <bburg@apple.com> |
| |
| Web Replay: premature release() of PassRefPtr in InspectorReplayAgent |
| https://bugs.webkit.org/show_bug.cgi?id=129827 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/InspectorReplayAgent.cpp: |
| (WebCore::InspectorReplayAgent::didCreateFrontendAndBackend): |
| |
| 2014-03-06 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS] Do not compile fake mouse event handling when iOS Touch Events are enabled |
| https://bugs.webkit.org/show_bug.cgi?id=129725 |
| |
| Reviewed by Dan Bernstein. |
| |
| Bug <rdar://problem/16218636>. The code is #ifdef'ed out to avoid setting up useless objects |
| and to avoid future mistake. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::EventHandler): |
| (WebCore::EventHandler::~EventHandler): |
| (WebCore::EventHandler::clear): |
| (WebCore::EventHandler::handleMousePressEvent): |
| (WebCore::EventHandler::startAutoHideCursorTimer): |
| (WebCore::EventHandler::handleMouseMoveEvent): |
| (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): |
| (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): |
| * page/EventHandler.h: |
| |
| 2014-03-06 Pratik Solanki <psolanki@apple.com> |
| |
| Unreviewed. iOS build fix after r165199. |
| |
| * rendering/RootInlineBox.cpp: |
| |
| 2014-03-06 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS] Rename the actualVisibleXXXRect to unobscuredContentRect for consistency |
| https://bugs.webkit.org/show_bug.cgi?id=129773 |
| |
| Reviewed by Simon Fraser. |
| |
| * dom/TreeScope.cpp: |
| (WebCore::nodeFromPoint): |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::visibleContentRectInternal): |
| * platform/ScrollView.h: |
| * platform/ios/ScrollViewIOS.mm: |
| (WebCore::ScrollView::unoscuredContentRect): |
| * platform/ios/wak/WAKScrollView.h: |
| * platform/ios/wak/WAKScrollView.mm: |
| (-[WAKScrollView unoscuredContentRect]): |
| (-[WAKScrollView description]): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::scrollRectToVisible): |
| |
| 2014-03-05 Oliver Hunt <oliver@apple.com> |
| |
| Support caching of custom setters |
| https://bugs.webkit.org/show_bug.cgi?id=129519 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add forwarding header |
| |
| Tests: js/regress/assign-custom-setter-polymorphic.html |
| js/regress/assign-custom-setter.html |
| |
| * ForwardingHeaders/jit/SpillRegistersMode.h: Added. |
| |
| 2014-03-05 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients() |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=121887> |
| <rdar://problem/15073043> |
| |
| Clang appears to be optimizing out a branch in RenderObject::node() |
| when compiling RenderLayer::FilterInfo::updateReferenceFilterClients(). |
| We'll work around this by factoring out the code in question into a |
| separate member function marked NEVER_INLINE. |
| |
| No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>. |
| |
| Reviewed by David Kilzer. |
| |
| * rendering/RenderLayerFilterInfo.cpp: |
| (WebCore::RenderLayer::FilterInfo::layerElement): |
| Code moved from updateReferenceFilterClients(). Returns the Element* |
| for m_layer. |
| (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): |
| Use layerElement(). |
| |
| * rendering/RenderLayerFilterInfo.h: |
| Declared layerElement(). |
| |
| 2014-03-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Expose the console object in JSContexts to interact with Web Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=127944 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Covered by existing tests. |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * ForwardingHeaders/runtime/ConsoleClient.h: Added. |
| * ForwardingHeaders/runtime/ConsoleTypes.h: Renamed from Source/WebCore/ForwardingHeaders/inspector/ConsoleTypes.h. |
| * GNUmakefile.list.am: |
| * PlatformGTK.cmake: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/gobject/GNUmakefile.am: |
| Update build systems. |
| |
| * page/Console.cpp: Removed. |
| * page/Console.h: Removed. |
| * page/Console.idl: Removed. |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::~DOMWindow): |
| (WebCore::DOMWindow::resetDOMWindowProperties): |
| * page/DOMWindow.h: |
| (WebCore::DOMWindow::defaultStatus): |
| * page/DOMWindow.idl: |
| Removed the old IDL generated Console object on window. |
| |
| * page/PageConsole.cpp: |
| (WebCore::PageConsole::shouldPrintExceptions): |
| (WebCore::PageConsole::setShouldPrintExceptions): |
| (WebCore::PageConsole::mute): |
| (WebCore::PageConsole::unmute): |
| (WebCore::PageConsole::messageWithTypeAndLevel): |
| (WebCore::PageConsole::count): |
| (WebCore::PageConsole::profile): |
| (WebCore::PageConsole::profileEnd): |
| (WebCore::PageConsole::time): |
| (WebCore::PageConsole::timeEnd): |
| (WebCore::PageConsole::timeStamp): |
| (WebCore::PageConsole::group): |
| (WebCore::PageConsole::groupCollapsed): |
| (WebCore::PageConsole::groupEnd): |
| (WebCore::PageConsole::clearProfiles): |
| * page/PageConsole.h: |
| Move the handling of Console object into PageConsole. |
| |
| * bindings/js/ScriptCachedFrameData.cpp: |
| (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): |
| (WebCore::ScriptCachedFrameData::restore): |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::clearWindowShell): |
| (WebCore::ScriptController::initScript): |
| Set the PageConsole as the ConsoleClient of the JSGlobalObject |
| so that WebCore may handle console messages directly. For instance |
| it may pass messages on to the ChromeClient. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::consoleProfiles): |
| To access profiles, go through PageConsole now instead of Console. |
| |
| * bindings/js/JSDOMWindowBase.cpp: |
| * bindings/objc/WebScriptObject.mm: |
| * css/MediaList.cpp: |
| * dom/ScriptExecutionContext.h: |
| * dom/UIEvent.cpp: |
| * dom/ViewportArguments.cpp: |
| * html/parser/XSSAuditorDelegate.cpp: |
| * inspector/CommandLineAPIHost.h: |
| * inspector/InspectorInstrumentation.cpp: |
| * inspector/InspectorInstrumentation.h: |
| * inspector/InspectorProfilerAgent.cpp: |
| * inspector/WebConsoleAgent.cpp: |
| * loader/FrameLoader.cpp: |
| * loader/MixedContentChecker.cpp: |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| * loader/cache/CachedResourceLoader.cpp: |
| * page/ChromeClient.h: |
| * page/ContentSecurityPolicy.cpp: |
| * page/Page.cpp: |
| * page/Page.h: |
| * svg/SVGDocumentExtensions.cpp: |
| * workers/WorkerMessagingProxy.cpp: |
| * workers/WorkerReportingProxy.h: |
| Update includes. |
| |
| 2014-03-06 Zsolt Borbely <borbezs@inf.u-szeged.hu> |
| |
| Fix the !ENABLE(CSS_STICKY_POSITION) build |
| https://bugs.webkit.org/show_bug.cgi?id=129793 |
| |
| Reviewed by Simon Fraser. |
| |
| Add missing ENABLE(CSS_STICKY_POSITION) guard to EditingStyle::convertPositionStyle(). |
| |
| * editing/EditingStyle.cpp: |
| (WebCore::EditingStyle::convertPositionStyle): |
| |
| 2014-03-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Mac] Leak: dispatch_semaphore leak allocated in MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange |
| https://bugs.webkit.org/show_bug.cgi?id=129792 |
| |
| Reviewed by Anders Carlsson. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): |
| |
| 2014-03-06 Brendan Long <b.long@cablelabs.com> |
| |
| Implement VideoTrackList.selectedIndex |
| https://bugs.webkit.org/show_bug.cgi?id=129770 |
| |
| Reviewed by Eric Carlson. |
| |
| Tests: media/track/video/video-track-mkv-theora-selected.html |
| |
| * html/track/VideoTrackList.idl: |
| |
| 2014-03-06 Lorenzo Tilve <ltilve@igalia.com> |
| |
| [GTK][CMake] Fix the GTK+ CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=129801 |
| |
| Reviewed by Martin Robinson. |
| |
| Include missing files for CMake build |
| |
| * CMakeLists.txt: Add a missing references to DOMURLMediaStream |
| |
| 2014-03-06 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Setting content to opaque on m_graphicsLayer depends on subpixel accumulation. |
| https://bugs.webkit.org/show_bug.cgi?id=129776 |
| |
| Reviewed by Simon Fraser. |
| |
| isEmpty() returns true when any of the dimensions is <= 0. Subpixel accumulation could happen |
| in one direction only. Use isZero() instead(). |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
| |
| 2014-03-06 Gurpreet Kaur <k.gurpreet@samsung.com> |
| |
| REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away |
| https://bugs.webkit.org/show_bug.cgi?id=128873 |
| |
| Reviewed by Antonio Gomes. |
| |
| This regression is caused by http://trac.webkit.org/changeset/154614 |
| and http://trac.webkit.org/changeset/156605. So reverting the changes |
| to make it Web compatible as earlier. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::scrollLeft): |
| (WebCore::Element::scrollTop): |
| (WebCore::Element::setScrollLeft): |
| (WebCore::Element::setScrollTop): |
| Reverting changes as it caused regression. |
| |
| 2014-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move Source/WebCore/html/canvas/ code to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=129668 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/canvas/ to std::unique_ptr. |
| |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::~HTMLCanvasElement): |
| (WebCore::HTMLCanvasElement::getContext): |
| * html/HTMLCanvasElement.h: |
| * html/canvas/ANGLEInstancedArrays.cpp: |
| * html/canvas/ANGLEInstancedArrays.h: |
| * html/canvas/CanvasRenderingContext2D.h: |
| * html/canvas/EXTTextureFilterAnisotropic.cpp: |
| * html/canvas/EXTTextureFilterAnisotropic.h: |
| * html/canvas/OESElementIndexUint.cpp: |
| * html/canvas/OESElementIndexUint.h: |
| * html/canvas/OESStandardDerivatives.cpp: |
| * html/canvas/OESStandardDerivatives.h: |
| * html/canvas/OESTextureFloat.cpp: |
| * html/canvas/OESTextureFloat.h: |
| * html/canvas/OESTextureFloatLinear.cpp: |
| * html/canvas/OESTextureFloatLinear.h: |
| * html/canvas/OESTextureHalfFloat.cpp: |
| * html/canvas/OESTextureHalfFloat.h: |
| * html/canvas/OESTextureHalfFloatLinear.cpp: |
| * html/canvas/OESTextureHalfFloatLinear.h: |
| * html/canvas/OESVertexArrayObject.cpp: |
| * html/canvas/OESVertexArrayObject.h: |
| * html/canvas/WebGLCompressedTextureATC.cpp: |
| * html/canvas/WebGLCompressedTextureATC.h: |
| * html/canvas/WebGLCompressedTexturePVRTC.cpp: |
| * html/canvas/WebGLCompressedTexturePVRTC.h: |
| * html/canvas/WebGLCompressedTextureS3TC.cpp: |
| * html/canvas/WebGLCompressedTextureS3TC.h: |
| * html/canvas/WebGLDebugRendererInfo.cpp: |
| * html/canvas/WebGLDebugRendererInfo.h: |
| * html/canvas/WebGLDebugShaders.cpp: |
| * html/canvas/WebGLDebugShaders.h: |
| * html/canvas/WebGLDepthTexture.cpp: |
| * html/canvas/WebGLDepthTexture.h: |
| * html/canvas/WebGLDrawBuffers.cpp: |
| * html/canvas/WebGLDrawBuffers.h: |
| * html/canvas/WebGLLoseContext.cpp: |
| * html/canvas/WebGLLoseContext.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::create): |
| (WebCore::WebGLRenderingContext::getExtension): |
| * html/canvas/WebGLRenderingContext.h: |
| |
| 2014-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move Source/WebCore/editing/ code to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=129665 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/editing/ with std::unique_ptr. |
| |
| * editing/EditingStyle.cpp: |
| (WebCore::htmlElementEquivalents): |
| (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): |
| (WebCore::htmlAttributeEquivalents): |
| (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): |
| (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): |
| (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): |
| (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): |
| * editing/Editor.cpp: |
| (WebCore::Editor::Editor): |
| (WebCore::Editor::clear): |
| * editing/Editor.h: |
| * page/Frame.cpp: |
| (WebCore::Frame::Frame): |
| * page/Frame.h: |
| |
| 2014-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException |
| https://bugs.webkit.org/show_bug.cgi?id=129061 |
| |
| Reviewed by Eric Carlson. |
| |
| Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException |
| classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr, |
| but this will be addressed later. |
| |
| * dom/KeyboardEvent.cpp: |
| (WebCore::KeyboardEvent::KeyboardEvent): |
| * dom/KeyboardEvent.h: |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::reportException): |
| * dom/ScriptExecutionContext.h: |
| * dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion. |
| |
| 2014-03-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r165175. |
| http://trac.webkit.org/changeset/165175 |
| https://bugs.webkit.org/show_bug.cgi?id=129788 |
| |
| Linking failures on GTK, EFL due to missing gstreamer-tag-1.0 |
| dependency (Requested by zdobersek on #webkit). |
| |
| * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: |
| (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): |
| |
| 2014-03-05 Brendan Long <b.long@cablelabs.com> |
| |
| [GStreamer] human readable language code for tracks |
| https://bugs.webkit.org/show_bug.cgi?id=124514 |
| |
| Reviewed by Philippe Normand. |
| |
| * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: |
| (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid. |
| |
| 2014-03-05 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| Remove unused method from Vibration |
| https://bugs.webkit.org/show_bug.cgi?id=129732 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * Modules/vibration/Vibration.cpp: |
| Removed isActive(), which is never called since r152441. |
| * Modules/vibration/Vibration.h: Ditto. |
| |
| 2014-03-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r165141, r165157, and r165158. |
| http://trac.webkit.org/changeset/165141 |
| http://trac.webkit.org/changeset/165157 |
| http://trac.webkit.org/changeset/165158 |
| https://bugs.webkit.org/show_bug.cgi?id=129772 |
| |
| "broke ftl" (Requested by olliej_ on #webkit). |
| |
| * ForwardingHeaders/jit/SpillRegistersMode.h: Removed. |
| |
| 2014-03-05 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK][CMake] The GObject DOM bindings should always be built |
| https://bugs.webkit.org/show_bug.cgi?id=127963 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * PlatformGTK.cmake: Make compilation of the WebKitGTK+ GObject DOM bindings |
| unconditional, instead of conditional on the WebKit2 build. |
| |
| 2014-03-05 Jer Noble <jer.noble@apple.com> |
| |
| [MSE] Crash in SourceBuffer::sourceBufferPrivateDidReceiveSample() - received samples after SourceBuffer was removed. |
| https://bugs.webkit.org/show_bug.cgi?id=129761 |
| |
| Reviewed by Eric Carlson. |
| |
| Guard against the possibility that SourceBufferPrivates will continue to generate samples even after |
| a parse error. Bail out early from sourceBufferPrivateDidReceiveInitializationSegment and |
| sourceBufferPrivateDidReceiveSample if the SourceBuffer has been removed. |
| |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): |
| |
| 2014-03-05 Enrica Casucci <enrica@apple.com> |
| |
| Build fix, take 2. |
| |
| * platform/mac/HTMLConverter.mm: |
| |
| 2014-03-05 Enrica Casucci <enrica@apple.com> |
| |
| Build fix. |
| |
| * platform/mac/HTMLConverter.mm: |
| |
| 2014-03-05 Enrica Casucci <enrica@apple.com> |
| |
| Crash when copying content that contains <sup>. |
| https://bugs.webkit.org/show_bug.cgi?id=129765 |
| <rdar://problem/16139498> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Adding static definition of NSAttributeSuperscriptName. |
| |
| * platform/mac/HTMLConverter.mm: |
| |
| 2014-03-05 Gavin Barraclough <barraclough@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=128625 |
| Add fast mapping from StringImpl to JSString |
| |
| Unreviewed roll-out. |
| |
| Reverting r164347, r165054, r165066 - not clear the performance tradeoff was right. |
| |
| * bindings/js/DOMWrapperWorld.cpp: |
| (WebCore::DOMWrapperWorld::clearWrappers): |
| * bindings/js/DOMWrapperWorld.h: |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::jsStringWithCache): |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::commonVM): |
| * bindings/scripts/StaticString.pm: |
| (GenerateStrings): |
| |
| 2014-03-05 Daniel Bates <dabates@apple.com> |
| And Alexey Proskuryakov <ap@apple.com> |
| |
| ASSERT(newestManifest) fails in WebCore::ApplicationCacheGroup::didFinishLoadingManifest() |
| https://bugs.webkit.org/show_bug.cgi?id=129753 |
| <rdar://problem/12069835> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixes an issue where an assertion failure would occur when visiting a web site whose on-disk |
| app cache doesn't contain a manifest resource. |
| |
| For some reason an app cache for a web site may be partially written to disk. In particular, the |
| app cache may only contain a CacheGroups entry. That is, the manifest resource and origin records |
| may not be persisted to disk. From looking over the code, we're unclear how such a situation can occur |
| and hence have been unable to create such an app cache. We were able to reproduce this issue using |
| an app cache database file that was provided by a person that was affected by this issue. |
| |
| No test included because it's not straightforward to write a test for this change. |
| |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Assert that m_cacheBeingUpdated->manifestResource() |
| is non-null. Currently we only document this assumption in a code comment. Also separated a single assertion |
| expression into two assertion expressions to make it straightforward to identify the failing sub-expression |
| on failure. |
| * loader/appcache/ApplicationCacheStorage.cpp: |
| (WebCore::ApplicationCacheStorage::store): Modified to call ApplicationCacheStorage::deleteCacheGroupRecord() |
| to remove a cache group and associated cache records (if applicable) before inserting a cache group entry. |
| This replacement approach will ultimately repair incomplete app cache data for people affected by this bug. |
| (WebCore::ApplicationCacheStorage::loadCache): Log an error and return nullptr if the cache we loaded doesn't |
| have a manifest resource. |
| (WebCore::ApplicationCacheStorage::deleteCacheGroupRecord): Added. |
| (WebCore::ApplicationCacheStorage::deleteCacheGroup): Extracted deletion logic for cache group record into |
| ApplicationCacheStorage::deleteCacheGroupRecord(). |
| * loader/appcache/ApplicationCacheStorage.h: |
| |
| 2014-03-05 Oliver Hunt <oliver@apple.com> |
| |
| Support caching of custom setters |
| https://bugs.webkit.org/show_bug.cgi?id=129519 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add forwarding header |
| |
| Tests: js/regress/assign-custom-setter-polymorphic.html |
| js/regress/assign-custom-setter.html |
| |
| * ForwardingHeaders/jit/SpillRegistersMode.h: Added. |
| |
| 2014-03-05 David Kilzer <ddkilzer@apple.com> |
| |
| Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement() |
| <http://webkit.org/b/129751> |
| <rdar://problem/16237965> |
| |
| Reviewed by Jon Honeycutt. |
| |
| Merged from Blink (patch by Yuta Kitamura): |
| https://src.chromium.org/viewvc/blink?revision=168160&view=revision |
| http://crbug.com/345005 |
| |
| The root cause is CompositeEditCommand::moveParagraphWithClones() passing |
| two positions |start| and |end| which do not follow the document order, |
| i.e. in some situations |start| is located after |end| because of |
| the difference in affinity. |
| |
| This patch fixes this crash by normalizing |end| to |start| in such situations. |
| It also adds an ASSERT that checks the relationship between |start| and |end|. |
| |
| Test: editing/execCommand/format-block-crash.html |
| |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): |
| (WebCore::CompositeEditCommand::moveParagraphWithClones): |
| * editing/CompositeEditCommand.h: |
| |
| 2014-03-05 Radu Stavila <stavila@adobe.com> |
| |
| [CSS Regions] Scrollable regions |
| https://bugs.webkit.org/show_bug.cgi?id=129301 |
| |
| Reviewed by David Hyatt. |
| |
| Named flow fragments do not inherit the overflow property from the fragment container. |
| When asked if the flow thread content should be clipped, the named flow fragments |
| will respond using the overflow property of the named flow fragment container. |
| |
| When painting the flow thread layer inside the region, the scrolled content offset of |
| the region must be used to offset the flow thread's layer. |
| |
| Tests: fast/regions/scrollable-last-region.html |
| fast/regions/scrollable-single-region-bt.html |
| fast/regions/scrollable-single-region-lr.html |
| fast/regions/scrollable-single-region-relative-element.html |
| fast/regions/scrollable-single-region-rl.html |
| fast/regions/scrollable-single-region.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::createStyle): |
| (WebCore::RenderNamedFlowFragment::shouldClipFlowThreadContent): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::shouldClipFlowThreadContent): |
| * rendering/RenderRegion.h: |
| |
| 2014-03-05 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Device pixel round accumulated subpixel value when the RenderLayer with transform paints its content. |
| https://bugs.webkit.org/show_bug.cgi?id=129079 |
| |
| Reviewed by Simon Fraser. |
| |
| Snap the content to the device pixel position (as opposed to integral position) before |
| applying the transform. Recalculate the remaining subpixels that need offsetting at painting time. |
| |
| Test: compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html |
| |
| * platform/graphics/LayoutPoint.h: |
| (WebCore::roundedForPainting): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerByApplyingTransform): |
| |
| 2014-03-05 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Show external device name/type in placeholder |
| https://bugs.webkit.org/show_bug.cgi?id=129723 |
| |
| Reviewed by Jer Noble. |
| |
| Make the name and type of the external device available to the JS based controls. |
| * Modules/mediacontrols/MediaControlsHost.cpp: |
| (WebCore::MediaControlsHost::externalDeviceDisplayName): |
| (WebCore::MediaControlsHost::externalDeviceType): |
| * Modules/mediacontrols/MediaControlsHost.h: |
| * Modules/mediacontrols/MediaControlsHost.idl: |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.updateWirelessPlaybackStatus): Display device type-specific infomation |
| in the placeholder image. |
| |
| * WebCore.exp.in: Export new WebKitSystemInterface functions. |
| |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::wirelessPlaybackTargetName): Added. |
| (WebCore::MediaPlayer::wirelessPlaybackTargetType): Ditto. |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType): Added. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName): Ditto. |
| |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| |
| 2014-03-05 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS] Rename the various VisibleExtent variations to exposedContentRect |
| https://bugs.webkit.org/show_bug.cgi?id=129728 |
| |
| Reviewed by Simon Fraser. |
| |
| Rename DocumentVisibleExtent and VisibleExtentContentRect to ExposedContentRect in a desperate |
| attempt to make things a tiny little bit less confusing. |
| |
| The name is ExposedContentRect and not ExposedRect as that rect is exposed on ScrollView, while the |
| rect is in document coordinates (which does not make any difference on WebKit1...). |
| |
| * WebCore.exp.in: |
| * platform/ScrollView.h: |
| * platform/ios/ScrollViewIOS.mm: |
| (WebCore::ScrollView::exposedContentRect): |
| (WebCore::ScrollView::setExposedContentRect): |
| * platform/ios/wak/WAKScrollView.h: |
| * platform/ios/wak/WAKScrollView.mm: |
| (-[WAKScrollView exposedContentRect]): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): |
| (WebCore::RenderLayerCompositor::didChangeVisibleRect): |
| |
| 2014-03-05 Simon Fraser <simon.fraser@apple.com> |
| |
| ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework |
| https://bugs.webkit.org/show_bug.cgi?id=129752 |
| |
| Reviewed by Enrica Casucci. |
| |
| Add C functions for NSURL-related functionality required by WebKit2 |
| |
| * WebCore.exp.in: |
| * platform/mac/WebCoreNSURLExtras.h: |
| * platform/mac/WebCoreNSURLExtras.mm: |
| (WebCore::URLByCanonicalizingURL): |
| (WebCore::rangeOfURLScheme): |
| (WebCore::looksLikeAbsoluteURL): |
| |
| 2014-03-05 Martin Hock <mhock@apple.com> |
| |
| Add support for sessions to MemoryCache. |
| https://bugs.webkit.org/show_bug.cgi?id=127794 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: |
| * editing/DeleteButtonController.cpp: |
| (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID. |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions. |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache. |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::replayXHR): Ditto. |
| * loader/DocumentLoader.cpp: |
| (WebCore::areAllLoadersPageCacheAcceptable): Ditto. |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto. |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID. |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache. |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID. |
| * loader/cache/CachedCSSStyleSheet.h: |
| * loader/cache/CachedFont.cpp: Ditto. |
| (WebCore::CachedFont::CachedFont): |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedImage.cpp: Ditto. |
| (WebCore::CachedImage::CachedImage): |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedRawResource.cpp: Ditto. |
| (WebCore::CachedRawResource::CachedRawResource): |
| * loader/cache/CachedRawResource.h: |
| * loader/cache/CachedResource.cpp: Ditto. |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache. |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::sessionID): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::createResource): Constructors take sessionID. |
| (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page. |
| (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache. |
| (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID. |
| (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID. |
| (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID. |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID. |
| (WebCore::CachedSVGDocument::CachedSVGDocument): |
| * loader/cache/CachedSVGDocument.h: |
| * loader/cache/CachedScript.cpp: Ditto. |
| (WebCore::CachedScript::CachedScript): |
| * loader/cache/CachedScript.h: |
| * loader/cache/CachedTextTrack.cpp: Ditto. |
| (WebCore::CachedTextTrack::CachedTextTrack): |
| * loader/cache/CachedTextTrack.h: |
| * loader/cache/CachedXSLStyleSheet.cpp: Ditto. |
| (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): |
| * loader/cache/CachedXSLStyleSheet.h: |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID. |
| (WebCore::MemoryCache::add): Use sessionID from CachedResource parameter. |
| (WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter. |
| (WebCore::MemoryCache::resourceForURL): Ditto. |
| (WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method. |
| (WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter. |
| (WebCore::MemoryCache::addImageToCache): Use default sessionID. |
| (WebCore::MemoryCache::removeImageFromCache): Ditto. |
| (WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter. |
| (WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::getOriginsWithCache): Ditto. |
| (WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter. |
| (WebCore::MemoryCache::removeRequestFromCache): Ditto. |
| (WebCore::MemoryCache::removeRequestFromSessionCaches): Remove request from all CachedResourceMaps, with multithread support. |
| (WebCore::MemoryCache::removeRequestFromCacheImpl): Add sessionID parameter. |
| (WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter. |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Pass on request to removeRequestFromSessionCachesImpl. |
| (WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::setDisabled): Ditto. |
| * loader/cache/MemoryCache.h: Create another level for cache. |
| * platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads. |
| (WebCore::SessionID>::copy): |
| * platform/CrossThreadCopier.h: |
| * platform/network/cf/ResourceRequest.h: |
| (WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace. |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID. |
| * testing/Internals.cpp: |
| (WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache. |
| |
| 2014-03-03 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK][CMake] Generate documentation for the DOM bindings |
| https://bugs.webkit.org/show_bug.cgi?id=126211 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: Add some files to the GObjectDOMBindings build, so that the |
| doc generation succeeds. Have the GObjectDOMBindings_INSTALLED_HEADERS variable contain |
| all installed headers and use another variable for GIR generation. Create the configuration |
| file for the gtkdoc generation. |
| |
| 2014-03-05 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Wrong cliprect on absolute positioned elements. |
| https://bugs.webkit.org/show_bug.cgi?id=129656 |
| |
| Reviewed by Simon Fraser. |
| |
| outlineBoundsForRepaint() is expected to return the outline repaint rect. Using enclosingIntRect() |
| to calculate the outline boundaries breaks repaint logic in RenderElement::repaintAfterLayoutIfNeeded(). |
| Since enclosingIntRect() can return bigger rect than repaint rect, the old/new bounds' dimensions could end up |
| being different which triggers the size change repaint code path. |
| |
| Test: fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::outlineBoundsForRepaint): |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::repaintAfterLayoutIfNeeded): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::outlineBoundsForRepaint): |
| |
| 2014-03-05 Krzysztof Czech <k.czech@samsung.com> |
| |
| [ATK] Expose missing functionalities of AtkTableCell to AT. |
| https://bugs.webkit.org/show_bug.cgi?id=129492 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Implemented missing API of AtkTableCell. |
| |
| No new tests. Covered by existing ones. |
| |
| * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: |
| (webkitAccessibleTableCellGetColumnSpan): |
| (webkitAccessibleTableCellGetRowSpan): |
| (webkitAccessibleTableCellGetPosition): |
| (webkitAccessibleTableCellGetTable): |
| (webkitAccessibleTableCellInterfaceInit): |
| |
| 2014-03-05 Andres Gomez <agomez@igalia.com> |
| |
| [GStreamer] WebSource doesn't need the "iradio-mode" property |
| https://bugs.webkit.org/show_bug.cgi?id=129685 |
| |
| Reviewed by Philippe Normand. |
| |
| Removed the "iradio-mode" property from the WK source element |
| since this was only available for its modification from |
| playbin/uridecodebin and, as discussed in GStreamer bug #725383, |
| it was not being set and now is going to be removed. |
| |
| It is safe just to send always the "icy-metadata" header set and |
| deal with returning "icy" headers as we were already doing. |
| |
| * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: |
| (webKitWebSrcSetProperty): |
| (webKitWebSrcGetProperty): |
| (webKitWebSrcStart): |
| |
| 2014-03-05 Chang Shu <cshu@webkit.org> |
| |
| Copying wrapping text results in multiple spaces between wrapped lines stripped. |
| https://bugs.webkit.org/show_bug.cgi?id=129609. |
| |
| Reviewed by Ryosuke Niwa. |
| |
| While checking the condition of restoring the missing space, the collapsed spaces |
| may not be exactly one. |
| |
| editing/pasteboard/copy-text-with-wrapped-tag.html is enhanced to test this case. |
| |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::handleTextBox): |
| |
| 2014-03-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| appendChild shouldn't invalidate LiveNodeLists and HTMLCollections if they don't have valid caches |
| https://bugs.webkit.org/show_bug.cgi?id=129727 |
| |
| Reviewed by Andreas Kling. |
| |
| Before this patch, invalidateNodeListAndCollectionCachesInAncestors invalidated node lists and HTML |
| collections on ancestors of a node whenever we're inserting or removing a child node. This patch |
| makes HTMLCollections and LiveNodeLists register themselves with Document only when they have valid |
| caches. |
| |
| Each user of CollectionIndexCache now implements willValidateIndexCache member function that gets |
| called when CollectionIndexCache caches any state and necessitates the registration with document. |
| |
| * dom/ChildNodeList.h: Added an empty willValidateIndexCache since child node lists are never |
| registered with document. |
| |
| * dom/CollectionIndexCache.h: |
| (WebCore::CollectionIndexCache::hasValidCache): Added. |
| (WebCore::CollectionIndexCache::nodeCount): Calls willValidateIndexCache when caching node count. |
| (WebCore::CollectionIndexCache::nodeAfterCached): Ditto. Also assert that hasValidCache() true in |
| the cases where we're simply updating our caches or adding more caches. |
| (WebCore::CollectionIndexCache::nodeAt): Ditto. Also added a code to set the length cache when |
| we've reached the end of the list. This should be a slight speed up on some cases. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): Initializes a variable used by assertions. |
| (WebCore::Document::unregisterNodeList): Added an early exit for when m_listsInvalidatedAtDocument |
| is empty since invalidateNodeListAndCollectionCaches swaps out the list. |
| (WebCore::Document::registerCollection): Removed the boolean hasIdNameMap since we now explicitly |
| call collectionCachedIdNameMap in HTMLCollection. |
| (WebCore::Document::unregisterCollection): Ditto. Exit early if m_collectionsInvalidatedAtDocument |
| is empty since invalidateNodeListAndCollectionCaches swaps out the list. |
| * dom/Document.h: |
| |
| * dom/LiveNodeList.cpp: |
| (WebCore::LiveNodeList::invalidateCache): Unregister the node list with document if we had caches. |
| * dom/LiveNodeList.h: |
| (WebCore::LiveNodeList::LiveNodeList): |
| (WebCore::LiveNodeList::~LiveNodeList): Ditto. |
| (WebCore::LiveNodeList::invalidateCache): Pass around document. This is necessary since document() |
| had already moved to the new document inside NodeListsNodeData::invalidateCaches. |
| (WebCore::LiveNodeList::willValidateIndexCache): Added. Registers itself with document. |
| |
| * dom/Node.cpp: |
| (WebCore::Document::invalidateNodeListAndCollectionCaches): Swap the lists since invalidateCache |
| tries to unregister node lists and HTML collections with document. Since this is the only case in |
| which node lists and HTML collections being removed may not be in the lists in unregisterNodeList |
| and unregisterCollection, assert this condition via m_inInvalidateNodeListAndCollectionCaches. |
| (WebCore::NodeListsNodeData::invalidateCaches): |
| |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::adoptDocument): Unregister node lists and HTML collections from old |
| document via invalidateCache. We need to explicitly pass in oldDocument here since owner node's |
| document had already been changed to newDocument at this point. Since we're invalidating caches, |
| there is no need to register node lists and HTML collections with newDocument. |
| |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::HTMLCollection): |
| (WebCore::HTMLCollection::~HTMLCollection): Unregister the node list with document if we had caches. |
| (WebCore::HTMLCollection::invalidateCache): Ditto. |
| (WebCore::HTMLCollection::invalidateNamedElementCache): |
| * html/HTMLCollection.h: |
| (WebCore::HTMLCollection::invalidateCache): Pass around document as done in LiveNodeList. |
| (WebCore::HTMLCollection::willValidateIndexCache): Ditto. |
| |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::invalidateCache): Ditto. |
| * html/HTMLFormControlsCollection.h: |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::invalidateSelectedItems): Ditto. |
| (WebCore::HTMLSelectElement::setRecalcListItems): Ditto. |
| |
| 2014-03-05 Jon Lee <jonlee@apple.com> |
| |
| Fix linker error after r165087 |
| https://bugs.webkit.org/show_bug.cgi?id=129730 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * WebCore.exp.in: Remove undefined symbol __ZN7WebCore32WebVideoFullscreenChangeObserverD2Ev. |
| |
| 2014-03-04 Zalan Bujtas <zalan@apple.com> |
| |
| Enable device pixel repaint rect tracking. |
| https://bugs.webkit.org/show_bug.cgi?id=129712 |
| |
| Reviewed by Simon Fraser. |
| |
| Tracked repaint rects are device pixel snapped now to support hiDPI test cases. |
| |
| Test: fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html |
| |
| * WebCore.exp.in: |
| * page/FrameView.cpp: |
| (WebCore::FrameView::addTrackedRepaintRect): |
| (WebCore::FrameView::trackedRepaintRectsAsText): Print them as LayoutUnits to get |
| trailing zeros cut off. |
| * page/FrameView.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::setContentsNeedDisplay): |
| (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::repaintViewRectangle): |
| |
| 2014-03-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Don't clamp scrolling node offsets when the offset is changed by delegated scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=129724 |
| |
| Reviewed by Sam Weinig. |
| |
| Call setScrollPositionWithoutContentEdgeConstraints() from |
| ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that |
| layers are not clamped during rubber-banding. |
| |
| This requires making setScrollPositionWithoutContentEdgeConstraints() |
| a pure virtual function on the base class. |
| |
| * page/scrolling/ScrollingTree.cpp: |
| (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): |
| * page/scrolling/ScrollingTreeScrollingNode.h: |
| * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: |
| * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: |
| |
| 2014-03-04 Jeremy Jones <jeremyj@apple.com> |
| |
| WebVideoFullscreen, should make the hand off of the video layer explicit. |
| https://bugs.webkit.org/show_bug.cgi?id=128844 |
| |
| Reviewed by Simon Fraser. |
| |
| This change introduces a more explicit hand-off of the video layer. |
| This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel |
| WebVideoFullscreenModel <-> WebVideoFullscreenInterface |
| enterFullScreen(*) -> |
| <- borrowVideoLayer |
| willLendVideoLayer -> |
| didLendVideoLayer -> |
| <- didEnterFullscreen |
| ... |
| <- requestExitFullscreen |
| exitFullscreen -> |
| <- returnVideoLayer |
| <- didExitFullscreen |
| (*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit. |
| |
| * WebCore.exp.in: |
| Export new functions in WebVideoFullscreenInterfaceAVKit, WebVideoFullscreenModelMediaElement, etc. |
| |
| * platform/ios/WebVideoFullscreenControllerAVKit.mm: |
| Add WebVideoFullscreenControllerChangeObserver to forward fullscreen callbacks to WebVideoFullscreenController |
| |
| (WebVideoFullscreenControllerChangeObserver::setTarget): |
| Sets obj-c target of fullscreen change callbacks. |
| |
| (-[WebVideoFullscreenController init]): |
| Point _changeObserver's target at self. |
| |
| (-[WebVideoFullscreenController dealloc]): |
| Clear _changeObserver's target. |
| |
| (-[WebVideoFullscreenController enterFullscreen:]): |
| Retain self to prevent dealloc during animation or while fullscreen. |
| Connect _interface to _changeObserver. |
| |
| (-[WebVideoFullscreenController exitFullscreen]): |
| Remove use of completion move cleanup to -didExitFullscreen. |
| |
| (-[WebVideoFullscreenController didEnterFullscreen]): |
| Nothing to see here. |
| |
| (-[WebVideoFullscreenController didExitFullscreen]): |
| Move clean up code that was in a completion to here. |
| |
| * platform/ios/WebVideoFullscreenInterface.h: |
| Add delarations for more explicit hand-off of video layer. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| Add WebVideoFullscreenChangeObserver to notify when fullscreen animations complete. |
| Add declarations for more explicit hand-off of video layer. |
| Add WebAVPlayerLayer now always wraps the m_videoLayer to prevent default behavior |
| of AVPlayerLayer. |
| |
| (WebCore::WebVideoFullscreenChangeObserver::~WebVideoFullscreenChangeObserver): |
| Add empty virtual destructor. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| Include AVKit headers instead of declaring everything locally. |
| AVPlayerLayer protocol renamed to AVVideoLayer per AVKit. |
| |
| (-[WebAVPlayerController dealloc]): |
| Don't refer to self. |
| |
| (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]): |
| Pause before requesting exit fullscreen. |
| |
| (-[WebAVPlayerLayer setPlayerController:]): |
| This is required by AVVideoLayer, but we don't need it. |
| |
| (WebVideoFullscreenInterfaceAVKit::playerController): |
| White space. |
| |
| (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver): |
| Set observer to forward fullscreen changes to. |
| |
| (WebVideoFullscreenInterfaceAVKit::enterFullscreen): |
| Use more explicit video layer hand-off. |
| |
| (WebVideoFullscreenInterfaceAVKit::doEnterFullscreen): |
| Move enterFullscreen logic here. |
| AVPlayerViewController now takes the video layer at init time. |
| Always provide a video layer wrapped in a WebAVPlayerLayer. |
| |
| (WebVideoFullscreenInterfaceAVKit::willLendVideoLayer): |
| Use more explicit video layer hand-off. |
| |
| (WebVideoFullscreenInterfaceAVKit::didLendVideoLayer): |
| Use more explicit video layer hand-off. |
| |
| (WebVideoFullscreenInterfaceAVKit::exitFullscreen): |
| Use more explicit video layer hand-off. |
| |
| * platform/ios/WebVideoFullscreenModel.h: |
| Add functions for more explicit video layer hand-off. |
| |
| * platform/ios/WebVideoFullscreenModelMediaElement.h: |
| Mark virtual functions as virtual. |
| Add changes for WebVideoFullscreenModel. |
| |
| * platform/ios/WebVideoFullscreenModelMediaElement.mm: |
| Use more explicit video layer hand-off. |
| |
| (WebVideoFullscreenModelMediaElement::setMediaElement): |
| Don't push the video layer. Wait for a request for it. |
| |
| (WebVideoFullscreenModelMediaElement::handleEvent): |
| Make sure m_videoFullscreenInterface is valid. |
| |
| (WebVideoFullscreenModelMediaElement::borrowVideoLayer): |
| Use more explicit video layer hand-off. |
| Lend videoLayer in request to a request to borrow the videoLayer. |
| Make sure to retain the video layer before it is removed from the layer tree. |
| |
| (WebVideoFullscreenModelMediaElement::returnVideoLayer): |
| Use more explicit video layer hand-off. |
| |
| (WebVideoFullscreenModelMediaElement::requestExitFullscreen): |
| Don't clear the mediaElement reference until completely exited from fullscreen. |
| |
| 2014-03-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Get position:fixed working slightly better on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=129714 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Send the scroll position as a FloatPoint, rather than an IntPoint. |
| |
| * WebCore.exp.in: |
| * page/scrolling/ScrollingTree.cpp: |
| (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): |
| * page/scrolling/ScrollingTree.h: |
| |
| 2014-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Fixed Windows build without MEDIA_CONTROLS_SCRIPT enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=129701 |
| |
| Reviewed by Jer Noble. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * DerivedSources.cpp: |
| Moved UserAgentScriptsData.cpp to DerivedSources.cpp to only be built if MEDIA_CONTROLS_SCRIPT is enabled. |
| * DerivedSources.make: |
| Only generate UserAgentScripts.cpp/h when USER_AGENT_SCRIPTS is non-empty. |
| * rendering/RenderThemeWin.cpp: |
| Only include UserAgentScripts.h when MEDIA_CONTROLS_SCRIPT is enabled. |
| |
| 2014-03-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Allow iOS DumpRenderTree crashes to show application-specific information |
| https://bugs.webkit.org/show_bug.cgi?id=129705 |
| |
| Reviewed by David Kilzer. |
| |
| Make the WKSI function SetCrashReportApplicationSpecificInformation available |
| in iOS simulator builds. |
| |
| * WebCore.exp.in: |
| * platform/ios/WebCoreSystemInterfaceIOS.mm: |
| * platform/mac/WebCoreSystemInterface.h: |
| |
| 2014-03-04 Andreas Kling <akling@apple.com> |
| |
| Spam static branch prediction hints on JS bindings. |
| <https://webkit.org/b/129703> |
| |
| Add UNLIKELY hints to all !castedThis and exec->hadException() paths |
| in the JS bindings since they are almost always going to get skipped. |
| |
| Reviewed by Geoff Garen. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| (GenerateImplementationFunctionCall): |
| (GenerateConstructorDefinition): |
| |
| 2014-03-04 Adenilson Cavalcanti <cavalcantii@gmail.com> |
| |
| Remove unused StdDeviation from Gaussian Blur effect |
| https://bugs.webkit.org/show_bug.cgi?id=129693 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests, no change on behavior. |
| |
| * platform/graphics/filters/FEGaussianBlur.cpp: |
| * platform/graphics/filters/FEGaussianBlur.h: |
| |
| 2014-03-04 Andreas Kling <akling@apple.com> |
| |
| Add a Document::updateStyleIfNeededForNode(Node&). |
| <https://webkit.org/b/129689> |
| |
| Generalize the mechanism that computed style uses to avoid doing full |
| style updates when the node we're interested in isn't actually dirty. |
| |
| Reviewed by Antti Koivisto. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * dom/Document.cpp: |
| (WebCore::nodeOrItsAncestorNeedsStyleRecalc): |
| (WebCore::Document::updateStyleIfNeededForNode): |
| * dom/Document.h: |
| * editing/htmlediting.cpp: |
| (WebCore::isEditablePosition): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::defaultEventHandler): |
| |
| 2014-03-04 Mark Hahnenberg <mhahnenberg@apple.com> |
| |
| Merge API shims and JSLock |
| https://bugs.webkit.org/show_bug.cgi?id=129650 |
| |
| Reviewed by Mark Lam. |
| |
| No new tests. |
| |
| JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason |
| to take just the JSLock. Ditto for DropAllLocks and APICallbackShim. |
| |
| * bindings/js/DOMRequestState.h: |
| (WebCore::DOMRequestState::Scope::Scope): |
| * bindings/js/JSDOMPromise.h: |
| (WebCore::DeferredWrapper::resolve): |
| (WebCore::DeferredWrapper::reject): |
| (WebCore::DeferredWrapper::resolve<String>): |
| (WebCore::DeferredWrapper::resolve<bool>): |
| (WebCore::char>>): |
| (WebCore::DeferredWrapper::reject<String>): |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::evaluateInWorld): |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::SerializedScriptValue::create): |
| (WebCore::SerializedScriptValue::deserialize): |
| |
| 2014-03-04 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Overlay scrollbars that have grown are sometimes askew in the track |
| https://bugs.webkit.org/show_bug.cgi?id=129691 |
| -and corresponding- |
| <rdar://problem/15666846> |
| |
| Reviewed by Simon Fraser. |
| |
| This regression started happening after we adopted the setPresentationValue |
| ScrollbarPainter API which allows us to update the position of the scrollbar knob |
| from our secondary scrolling thread. The bug occurs when the scrollbar grows while |
| it still thinks it is in presentation-value mode. Whenever the scrollbar grows, it |
| should be in non-presentation value mode. |
| |
| If the wheel event has ended or been cancelled, we can switch out of presentation |
| value mode. |
| * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: |
| (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): |
| |
| Sometimes we will grow the scrollbar before we have received a wheel event with |
| the end or cancelled phase, and so automatically switch out of presentation-value |
| mode whenever we start one of these animations. |
| * platform/mac/ScrollAnimatorMac.mm: |
| (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]): |
| |
| 2014-03-04 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move Source/WebCore/html/track/ code to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=129666 |
| |
| Reviewed by Eric Carlson. |
| |
| Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/track/ with std::unique_ptr. |
| |
| * html/track/AudioTrack.h: |
| * html/track/InbandWebVTTTextTrack.cpp: |
| (WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): |
| * html/track/InbandWebVTTTextTrack.h: |
| * html/track/LoadableTextTrack.cpp: |
| (WebCore::LoadableTextTrack::loadTimerFired): |
| (WebCore::LoadableTextTrack::newCuesAvailable): |
| (WebCore::LoadableTextTrack::cueLoadingCompleted): |
| (WebCore::LoadableTextTrack::newRegionsAvailable): |
| * html/track/LoadableTextTrack.h: |
| * html/track/TextTrack.h: |
| * html/track/TextTrackCue.h: |
| * html/track/TextTrackRegion.h: |
| * html/track/VTTCue.cpp: |
| (WebCore::VTTCue::createWebVTTNodeTree): |
| (WebCore::VTTCue::markFutureAndPastNodes): |
| * html/track/VTTCue.h: |
| * html/track/VideoTrack.h: |
| * html/track/WebVTTParser.cpp: |
| (WebCore::WebVTTParser::WebVTTParser): |
| * html/track/WebVTTParser.h: |
| * html/track/WebVTTTokenizer.h: |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::processNewCueData): |
| * loader/TextTrackLoader.h: |
| |
| 2014-03-04 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Make border-radius painting device pixel aware. |
| https://bugs.webkit.org/show_bug.cgi?id=129558 |
| |
| Reviewed by Simon Fraser. |
| |
| Snap rounded rects to device pixels right before passing them to GraphicsContext. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::clipRoundedInnerRect): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::paintBorder): |
| * rendering/RenderBoxModelObject.h: |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::paint): |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::paint): |
| |
| 2014-03-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Crashes and assertions running iOS compositing tests |
| https://bugs.webkit.org/show_bug.cgi?id=129688 |
| |
| Reviewed by Dean Jackson. |
| |
| When a layer is no longer composited, we need to unregister it |
| from the scrolling coordinator, and remove it from m_scrollCoordinatedLayers. |
| |
| Tested by compositing tests on iOS. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| |
| 2014-03-04 Antti Koivisto <antti@apple.com> |
| |
| Update bindings test results after r165046. |
| |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: |
| (webkit_dom_test_obj_set_property): |
| (webkit_dom_test_obj_set_reflected_string_attr): |
| (webkit_dom_test_obj_set_reflected_url_attr): |
| (webkit_dom_test_obj_set_reflected_custom_url_attr): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::setJSTestObjReflectedStringAttr): |
| (WebCore::setJSTestObjReflectedURLAttr): |
| (WebCore::setJSTestObjReflectedCustomURLAttr): |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: |
| (-[DOMTestObj setReflectedStringAttr:]): |
| (-[DOMTestObj setReflectedURLAttr:]): |
| (-[DOMTestObj setReflectedCustomURLAttr:]): |
| |
| 2014-03-04 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK] Simplify the GObject DOM bindings API break check into one step |
| https://bugs.webkit.org/show_bug.cgi?id=129571 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * bindings/gobject/GNUmakefile.am: We no longer generate the webkitdom.symbols file in the |
| DerivedSources directory. All the logic is handled internally in the script now. |
| * bindings/scripts/gobject-run-api-break-test: Removed. |
| |
| 2014-03-04 Zalan Bujtas <zalan@apple.com> |
| |
| Build fix for iOS. |
| |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::addRoundedBorderClip): |
| (WebCore::RenderThemeIOS::paintFileUploadIconDecorations): |
| |
| 2014-03-04 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Make GraphicsLayer::fillRect FloatRoundedRect based and cleanup dependencies. |
| https://bugs.webkit.org/show_bug.cgi?id=129557 |
| |
| Reviewed by Simon Fraser. |
| |
| This is the preparation for snapping rounded rects to device pixel position. It enables |
| device pixel aware border-radius painting. |
| |
| No change in functionality. |
| |
| * platform/efl/RenderThemeEfl.cpp: |
| (WebCore::RenderThemeEfl::paintMediaSliderThumb): |
| * platform/graphics/FloatRoundedRect.cpp: |
| (WebCore::FloatRoundedRect::FloatRoundedRect): |
| (WebCore::FloatRoundedRect::isRenderable): |
| * platform/graphics/FloatRoundedRect.h: |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::GraphicsContext::clipRoundedRect): |
| (WebCore::GraphicsContext::clipOutRoundedRect): |
| (WebCore::GraphicsContext::fillRoundedRect): |
| (WebCore::GraphicsContext::fillRectWithRoundedHole): |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/Path.cpp: |
| (WebCore::Path::addRoundedRect): |
| * platform/graphics/Path.h: |
| * platform/graphics/RoundedRect.cpp: |
| (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): |
| * platform/graphics/RoundedRect.h: |
| * platform/graphics/ShadowBlur.cpp: |
| (WebCore::ShadowBlur::drawRectShadow): |
| (WebCore::ShadowBlur::drawInsetShadow): |
| (WebCore::ShadowBlur::drawRectShadowWithoutTiling): |
| (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): |
| (WebCore::ShadowBlur::drawInsetShadowWithTiling): |
| (WebCore::ShadowBlur::drawRectShadowWithTiling): |
| * platform/graphics/ShadowBlur.h: |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::fillRect): |
| (WebCore::GraphicsContext::platformFillRoundedRect): |
| (WebCore::GraphicsContext::fillRectWithRoundedHole): |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::fillRect): |
| (WebCore::GraphicsContext::platformFillRoundedRect): |
| (WebCore::GraphicsContext::fillRectWithRoundedHole): |
| * platform/graphics/wince/GraphicsContextWinCE.cpp: |
| (WebCore::GraphicsContext::fillRoundedRect): |
| * platform/gtk/RenderThemeGtk.cpp: |
| (WebCore::borderRadiiFromStyle): |
| (WebCore::RenderThemeGtk::paintMediaSliderTrack): |
| (WebCore::RenderThemeGtk::paintMediaSliderThumb): |
| (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): |
| * platform/win/DragImageWin.cpp: |
| (WebCore::createDragImageForLink): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintBoxDecorations): |
| (WebCore::RenderBox::pushContentsClip): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::clipRoundedInnerRect): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::paintBorder): |
| (WebCore::RenderBoxModelObject::drawBoxSideFromPath): |
| (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath): |
| (WebCore::RenderBoxModelObject::paintBoxShadow): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::clipToRect): |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::RenderThemeIOS::paintRadioDecorations): |
| (WebCore::RenderThemeIOS::paintTextFieldDecorations): |
| (WebCore::RenderThemeIOS::paintMenuListButtonDecorations): |
| (WebCore::RenderThemeIOS::paintSliderTrack): |
| (WebCore::RenderThemeIOS::paintProgressBar): |
| (WebCore::RenderThemeIOS::paintFileUploadIconDecorations): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintMenuListButtonGradients): |
| (WebCore::RenderThemeMac::paintSliderTrack): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::paintMenuListButtonGradients): |
| (WebCore::RenderThemeSafari::paintSliderTrack): |
| * rendering/shapes/BoxShape.cpp: |
| (WebCore::BoxShape::buildDisplayPaths): |
| * rendering/style/BasicShapes.cpp: |
| (WebCore::BasicShapeInset::path): |
| |
| 2014-03-04 Andreas Kling <akling@apple.com> |
| |
| Micro-optimize Strings in JS bindings. |
| <https://webkit.org/b/129673> |
| |
| Tweaked for new jsStringWithWeakOwner signature. This patch removes |
| 36 bytes of code from every wrapper getter that returns a DOMString. |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::jsStringWithCache): |
| |
| 2014-03-03 David Kilzer <ddkilzer@apple.com> |
| |
| SVGPropertyTearOffs should detachChildren before deleting its value. |
| <http://webkit.org/b/129618> |
| <rdar://problem/15661617> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| Merged from Blink (patch by kouhei@chromium.org): |
| https://src.chromium.org/viewvc/blink?revision=158563&view=revision |
| http://crbug.com/296276 |
| |
| Test: svg/transforms/svg-matrix-tearoff-crash.html |
| |
| NOTE: The test does not reproduce a crash on WebKit using |
| JavaScriptCore. |
| |
| * svg/properties/SVGPropertyTearOff.h: |
| (WebCore::SVGPropertyTearOff::setValue): |
| (WebCore::SVGPropertyTearOff::~SVGPropertyTearOff): |
| - Call detachChildren() if m_value is a copy. The original |
| Blink patch did not modify the destructor code path, although |
| that seems obvious via code inspection. |
| |
| 2014-03-04 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Incorrect repaint rect cuts off content's right edge after move. |
| https://bugs.webkit.org/show_bug.cgi?id=129652 |
| |
| Reviewed by Simon Fraser. |
| |
| When repaint rect is adjusted in order to take the distance from renderer into account, |
| the accumulated fraction value need to be added too. This is always a positive value. |
| |
| Test: fast/borders/hidpi-border-clipping-right-after-move.html |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): |
| |
| 2014-03-04 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| Remove unused member variable of NetworkInfoController |
| https://bugs.webkit.org/show_bug.cgi?id=129674 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * Modules/networkinfo/NetworkInfoController.cpp: |
| (WebCore::NetworkInfoController::NetworkInfoController): |
| (WebCore::NetworkInfoController::create): |
| (WebCore::provideNetworkInfoTo): |
| * Modules/networkinfo/NetworkInfoController.h: Removed m_page which is not really used. |
| |
| 2014-02-07 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Percentages of indefinite sizes should compute to auto |
| https://bugs.webkit.org/show_bug.cgi?id=128173 |
| |
| Reviewed by Darin Adler. |
| |
| We should treat percentages of indefinite sizes as auto as |
| mandated by the spec. Otherwise we would end up calculating a |
| percentage of -1, the value we use to represent infinite. |
| |
| Added some test cases to the current tests. |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::gridTrackSize): |
| * rendering/style/GridTrackSize.h: |
| (WebCore::GridTrackSize::isPercentage): |
| |
| 2014-03-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Don't synchronize attributes in reflect setters when we don't need to |
| https://bugs.webkit.org/show_bug.cgi?id=129662 |
| |
| Reviewed by Andreas Kling. |
| |
| The vast majority of attributes don't need synchronization. Avoid calling synchronizeAttribute in setters |
| for those content attributes generated by "Reflect" keyword in IDL. |
| |
| * bindings/scripts/CodeGenerator.pm: |
| (SetterExpression): |
| * dom/Element.cpp: |
| (WebCore::Element::setAttributeWithoutSynchronization): Added. |
| * dom/Element.h: |
| |
| 2014-03-04 Andreas Kling <akling@apple.com> |
| |
| Remove Document::idAttributeName(). |
| <https://webkit.org/b/129663> |
| |
| Reviewed by Ryosuke "DYEB" Niwa. |
| |
| This abstraction is not actually used and causes unnecessary indirection |
| in some pretty hot code paths. |
| |
| Replace it with hard-coded HTMLNames::idAttr instead which is a compile |
| time constant pointer. We can revisit this in the future if we wish to |
| implement support for custom id attributes. |
| |
| * dom/Attr.cpp: |
| (WebCore::Attr::isId): |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| * dom/Element.cpp: |
| (WebCore::Element::attributeChanged): |
| (WebCore::Element::willModifyAttribute): |
| * dom/Element.h: |
| (WebCore::Element::getIdAttribute): |
| (WebCore::Element::getNameAttribute): |
| (WebCore::Element::setIdAttribute): |
| * html/HTMLElement.cpp: |
| (WebCore::HTMLElement::parseAttribute): |
| * html/HTMLFrameElementBase.cpp: |
| (WebCore::HTMLFrameElementBase::parseAttribute): |
| * html/HTMLMapElement.cpp: |
| (WebCore::HTMLMapElement::parseAttribute): |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::attributeChanged): |
| (WebCore::SVGElement::isKnownAttribute): |
| (WebCore::SVGElement::svgAttributeChanged): |
| |
| 2014-03-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged |
| https://bugs.webkit.org/show_bug.cgi?id=129550 |
| |
| Reviewed by Andreas Kling. |
| |
| We can't store a reference to QualifiedName here because ensureUniqueElementData could delete QualifiedName inside Attribute. |
| |
| Test: fast/dom/uniquing-attributes-via-setAttribute.html |
| |
| * dom/Element.cpp: |
| (WebCore::Element::setAttributeInternal): |
| |
| 2014-03-04 Hyowon Kim <hw1008.kim@samsung.com> |
| |
| Move EvasGLContext and EvasGLSurface files into the efl common directory. |
| https://bugs.webkit.org/show_bug.cgi?id=129603 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| EFL port will use EvasGLContext and EvasGLSurface files in both WK1 and WK2. |
| |
| No new tests, just refactorings. |
| |
| * PlatformEfl.cmake: |
| * platform/graphics/efl/EvasGLContext.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.cpp. |
| (WebKit::EvasGLContext::EvasGLContext): |
| (WebKit::EvasGLContext::~EvasGLContext): |
| * platform/graphics/efl/EvasGLContext.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.h. |
| (WebKit::EvasGLContext::create): |
| (WebKit::EvasGLContext::context): |
| * platform/graphics/efl/EvasGLSurface.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.cpp. |
| (WebKit::EvasGLSurface::EvasGLSurface): |
| (WebKit::EvasGLSurface::~EvasGLSurface): |
| * platform/graphics/efl/EvasGLSurface.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.h. |
| (WebKit::EvasGLSurface::create): |
| (WebKit::EvasGLSurface::surface): |
| |
| 2014-03-03 Martin Robinson <mrobinson@igalia.com> |
| |
| Fix the GTK+ CMake build |
| |
| * PlatformGTK.cmake: Add a missing file to the source list. |
| |
| 2014-03-03 Sanghyup Lee <sh53.lee@samsung.com> |
| |
| :active style is not cleared when its display property is set to none before mouse released. |
| https://bugs.webkit.org/show_bug.cgi?id=129465 |
| |
| Reviewed by Antonio Gomes. |
| |
| Source/WebCore: |
| |
| We currently clearing the :active style when element has a renderer. |
| This patch makes elements clear its active style regardless of renderer. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::updateHoverActiveState): |
| |
| LayoutTests: |
| |
| * fast/css/active-display-none-expected.txt: Added. |
| * fast/css/active-display-none.html: Added. |
| |
| |
| 2014-03-03 Andreas Kling <akling@apple.com> |
| |
| Remove 2 unnecessary includes from JSDOMBinding.h |
| <https://webkit.org/b/129619> |
| |
| Reviewed by Antti Koivisto. |
| |
| * bindings/js/JSDOMBinding.h: |
| |
| 2014-03-03 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| GraphicsContext::drawLineForText needs to be exported from WebCore.dylib for iOS builds |
| https://bugs.webkit.org/show_bug.cgi?id=129647 |
| |
| Reviewed by NOBODY (This is a build fix). |
| |
| Fixing after r165025 and r165016. |
| |
| No new tests as this is a build fix. |
| |
| * WebCore.exp.in: |
| |
| 2014-03-03 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Start playback button misplaced |
| https://bugs.webkit.org/show_bug.cgi?id=129628 |
| |
| Reviewed by Simon Fraser. |
| |
| On YouTube embeds, while the video is loading it is placed into the DOM with a 0x0 size. |
| This causes the start playback button to be visible in the upper-left corner of the embed |
| area. The button wasn't visible previously (in plugin mode) because the plugin clipped its |
| drawing to its bounds, and so the <video> shadow should do the same. |
| |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| (::-webkit-media-controls): |
| |
| 2014-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Build fix for iOS simulator. |
| |
| * WebCore.exp.in: |
| |
| 2014-03-03 Jeremy Jones <jeremyj@apple.com> |
| |
| Forward application suspend resume notifications to the web process. |
| https://bugs.webkit.org/show_bug.cgi?id=129356 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (-[WebMediaSessionHelper initWithCallback:]): |
| Observe UIApplicationDidBecomeActiveNotification, |
| WebUIApplicationDidBecomeActiveNotification, |
| WebUIApplicationWillEnterForegroundNotification, and |
| WebUIApplicationWillResignActiveNotification |
| |
| (-[WebMediaSessionHelper applicationDidBecomeActive:]): |
| Resume session. |
| |
| 2014-03-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r165013. |
| http://trac.webkit.org/changeset/165013 |
| https://bugs.webkit.org/show_bug.cgi?id=129646 |
| |
| New code is not thread safe, asserting on a worker test |
| (Requested by ap on #webkit). |
| |
| * WebCore.exp.in: |
| * editing/DeleteButtonController.cpp: |
| (WebCore::DeleteButtonController::createDeletionUI): |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::revokeObjectURL): |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResource): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::replayXHR): |
| * loader/DocumentLoader.cpp: |
| (WebCore::areAllLoadersPageCacheAcceptable): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::updateFromElement): |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): |
| * loader/cache/CachedCSSStyleSheet.h: |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::CachedFont): |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::CachedImage): |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::CachedRawResource): |
| * loader/cache/CachedRawResource.h: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::~CachedResource): |
| * loader/cache/CachedResource.h: |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::createResource): |
| (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): |
| (WebCore::CachedResourceLoader::requestResource): |
| (WebCore::CachedResourceLoader::revalidateResource): |
| (WebCore::CachedResourceLoader::loadResource): |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGDocument.cpp: |
| (WebCore::CachedSVGDocument::CachedSVGDocument): |
| * loader/cache/CachedSVGDocument.h: |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::CachedScript): |
| * loader/cache/CachedScript.h: |
| * loader/cache/CachedTextTrack.cpp: |
| (WebCore::CachedTextTrack::CachedTextTrack): |
| * loader/cache/CachedTextTrack.h: |
| * loader/cache/CachedXSLStyleSheet.cpp: |
| (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): |
| * loader/cache/CachedXSLStyleSheet.h: |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::add): |
| (WebCore::MemoryCache::revalidationSucceeded): |
| (WebCore::MemoryCache::resourceForURL): |
| (WebCore::MemoryCache::resourceForRequest): |
| (WebCore::MemoryCache::addImageToCache): |
| (WebCore::MemoryCache::removeImageFromCache): |
| (WebCore::MemoryCache::evict): |
| (WebCore::MemoryCache::removeResourcesWithOrigin): |
| (WebCore::MemoryCache::getOriginsWithCache): |
| (WebCore::MemoryCache::removeUrlFromCache): |
| (WebCore::MemoryCache::removeRequestFromCache): |
| (WebCore::MemoryCache::removeRequestFromCacheImpl): |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): |
| (WebCore::MemoryCache::getStatistics): |
| (WebCore::MemoryCache::setDisabled): |
| * loader/cache/MemoryCache.h: |
| * platform/CrossThreadCopier.cpp: |
| * platform/CrossThreadCopier.h: |
| * platform/network/cf/ResourceRequest.h: |
| (WebCore::ResourceRequest::ResourceRequest): |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugIn::updateSnapshot): |
| * testing/Internals.cpp: |
| (WebCore::Internals::isLoadingFromMemoryCache): |
| |
| 2014-03-03 Sam Weinig <sam@webkit.org> |
| |
| Fix the iOS Simulator build. |
| |
| * WebCore.exp.in: |
| |
| 2014-03-03 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Space between double underlines does not scale with font size |
| https://bugs.webkit.org/show_bug.cgi?id=129521 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch moves the logic about how far to draw the second underline (when text-decoration-style: double |
| is specified) from InlineTextBox to GraphicsContext, because GraphicsContext is the authoritative source |
| about how thick underlines should be. The space between the two underlines is set to the thickness of |
| each of the underlines. |
| |
| This patch also deletes some unused code in InlineTextBox that was never getting triggered, in addition |
| to unifying drawLineForText with drawLinesForText. This didn't have any performance impact in my testing. |
| |
| Test: fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html |
| |
| * platform/graphics/GraphicsContext.h: drawLineForText takes a boolean for if we should draw double |
| underlines. |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::drawLineForText): |
| (WebCore::GraphicsContext::drawLinesForText): |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::drawLineForText): |
| * platform/graphics/wince/GraphicsContextWinCE.cpp: |
| (WebCore::GraphicsContext::drawLineForText): |
| * rendering/InlineTextBox.cpp: Use new boolean argument |
| (WebCore::drawSkipInkUnderline): |
| (WebCore::InlineTextBox::paintDecoration): |
| |
| 2014-02-28 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Support IOS Accessibility in WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=129527 |
| |
| Reviewed by Sam Weinig. |
| |
| Update the iOS wrapper so that it can convert points to screen space in WebKit2. |
| |
| * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: |
| (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]): |
| (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]): |
| |
| 2014-03-03 Martin Hock <mhock@apple.com> |
| |
| Add support for sessions to MemoryCache. |
| https://bugs.webkit.org/show_bug.cgi?id=127794 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: |
| * editing/DeleteButtonController.cpp: |
| (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID. |
| * html/DOMURL.cpp: |
| (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions. |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache. |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::replayXHR): Ditto. |
| * loader/DocumentLoader.cpp: |
| (WebCore::areAllLoadersPageCacheAcceptable): Ditto. |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto. |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID. |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache. |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID. |
| * loader/cache/CachedCSSStyleSheet.h: |
| * loader/cache/CachedFont.cpp: Ditto. |
| (WebCore::CachedFont::CachedFont): |
| * loader/cache/CachedFont.h: |
| * loader/cache/CachedImage.cpp: Ditto. |
| (WebCore::CachedImage::CachedImage): |
| * loader/cache/CachedImage.h: |
| * loader/cache/CachedRawResource.cpp: Ditto. |
| (WebCore::CachedRawResource::CachedRawResource): |
| * loader/cache/CachedRawResource.h: |
| * loader/cache/CachedResource.cpp: Ditto. |
| (WebCore::CachedResource::CachedResource): |
| (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache. |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::sessionID): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::createResource): Constructors take sessionID. |
| (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page. |
| (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache. |
| (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID. |
| (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID. |
| (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID. |
| * loader/cache/CachedResourceLoader.h: |
| * loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID. |
| (WebCore::CachedSVGDocument::CachedSVGDocument): |
| * loader/cache/CachedSVGDocument.h: |
| * loader/cache/CachedScript.cpp: Ditto. |
| (WebCore::CachedScript::CachedScript): |
| * loader/cache/CachedScript.h: |
| * loader/cache/CachedTextTrack.cpp: Ditto. |
| (WebCore::CachedTextTrack::CachedTextTrack): |
| * loader/cache/CachedTextTrack.h: |
| * loader/cache/CachedXSLStyleSheet.cpp: Ditto. |
| (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): |
| * loader/cache/CachedXSLStyleSheet.h: |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID. |
| (WebCore::MemoryCache::add): Use sessionID from CachedResource parameter. |
| (WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter. |
| (WebCore::MemoryCache::resourceForURL): Ditto. |
| (WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method. |
| (WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter. |
| (WebCore::MemoryCache::addImageToCache): Use default sessionID. |
| (WebCore::MemoryCache::removeImageFromCache): Ditto. |
| (WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter. |
| (WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::getOriginsWithCache): Ditto. |
| (WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter. |
| (WebCore::MemoryCache::removeRequestFromCache): Ditto. |
| (WebCore::MemoryCache::removeRequestFromCacheImpl): Ditto. |
| (WebCore::MemoryCache::removeRequestFromSessionCaches): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter. |
| (WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps. |
| (WebCore::MemoryCache::setDisabled): Ditto. |
| * loader/cache/MemoryCache.h: Create another level for cache. |
| * platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads. |
| (WebCore::SessionID>::copy): |
| * platform/CrossThreadCopier.h: |
| * platform/network/cf/ResourceRequest.h: |
| (WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace. |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID. |
| * testing/Internals.cpp: |
| (WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache. |
| |
| 2014-03-03 Andreas Kling <akling@apple.com> |
| |
| Remove unused DataView code from JSDOMBinding.h |
| <https://webkit.org/b/129616> |
| |
| Reviewed by Antti Koivisto. |
| |
| * bindings/js/JSDOMBinding.h: |
| |
| 2014-03-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Allow overflow-scroll to be one-finger scrolled until we hook up UIScrollViews |
| https://bugs.webkit.org/show_bug.cgi?id=129621 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Temporary change to allow overflow:scroll to be scrolled in iOS WK2. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::hasAcceleratedTouchScrolling): |
| |
| 2014-03-03 Antti Koivisto <antti@apple.com> |
| |
| Find results on simple lines are not marked correctly |
| https://bugs.webkit.org/show_bug.cgi?id=129586 |
| |
| Reviewed by Andreas Kling. |
| |
| Tests: editing/text-iterator/count-mark-lineboxes.html |
| editing/text-iterator/count-mark-simple-lines.html |
| |
| TextIterator operating on simple lines failed to take the end of the range into account. |
| This also causes performance issues on long documents as range traversals would miss the end |
| node and end up going through the entire document. |
| |
| * editing/TextIterator.cpp: |
| (WebCore::TextIterator::handleTextNode): |
| |
| Stop when hitting the range end on simple text nodes. |
| |
| (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): |
| |
| Use hasRenderedText test instead of linebox-only firstTextBox. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::countMatchesForText): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| Add testing interface for counting and marking matches. |
| |
| 2014-03-03 Benjamin Poulain <benjamin@webkit.org> |
| |
| SelectorQuery failing RightMostWithIdMatch are compiling their selectors for each execution |
| https://bugs.webkit.org/show_bug.cgi?id=129601 |
| |
| Reviewed by Andreas Kling. |
| |
| This caused a regression after r164924 for documents in quirks mode. Since those always fail |
| selectorForIdLookup(), they ended up compiling the selector every time they were called. |
| |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorDataList::execute): |
| |
| 2014-03-01 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Crash in MediaPlayer::rateChanged() |
| https://bugs.webkit.org/show_bug.cgi?id=129548 |
| |
| Reviewed by Darin Adler. |
| |
| WTF::bind will automatically ref the parameters added to it. But MediaPlayerPrivate- |
| AVFoundation and -MediaSOurceAVFObjC are not RefCounted, so by the time the bound |
| function is called, the underlying objects may have been freed. |
| |
| Replace or augment callOnMainThread arguments with lambdas and weakPtrs so that |
| if the argument has been destroyed, its methods will not be called. |
| |
| Make the MediaPlayerPrivateAVFoundation::Notification function type a std::function: |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): |
| (WebCore::MediaPlayerPrivateAVFoundation::Notification::function): |
| |
| Make createWeakPtr() public so that it can be called from non-class methods: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr): |
| |
| Use a weakPtr to abort callOnMainThread() if the object has been destroyed: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::CMTimebaseEffectiveRateChangedCallback): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause): |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): |
| |
| 2014-02-28 Jer Noble <jer.noble@apple.com> |
| |
| [MSE] YouTube videos fail to play |
| https://bugs.webkit.org/show_bug.cgi?id=129525 |
| |
| Reviewed by Darin Adler. |
| |
| Test: media/media-source/media-source-fudge-factor.html |
| |
| Add a very simple playability metric to SourceBuffer. Track the number of seconds buffered |
| and use that metric to determine whether the MediaSource has buffered enough data to play |
| through. |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::currentTime): Added simple accessor. |
| (WebCore::MediaSource::monitorSourceBuffers): Replace the functor-based iterators with lambdas. |
| (WebCore::MediaSource::addSourceBuffer): Drive-by fix; only add new source buffers to the |
| activeSourceBuffers list if those buffers are actually active. |
| * Modules/mediasource/MediaSource.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::SourceBuffer): Initialize new ivars. |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Measure the number of seconds buffered. |
| (WebCore::SourceBuffer::monitorBufferingRate): Use a simple Exponential moving average to |
| track the buffering rate. |
| (WebCore::SourceBuffer::hasCurrentTime): Return true if the current time is within 1/24 s |
| of a buffered range. |
| (WebCore::SourceBuffer::hasFutureTime): Moved from MediaSource. |
| (WebCore::SourceBuffer::canPlayThrough): Return true if the buffering rate is > 1s per |
| second, or if the rate is sufficient to keep up over the remaining time. |
| * Modules/mediasource/SourceBuffer.h: |
| |
| 2014-03-03 Bear Travis <betravis@adobe.com> |
| |
| [CSS Shapes] Serialize circle positions |
| https://bugs.webkit.org/show_bug.cgi?id=129404 |
| |
| Reviewed by Dirk Schulze. |
| |
| Circle positions should always be present when serialized, and should |
| only have the 2 or 4-valued form. Keywords are converted to percentages |
| and simplified where possible. This patch adds some additional processing |
| that converts the parsed position into the serialized format, before |
| converting it to text. See http://dev.w3.org/csswg/css-shapes/#basic-shape-serialization. |
| |
| Updated existing parsing tests. |
| |
| * css/CSSBasicShapes.cpp: |
| (WebCore::serializePositionOffset): Convert a position offset to a serialized string. |
| The offset must be a pair, as generated by buildSerializablePositionOffset. |
| (WebCore::buildSerializablePositionOffset): Generates a keyword + offset pair for each |
| position offset. The keywords may later be dropped during serialization. |
| (WebCore::CSSBasicShapeCircle::cssText): Use the new serialization methods. |
| |
| 2014-03-03 Lorenzo Tilve <ltilve@igalia.com> |
| |
| Optimize StylePropertiesSet::findPropertyIndex() to improve CSS properties performance |
| https://bugs.webkit.org/show_bug.cgi?id=129605 |
| |
| Reviewed by Andreas Kling. |
| |
| Merged from Blink (patch by Mikhail Pozdnyakov): |
| https://src.chromium.org/viewvc/blink?view=revision&revision=167325 |
| |
| Avoid checking whether 'StylePropertiesSet' is mutable and accesing directly to its |
| data members to achieve performance improvements |
| |
| Before the optimization applied: |
| mean: 3064.8337171934063 runs/s |
| median: 3097.5899379343855 runs/s |
| stdev: 66.89274074044187 runs/s |
| min: 2891.7479324362585 runs/s |
| max: 3113.288683440125 runs/s |
| |
| After the optimization applied: |
| mean: 3343.8356114138105 runs/s |
| median: 3356.25682957446 runs/s |
| stdev: 36.297533087489036 runs/s |
| min: 3238.5468032264243 runs/s |
| max: 3368.664837531425 runs/s |
| |
| Performance gain for the average value is approx. 9.1%, in the |
| range of the 10% - 8.2% for the min and max measured |
| values (Linux desktop x64). |
| |
| * css/StyleProperties.cpp: |
| (WebCore::ImmutableStyleProperties::findPropertyIndex): |
| (WebCore::MutableStyleProperties::findPropertyIndex): |
| * css/StyleProperties.h: |
| (WebCore::toMutableStyleProperties): |
| (WebCore::toImmutableStyleProperties): |
| (WebCore::StyleProperties::findPropertyIndex): |
| |
| 2014-03-03 Brian Burg <bburg@apple.com> |
| |
| Unreviewed build fix for Windows after r164986. |
| |
| * WebCore.vcxproj/build-generated-files.sh: Export WebReplayScripts |
| so that the build system knows how to find CodeGeneratorReplayInputs.py. |
| |
| 2014-03-03 Andrei Bucur <abucur@adobe.com> |
| |
| [CSS Regions] Overset computation is incorrect in some cases |
| https://bugs.webkit.org/show_bug.cgi?id=129032 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| This patch reworks the way overset is computed for regions and named flows. |
| |
| 1. Regions overflow no longer trigger an overset changed event. This is because |
| the overflow of a box is contained within the region range of the box. The content |
| edge should be considered the logical bottom position of the content inside the |
| flow thread. |
| |
| 2. The regions events logic was moved from RenderFlowThread to RenderNamedFlowThread |
| and from RenderRegion to RenderNamedFlowFragment (including the regionOverset property). |
| |
| 3. The overset value of the named flow is no longer stored in the named flow. It is |
| extracted from the overset of the last region in the chain. |
| |
| 4. The regions overset is not computed every time the flow thread is laid out which |
| should improve performance for flows with many regions. With the patch, each region |
| computes the overset value during its layout when the flow thread is in the overflow |
| or the final layout phase. |
| |
| 5. The overset changed event is dispatched only at the end of the layout of the named flows, |
| after all the region overset changes have been considered. This means that the overset |
| event can't be dispatched in the middle of the auto-height processing algorithm that |
| requires multiple layout passes for the flow threads. |
| |
| However, the region layout update event dispatch timing was not changed, it is dispatched |
| every time the flow thread has a layout. This preserves the current behavior of the event. |
| |
| Tests: The old tests were modified to take into account the change. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::webkitRegionOverset): |
| * dom/WebKitNamedFlow.cpp: |
| (WebCore::WebKitNamedFlow::overset): |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::buildArrayForRegions): |
| * rendering/FlowThreadController.cpp: |
| (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeOverflow): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::RenderFlowThread): |
| (WebCore::RenderFlowThread::layout): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::layoutBlock): |
| (WebCore::RenderNamedFlowFragment::setRegionOversetState): |
| (WebCore::RenderNamedFlowFragment::regionOversetState): |
| (WebCore::RenderNamedFlowFragment::updateOversetState): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): |
| (WebCore::RenderNamedFlowThread::computeOverflow): |
| (WebCore::RenderNamedFlowThread::layout): |
| (WebCore::RenderNamedFlowThread::dispatchNamedFlowEvents): |
| (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): |
| (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded): |
| * rendering/RenderNamedFlowThread.h: |
| There's a new field called m_flowContentBottom that tracks the content bottom of the flow thread |
| after layout. This value is used to compute the overset value of the regions because it's not |
| affected by relative positioning or visual overflow such as shadows. |
| * rendering/RenderRegion.cpp: |
| * rendering/RenderRegion.h: |
| |
| 2014-03-03 Tomas Popela <tpopela@redhat.com> |
| |
| [GTK] CodeGeneratorGObject.pm remove usage of undefined variable |
| https://bugs.webkit.org/show_bug.cgi?id=129602 |
| |
| Reviewed by Martin Robinson. |
| |
| Remove usage of undefined variable hdrPropIncludes in CodeGeneratorGObject.pm |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (WriteData): |
| |
| 2014-03-03 Brian Burg <bburg@apple.com> |
| |
| Web Replay: upstream input storage, capture/replay machinery, and inspector domain |
| https://bugs.webkit.org/show_bug.cgi?id=128782 |
| |
| Reviewed by Timothy Hatcher, Joseph Pecoraro, and Andreas Kling. |
| |
| No new tests yet, as they rely on infrastructure tracked in https://webkit.org/b/129190. |
| |
| Replayable executions are organized into ReplaySessions, which can |
| contain several ReplaySessionSegments that divide overall execution |
| at main frame navigation boundaries. NondeterministicInput subclasses |
| are stored in SegmentedInputStorage according to the input's InputQueue. |
| |
| Capture and playback are controlled at the page granularity by the Page's |
| ReplayController. The controller knows how to create new segments, replay to |
| arbitrary positions in the ReplaySession, and track the active InputCursor. |
| |
| The capturing and replaying input cursor subclasses encapsulate state for |
| storing new inputs and loading/dispatching saved inputs, respectively. |
| |
| The ReplayAgent and associated inspector protocol domain is the friendly |
| public API for programmatically capturing and replaying sessions. |
| |
| * DerivedSources.make: Add replay inputs code generation target. Add the |
| replay domain specification to the list of inspector domains. |
| |
| * ForwardingHeaders/replay/EncodedValue.h: Added. |
| * WebCore.xcodeproj/project.pbxproj: Add many files, and export |
| `WebReplayScripts` environment variable to DerivedSources.make. |
| |
| * inspector/InspectorController.cpp: Add the replay agent. |
| (WebCore::InspectorController::InspectorController): |
| |
| * inspector/InspectorInstrumentation.cpp: |
| Add events for segment lifecycle events, and loading/unloading of sessions |
| and segments, and capture/replay progress events. The replay controller |
| also needs to know about detached and committed frames. |
| |
| (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): |
| (WebCore::InspectorInstrumentation::didCommitLoadImpl): |
| (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::replayAgentEnabled): |
| * inspector/InspectorInstrumentation.h: |
| (WebCore::InspectorInstrumentation::replayAgentEnabled): |
| (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::playbackHitPosition): |
| |
| * inspector/InspectorReplayAgent.cpp: Added. |
| (WebCore::buildInspectorObjectForPosition): |
| (WebCore::buildInspectorObjectForInput): |
| (WebCore::buildInspectorObjectForSession): |
| (WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor): |
| (WebCore::SerializeInputToJSONFunctor::~SerializeInputToJSONFunctor): |
| (WebCore::SerializeInputToJSONFunctor::operator()): |
| (WebCore::SerializeInputToJSONFunctor::returnValue): |
| (WebCore::buildInspectorObjectForSegment): |
| (WebCore::InspectorReplayAgent::InspectorReplayAgent): |
| (WebCore::InspectorReplayAgent::~InspectorReplayAgent): |
| (WebCore::InspectorReplayAgent::sessionState): |
| (WebCore::InspectorReplayAgent::didCreateFrontendAndBackend): |
| (WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend): |
| (WebCore::InspectorReplayAgent::frameNavigated): |
| (WebCore::InspectorReplayAgent::frameDetached): |
| (WebCore::InspectorReplayAgent::sessionCreated): |
| (WebCore::InspectorReplayAgent::sessionModified): |
| (WebCore::InspectorReplayAgent::sessionLoaded): |
| (WebCore::InspectorReplayAgent::segmentCreated): |
| (WebCore::InspectorReplayAgent::segmentCompleted): |
| (WebCore::InspectorReplayAgent::segmentLoaded): |
| (WebCore::InspectorReplayAgent::segmentUnloaded): |
| (WebCore::InspectorReplayAgent::captureStarted): |
| (WebCore::InspectorReplayAgent::captureStopped): |
| (WebCore::InspectorReplayAgent::playbackStarted): |
| (WebCore::InspectorReplayAgent::playbackPaused): |
| (WebCore::InspectorReplayAgent::playbackHitPosition): |
| (WebCore::InspectorReplayAgent::startCapturing): |
| (WebCore::InspectorReplayAgent::stopCapturing): |
| (WebCore::InspectorReplayAgent::replayToPosition): |
| (WebCore::InspectorReplayAgent::replayToCompletion): |
| (WebCore::InspectorReplayAgent::pausePlayback): |
| (WebCore::InspectorReplayAgent::cancelPlayback): |
| (WebCore::InspectorReplayAgent::switchSession): |
| (WebCore::InspectorReplayAgent::insertSessionSegment): |
| (WebCore::InspectorReplayAgent::removeSessionSegment): |
| Provide a public API for modifying sessions. This is the backend support |
| for user editing of replay sessions to add/remove specific segments. |
| |
| (WebCore::InspectorReplayAgent::findSession): |
| (WebCore::InspectorReplayAgent::findSegment): |
| (WebCore::InspectorReplayAgent::getAvailableSessions): |
| (WebCore::InspectorReplayAgent::getSerializedSession): |
| (WebCore::InspectorReplayAgent::getSerializedSegment): |
| Most of the replay protocol domain speaks in terms of sesssion and |
| segment identifiers. These functions return the actual data associated |
| with these identifiers. |
| |
| * inspector/InspectorReplayAgent.h: Added. |
| * inspector/InstrumentingAgents.cpp: |
| (WebCore::InstrumentingAgents::InstrumentingAgents): |
| (WebCore::InstrumentingAgents::reset): |
| * inspector/InstrumentingAgents.h: |
| (WebCore::InstrumentingAgents::inspectorReplayAgent): Added. |
| (WebCore::InstrumentingAgents::setInspectorReplayAgent): Added. |
| * inspector/protocol/Replay.json: Added. |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| (WebCore::Page::replayController): Added. |
| * platform/Logging.h: Add WebReplay logging channel. |
| * replay/AllReplayInputs.h: Added. Simplifies importing all input definitions. |
| |
| * replay/CapturingInputCursor.cpp: Added. |
| (WebCore::CapturingInputCursor::CapturingInputCursor): |
| (WebCore::CapturingInputCursor::~CapturingInputCursor): |
| (WebCore::CapturingInputCursor::create): |
| (WebCore::CapturingInputCursor::storeInput): |
| (WebCore::CapturingInputCursor::loadInput): |
| (WebCore::CapturingInputCursor::uncheckedLoadInput): |
| * replay/CapturingInputCursor.h: Added. |
| |
| * replay/EventLoopInput.h: |
| (WebCore::EventLoopInputBase::EventLoopInputBase): |
| (WebCore::EventLoopInputBase::timestamp): |
| (WebCore::EventLoopInputBase::setTimestamp): Support deserialization. |
| |
| * replay/EventLoopInputDispatcher.cpp: Added. This class encapsulates the timers |
| and measurements used to dispatch event loop inputs during replay. |
| |
| (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher): |
| (WebCore::EventLoopInputDispatcher::run): |
| (WebCore::EventLoopInputDispatcher::pause): |
| (WebCore::EventLoopInputDispatcher::timerFired): |
| (WebCore::EventLoopInputDispatcher::dispatchInputSoon): |
| (WebCore::EventLoopInputDispatcher::dispatchInput): |
| * replay/EventLoopInputDispatcher.h: Added. |
| (WebCore::EventLoopInputDispatcherClient::EventLoopInputDispatcherClient): |
| (WebCore::EventLoopInputDispatcherClient::~EventLoopInputDispatcherClient): |
| |
| * replay/FunctorInputCursor.h: Added. |
| (WebCore::FunctorInputCursor::~FunctorInputCursor): |
| (WebCore::FunctorInputCursor::forEachInputInQueue): |
| (WebCore::FunctorInputCursor::FunctorInputCursor): |
| (WebCore::FunctorInputCursor::storeInput): |
| (WebCore::FunctorInputCursor::loadInput): |
| (WebCore::FunctorInputCursor::uncheckedLoadInput): |
| |
| * replay/ReplayController.cpp: Added. |
| (WebCore::ReplayController::ReplayController): |
| (WebCore::ReplayController::switchSession): |
| (WebCore::ReplayController::createSegment): |
| (WebCore::ReplayController::completeSegment): |
| (WebCore::ReplayController::loadSegment): |
| (WebCore::ReplayController::unloadSegment): |
| (WebCore::ReplayController::startCapturing): |
| (WebCore::ReplayController::stopCapturing): |
| (WebCore::ReplayController::startPlayback): |
| (WebCore::ReplayController::pausePlayback): |
| (WebCore::ReplayController::cancelPlayback): |
| (WebCore::ReplayController::replayToPosition): |
| (WebCore::ReplayController::frameDetached): |
| (WebCore::ReplayController::frameNavigated): |
| (WebCore::ReplayController::loadedSession): |
| (WebCore::ReplayController::loadedSegment): |
| (WebCore::ReplayController::activeInputCursor): |
| (WebCore::ReplayController::dispatcher): |
| (WebCore::ReplayController::willDispatchInput): |
| (WebCore::ReplayController::didDispatchInput): |
| (WebCore::ReplayController::didDispatchFinalInput): |
| * replay/ReplayController.h: Added. |
| (WebCore::ReplayPosition::ReplayPosition): |
| (WebCore::ReplayPosition::operator<): |
| (WebCore::ReplayPosition::operator==): |
| |
| * replay/ReplayInputCreationMethods.cpp: Added. |
| Static factory implementations for inputs belong here. |
| (WebCore::InitialNavigation::createFromPage): |
| |
| * replay/ReplayInputDispatchMethods.cpp: Added. |
| All dispatch() implementations for generated replay inputs belong here. |
| (WebCore::BeginSegmentSentinel::dispatch): |
| (WebCore::EndSegmentSentinel::dispatch): |
| (WebCore::InitialNavigation::dispatch): |
| |
| * replay/ReplayInputTypes.cpp: |
| (WebCore::ReplayInputTypes::ReplayInputTypes): |
| * replay/ReplayInputTypes.h: Define strings for WebCore inputs. |
| |
| * replay/ReplaySession.cpp: Added. |
| (WebCore::ReplaySession::create): |
| (WebCore::ReplaySession::ReplaySession): |
| (WebCore::ReplaySession::~ReplaySession): |
| (WebCore::ReplaySession::appendSegment): |
| (WebCore::ReplaySession::insertSegment): |
| (WebCore::ReplaySession::removeSegment): |
| * replay/ReplaySession.h: Added. |
| (WebCore::ReplaySession::identifier): |
| (WebCore::ReplaySession::timestamp): |
| (WebCore::ReplaySession::size): |
| (WebCore::ReplaySession::at): |
| (WebCore::ReplaySession::begin): |
| (WebCore::ReplaySession::end): |
| |
| * replay/ReplaySessionSegment.cpp: Added. |
| (WebCore::ReplaySessionSegment::create): |
| (WebCore::ReplaySessionSegment::ReplaySessionSegment): |
| (WebCore::ReplaySessionSegment::~ReplaySessionSegment): |
| (WebCore::ReplaySessionSegment::createCapturingCursor): |
| (WebCore::ReplaySessionSegment::createReplayingCursor): |
| (WebCore::ReplaySessionSegment::createFunctorCursor): |
| * replay/ReplaySessionSegment.h: Added. |
| (WebCore::ReplaySessionSegment::identifier): |
| (WebCore::ReplaySessionSegment::timestamp): |
| |
| * replay/ReplayingInputCursor.cpp: Added. |
| (WebCore::ReplayingInputCursor::ReplayingInputCursor): |
| (WebCore::ReplayingInputCursor::~ReplayingInputCursor): |
| (WebCore::ReplayingInputCursor::create): |
| (WebCore::ReplayingInputCursor::storeInput): |
| (WebCore::ReplayingInputCursor::loadInput): |
| (WebCore::ReplayingInputCursor::uncheckedLoadInput): |
| * replay/ReplayingInputCursor.h: Added. |
| |
| * replay/SegmentedInputStorage.cpp: Added. |
| (WebCore::queueTypeToLogPrefix): |
| (WebCore::jsonStringForInput): |
| (WebCore::offsetForInputQueue): |
| (WebCore::SegmentedInputStorage::SegmentedInputStorage): |
| (WebCore::SegmentedInputStorage::~SegmentedInputStorage): |
| (WebCore::SegmentedInputStorage::load): |
| (WebCore::SegmentedInputStorage::store): |
| (WebCore::SegmentedInputStorage::queueSize): |
| * replay/SegmentedInputStorage.h: Added. |
| |
| * replay/SerializationMethods.cpp: Added. |
| Specializations of EncodingTraits for WebCore types belong here. |
| |
| (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue): |
| (JSC::EncodingTraits<NondeterministicInputBase>::decodeValue): |
| (JSC::EncodingTraits<SecurityOrigin>::encodeValue): |
| (JSC::EncodingTraits<SecurityOrigin>::decodeValue): |
| (JSC::EncodingTraits<URL>::encodeValue): |
| (JSC::EncodingTraits<URL>::decodeValue): |
| * replay/SerializationMethods.h: Added. |
| * replay/WebInputs.json: Added. |
| In this inital patch, we define BeginSegmentSentinel, |
| EndSegmentSentinel, and InitialNavigation inputs. |
| |
| 2014-03-03 Antoine Quint <graouts@webkit.org> |
| |
| Respect SVG fragment identifiers in <img> src attribute |
| https://bugs.webkit.org/show_bug.cgi?id=129387 |
| |
| Reviewed by Dirk Schulze. |
| |
| Following Dirk Schulze's suggestion, we set the URL on the SVGImage itself and handle the URL's |
| fragment identifier at draw time in the SVGImage itself, which will provide a sounder base for |
| handling of fragment identifier in SVG resource URLs in CSS properties, and should also deal |
| with the crasher reported in http://webkit.org/b/129498 since there is a guaranteed Frame at the |
| time we call SVGImage::draw(). |
| |
| * svg/graphics/SVGImage.cpp: |
| (WebCore::SVGImage::draw): |
| * svg/graphics/SVGImage.h: |
| * svg/graphics/SVGImageForContainer.cpp: |
| * svg/graphics/SVGImageForContainer.h: |
| |
| 2014-03-03 Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> |
| |
| Move function calls outside loop in dom |
| https://bugs.webkit.org/show_bug.cgi?id=126525 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Store the result of length() in a local variable and use it in each iteration. |
| |
| * dom/DOMImplementation.cpp: |
| (WebCore::DOMImplementation::isXMLMIMEType): |
| * dom/ElementData.cpp: |
| (WebCore::UniqueElementData::UniqueElementData): |
| * dom/EventContext.cpp: |
| (WebCore::TouchEventContext::checkReachability): |
| |
| 2014-03-03 Tomas Popela <tpopela@redhat.com> |
| |
| [GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter |
| https://bugs.webkit.org/show_bug.cgi?id=129145 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| While generating GObject DOM API the generator should skip non pointer |
| types while generating the g_return_val_if_fail macro. |
| This will avoid the situation when Range.START_TO_START is defined as 0, |
| thus the webkit_dom_range_compare_boundary_points function will fail |
| everytime it is called with 0 as how value. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): |
| |
| 2014-03-03 Jozsef Berta <jberta.u-szeged@partner.samsung.com> |
| |
| [cmake] *Names.cpp file should be regenerated after touching StaticString.pm |
| https://bugs.webkit.org/show_bug.cgi?id=129031 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * CMakeLists.txt: Added make_names.pl dependencies: bindings/scripts/Hasher.pm and bindings/scripts/StaticString.pm |
| |
| 2014-03-03 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GTK] Multimedia controls captions icon needs its own metaphor |
| https://bugs.webkit.org/show_bug.cgi?id=129091 |
| |
| Reviewed by Martin Robinson. |
| |
| As we got the new icon created, we used it with a fallback to the |
| old icon to keep run-time compatibility. |
| |
| No new tests, current ones suffice. |
| |
| * platform/gtk/RenderThemeGtk.cpp: |
| (WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton): |
| Replicated RenderThemeGtk::paintMediaButton to check for the |
| necessary icon first and do the fallback to the old and stock |
| icons. |
| * platform/gtk/RenderThemeGtk2.cpp: |
| (WebCore::getStockIconForWidgetType): Added ASSERT for non-empty |
| icon name. |
| (WebCore::getStockSymbolicIconForWidgetType): Check for non empty |
| icon name before calling getStockIconForWidgetType. Fixed coding |
| style. |
| * platform/gtk/RenderThemeGtk3.cpp: |
| (WebCore::getStockIconForWidgetType): Added ASSERT for non-empty |
| icon name. |
| (WebCore::getStockSymbolicIconForWidgetType): Check for non empty |
| icon name before calling getStockIconForWidgetType. Fixed coding |
| style. |
| |
| 2014-03-02 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add a fallback path for compiling the remaining attribute checkers |
| https://bugs.webkit.org/show_bug.cgi?id=129580 |
| |
| Reviewed by Darin Adler. |
| |
| The remaining attribute checkers appear to be less common than the simple value match. |
| This patch adds them to SelectorCompiler for completeness but no attempt is made at optimizing them, |
| they all default to function calls. |
| |
| If the assumption that those selectors are not common turn out to be incorrect, we should see |
| the function calls in profiles and optimize them as needed. |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::attributeValueMatches): |
| If we get anything but attribute match here, something has gone horribly wrong. Update the code |
| to fail if that were to happen. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| Add the missing match type to the selector fragment. |
| |
| Begin, End, Contain cannot match an empty value per specification. We can test that at compile time |
| and fail immediately. See http://www.w3.org/TR/css3-selectors/#attribute-substrings |
| |
| List has the extra requirement that a value containing a space does not match anything. It also cannot |
| match with an empty string. See http://www.w3.org/TR/css3-selectors/#attribute-representation |
| |
| (WebCore::SelectorCompiler::attributeValueBeginsWith): |
| (WebCore::SelectorCompiler::attributeValueContains): |
| (WebCore::SelectorCompiler::attributeValueEndsWith): |
| (WebCore::SelectorCompiler::attributeValueMatchHyphenRule): |
| (WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains): |
| The slow fallbacks. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching): |
| A generic code generator making function call to match an attribute value. |
| |
| 2014-02-25 Andreas Kling <akling@apple.com> |
| |
| JSDOMWindow::commonVM() should return a reference. |
| <https://webkit.org/b/129293> |
| |
| Since this function always returns a VM and never null, make it |
| return a reference instead. There are more VM getters that never |
| return null, but I tried to keep the patch from snowballing. |
| |
| Reviewed by Geoff Garen. |
| |
| 2014-03-02 Timothy Hatcher <timothy@apple.com> |
| |
| Remove ASSERT in ~IDBRequest since it is firing during legitimate uses in Web Inspector. |
| |
| Adding the ASSERT back is tracked by https://webkit.org/b/129593. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=129328 |
| |
| Reviewed by Sam Weinig. |
| |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::~IDBRequest): |
| |
| 2014-03-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r164961. |
| http://trac.webkit.org/changeset/164961 |
| https://bugs.webkit.org/show_bug.cgi?id=129596 |
| |
| Caused many assertion failures (Requested by ap on #webkit). |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::attributeValueMatches): |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching): |
| |
| 2014-03-02 Darin Adler <darin@apple.com> |
| |
| Streamline use of TextIterator, cutting down includes and use of soon-to-be-deleted functions |
| https://bugs.webkit.org/show_bug.cgi?id=129592 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: Re-sorted this file. Not sure how it got unsorted. |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::stringForVisiblePositionRange): Call TextIterator::text |
| instead of TextIterator::length. Also removed unneeded special case for empty string |
| and exception code. |
| (WebCore::AccessibilityObject::lengthForVisiblePositionRange): Ditto. |
| |
| * accessibility/AccessibilityObject.h: Include TextIteratorBehavior.h instead of |
| TextIterator.h. |
| |
| * accessibility/AccessibilityRenderObject.cpp: Include TextIterator.h. |
| |
| * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: Removed unneeded |
| TextIterator.h include. |
| |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Call |
| TextIterator::text instead of TextIterator::length. |
| |
| * dom/Element.cpp: Include TextIterator.h. |
| |
| * dom/Node.cpp: Include Range.h. |
| |
| * dom/Position.cpp: |
| (WebCore::Position::isCandidate): Cast to RenderBlockFlow since that's what the |
| type check above does. Use a return statement instead of an else for better flow. |
| (WebCore::Position::leadingWhitespacePosition): Call |
| deprecatedIsCollapsibleWhitespace by its new name (newly deprecated). |
| (WebCore::Position::trailingWhitespacePosition): Ditto. |
| |
| * dom/Range.cpp: |
| (WebCore::Range::firstNode): Added a FIXME about code that clearly does not |
| belong. This is something we really need to fix. |
| |
| * editing/AlternativeTextController.cpp: Include TextIterator.h. |
| * editing/ApplyStyleCommand.cpp: Ditto. |
| |
| * editing/CompositeEditCommand.cpp: |
| (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Call |
| deprecatedIsCollapsibleWhitespace by its new name (newly deprecated). |
| |
| * editing/Editor.h: Include TextIteratorBehavior.h instead of TextIterator.h. |
| |
| * editing/HTMLInterchange.cpp: |
| (WebCore::convertHTMLTextToInterchangeFormat): Call |
| deprecatedIsCollapsibleWhitespace by its new name (newly deprecated). |
| |
| * editing/SpellingCorrectionCommand.cpp: Include TextIterator.h. |
| |
| * editing/TextIterator.h: Moved isCollapsibleWhitespace from here into |
| htmlediting.h and renamed it deprecatedIsCollapsibleWhitespace. |
| |
| * editing/TextIterator.cpp: Call |
| deprecatedIsCollapsibleWhitespace by its new name (newly deprecated). |
| |
| * editing/TypingCommand.cpp: Include TextIterator.h. |
| |
| * editing/VisibleUnits.cpp: |
| (WebCore::previousBoundary): Call TextIterator::text instead of |
| TextIterator::length. |
| (WebCore::nextBoundary): Ditto. |
| |
| * editing/htmlediting.cpp: Include TextIterator.h. |
| |
| * editing/htmlediting.h: Removed non-helpful section comments. |
| Added FIXME about isWhitespace. Added deprecatedIsCollapsibleWhitespace, |
| formerly not deprecated and in TextIterator.h. |
| |
| * editing/markup.cpp: Include TextIterator.h. |
| |
| * html/HTMLTextAreaElement.cpp: Include TextIterator.h. |
| |
| * page/ContextMenuController.cpp: |
| (WebCore::selectionContainsPossibleWord): Call TextIterator::text |
| instead of TextIterator::length and TextIterator::characterAt. |
| |
| * page/EventHandler.cpp: Sorted conditional includes alphabetically by condition. |
| |
| * platform/mac/HTMLConverter.mm: |
| (+[WebHTMLConverter editingAttributedStringFromRange:]): Call TextIterator::text |
| instead of TextIterator::length. |
| |
| 2014-03-02 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add a fallback path for compiling the remaining attribute checkers |
| https://bugs.webkit.org/show_bug.cgi?id=129580 |
| |
| Reviewed by Darin Adler. |
| |
| The remaining attribute checkers appear to be less common than the simple value match. |
| This patch adds them to SelectorCompiler for completeness but no attempt is made at optimizing them, |
| they all default to function calls. |
| |
| If the assumption that those selectors are not common turn out to be incorrect, we should see |
| the function calls in profiles and optimize them as needed. |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::attributeValueMatches): |
| If we get anything but attribute match here, something has gone horribly wrong. Update the code |
| to fail if that were to happen. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| Add the missing match type to the selector fragment. |
| |
| Begin, End, Contain cannot match an empty value per specification. We can test that at compile time |
| and fail immediately. See http://www.w3.org/TR/css3-selectors/#attribute-substrings |
| |
| List has the extra requirement that a value containing a space does not match anything. It also cannot |
| match with an empty string. See http://www.w3.org/TR/css3-selectors/#attribute-representation |
| |
| (WebCore::SelectorCompiler::attributeValueBeginsWith): |
| (WebCore::SelectorCompiler::attributeValueContains): |
| (WebCore::SelectorCompiler::attributeValueEndsWith): |
| (WebCore::SelectorCompiler::attributeValueMatchHyphenRule): |
| (WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains): |
| The slow fallbacks. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching): |
| A generic code generator making function call to match an attribute value. |
| |
| 2014-03-02 Darin Adler <darin@apple.com> |
| |
| Fix build for case-sensitive file systems. |
| |
| * platform/UserActivity.h: Runloop -> RunLoop. |
| |
| 2014-03-02 Gavin Barraclough <barraclough@apple.com> |
| |
| HysteresisTimer should use WebCore::Timer |
| https://bugs.webkit.org/show_bug.cgi?id=129587 |
| |
| Reviewed by Sam Weinig. |
| |
| * platform/HysteresisActivity.h: |
| (WebCore::HysteresisActivity::HysteresisActivity): |
| (WebCore::HysteresisActivity::hysteresisTimerFired): |
| - RunLoop::Timer -> WebCore::Timer. |
| * platform/UserActivity.h: |
| |
| 2014-03-02 Darin Adler <darin@apple.com> |
| |
| Split TextIteratorBehavior into a separate header |
| https://bugs.webkit.org/show_bug.cgi?id=129578 |
| |
| Reviewed by Sam Weinig. |
| |
| This is in preparation to greatly cut down on includes of TextIterator.h. |
| |
| * GNUmakefile.list.am: Added new header. |
| * WebCore.vcxproj/WebCore.vcxproj: Ditto. |
| * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| |
| * editing/FindOptions.h: Changed typedef to unsigned char; |
| there is no reason to store these in a 32-bit integer. |
| |
| * editing/TextIterator.h: Added include of TextIteratorBehavior.h |
| and moved comments about the meanings of flag bits to their definition. |
| |
| * editing/TextIteratorBehavior.h: Added. |
| |
| * WebCore.exp.in: Updated for type changes. |
| |
| 2014-03-02 Enrica Casucci <enrica@apple.com> |
| |
| [iOS WebKit2] Form controls handling |
| https://bugs.webkit.org/show_bug.cgi?id=129344 |
| <rdar://problem/16053643> |
| |
| Reviewed by Simon Fraser. |
| |
| Updates localizable strings and adds some exports. |
| |
| * English.lproj/Localizable.strings: |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-03-02 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS][WK2] Pages using tiled compositing layers allocate too many tiles on zoom |
| https://bugs.webkit.org/show_bug.cgi?id=129471 |
| |
| Reviewed by Simon Fraser. |
| |
| A few issues with TileController were causing sublayers of the root layers |
| to tile incorrect surfaces on zoom. |
| |
| First, the exposedRect API was not updating the sublayers. The layers go correctly |
| into tiling mode, but the tiles cover the full document instead of the visible area. |
| |
| The other major issue was the margins being applied to the coverage size in document |
| coordinates. Since each margin is 512px, the total coverage size after zoom was |
| gigantic. |
| |
| To solve this, this patch switch from the exposedRect API to the generic concept |
| of VisibleExtentContentRect introduced for iOS WebKit1. |
| |
| * WebCore.exp.in: |
| * platform/ScrollView.h: |
| Define a VisibleExtentContentRect on the scrollview itself when there is no |
| platformWidget(). |
| The case with inside frame is untested due to stability issues :(. |
| (see <rdar://problem/16199219>) |
| |
| * platform/graphics/ca/mac/TileController.mm: |
| (WebCore::TileController::computeTileCoverageRect): |
| Remove the margin from the tile coverage. |
| |
| On iOS, m_tileCoverage is always zero at the moment. Previously, the tile coverage |
| was artificially extended by the margins. With the margins removed, I temporarily added |
| a factor of 1.5. |
| ViewUpdateDispatcher has all the information to compute a great tile coverage, I will need |
| a follow up patch to fix that. |
| |
| * platform/ios/ScrollViewIOS.mm: |
| (WebCore::ScrollView::visibleExtentContentRect): |
| (WebCore::ScrollView::setVisibleExtentContentRect): |
| |
| 2014-03-02 Darin Adler <darin@apple.com> |
| |
| Sort Mac platform export files so they merge better |
| https://bugs.webkit.org/show_bug.cgi?id=129581 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: Ran the new sort-export-file on this. |
| |
| 2014-03-02 Dean Jackson <dino@apple.com> |
| |
| Add protected casting to FilterOperation classes. |
| https://bugs.webkit.org/show_bug.cgi?id=124062 |
| |
| Reviewed by Sam Weinig. |
| |
| Use the type cast macro generators to produce some toFilterOperation-style |
| functions, and then use them in our PlatformCA filter code. |
| |
| Test: css3/filters/animation-from-initial-values-with-color-matrix.html |
| |
| * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Use the toFilterOperation methods, in |
| some cases removing the unnecessary double cast. |
| (PlatformCAFilters::filterValueForOperation): |
| (PlatformCAFilters::colorMatrixValueForFilter): |
| * platform/graphics/filters/FilterOperation.cpp: |
| (WebCore::BasicColorMatrixFilterOperation::blend): |
| (WebCore::BasicColorMatrixFilterOperation::operator==): Move this to the .cpp file so it can use the casting methods. |
| (WebCore::BasicComponentTransferFilterOperation::blend): |
| (WebCore::BasicComponentTransferFilterOperation::operator==): Ditto. |
| * platform/graphics/filters/FilterOperation.h: Add the casting macros. |
| |
| 2014-03-02 Yoav Weiss <yoav@yoav.ws> |
| |
| Fix srcset related bugs |
| https://bugs.webkit.org/show_bug.cgi?id=129539 |
| |
| Fixed a bug reported against Blink's srcset implementation at https://code.google.com/p/chromium/issues/detail?id=347998 |
| When both src and srcset had only 1x descriptors and the DPR was higher than 1, the src's resource was picked. |
| |
| Also fixed the invalid descriptor handling, which wasn't aligned with the spec, and therefore was not as forward compatible as it should be. |
| Invalid descriptors caused the entire resource to be ignored, rather than just the descriptors themselves. |
| |
| Reviewed by Andreas Kling. |
| |
| Tests: fast/hidpi/image-srcset-invalid-descriptor.html |
| fast/hidpi/image-srcset-src-selection-1x-both.html |
| |
| * html/parser/HTMLParserIdioms.cpp: |
| (WebCore::parseDescriptors): |
| (WebCore::parseImagesWithScaleFromSrcsetAttribute): |
| (WebCore::bestFitSourceForImageAttributes): |
| |
| 2014-03-01 Gavin Barraclough <barraclough@apple.com> |
| |
| Split UserActivity, simplify PageThrottler |
| https://bugs.webkit.org/show_bug.cgi?id=129551 |
| |
| Reviewed by Darin Adler. |
| |
| The class UserActivity currently implements two things – a hysteresis mechanism, and |
| an abstraction of NSActivity controlled by that mechanism. PageThrottler implements |
| its own hysteresis mechanism, which directly controls DOM timer throttling and also |
| controls a couple of UserActivities, giving a total of 3 separate hysteresis mechanisms, |
| layered two deep. |
| |
| Split UserActivity into three, with HysteresisActivity implementing an abstract hysteresis |
| mechanism, UserActivity::Impl controlling the NSActivity, and then UserActivity combining |
| these two back together. The interface to UserActivity is unchanged. |
| |
| Remove PageThrottler's bespoke hysteresis, replacing it with a use of HysteresisActivity. |
| Replace the two UserActivities with a single UserActivity::Impl, so there are no longer |
| layered hysteresis mechanisms. |
| |
| * WebCore.exp.in: |
| - exports changed. |
| * WebCore.xcodeproj/project.pbxproj: |
| - added HysteresisActivity.h. |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - if the page starts visible, begin activity. If it starts hidden throttle DOM timers. |
| (WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged): |
| - when the DOM timer throttling setting changes, make sure we update. |
| (WebCore::PageThrottler::incrementActivityCount): |
| (WebCore::PageThrottler::decrementActivityCount): |
| - when m_activityCount changes update the hysteresis state. |
| (WebCore::PageThrottler::updateHysteresis): |
| (WebCore::PageThrottler::setViewState): |
| - when IsVisuallyIdle changes update the hysteresis state. |
| (WebCore::PageThrottler::started): |
| (WebCore::PageThrottler::stopped): |
| - callbacks from HysteresisActivity, these control m_activity and DOM timer throttling. |
| * page/PageThrottler.h: |
| (WebCore::PageThrottler::didReceiveUserInput): |
| (WebCore::PageThrottler::pluginDidEvaluate): |
| - call impulse to temporarily enable the activity. |
| * platform/HysteresisActivity.h: Copied from Source/WebCore/platform/UserActivity.h. |
| (WebCore::HysteresisActivity::HysteresisActivity): |
| - constructor takes a delegate optionally a timeout. |
| (WebCore::HysteresisActivity::start): |
| - start activity immediately. If stopped, call started method on delegate. If in timeout period, cancel the timer. |
| (WebCore::HysteresisActivity::stop): |
| - stop activity after hysteresis. If started, initiate timeout period. |
| (WebCore::HysteresisActivity::impulse): |
| - ensure activity for at least the timeout period. |
| (WebCore::HysteresisActivity::hysteresisTimerFired): |
| - delayed stop - when the timer fires call stopped on the delegate. |
| * platform/UserActivity.cpp: |
| (WebCore::UserActivity::Impl::Impl): |
| (WebCore::UserActivity::Impl::beginActivity): |
| (WebCore::UserActivity::Impl::endActivity): |
| - nop implementation. |
| (WebCore::UserActivity::UserActivity): |
| - UserActivity maintains existing interface with hysteresis. |
| (WebCore::UserActivity::started): |
| (WebCore::UserActivity::stopped): |
| - callbacks from HysteresisTimer; forward to Impl. |
| * platform/UserActivity.h: |
| * platform/mac/UserActivityMac.mm: |
| (WebCore::UserActivity::Impl::Impl): |
| - UserActivity::Impl, abstraction for NSActivity without added hysteresis. |
| (WebCore::UserActivity::Impl::beginActivity): |
| - allocate NSActivity. |
| (WebCore::UserActivity::Impl::endActivity): |
| - release NSActivity. |
| |
| 2014-03-02 Brian Burg <bburg@apple.com> |
| |
| DocumentLoader should keep maps of ResourceLoaders instead of sets |
| https://bugs.webkit.org/show_bug.cgi?id=129388 |
| |
| Reviewed by Darin Adler. |
| |
| For web replay, we need to be able to pull a ResourceLoader instance by |
| identifier from the DocumentLoader. This is easy to do if we convert |
| ResourceLoaderSet to ResourceLoaderMap, keyed by the loader's identifier. |
| |
| Added assertions whenever adding or removing from the map to ensure |
| that we don't try to add duplicates or resources with zero identifiers. |
| |
| No new tests required. No functionality was added. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::cancelAll): |
| (WebCore::setAllDefersLoading): |
| (WebCore::areAllLoadersPageCacheAcceptable): |
| (WebCore::DocumentLoader::addSubresourceLoader): |
| (WebCore::DocumentLoader::removeSubresourceLoader): |
| (WebCore::DocumentLoader::addPlugInStreamLoader): |
| (WebCore::DocumentLoader::removePlugInStreamLoader): |
| (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart): |
| * loader/DocumentLoader.h: |
| * loader/NetscapePlugInStreamLoader.cpp: |
| (WebCore::NetscapePlugInStreamLoader::create): Only add the loader |
| to the document loader's map if it initialized successfully. |
| The old code was probably leaking resource loaders that failed to |
| initialize. |
| |
| * loader/mac/DocumentLoaderMac.cpp: |
| (WebCore::scheduleAll): |
| (WebCore::unscheduleAll): |
| |
| 2014-03-02 Dirkjan Ochtman <d.ochtman@activevideo.com> |
| |
| Support ENABLE_ENCRYPTED_MEDIA in cmake builds |
| https://bugs.webkit.org/show_bug.cgi?id=129575 |
| |
| Reviewed by Philippe Normand. |
| |
| No new tests, only fixes the build. |
| |
| * CMakeLists.txt: |
| Add support for ENABLE_ENCRYPTED_MEDIA. |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::close): |
| Assign nullptr instead of 0 to OwnPtr to appease gcc-4.7. |
| |
| 2014-03-01 Tim Horton <timothy_horton@apple.com> |
| |
| WebKit2 View Gestures (Smart Magnification): Support for iOS |
| https://bugs.webkit.org/show_bug.cgi?id=129146 |
| <rdar://problem/16032668> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * WebCore.exp.in: |
| Add an export. |
| |
| 2014-03-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r164929 and r164934. |
| http://trac.webkit.org/changeset/164929 |
| http://trac.webkit.org/changeset/164934 |
| https://bugs.webkit.org/show_bug.cgi?id=129570 |
| |
| Caused assertions on two srcset tests (Requested by ap on |
| #webkit). |
| |
| * html/parser/HTMLParserIdioms.cpp: |
| (WebCore::isHTMLSpaceOrComma): |
| (WebCore::parseImagesWithScaleFromSrcsetAttribute): |
| (WebCore::bestFitSourceForImageAttributes): |
| |
| 2014-03-01 Dan Bernstein <mitz@apple.com> |
| |
| Build fix. |
| |
| * html/parser/HTMLParserIdioms.cpp: Removed an unused function. |
| |
| 2014-03-01 David Kilzer <ddkilzer@apple.com> |
| |
| Ensure keySplines is valid in SMIL animations |
| <http://webkit.org/b/129547> |
| <rdar://problem/15676128> |
| |
| Reviewed by Darin Adler. |
| |
| Merged from Blink (patch by Philip Rogers): |
| https://src.chromium.org/viewvc/blink?revision=156452&view=revision |
| http://crbug.com/276111 |
| |
| This patch fixes a crash in SMIL animations when keySplines are not |
| specified. The SMIL spec is clear on this: |
| http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncCalcMode |
| "If there are any errors in the keyTimes specification (bad values, |
| too many or too few values), the animation will have no effect." |
| |
| This patch simply checks that keyTimes is not empty. Previously, |
| splinesCount was set to be m_keySplines.size() + 1 in |
| SVGAnimationElement.cpp; this patch changes splinesCount to be equal |
| to m_keySplines.size() to make the logic easier to follow and to |
| match other checks in SVGAnimationElement::startedActiveInterval. |
| |
| Test: svg/animations/animate-keysplines-crash.html |
| |
| * svg/SVGAnimationElement.cpp: |
| (WebCore::SVGAnimationElement::startedActiveInterval): |
| |
| 2014-03-01 Benjamin Poulain <benjamin@webkit.org> |
| |
| Tighten minimumRegisterRequirements() |
| https://bugs.webkit.org/show_bug.cgi?id=129538 |
| |
| Reviewed by Andreas Kling. |
| |
| Fix small things that made minimumRegisterRequirements() a little optimistic |
| when dealing with attributes. |
| |
| Test: fast/selectors/adjacent-descendant-tail-register-requirement.html |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| Attribute Set does not do value matching, the case sensitive value matching is irrelevant |
| The problem is that flag is also used by minimumRegisterRequirements() |
| to find if one more register is needed. |
| |
| Set the flag to case sensitive to avoid reserving one extra register. |
| |
| (WebCore::SelectorCompiler::minimumRegisterRequirements): |
| Use a new backtrackingFlag to know if there is a descendant tail, thus a backtracking register |
| reserved. |
| This is better than using the backtracking action because the backtracking chain could be |
| an adjacent chain inside a descendant chain. |
| |
| The flags are designed for that, just set one for minimumRegisterRequirements(). |
| |
| The 2 extra registers for the attribute count and address become limited to all attributes |
| except the last one. We don't keep a copy for the last matching, those registers were not needed. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation): |
| |
| 2014-03-01 Pratik Solanki <psolanki@apple.com> |
| |
| [iOS] selectionImageForcingBlackText should return autoreleased object |
| https://bugs.webkit.org/show_bug.cgi?id=129437 |
| <rdar://problem/15810384> |
| |
| Reviewed by Darin Adler. |
| |
| * bindings/objc/DOM.mm: |
| (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]): |
| |
| 2014-03-01 Yoav Weiss <yoav@yoav.ws> |
| |
| Fix srcset related bugs |
| https://bugs.webkit.org/show_bug.cgi?id=129539 |
| |
| Fixed a bug reported against Blink's srcset implementation at https://code.google.com/p/chromium/issues/detail?id=347998 |
| When both src and srcset had only 1x descriptors and the DPR was higher than 1, the src's resource was picked. |
| |
| Also fixed the invalid descriptor handling, which wasn't aligned with the spec, and therefore was not as forward compatible as it should be. |
| Invalid descriptors caused the entire resource to be ignored, rather than just the descriptors themselves. |
| |
| Reviewed by Andreas Kling. |
| |
| Tests: fast/hidpi/image-srcset-invalid-descriptor.html |
| fast/hidpi/image-srcset-src-selection-1x-both.html |
| |
| * html/parser/HTMLParserIdioms.cpp: |
| (WebCore::parseDescriptors): |
| (WebCore::parseImagesWithScaleFromSrcsetAttribute): |
| (WebCore::bestFitSourceForImageAttributes): |
| |
| 2014-03-01 Darin Adler <darin@apple.com> |
| |
| Improve "bad parent" and "bad child list" assertions in line boxes |
| https://bugs.webkit.org/show_bug.cgi?id=125656 |
| |
| Reviewed by Sam Weinig. |
| |
| My previous fix for this problem was incomplete. This continuation of that fix addresses |
| the flaw in the original and adds additional lifetime checking so problems can be seen in |
| debug builds without a memory debugger. |
| |
| * rendering/InlineBox.cpp: |
| (WebCore::InlineBox::assertNotDeleted): Added. Poor man's memory debugging helper. |
| (WebCore::InlineBox::~InlineBox): Refactored body into a new function named |
| invalidateParentChildList. Added code to update the deletion sentinel to record |
| that this object is deleted. |
| (WebCore::InlineBox::setHasBadParent): Moved here from header since this debug-only |
| feature does not need to be inlined. Added a call to assertNotDeleted. |
| (WebCore::InlineBox::invalidateParentChildList): Added. Refactored from the destructor, |
| this is used by RenderTextLineBoxes. |
| |
| * rendering/InlineBox.h: Added the deletion sentinel, and called it in the parent |
| function. Also changed the expansion/setExpansion functions to use the type name "int", |
| since we don't use the type name "signed" in the WebKit coding style. |
| |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::~InlineFlowBox): Call setHasBadChildList rather than doing the |
| setHasBadParent work on children directly, to avoid code duplication. |
| (WebCore::InlineFlowBox::setHasBadChildList): Moved here from header. Added code to set |
| "has bad parent" on all children, something we previously did only on destruction. Also |
| added assertNotDeleted. |
| (WebCore::InlineFlowBox::checkConsistency): Added call to assertNotDeleted. Also tweaked |
| code style and variable names a little bit. |
| |
| * rendering/InlineFlowBox.h: Moved setHasBadChildList out of the header when it's on. |
| The empty version for ASSERT_WITH_SECURITY_IMPLICATION_DISABLED is still in the header. |
| |
| * rendering/RenderTextLineBoxes.cpp: |
| (WebCore::RenderTextLineBoxes::invalidateParentChildLists): Call the new |
| InlineBox::invalidateParentChildList function instead of calling setHasBadChildList directly. |
| The new function checks m_hasBadParent, something we couldn't do here. |
| |
| 2014-03-01 Benjamin Poulain <benjamin@webkit.org> |
| |
| Optimized querySelector(All) when selector contains #id |
| https://bugs.webkit.org/show_bug.cgi?id=116502 |
| |
| Reviewed by Andreas Kling. |
| |
| Test: fast/selectors/querySelector-id-filtering.html |
| |
| The idea of this patch is to perform querySelector on a subtree |
| rooted at the last element with #id matching. For example, if we have the selector |
| "#foobar div a", we start by looking for the element with ID foobar in the TreeScope |
| cache, and start matching the children from there. |
| |
| The idea comes from Rune for |
| https://chromium.googlesource.com/chromium/blink/+/1cd83d3588973a02ab15d94b1b05a28620853624 |
| but the code as diverged too much so it had to be reimplemented specifically for WebKit. |
| |
| * css/CSSSelectorList.cpp: |
| (WebCore::CSSSelectorList::CSSSelectorList): |
| (WebCore::CSSSelectorList::operator=): |
| * css/CSSSelectorList.h: |
| (WebCore::CSSSelectorList::~CSSSelectorList): |
| * css/StyleRule.h: |
| (WebCore::StyleRule::wrapperAdoptSelectorList): |
| (WebCore::StyleRulePage::wrapperAdoptSelectorList): |
| * dom/SelectorQuery.cpp: |
| (WebCore::isSingleTagNameSelector): |
| (WebCore::isSingleClassNameSelector): |
| (WebCore::findIdMatchingType): |
| (WebCore::SelectorDataList::SelectorDataList): |
| (WebCore::filterRootById): |
| (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker): |
| (WebCore::SelectorDataList::execute): |
| (WebCore::SelectorQuery::SelectorQuery): |
| (WebCore::SelectorQueryCache::add): |
| * dom/SelectorQuery.h: |
| (WebCore::SelectorDataList::SelectorData::SelectorData): |
| |
| 2014-02-28 Alexey Proskuryakov <ap@apple.com> |
| |
| Node::compareDocumentPosition leaks memory structure |
| https://bugs.webkit.org/show_bug.cgi?id=120244 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * dom/Node.cpp: (WebCore::Node::compareDocumentPosition): Don't do it. |
| |
| 2014-03-01 David Kilzer <ddkilzer@apple.com> |
| |
| Fix lifetime handling of SVGPropertyTearOffs |
| <http://webkit.org/b/129211> |
| <rdar://problem/15696025> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| Merged from Blink (patch by Ojan Vafai): |
| https://src.chromium.org/viewvc/blink?revision=157801&view=revision |
| http://crbug.com/288771 |
| |
| -Replace SVGStaticPropertyWithParentTearOff with SVGMatrixTearOff |
| since it's only used in that one place. This means we can get rid |
| of the templatizing and the method pointer. |
| -Change SVGPropertyTearOff to keep track of it's child tearoffs |
| and call detachWrapper on its child tearoffs when it's destroyed |
| or when it's wrapper is detached. |
| -Have SVGPropertyTearOff hold WeakPtrs to the child tearoffs |
| to avoid having a cycle. |
| |
| Test: svg/transforms/svg-matrix-tearoff-crash.html |
| |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (NativeToJSValue): |
| * svg/properties/SVGMatrixTearOff.h: Renamed from Source/WebCore/svg/properties/SVGStaticPropertyWithParentTearOff.h. |
| (WebCore::SVGMatrixTearOff::create): |
| (WebCore::SVGMatrixTearOff::commitChange): |
| (WebCore::SVGMatrixTearOff::SVGMatrixTearOff): |
| * svg/properties/SVGPropertyTearOff.h: |
| (WebCore::SVGPropertyTearOff::addChild): |
| (WebCore::SVGPropertyTearOff::detachChildren): |
| |
| 2014-03-01 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed build fix after r164913. |
| |
| * platform/CountedUserActivity.h: Some ports don't (yet) support forwarding headers for WebCore, |
| so UserActivity.h should be included as non-forwarding. |
| |
| 2014-03-01 Gavin Barraclough <barraclough@apple.com> |
| |
| Change PageActivityAssertionToken to use a WeakPtr |
| https://bugs.webkit.org/show_bug.cgi?id=129526 |
| |
| Reviewed by Sam Weinig. |
| |
| PageThrottler effectively implements a bespoke weak pointer mechanism; remove this & just use WeakPtr. |
| |
| * page/PageActivityAssertionToken.cpp: |
| (WebCore::PageActivityAssertionToken::PageActivityAssertionToken): |
| (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken): |
| - addActivityToken->incrementActivityCount, removeActivityToken->decrementActivityCount |
| * page/PageActivityAssertionToken.h: |
| - removed invalidate, made m_throttler a WeakPtr |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| - initialize m_weakPtrFactory, m_activityCount. |
| (WebCore::PageThrottler::~PageThrottler): |
| - removed called to invalidate. |
| (WebCore::PageThrottler::startThrottleHysteresisTimer): |
| - m_activityTokens.size()->m_activityCount |
| (WebCore::PageThrottler::throttleHysteresisTimerFired): |
| - m_activityTokens.size()->m_activityCount |
| (WebCore::PageThrottler::incrementActivityCount): |
| - m_activityTokens.add->++ |
| (WebCore::PageThrottler::decrementActivityCount): |
| - m_activityTokens.remove->-- |
| * page/PageThrottler.h: |
| (WebCore::PageThrottler::weakPtr): |
| - replaced HashSet with WeakPtrFactory & count. |
| |
| 2014-03-01 Gavin Barraclough <barraclough@apple.com> |
| |
| Split UserActivity/CountedUserActivity |
| https://bugs.webkit.org/show_bug.cgi?id=129520 |
| |
| Reviewed by Sam Weinig. |
| |
| UserActivity currently provides an interface allowing counted, nested calls to enable/disable. |
| In some cases it would be easier to use if it were a simpler boolean enabled/disabled interface. |
| |
| * WebCore.exp.in: |
| - beginActivity->start, endActivity->stop. |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/PageThrottler.cpp: |
| (WebCore::PageThrottler::PageThrottler): |
| (WebCore::PageThrottler::~PageThrottler): |
| (WebCore::PageThrottler::throttlePage): |
| (WebCore::PageThrottler::unthrottlePage): |
| (WebCore::PageThrottler::setIsVisuallyIdle): |
| - beginActivity->increment, endActivity->decrement. |
| * page/PageThrottler.h: |
| - UserActivity->CountedUserActivity for m_pageActivity |
| * platform/CountedUserActivity.h: Copied from Source/WebCore/platform/UserActivity.h. |
| (WebCore::CountedUserActivity::CountedUserActivity): |
| (WebCore::CountedUserActivity::increment): |
| (WebCore::CountedUserActivity::decrement): |
| - Added, provides counted interface to UserActivity. |
| * platform/UserActivity.cpp: |
| (WebCore::UserActivity::UserActivity): |
| - m_count removed |
| (WebCore::UserActivity::start): |
| (WebCore::UserActivity::stop): |
| - beginActivity->start, endActivity->stop, implentation now empty. |
| * platform/UserActivity.h: |
| - beginActivity->start, endActivity->stop, m_count moved to HAVE(NS_ACTIVITY) |
| * platform/mac/UserActivityMac.mm: |
| (WebCore::UserActivity::UserActivity): |
| - m_count->m_started |
| (WebCore::UserActivity::isValid): |
| - m_count->m_started |
| (WebCore::UserActivity::start): |
| (WebCore::UserActivity::stop): |
| - beginActivity->start, endActivity->stop, no longer nest |
| |
| |
| 2014-02-28 Benjamin Poulain <benjamin@webkit.org> |
| |
| Caller saved registers can be accidentally discarded when clearing the local stack |
| https://bugs.webkit.org/show_bug.cgi?id=129532 |
| |
| Reviewed by Andreas Kling. |
| |
| Tests: fast/selectors/tree-modifying-case-insensitive-selectors.html |
| fast/selectors/tree-modifying-selectors.html |
| |
| StackAllocator::discard() no longer make sense now that we can use caller saved regsiter. |
| We should instead discard everything up to the beginning of the local stack. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): |
| * cssjit/StackAllocator.h: |
| (WebCore::StackAllocator::popAndDiscardUpTo): |
| |
| 2014-02-28 Andy Estes <aestes@apple.com> |
| |
| [iOS] FrameLoader has a NULL m_progressTracker when initialized with initForSynthesizedDocument() |
| https://bugs.webkit.org/show_bug.cgi?id=129534 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because TestWebKitAPI does not yet support iOS. See <http://webkit.org/b/129535>. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::initForSynthesizedDocument): Create a FrameProgressTracker. |
| |
| 2014-02-28 Sam Weinig <sam@webkit.org> |
| |
| ASSERT(isMainThread()) hit under platformUserPreferredLanguages() with WebKit1 and WebKit2 in the same process |
| https://bugs.webkit.org/show_bug.cgi?id=129528 |
| |
| Reviewed by Andreas Kling. |
| |
| * platform/mac/Language.mm: |
| (WebCore::preferredLanguagesMutex): |
| (WebCore::preferredLanguages): |
| (+[WebLanguageChangeObserver languagePreferencesDidChange:]): |
| (WebCore::httpStyleLanguageCode): |
| (WebCore::platformUserPreferredLanguages): |
| Add a mutex and do an isolated copy of the strings to allow this function to be called from multiple threads. |
| |
| 2014-02-28 Dean Jackson <dino@apple.com> |
| |
| Crash at ebay.com when viewing auction items at com.apple.WebCore: WebCore::GraphicsContext3D::getExtensions + 10 |
| https://bugs.webkit.org/show_bug.cgi?id=129523 |
| |
| Reviewed by Simon Fraser. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): Early return if the |
| context is pending policy resolution. |
| |
| 2014-02-28 Andreas Kling <akling@apple.com> |
| |
| Micro-optimize JSNodeOwner::isReachableFromOpaqueRoots(). |
| <https://webkit.org/b/129518> |
| |
| Only do image and audio element specific checks for element nodes. |
| Time spent in here goes from 0.8% to 0.5% on DYEB. |
| |
| Reviewed by Benjamin Poulain. |
| |
| * bindings/js/JSNodeCustom.cpp: |
| (WebCore::isReachableFromDOM): |
| |
| 2014-02-28 Geoffrey Garen <ggaren@apple.com> |
| |
| JSC Assertion failure every time I start Safari (r164846) |
| https://bugs.webkit.org/show_bug.cgi?id=129510 |
| |
| Reviewed by Mark Hahnenberg. |
| |
| Take the lock before allocating objects because afterward is too late. |
| |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::evaluateInWorld): |
| (WebCore::ScriptController::windowScriptNPObject): |
| (WebCore::ScriptController::jsObjectForPluginElement): |
| |
| 2014-02-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ASSERT in WebCore::JSDOMWindowBase::supportsRichSourceInfo inspecting iOS |
| https://bugs.webkit.org/show_bug.cgi?id=129512 |
| |
| Reviewed by Simon Fraser. |
| |
| * page/PageDebuggable.cpp: |
| (WebCore::PageDebuggable::connect): |
| (WebCore::PageDebuggable::disconnect): |
| |
| 2014-02-28 Anders Carlsson <andersca@apple.com> |
| |
| VisitedLinkStore should be able to invalidate link styles for associated pages |
| https://bugs.webkit.org/show_bug.cgi?id=129515 |
| |
| Reviewed by Dan Bernstein. |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| Add the VisitedLinkStore if we have one. |
| |
| (WebCore::Page::~Page): |
| Remove the VisitedLinkStore if we have one. |
| |
| * page/VisitedLinkStore.cpp: |
| (WebCore::VisitedLinkStore::~VisitedLinkStore): |
| Assert that we don't have any pages. |
| |
| (WebCore::VisitedLinkStore::addPage): |
| Add the page to the set. |
| |
| (WebCore::VisitedLinkStore::removePage): |
| Remove the page from the set. |
| |
| (WebCore::VisitedLinkStore::invalidateStylesForAllLinks): |
| Traverse all the pages and invalidate the style for all links. |
| |
| (WebCore::VisitedLinkStore::invalidateStylesForLink): |
| Traverse all the pages and invalidate the style for a given link. |
| |
| * page/VisitedLinkStore.h: |
| Add new members. |
| |
| 2014-02-28 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS][WK2] highlight rects should never big bigger than the view |
| https://bugs.webkit.org/show_bug.cgi?id=129472 |
| |
| Reviewed by Enrica Casucci. |
| |
| * WebCore.exp.in: |
| |
| 2014-02-28 Beth Dakin <bdakin@apple.com> |
| |
| Turn off margin tiles on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=129509 |
| -and corresponding- |
| <rdar://problem/16200383> |
| |
| Reviewed by Simon Fraser. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::needsExtendedBackgroundRectForPainting): |
| |
| 2014-02-28 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Add subpixel support to border type of double, groove, ridge, inset and outset. |
| https://bugs.webkit.org/show_bug.cgi?id=129226 |
| |
| Reviewed by Simon Fraser. |
| |
| This is the conversion of double, inset, outset, groove and ridge border type |
| painting to support device pixel precision width/height. |
| |
| Regression is covered by existing tests. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::drawLineForBoxSide): |
| * rendering/RenderObject.h: |
| |
| 2014-02-28 Adenilson Cavalcanti <cavalcantii@gmail.com> |
| |
| Filters should test for area instead of single dimension |
| https://bugs.webkit.org/show_bug.cgi?id=123716 |
| |
| Reviewed by Dirk Schulze. |
| |
| A filtered SVG element with a sigle dimension bigger than 5000 |
| (counting the margin/border) will fail to render. So an element |
| with 4000x4000 will render fine, while another with 5000x10 |
| won't. This patch instead tests against the total element area, |
| which fixes such cases. |
| |
| It also fixes some layer violations where FilterEffectRenderer and |
| RenderSVGResourceFilter were directly accessing the maximum filter |
| size in FilterEffect. Since before a somewhat bigger filter would |
| be aborted, it required to change the maximum kernel size |
| for blur filter (some filters are slower to run than others for |
| bigger SVGs). |
| |
| Tests: svg/filters/big-height-filter-expected.svg |
| svg/filters/big-height-filter.svg |
| svg/filters/big-width-filter-expected.svg |
| svg/filters/big-width-filter.svg |
| |
| * platform/graphics/filters/FEGaussianBlur.cpp: |
| * platform/graphics/filters/FilterEffect.cpp: |
| (WebCore::FilterEffect::maxFilterArea): New function, returns the |
| maximum allowed element area (currently is 4096 x 4096). |
| (WebCore::FilterEffect::isFilterSizeValid): Now it tests for |
| element area instead of a single dimension. This code is reused by |
| FilterEffectRenderer. |
| * platform/graphics/filters/FilterEffect.h: |
| * rendering/FilterEffectRenderer.cpp: |
| (WebCore::FilterEffectRenderer::updateBackingStoreRect): Uses the |
| new function in FilterEffect to test for valid sizes. |
| (WebCore::FilterEffectRendererHelper::beginFilterEffect): Same case. |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): Test |
| for maximum area and properly changes the scale of transformed |
| element to fit. |
| |
| 2014-02-28 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac, iOS] Incorrect ordering of construction arguments for out-of-band text elements |
| https://bugs.webkit.org/show_bug.cgi?id=129501 |
| <rdar://problem/16198587> |
| |
| Reviewed by Eric Carlson. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): Correct order of arguments |
| to PlatformTextTrack. |
| |
| 2014-02-28 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| Properly clear m_logicallyLastRun to remove use-after-free possibility |
| https://bugs.webkit.org/show_bug.cgi?id=129489 |
| |
| Reviewed by David Hyatt. |
| |
| A use-after-free issue was caught in Blink because m_logicallyLastRun |
| is not cleared when the item it points to is deleted. Clearing it |
| turns the use-after-free into a segfault, and prevents any future |
| use-after-frees from happening. |
| |
| * platform/text/BidiRunList.h: |
| (WebCore::BidiRunList<Run>::deleteRuns): |
| |
| 2014-02-28 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Disambiguate calls to [[window contentView] layer] and [... setLayer:] |
| https://bugs.webkit.org/show_bug.cgi?id=129491 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| -[NSWindow contentView] returns a bare id, leading to ambiguity when calling |
| certain methods, including -layer and -setLayer:. Resolve the ambiguity by |
| explicitly casting the -contentView call to a NSView*. |
| |
| * platform/mac/WebVideoFullscreenController.mm: |
| (-[WebVideoFullscreenController setupVideoOverlay:]): |
| (-[WebVideoFullscreenController windowDidLoad]): |
| (-[WebVideoFullscreenController windowDidExitFullscreen]): |
| |
| 2014-02-28 Andreas Kling <akling@apple.com> |
| |
| MouseEvent.offsetX/Y should just return 0,0 for simulated clicks. |
| <https://webkit.org/b/129477> |
| |
| There's no need to compute the exact target-relative coordinates for |
| simulated mouse events, e.g those fired by HTMLElement.click(). |
| |
| The offsetX/Y properties are not supported by Firefox. |
| |
| Test: fast/events/relative-offset-of-simulated-click.html |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * dom/MouseRelatedEvent.cpp: |
| (WebCore::MouseRelatedEvent::offsetX): |
| (WebCore::MouseRelatedEvent::offsetY): |
| |
| 2014-02-27 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Fix positioning grid items using named grid lines/areas |
| https://bugs.webkit.org/show_bug.cgi?id=129372 |
| |
| Reviewed by Darin Adler. |
| |
| Our code was assuming that a <custom-ident> in |
| -webkit-grid-{column|row}-{start|end} and |
| -webkit-grid-{column|row} was always a grid area name. That's |
| wrong because the <custom-ident> could be also a explicitly named |
| grid line or the an implicitly named grid line created by a grid |
| area definition. |
| |
| The style resolution code was not correct either. This patch fixes |
| it so it now matches the spec, which means that: |
| - first we try to match any existing grid area. |
| - then if there is a named grid line with the name |
| <custom-ident>-{start|end} for -webkit-grid-{column|row}-{start|end} |
| defined before the grid area then we use it instead of the grid |
| area. |
| - otherwise if there is a named grid line we resolve to the first such line. |
| - otherwise we treat it as 'auto'. |
| |
| Fixing this uncovered a bug in GridPosition, we were not using the |
| name of the stored grid area to check if two GridPositions were |
| the same. |
| |
| Tests: fast/css-grid-layout/grid-item-position-changed-dynamic.html |
| fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::gridLineDefinedBeforeGridArea): New function to check if |
| a given named grid line was defined before an implicit named grid |
| line created by a grid area definition. |
| (WebCore::StyleResolver::adjustNamedGridItemPosition): New |
| function that adjusts the position of a GridPosition parsed as a |
| grid area. |
| (WebCore::StyleResolver::adjustGridItemPosition): Use the new |
| function adjustNamedGridItemPosition to adjust the positions of |
| named grid lines. |
| * css/StyleResolver.h: |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle): Use GridPosition:: namespace. |
| (WebCore::RenderGrid::resolveGridPositionFromStyle): Ditto. |
| (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto. |
| * rendering/RenderGrid.h: |
| * rendering/style/GridPosition.h: |
| (WebCore::GridPosition::adjustGridPositionForRowEndColumnEndSide): Moved from RenderGrid.cpp. |
| (WebCore::GridPosition::adjustGridPositionForSide): Ditto. |
| (WebCore::GridPosition::operator==): Use the named grid line to check equality. |
| |
| 2014-02-28 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Update line segments for ShapeInside only if the new line is wide enough |
| https://bugs.webkit.org/show_bug.cgi?id=129461 |
| |
| Reviewed by David Hyatt. |
| |
| Shape-inside can make a line only narrower than the original line width, thus we don't need |
| to update the line/shape segments in fitBelowFloats for every single line inside shape-inside. |
| This patch adds a helper function, which updates the line segments, furthermore it updates the |
| line segments only when the content would fit without the shape. |
| |
| No new tests, no behavior change. |
| |
| * rendering/line/BreakingContextInlineHeaders.h: Use new helper. |
| (WebCore::updateSegmentsForShapes): |
| * rendering/line/LineWidth.cpp: Use new helper. |
| (WebCore::LineWidth::updateLineSegment): Add new helper. |
| (WebCore::LineWidth::fitBelowFloats): |
| |
| 2014-02-28 Mario Sanchez Prada <mario.prada@samsung.com> |
| |
| paragraphs with different directionality in textarea with unicode-bidi: plaintext are aligned the same |
| https://bugs.webkit.org/show_bug.cgi?id=71194 |
| |
| Reviewed by David Hyatt. |
| |
| Merged from Blink r157263 by <igor.o@sisa.samsung.com> |
| <https://src.chromium.org/viewvc/blink?revision=157263&view=revision> |
| |
| In the css3-text spec (http://www.w3.org/TR/css3-text/#bidi-linebox): |
| |
| The start and end edges of a line box are determined by the inline |
| base direction of the line box. In most cases, this is given by |
| its containing block's computed ‘direction’. However if its |
| containing block has ‘unicode-bidi: plaintext’, the inline base |
| direction the line box must be determined by the base direction of |
| the bidi paragraph to which it belongs: that is, the bidi |
| paragraph for which the line box holds content. |
| |
| This patch just implements the behavior described above modifying |
| updateLogicalWidthForAlignment and setting the bidi level of the |
| RootInlineBox. |
| |
| * rendering/RenderBlockFlow.h: |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment): |
| (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): |
| (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): |
| (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange): |
| (WebCore::RenderBlockFlow::deleteEllipsisLineBoxes): |
| (WebCore::RenderBlockFlow::checkLinesForTextOverflow): |
| (WebCore::RenderBlockFlow::startAlignedOffsetForLine): |
| |
| 2014-02-28 Jochen Eisinger <jochen@chromium.org> |
| |
| Update meta-referrer behavior for invalid policies |
| https://bugs.webkit.org/show_bug.cgi?id=129475 |
| |
| This patch aligns the behavior with the CSP 1.1 referrer directive, |
| where the fallback for an invalid value is the "never" policy. |
| |
| Original patch from Mike West: https://src.chromium.org/viewvc/blink?view=rev&revision=165627 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Test: http/tests/security/referrer-policy-invalid.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::processReferrerPolicy): |
| |
| 2014-02-28 Daniel Bates <dabates@apple.com> |
| |
| SubresourceLoader::didFinishLoading() should not assert when a decode error occurs |
| https://bugs.webkit.org/show_bug.cgi?id=127029 |
| |
| Reviewed by Darin Adler. |
| |
| SubresourceLoader::didFinishLoading() can be called for a resource (e.g. an image) that |
| failed to be decoded or, in the case of an image, whose estimated decoded size exceeds |
| the maximum decoded size (Settings::maximumDecodedImageSize()). |
| |
| Test: fast/images/decoded-size-exceeds-max-decoded-size.html |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::didFinishLoading): |
| |
| 2014-02-28 Martin Hodovan <mhodovan@inf.u-szeged.hu> |
| |
| ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in WebCore::RenderGeometryMap::mapToContainer |
| https://bugs.webkit.org/show_bug.cgi?id=119626 |
| |
| SVGRenderSupport::mapLocalToContainer() was trying to apply transforms |
| in the incorrect order. Specifically, it would attempt to apply its |
| localToParentTransform before its localToBorderBoxTransform. This |
| was causing an ASSERT to fail when the computed transforms didn't |
| match up to those computed by RenderGeometryMap. |
| |
| Backported from Blink: https://codereview.chromium.org/143363004 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: svg/transforms/svg-geometry-crash.html |
| |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::mapLocalToContainer): |
| |
| 2014-02-28 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] ASSERTION FAILED: !m_regionsInvalidated in RenderFlowThread::regionAtBlockOffset |
| https://bugs.webkit.org/show_bug.cgi?id=129371 |
| |
| Reviewed by Andrei Bucur. |
| |
| regionAtBlockOffset method is meant to be used after the flow thread validated |
| its region chain, otherwise we cannot rely on regionAtBlockOffset to determine correctly |
| the target region based on the offset in flow thread coordinates. |
| |
| When the video element is collected in a named flow and displayed in a region, we ensure |
| that the region's decorations are taken into account to properly position the video. |
| However, we have to do that only if the named flow regions are validated. |
| |
| I changed the method cachedRegionForCompositedLayer to check only the "cached" region |
| for a layer and not update the layer to region mappings before returning the region. |
| Because method cachedRegionForCompositedLayer does not update the region - layer mappings, |
| the code does not call regionAtBlockOffset in situations where the region chain is not validated yet. |
| |
| Test: compositing/regions/video-in-overflow-region.html |
| |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::getLayerListForRegion): Make it a getter that relies on |
| cached information and refrain from updating the mappings. Make it const too. |
| (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): |
| * rendering/RenderFlowThread.h: |
| |
| 2014-02-28 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GTK] Finetune captions menu as per design team |
| https://bugs.webkit.org/show_bug.cgi?id=129432 |
| |
| Reviewed by Eric Carlson. |
| |
| Some design fine tuning of the captions dialog was required. |
| |
| No new tests, current suffice. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| Added out class. |
| * Modules/mediacontrols/mediaControlsGtk.js: |
| (ControllerGtk.prototype.buildCaptionMenu): Setting out class when |
| menu is going to show overlap the panel right border. |
| * css/mediaControlsGtk.css: |
| (video::-webkit-media-controls-closed-captions-container.out): |
| Setting all borders to 5px; |
| (video::-webkit-media-controls-closed-captions-container h3): |
| Reduced font size and increasing top padding. |
| (video::-webkit-media-controls-closed-captions-container ul): |
| Increased top padding. |
| |
| 2014-02-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Element::attributeChanged shouldn't do any work when attribute value didn't change |
| https://bugs.webkit.org/show_bug.cgi?id=129467 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Exit early in childrenChanged when the attribute value didn't change. |
| |
| * dom/Attr.cpp: |
| (WebCore::Attr::setValue): |
| (WebCore::Attr::childrenChanged): |
| * dom/Element.cpp: |
| (WebCore::Element::setAttributeInternal): |
| (WebCore::Element::attributeChanged): |
| (WebCore::Element::parserSetAttributes): |
| (WebCore::Element::removeAttributeInternal): |
| (WebCore::Element::didAddAttribute): |
| (WebCore::Element::didModifyAttribute): |
| (WebCore::Element::didRemoveAttribute): |
| (WebCore::Element::cloneAttributesFromElement): |
| * dom/Element.h: |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::attributeChanged): |
| * dom/StyledElement.h: |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::updateType): |
| * mathml/MathMLElement.cpp: |
| (WebCore::MathMLElement::attributeChanged): |
| * mathml/MathMLElement.h: |
| * mathml/MathMLSelectElement.cpp: |
| (WebCore::MathMLSelectElement::attributeChanged): |
| * mathml/MathMLSelectElement.h: |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::attributeChanged): |
| * svg/SVGElement.h: |
| |
| 2014-02-27 Jinwoo Song <jinwoo7.song@samsung.com> |
| |
| [EFL] Remove duplicated keyboard string key from keyMap |
| https://bugs.webkit.org/show_bug.cgi?id=129469 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| "Down" key is duplicated in keyMap(). |
| |
| * platform/efl/EflKeyboardUtilities.cpp: |
| (WebCore::createKeyMap): |
| |
| 2014-02-27 Benjamin Poulain <benjamin@webkit.org> |
| |
| Unify the three call sites of SelectorQueryCache |
| https://bugs.webkit.org/show_bug.cgi?id=129249 |
| |
| Reviewed by Andreas Kling. |
| |
| The three call sites of SelectorQueryCache were doing the exact same thing. |
| That code is mvoed to a new function Document::selectorQueryForString(). |
| |
| Also use String instead of AtomicString for querySelector() and querySelectorAll(). |
| This prevent the call sites from creating AtomicString just for the time of the call. |
| This causes a tiny slow down on microbenchmarks that continuously query the same string |
| but has no negative impact on realistic/good test cases (and the bindings are simplified). |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::querySelector): |
| (WebCore::ContainerNode::querySelectorAll): |
| * dom/ContainerNode.h: |
| * dom/Document.cpp: |
| (WebCore::Document::selectorQueryForString): |
| * dom/Document.h: |
| * dom/Element.cpp: |
| (WebCore::Element::webkitMatchesSelector): |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQueryCache::add): |
| * dom/SelectorQuery.h: |
| |
| 2014-02-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| JSC ignores the extra memory cost of HTMLCollection after a major GC |
| https://bugs.webkit.org/show_bug.cgi?id=129450 |
| |
| Reviewed by Andreas Kling. |
| |
| Report the extra memory cost of HTMLCollection to JSC. |
| |
| Unfortunately, the existing mechanism to report the extra memory cost in toJS is insufficient for |
| HTMLCollection since collection caches are populated later when HTMLCollection is accessed. Also, |
| the extra memory cost reported by Heap::reportExtraMemoryCost will be thrown away after a major GC. |
| |
| To work around this limitation, added a visitor.reportExtraMemoryUsage call inside visitChildren |
| for interfaces with a newly added ReportExtraMemoryCost IDL extension flag to report the extra cost. |
| |
| Since we may need to generate visitChildren when this flag is set, we can't automatically detect |
| and generate calls using C++ template as done in r148648. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Modules/webaudio/AudioBuffer.idl: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSDOMBinding.h: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (InstanceNeedsVisitChildren): |
| (GenerateHeader): |
| (GenerateImplementation): |
| * bindings/scripts/IDLAttributes.txt: |
| * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestException.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSTestTypedefs.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSattribute.cpp: |
| (WebCore::toJS): |
| * bindings/scripts/test/JS/JSreadonly.cpp: |
| (WebCore::toJS): |
| * dom/ChildNodeList.h: |
| * dom/CollectionIndexCache.cpp: Added. |
| (WebCore::reportExtraMemoryCostForCollectionIndexCache): |
| * dom/CollectionIndexCache.h: |
| (WebCore::CollectionIndexCache::memoryCost): |
| (WebCore::NodeType>::CollectionIndexCache): |
| (WebCore::NodeType>::nodeCount): |
| (WebCore::NodeType>::computeNodeCountUpdatingListCache): |
| (WebCore::NodeType>::nodeAt): |
| (WebCore::NodeType>::invalidate): |
| * dom/DOMAllInOne.cpp: |
| * dom/LiveNodeList.cpp: |
| (WebCore::LiveNodeList::memoryCost): |
| * dom/LiveNodeList.h: |
| * dom/NodeList.h: |
| (WebCore::NodeList::memoryCost): |
| * dom/NodeList.idl: |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::updateNamedElementCache): |
| * html/HTMLCollection.h: |
| (WebCore::CollectionNamedElementCache::didPopulate): |
| (WebCore::CollectionNamedElementCache::memoryCost): |
| (WebCore::CollectionNamedElementCache::find): |
| (WebCore::HTMLCollection::memoryCost): |
| * html/HTMLCollection.idl: |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::updateNamedElementCache): |
| |
| 2014-02-27 Benjamin Poulain <benjamin@webkit.org> |
| |
| Compile attribute value matching |
| https://bugs.webkit.org/show_bug.cgi?id=129228 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add support for compiling value matching when matching attributes in Selector. |
| This patch only adds exact matching, the other cases will follow. |
| |
| There is a little infrastructure changes since FunctionCall now needs to support |
| calls taking 2 arguments. The fun begins when the arguments are not in the right |
| registers and need to be moved to the right place. Otherwise the code is straightforward. |
| |
| In SelectorCompiler, it is necessary to handle two different cases of matching: case sensitive |
| and case insensitive. The choice is done in part at compilation time by asking HTMLDocument |
| if the name filter can include case insensitive attribute. The other part is done at runtime |
| by querying the element for its type and document. |
| |
| Test: fast/selectors/case-insensitive-value-matching.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::attributeValueMatches): Null values matching should never happen, when an attribute |
| has no value, its value is empty. |
| |
| * cssjit/FunctionCall.h: |
| (WebCore::FunctionCall::FunctionCall): |
| Add support for calls with two arguments. |
| (WebCore::FunctionCall::setOneArgument): |
| (WebCore::FunctionCall::setTwoArguments): |
| (WebCore::FunctionCall::swapArguments): |
| Here we need to swap two registers, but we cannot allocate a new register (because the context |
| of the function call may have taken all the available registers already). |
| |
| On x86, the solution is simple, we can swap the two registers without side effects. |
| |
| On other platforms, it is a little more complex. If there is any available register, we can just |
| use it as a temporary to make the swap. |
| If there are no available registers, we know that all the registers are taken. Since swapArguments() |
| was called after pushing all the arguments on the stack, we can safely trash the value of any of those. |
| We take the first available register that is not a function argument and use it as a temporary. |
| |
| (WebCore::FunctionCall::prepareAndCall): |
| This is the fun part, we have two registers where the values must go before the function call. The values |
| can be in any combination of the allocated registers. The code here needs to move the two values to |
| their target register while avoiding conflicts. |
| |
| * cssjit/SelectorCompiler.cpp: |
| (WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo): |
| (WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch): |
| (WebCore::SelectorCompiler::AttributeMatchingInfo::selector): |
| The value of HTMLDocument::isCaseSensitiveAttribute is needed at compilation time to compute the number |
| of required registers. As a result, we need to keep it along in the selector fragment. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator): |
| (WebCore::SelectorCompiler::attributeNameTestingRequiresNamespaceRegister): |
| (WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister): |
| (WebCore::SelectorCompiler::minimumRegisterRequirements): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle): |
| (WebCore::SelectorCompiler::canMatchStyleAttribute): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute): |
| (WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching): |
| The matching code is moved in a local scope. This is done to recover the register of qualifiedNameImpl |
| before doing any value matching. That register can then be used to store the expected value when matching |
| an attribute value. |
| It is unfortunate there is so much register pressure in this part. |
| |
| Value matching is done outside the loop. The idea is to keep the loop really small since in the vast majority |
| of cases, name matching fails. |
| If the value matching fails, we jump back into the tight loop. |
| |
| This is not ideal in all situation. For example trivial name matching with trivial value matching should |
| be done in loop. There is a FIXME to improve those cases later. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching): |
| (WebCore::SelectorCompiler::testIsHTMLClassOnDocument): |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching): |
| In the case sensitive branch, things are really simple. We have to AtomicStringImpl pointers, if they |
| don't match, it is a failure. |
| |
| The case sensitive branch start by comparing the pointers in case the values are equal. This is a common |
| case and it simplifies the cases for SVG, XHTML, etc. |
| If the two values are not equal, we must first find if the context requires case insensitive comparison |
| (HTMLElement in HTMLDocument). If the conditions require case insensitive matching, we then fall back |
| to a function call. |
| |
| (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest): |
| * dom/Attribute.h: |
| (WebCore::Attribute::valueMemoryOffset): |
| * dom/Document.h: |
| (WebCore::Document::documentClassesMemoryOffset): |
| (WebCore::Document::isHTMLDocumentClassFlag): |
| * dom/Node.h: |
| (WebCore::Node::treeScopeMemoryOffset): |
| * dom/TreeScope.h: |
| (WebCore::TreeScope::documentScopeMemoryOffset): |
| |
| 2014-02-27 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| Build break when disabled CSS_GRID_LAYOUT |
| https://bugs.webkit.org/show_bug.cgi?id=129459 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * css/CSSValue.h: Added guards of CSS_GRID_LAYOUT for GridTemplateAreasClass. |
| |
| 2014-02-17 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| text-decoration-skip: ink does not skip over SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=128936 |
| |
| Reviewed by Darin Adler. |
| |
| When drawing glyphs in an SVG font, the glyphs are converted to paths and then filled. This patch moves |
| the glyph -> path conversion into a helper class, GlyphToPathTranslator, and creates an implementation |
| for the SVG drawing code. Once this helper class is created, it can be used to trace paths in order |
| to make underlines skip over SVG glyphs. This helper class also has an implementation for non-SVG glyphs, |
| which allows for the glyph tracing code to be paramaterized over the implementation of the helper class |
| rather than if the FontData itself is SVG or not. |
| |
| Tests: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html |
| |
| * platform/graphics/Font.h: |
| (WebCore::GlyphToPathTranslator::~GlyphToPathTranslator): Virtual implementation of helper class |
| * platform/graphics/cg/PathCG.cpp: |
| (WebCore::Path::Path): Created constructor that takes a RefPtr<CGMutablePathRef> |
| * platform/graphics/Path.h: |
| * platform/graphics/TextRun.h: Give RenderingContext a factory function to create the helper class |
| instance |
| * platform/graphics/mac/FontMac.mm: Implementation of helper class used for skipping underlines on |
| regular (CoreText) glyphs |
| (WebCore::MacGlyphToPathTranslator::MacGlyphToPathTranslator): |
| (WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph): |
| (WebCore::MacGlyphToPathTranslator::incrementIndex): |
| (WebCore::Font::dashesForIntersectionsWithRect): Call the relevant factory function, and use it |
| to successively generate Paths |
| * rendering/svg/SVGTextRunRenderingContext.cpp: Implementation of helper class used for SVG fonts |
| (WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator): |
| (WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph): |
| (WebCore::SVGGlyphToPathTranslator::incrementIndex): |
| (WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator): |
| (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Use the above implementation |
| * rendering/svg/SVGTextRunRenderingContext.h: Factory function declaration |
| |
| 2014-02-27 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [WebRTC] Removing MediaConstraints argument from RTCPeerConnection addStream, updateIce methods and constructor |
| https://bugs.webkit.org/show_bug.cgi?id=129449 |
| |
| Reviewed by Eric Carlson. |
| |
| According to WebRTC editor's draft, MediaConstraints will no longer be an argument of those methods and |
| constructor. |
| |
| Existing tests were updated. |
| |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::create): |
| (WebCore::RTCPeerConnection::RTCPeerConnection): |
| (WebCore::RTCPeerConnection::updateIce): |
| (WebCore::RTCPeerConnection::addStream): |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * bindings/js/JSRTCPeerConnectionCustom.cpp: |
| (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection): |
| * platform/mediastream/RTCPeerConnectionHandler.h: |
| * platform/mock/RTCPeerConnectionHandlerMock.cpp: |
| (WebCore::RTCPeerConnectionHandlerMock::initialize): |
| (WebCore::RTCPeerConnectionHandlerMock::updateIce): |
| (WebCore::RTCPeerConnectionHandlerMock::addStream): |
| * platform/mock/RTCPeerConnectionHandlerMock.h: |
| |
| 2014-02-27 Radu Stavila <stavila@adobe.com> |
| |
| [CSS Regions] Move named-flow specific method decorationsClipRectForBoxInRegion to RenderNamedFlowThread |
| https://bugs.webkit.org/show_bug.cgi?id=129428 |
| |
| Reviewed by Andreas Kling. |
| |
| Since the decorationsClipRectForBoxInRegion method is a named flow specific method, it makes |
| sense to be in the named flow specific class, RenderNamedFlowThread, instead of the more |
| generic RenderFlowThread. |
| |
| No new tests required. No new functionality. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paintObject): |
| * rendering/RenderFlowThread.cpp: |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment): |
| * rendering/RenderNamedFlowThread.h: |
| |
| 2014-02-27 Zoltan Horvath <zoltan@webkit.org> |
| |
| Avoid calling logicalLeftOffsetForLine 2 times in LineWidth::fitBelowFloats |
| https://bugs.webkit.org/show_bug.cgi?id=129433 |
| |
| Reviewed by Darin Adler. |
| |
| This change updates fitBelowFloats and its helpers to call RenderBlock::logicalLeftOffsetForLine only once. |
| |
| No new tests, no behavior change. |
| |
| * rendering/line/LineWidth.cpp: |
| (WebCore::availableWidthAtOffset): |
| (WebCore::LineWidth::updateLineDimension): |
| (WebCore::LineWidth::wrapNextToShapeOutside): |
| (WebCore::LineWidth::fitBelowFloats): |
| * rendering/line/LineWidth.h: |
| |
| 2014-02-27 Andreas Kling <akling@apple.com> |
| |
| Micro-optimize elementAffectsDirectionality(). |
| <https://webkit.org/b/129444> |
| |
| Tweak this function to skip an unnecessary bit check and use |
| fastHasAttribute() instead of hasAttribute() for looking up dirAttr. |
| |
| ~1% speedup on DYEB/AngularJS. |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * html/HTMLElement.cpp: |
| (WebCore::elementAffectsDirectionality): |
| |
| 2014-02-27 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: model tests should use a special Test.html inspector page |
| https://bugs.webkit.org/show_bug.cgi?id=129190 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Convert InspectorController::isUnderTest() into a flag, and expose an |
| Internals method so it can be set by the test before opening the inspector. |
| |
| Test: inspector/test-harness-trivially-works.html |
| |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::evaluateForTestInFrontend): |
| * inspector/InspectorController.h: |
| * testing/Internals.cpp: |
| (WebCore::Internals::setInspectorIsUnderTest): Added. |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-02-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed build fix after r164824. |
| |
| Accidentally re-added some code that was removed. |
| |
| * page/ContentSecurityPolicy.cpp: |
| |
| 2014-02-26 Alex Christensen <achristensen@webkit.org> |
| |
| Compile fix when not using TEXTURE_MAPPER_GL. |
| https://bugs.webkit.org/show_bug.cgi?id=129417 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| Protect platformCreateAccelerated with USE(TEXTURE_MAPPER_GL). |
| |
| 2014-02-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JSContext inspection should report exceptions in the console |
| https://bugs.webkit.org/show_bug.cgi?id=128776 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Include some clean up of ConsoleMessage and ScriptCallStack construction. |
| |
| Covered by existing tests. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| Simplify code now that createStackTraceFromException handles it. |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| ScriptCallStack can give us the first non-native callframe. |
| |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| * inspector/PageDebuggerAgent.cpp: |
| (WebCore::PageDebuggerAgent::breakpointActionLog): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| * page/Console.cpp: |
| (WebCore::internalAddMessage): |
| (WebCore::Console::profile): |
| (WebCore::Console::profileEnd): |
| (WebCore::Console::timeEnd): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::postMessage): |
| |
| 2014-02-27 Andreas Kling <akling@apple.com> |
| |
| Remove FeatureObserver. |
| <https://webkit.org/b/129439> |
| |
| This code was only used by the Chromium port and nobody else is |
| making use of it. |
| |
| Reviewed by Anders Carlsson. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/EventTarget.cpp: |
| (WebCore::EventTarget::fireEventListeners): |
| * dom/EventTarget.h: |
| * html/ColorInputType.cpp: |
| * html/ColorInputType.h: |
| * html/DateInputType.cpp: |
| * html/DateInputType.h: |
| * html/DateTimeInputType.cpp: |
| * html/DateTimeInputType.h: |
| * html/DateTimeLocalInputType.cpp: |
| * html/DateTimeLocalInputType.h: |
| * html/EmailInputType.cpp: |
| * html/EmailInputType.h: |
| * html/HTMLDataListElement.cpp: |
| (WebCore::HTMLDataListElement::create): |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::parseAttribute): |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::parseAttribute): |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::parseAttribute): |
| * html/InputType.cpp: |
| * html/InputType.h: |
| * html/MonthInputType.cpp: |
| * html/MonthInputType.h: |
| * html/NumberInputType.cpp: |
| * html/NumberInputType.h: |
| * html/RangeInputType.cpp: |
| * html/RangeInputType.h: |
| * html/SearchInputType.cpp: |
| * html/SearchInputType.h: |
| * html/TelephoneInputType.cpp: |
| * html/TelephoneInputType.h: |
| * html/TextInputType.cpp: |
| * html/TextInputType.h: |
| * html/TimeInputType.cpp: |
| * html/TimeInputType.h: |
| * html/URLInputType.cpp: |
| * html/URLInputType.h: |
| * html/WeekInputType.cpp: |
| * html/WeekInputType.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::responseReceived): |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): |
| (WebCore::FrameLoader::dispatchDidCommitLoad): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::ContentSecurityPolicy::didReceiveHeader): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::selectCursor): |
| * page/FeatureObserver.cpp: Removed. |
| * page/FeatureObserver.h: Removed. |
| * page/Page.h: |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::calculateClipRects): |
| * workers/SharedWorker.cpp: |
| (WebCore::SharedWorker::create): |
| * workers/Worker.cpp: |
| (WebCore::Worker::create): |
| |
| 2014-02-27 Chris Fleizach <cfleizach@apple.com> |
| |
| speechSynthesis.speak of a zero length utterance kills future speech |
| https://bugs.webkit.org/show_bug.cgi?id=129403 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Empty length strings may choke a synthesizer and result in didFinishSpeaking not being called. |
| The WebKit code should be proactive about screening out empty length strings. |
| |
| Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html |
| |
| * Modules/speech/SpeechSynthesis.cpp: |
| (WebCore::SpeechSynthesis::startSpeakingImmediately): |
| |
| 2014-02-27 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r164783. |
| http://trac.webkit.org/changeset/164783 |
| https://bugs.webkit.org/show_bug.cgi?id=129425 |
| |
| Broke number of multicol tests (Requested by anttik on |
| #webkit). |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::containingColumnsBlock): |
| |
| 2014-02-27 Antoine Quint <graouts@webkit.org> |
| |
| Respect SVG fragment identifiers in <img> src attribute |
| https://bugs.webkit.org/show_bug.cgi?id=129387 |
| |
| Reviewed by Antti Koivisto. |
| |
| Test: svg/css/svg-resource-fragment-identifier-img-src.html |
| |
| When providing an SVG image for a given renderer, check that the URL used to load |
| that image is taken into account in case it featured a fragment identifier, ensuring |
| that the CSS :target pseudo-class is correctly handled for SVG resources. This patch |
| is specific to <img> elements, specific support will also need to be added for various |
| CSS properties that support SVG images. |
| |
| * svg/graphics/SVGImageCache.cpp: |
| (WebCore::SVGImageCache::imageForRenderer): |
| Check if the provided renderer is attached to an <img> element and, if so, pass the |
| resolved <img> source URL, taking into account srcset, to the SVGImageForContainer. |
| |
| * svg/graphics/SVGImageForContainer.cpp: |
| (WebCore::SVGImageForContainer::setURL): |
| Trigger the FrameView machinery to ensure that the :target pseudo-class is respected |
| should the provided URL feature a fragment identifier. |
| |
| * svg/graphics/SVGImageForContainer.h: |
| Declare the new setURL() method. |
| |
| 2014-02-27 Krzysztof Czech <k.czech@samsung.com> |
| |
| [ATK] Fix style errors in enum members |
| https://bugs.webkit.org/show_bug.cgi?id=129421 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| No new tests. No new functionality. |
| |
| Enum members should use InterCaps with an initial capital letter. |
| |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (getInterfaceMaskFromObject): |
| |
| 2014-02-27 Mihai Tica <mitica@adobe.com> |
| |
| [CSS Blending] Parse and implement the -webkit-isolation CSS property. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=128958 |
| |
| Reviewed by Dirk Schulze. |
| |
| Parse and implement -webkit-isolation, part of the CSS Blending and Compositing spec. |
| This patch adds functionality for HTML and SVG. |
| -webkit-isolation: isolate restricts any child elements from blending with any of the content outside the isolated parent element. |
| |
| Tests: css3/compositing/isolation-isolate-blended-child.html |
| css3/compositing/isolation-parsing.html |
| css3/compositing/svg-isolation-default.html |
| css3/compositing/svg-isolation-isolated-group.html |
| css3/compositing/svg-isolation-simple.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| (WebCore::CSSPrimitiveValue::operator Isolation): |
| * css/CSSPropertyNames.in: Add -webkit-isolation. |
| * css/CSSValueKeywords.in: Add the isolate value. |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): Explicitly set isolation:isolate to create a stacking context. |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeRequiresLayerRepaint): Changing isolation should trigger a repaint. |
| * rendering/style/RenderStyle.h: Setters and getters for isolation. |
| * rendering/style/RenderStyleConstants.h: Add Isolation enum. |
| * rendering/style/StyleRareNonInheritedData.cpp: Add m_isolation. |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::prepareToRenderSVGContent): If isolated, paint in a transparency layer. |
| |
| 2014-02-27 Krzysztof Czech <k.czech@samsung.com> |
| |
| [ATK] Utilize AtkTableCell to expose directly AccessibilityTableCell to AT |
| https://bugs.webkit.org/show_bug.cgi?id=129250 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Test: accessibility/table-scope.html |
| |
| Exposing AtkTableCell to AT. Implementing possibility to get column headers and row headers |
| as an array of cells. |
| |
| * GNUmakefile.list.am: |
| * PlatformEfl.cmake: |
| * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: Added. |
| (convertToGPtrArray): |
| (core): |
| (webkitAccessibleTableCellGetColumnHeaderCells): |
| (webkitAccessibleTableCellGetRowHeaderCells): |
| (webkitAccessibleTableCellInterfaceInit): |
| * accessibility/atk/WebKitAccessibleInterfaceTableCell.h: Added. |
| * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
| (getInterfaceMaskFromObject): |
| |
| 2014-02-27 Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> |
| |
| Improving containing column block determination |
| https://bugs.webkit.org/show_bug.cgi?id=125449 |
| |
| Reviewed by Darin Adler. |
| |
| Making sure that the containing column block of any elements |
| can not be oneself. |
| |
| Test: fast/css/crash-on-column-splitting.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::containingColumnsBlock): |
| (WebCore::RenderBlock::splitFlow): |
| |
| 2014-02-27 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GTK] Improve JavaScript multimedia controls |
| https://bugs.webkit.org/show_bug.cgi?id=129044 |
| |
| Reviewed by Jer Noble. |
| |
| After webkit.org/b/123097 a follow up was needed to improve |
| accessibily and some other cosmetic problems, like cleaner CSS and |
| new missing baselines. |
| |
| No new tests because of no new functionality. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| Added hiding class name. |
| * Modules/mediacontrols/mediaControlsGtk.js: |
| (ControllerGtk.prototype.createControls): Set remaining time as |
| hidden by default and turned volumebox hidden into hiding. |
| (ControllerGtk.prototype.updateTime): Simplified the hiding and |
| showing by removing the show class and using hidden only. |
| (ControllerGtk.prototype.handleMuteButtonMouseOver): |
| (ControllerGtk.prototype.handleVolumeBoxMouseOut): Turned hidden |
| into hiding. |
| (ControllerGtk.prototype.updateReadyState): Changed coding style |
| and added down class for the panel too. |
| (ControllerGtk.prototype.updatePlaying): Change for coding style |
| coherence. |
| (ControllerGtk.prototype.handleCaptionButtonClicked): Call |
| handleCaptionButtonShowMenu. |
| (ControllerGtk.prototype.handleCaptionButtonMouseOver): Call |
| handleCaptionButtonShowMenu. |
| (ControllerGtk.prototype.handleCaptionButtonShowMenu): Created |
| with the former behavior of handleCaptionButtonMouseOver. |
| * css/mediaControlsGtk.css: |
| (.hidden): Set display none for all objects with hidden class. |
| (audio::-webkit-media-controls-panel *:focus): |
| (audio::-webkit-media-controls-panel.down *:focus): Added gradient |
| for the active and focus status. |
| (audio::-webkit-media-controls-time-remaining-display) |
| (video::-webkit-media-controls-time-remaining-display): Set |
| display block. |
| (audio::-webkit-media-controls-volume-slider-container) |
| (video::-webkit-media-controls-volume-slider-container): Set |
| display flex. |
| (video::-webkit-media-controls-volume-slider-container.hiding): |
| Changed from hidden. |
| (video::-webkit-media-controls-panel .hiding.down): Changed from |
| hidden. |
| * platform/gtk/RenderThemeGtk.cpp: |
| (WebCore::RenderThemeGtk::paintMediaButton): Returning true to |
| allow CSS painting the gradient. |
| |
| 2014-02-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed. Fixing the GTK build fix after r164757. |
| |
| * platform/network/NetworkStateNotifier.cpp: r164757 introduced a layering violation by including |
| the Settings.h header. The use of that class is guarded by PLATFORM(IOS), so the header inclusion |
| should be guarded as well. |
| |
| 2014-02-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Extract named items caches in HTMLCollection as a class |
| https://bugs.webkit.org/show_bug.cgi?id=129365 |
| |
| Reviewed by Antti Koivisto. |
| |
| Extracted CollectionNamedElementCache, like CollectionIndexCache, out of HTMLCollection. |
| We can move more named item related functions into this class in the future. |
| |
| HTMLCollection's member variables m_isNameCacheValid, m_idCache, and m_nameCache were replaced by |
| a single unique_ptr that holds an instance of CollectionNamedElementCache since this object rarely |
| exists in most HTMLCollections. |
| |
| Also removed m_isItemRefElementsCacheValid since it was only used by Microdata API removed in r153772 |
| and renamed a whole bunch of member functions and variables for consistency. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::collectionCachedIdNameMap): |
| (WebCore::Document::collectionWillClearIdNameMap): |
| * dom/Document.h: |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::adoptDocument): |
| * html/HTMLAllCollection.cpp: |
| (WebCore::HTMLAllCollection::namedItemWithIndex): |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::HTMLCollection): |
| (WebCore::HTMLCollection::~HTMLCollection): |
| (WebCore::HTMLCollection::invalidateCache): |
| (WebCore::HTMLCollection::invalidateNamedElementCache): Renamed from invalidateIdNameCacheMaps. |
| (WebCore::HTMLCollection::namedItem): |
| (WebCore::HTMLCollection::updateNamedElementCache): Renamed from updateNameCache. |
| (WebCore::HTMLCollection::namedItems): |
| |
| * html/HTMLCollection.h: |
| (WebCore::CollectionNamedElementCache::findElementsWithId): Renamed from HTMLCollection::idCache. |
| (WebCore::CollectionNamedElementCache::findElementsWithName): Renamed from HTMLCollection::nameCache. |
| (WebCore::CollectionNamedElementCache::appendIdCache): Moved from HTMLCollection. |
| (WebCore::CollectionNamedElementCache::appendNameCache): Ditto. |
| (WebCore::CollectionNamedElementCache::find): Ditto. |
| (WebCore::CollectionNamedElementCache::append): Ditto. |
| |
| (WebCore::HTMLCollection::invalidateCache): |
| (WebCore::HTMLCollection::hasNamedElementCache): Renamed from hasIdNameCache. |
| (WebCore::HTMLCollection::createNameItemCache): Added. |
| (WebCore::HTMLCollection::namedItemCaches): Added. |
| |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::updateNamedElementCache): |
| * html/HTMLFormControlsCollection.h: |
| |
| 2014-02-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Indenting an indented image element resulted in an extra indentation |
| https://bugs.webkit.org/show_bug.cgi?id=129201 |
| |
| Reviewed by Enrica Casucci. |
| |
| The bug was caused by endOfParagraph returning a position at the beginning of a block when the position |
| passed into the function was at the beginning of the block. Consider the following DOM: |
| <blockquote><img></blockquote> |
| |
| When endOfParagraph is called on (blockquote, 0), the condition r->isBR() || isBlock(n) in endOfParagraph |
| matches immediately on startNode and it returns (blockquote, 0) again. |
| |
| This resulted in moveParagraphWithClones invoked by indentIntoBlockquote to erroneously clone the inner |
| blockquote. Worked around this bug in ApplyBlockElementCommand::formatSelection by checking this specific |
| condition and moving the position to the end of the block. Unfortunately, a lot of existing code depends |
| on the current behavior of endOfParagraph so fixing the function itself was not possible. |
| |
| There was another bug in indentIntoBlockquote to incorrectly insert a new blockquote into the existing |
| blockquote due to the code introduced in r99594 to avoid inserting before the root editable element. |
| Since this happens only if outerBlock is the root editable element, which is nodeToSplitTo or an ancestor |
| of nodeToSplitTo, explicitly look for this condition. |
| |
| Test: editing/execCommand/indent-img-twice.html |
| |
| * editing/ApplyBlockElementCommand.cpp: |
| (WebCore::ApplyBlockElementCommand::formatSelection): |
| (WebCore::isNewLineAtPosition): |
| * editing/IndentOutdentCommand.cpp: |
| (WebCore::IndentOutdentCommand::indentIntoBlockquote): |
| * editing/VisibleUnits.cpp: |
| (WebCore::endOfParagraph): Added a FIXME. |
| |
| 2014-02-26 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix two assertions/crashes in compositing code |
| https://bugs.webkit.org/show_bug.cgi?id=129414 |
| |
| Reviewed by Dean Jackson. |
| |
| Fix two issues introduced in r164759. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers): Don't call |
| ourselves recursively! |
| (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): We call this |
| function unconditionally on layer teardown, so this assertion is bogus. |
| |
| 2014-02-26 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix the build with some compiler configurations. |
| |
| * platform/mac/ScrollAnimatorMac.mm: |
| (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): |
| (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): |
| (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): |
| |
| 2014-02-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Ranges given to createMarkupInternal might not be canonicalized |
| https://bugs.webkit.org/show_bug.cgi?id=129408 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| When WebKit clients (such as Mail) call WKWebArchiveCreateFromRange() with a range, |
| that range is not necessarily canonicalized. Therefore, comparing it for equality |
| with a canonicalized range might return a false negative. Instead, we should compare |
| canonicalized ranges. |
| |
| No new tests because this codepath will only be reached via SPI. |
| |
| * editing/markup.cpp: |
| (WebCore::createMarkupInternal): |
| |
| 2014-02-26 Enrica Casucci <enrica@apple.com> |
| |
| [iOS WebKit2] Form controls handling: implement date and time controls. |
| https://bugs.webkit.org/show_bug.cgi?id=129344 |
| |
| Reviewed by Simon Fraser and Joseph Pecoraro. |
| |
| Adding one localizable string. |
| |
| * English.lproj/Localizable.strings: |
| |
| 2014-02-26 Simon Fraser <simon.fraser@apple.com> |
| |
| Prepare for overflow scrolling nodes in the scrolling tree |
| https://bugs.webkit.org/show_bug.cgi?id=129398 |
| |
| Reviewed by Tim Horton. |
| |
| Lay some groundwork for overflow:scrolling nodes in the scrolling tree. |
| Change terminology to refer to "scroll-coordinatored" layers now, not just viewport-constrained |
| layers. |
| |
| A given layer can be both viewport-constrained and overflow-scrolling (e.g. position:fixed, |
| overflow:scroll), so handle that in RenderLayerBacking, and use some "reason" flags |
| in RenderLayerCompositor. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollLayerID): Rename |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::attachNode): Remove invalid assertion. |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::RenderLayerBacking): |
| (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
| (WebCore::RenderLayerBacking::updateScrollingLayers): Simplify the logic with |
| an early return. |
| (WebCore::RenderLayerBacking::detachFromScrollingCoordinator): |
| Allow a layer to play both viewport-constrained and scrolling roles |
| in the scrolling tree. |
| * rendering/RenderLayerBacking.h: |
| (WebCore::RenderLayerBacking::viewportConstrainedNodeID): |
| (WebCore::RenderLayerBacking::setViewportConstrainedNodeID): |
| (WebCore::RenderLayerBacking::scrollingNodeID): |
| (WebCore::RenderLayerBacking::setScrollingNodeID): |
| (WebCore::RenderLayerBacking::scrollingNodeIDForChildren): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): |
| (WebCore::RenderLayerCompositor::didFlushChangesForLayer): |
| (WebCore::RenderLayerCompositor::updateBacking): |
| (WebCore::RenderLayerCompositor::layerWillBeRemoved): |
| (WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged): |
| (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants): |
| (WebCore::RenderLayerCompositor::requiresCompositingLayer): |
| (WebCore::RenderLayerCompositor::requiresOwnBackingStore): |
| (WebCore::RenderLayerCompositor::reasonsForCompositing): |
| (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): |
| (WebCore::isViewportConstrainedFixedOrStickyLayer): |
| (WebCore::isMainFrameScrollingOrOverflowScrolling): |
| (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): |
| (WebCore::RenderLayerCompositor::updateScrollCoordinatedStatus): |
| (WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers): |
| (WebCore::nearestScrollCoordinatedAncestor): |
| (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): |
| (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): |
| (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): |
| (WebCore::RenderLayerCompositor::willRemoveScrollingLayer): |
| (WebCore::RenderLayerCompositor::didAddScrollingLayer): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2014-02-26 Andy Estes <aestes@apple.com> |
| |
| [iOS] Support network state notification using CPNetworkObserver |
| https://bugs.webkit.org/show_bug.cgi?id=129358 |
| |
| Reviewed by Dan Bernstein. |
| |
| Add iOS support for navigator.onLine and online/offline events. Since |
| it can be expensive to query CPNetworkObserver, wait to do so until |
| someone calls NetworkStateObserver::onLine() or |
| NetworkStateObserver::addNetworkStateChangeListener(). For clients that |
| don't wish to observe network reachability at all, add a global opt-out. |
| These clients will only pay the cost of CPNetworkObserver if they load |
| a page that explicitly accesses navigator.onLine. |
| |
| No new tests. Covered by existing tests. |
| |
| * WebCore.exp.in: Stopped exporting NetworkStateNotifier::setIsOnLine() |
| and started exporting Settings::gShouldOptOutOfNetworkStateObservation. |
| * WebCore.xcodeproj/project.pbxproj: Renamed NetworkStateNotifierIOS.cpp |
| to NetworkStateNotifierIOS.mm. |
| * page/Settings.cpp: Defaulted gShouldOptOutOfNetworkStateObservation |
| to false. |
| * page/Settings.h: |
| (WebCore::Settings::setShouldOptOutOfNetworkStateObservation): |
| (WebCore::Settings::shouldOptOutOfNetworkStateObservation): |
| * platform/network/NetworkStateNotifier.cpp: |
| (WebCore::NetworkStateNotifier::addNetworkStateChangeListener): Ignored |
| the listener if Settings::shouldOptOutOfNetworkStateObservation(). |
| Called registerObserverIfNecessary() and added the listener otherwise. |
| (WebCore::NetworkStateNotifier::notifyNetworkStateChange): Const qualified. |
| * platform/network/NetworkStateNotifier.h |
| (NetworkStateNotifier::onLine): |
| * platform/network/ios/NetworkStateNotifierIOS.cpp: Removed. |
| * platform/network/ios/NetworkStateNotifierIOS.mm: Added. |
| (-[NetworkStateObserver initWithNotifier:WebCore::]): Registered self |
| as a network reachable observer on CPNetworkObserver. |
| (-[NetworkStateObserver dealloc]): Removed self as a network reachable |
| observer. |
| (-[NetworkStateObserver networkStateChanged:]): Called setOnLine() on |
| the web thread, passing the reachability value from the notification. |
| (WebCore::NetworkStateNotifier::NetworkStateNotifier): |
| (WebCore::NetworkStateNotifier::~NetworkStateNotifier): Cleared |
| m_observer's pointer back to us. |
| (WebCore::NetworkStateNotifier::registerObserverIfNecessary): Initialized |
| m_observer if necessary. |
| (WebCore::NetworkStateNotifier::onLine): Called |
| registerObserverIfNecessary() and set an initial value for m_isOnLine |
| if m_isOnLineInitialized is false. Returned m_isOnLine. |
| (WebCore::setOnLine): Set m_isOnLine and called |
| notifyNetworkStateChange() if needed. Unconditionally set |
| m_isOnLineInitialized to true. |
| |
| 2014-02-26 Brian Burg <bburg@apple.com> |
| |
| Unreviewed build fix for !ENABLE(CONTEXT_MENUS). |
| |
| I forgot to add guards to handleContextMenuEvent(). |
| |
| * replay/UserInputBridge.cpp: |
| * replay/UserInputBridge.h: |
| |
| 2014-02-26 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Only skip context error retrieval if a pending context |
| https://bugs.webkit.org/show_bug.cgi?id=129397 |
| |
| Reviewed by Tim Horton. |
| |
| A lost context should still ask the GC3D what the error is. Only |
| a pending context should return early. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getError): |
| |
| 2014-02-26 Brian Burg <bburg@apple.com> |
| |
| Web Replay: route through UserInputBridge when delivering user inputs to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=128150 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add an UserInputBridge instance to each Page. WebKit2 routes a page's user inputs through |
| the WebCore page's user input bridge so that the inputs can be selectively captured, filtered, |
| and replayed using instrumentation inside the UserInputBridge. |
| |
| For now, the routing methods of UserInputBridge have no replay-specific code paths, and just |
| put the input delivery code inside WebCore rather than its external clients. Replay-specific |
| code paths will be added once https://bugs.webkit.org/show_bug.cgi?id=128782 is fixed. However, |
| once complete the code will work as follows: |
| |
| - When neither capturing or replaying, behavior is unchanged. |
| |
| - When capturing user inputs, each external input is saved into a replay log as it crosses |
| the bridge from outside WebCore. |
| |
| - When replaying, the bridge closes and user inputs from WebKit2 are not accepted. Instead, |
| the saved inputs from the replay log are re-dispatched as if they had crossed the bridge. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * WebCore.exp.in: Add symbols for input routing methods. |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/Page.cpp: |
| (WebCore::Page::Page): Initialize the owned UserInputBridge in the Page constructor. |
| * page/Page.h: |
| (WebCore::Page::inputBridge): Added a by-reference getter. |
| * replay/UserInputBridge.cpp: Added. |
| (WebCore::UserInputBridge::UserInputBridge): |
| (WebCore::UserInputBridge::~UserInputBridge): |
| (WebCore::UserInputBridge::handleContextMenuEvent): |
| (WebCore::UserInputBridge::handleMousePressEvent): |
| (WebCore::UserInputBridge::handleMouseReleaseEvent): |
| (WebCore::UserInputBridge::handleMouseMoveEvent): |
| (WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent): |
| (WebCore::UserInputBridge::handleKeyEvent): |
| (WebCore::UserInputBridge::handleAccessKeyEvent): |
| (WebCore::UserInputBridge::handleWheelEvent): |
| (WebCore::UserInputBridge::focusSetActive): |
| (WebCore::UserInputBridge::focusSetFocused): |
| (WebCore::UserInputBridge::scrollRecursively): |
| (WebCore::UserInputBridge::logicalScrollRecursively): |
| (WebCore::UserInputBridge::loadRequest): |
| (WebCore::UserInputBridge::reloadFrame): |
| (WebCore::UserInputBridge::stopLoadingFrame): |
| (WebCore::UserInputBridge::tryClosePage): |
| * replay/UserInputBridge.h: Added. |
| |
| 2014-02-26 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Protect more WebGL entry points for pending contexts |
| https://bugs.webkit.org/show_bug.cgi?id=129386 |
| |
| Reviewed by Tim Horton. |
| |
| There are entry points into a WebGLRenderingContext that don't |
| come from the web-exposed API directly, such as drawImage with |
| the WebGL canvas. Protect these by returning early if we're |
| a pending context. |
| |
| Also a bunch of drive-by 0 -> nullptr changes. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::markLayerComposited): |
| (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): |
| (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData): |
| (WebCore::WebGLRenderingContext::reshape): |
| (WebCore::WebGLRenderingContext::createBuffer): |
| (WebCore::WebGLRenderingContext::createFramebuffer): |
| (WebCore::WebGLRenderingContext::createTexture): |
| (WebCore::WebGLRenderingContext::createProgram): |
| (WebCore::WebGLRenderingContext::createRenderbuffer): |
| (WebCore::WebGLRenderingContext::createShader): |
| (WebCore::WebGLRenderingContext::getActiveAttrib): |
| (WebCore::WebGLRenderingContext::getActiveUniform): |
| (WebCore::WebGLRenderingContext::getContextAttributes): |
| (WebCore::WebGLRenderingContext::getError): |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getShaderPrecisionFormat): |
| (WebCore::WebGLRenderingContext::getUniformLocation): |
| (WebCore::WebGLRenderingContext::drawImageIntoBuffer): |
| (WebCore::WebGLRenderingContext::videoFrameToImage): |
| (WebCore::WebGLRenderingContext::validateBufferDataParameters): |
| (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer): |
| |
| 2014-02-26 Bem Jones-Bey <bjonesbe@adobe.com> |
| |
| [CSS Shapes] inset and inset-rectangle trigger assert with replaced element and large percentage dimension |
| https://bugs.webkit.org/show_bug.cgi?id=129060 |
| |
| Reviewed by Simon Fraser. |
| |
| A bounds check was omitted when computing the width and height for inset |
| rectangles, making it possible for the width or height to end up being |
| negative. This patch adds in that check for both. It seems that only |
| replaced elements like iframe and img trigger this problem. |
| |
| Tests: fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-negative-width-crash.html |
| fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html |
| |
| * rendering/shapes/Shape.cpp: |
| (WebCore::Shape::createShape): |
| |
| 2014-02-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Underlines are too thick when zoomed in |
| https://bugs.webkit.org/show_bug.cgi?id=129352 |
| |
| Reviewed by Dean Jackson. |
| |
| The input to the underline drawing code is in user-space, not device-space. |
| The underlines were getting scaled twice, once in InlineTextBox and the other |
| in GraphicsContext. |
| |
| Test: fast/css3-text/css3-text-decoration/text-decoration-scaled.html |
| |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDecoration): |
| |
| 2014-02-26 Andreas Kling <akling@apple.com> |
| |
| Remove unused InspectorCounters. |
| <https://webkit.org/b/129367> |
| |
| The InspectorCounters code was only used to implement two layout test |
| APIs (window.internals.numberOfLive{Nodes,Documents}) yet it had hooks |
| in crazy places like Node construction and destruction. |
| |
| Rewrote the internals APIs to iterate over all live Documents instead, |
| totaling up their referencing Node count. Added a process-global |
| Document::allDocuments() HashSet to make this whole thing possible. |
| |
| Reviewed by Sam Weinig. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * WebCore.exp.in: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSEventListener.cpp: |
| * dom/Document.cpp: |
| (WebCore::Document::allDocuments): |
| (WebCore::Document::Document): |
| (WebCore::Document::~Document): |
| * dom/Document.h: |
| (WebCore::Node::Node): |
| * dom/Node.cpp: |
| (WebCore::Node::~Node): |
| * inspector/InspectorAllInOne.cpp: |
| * inspector/InspectorCounters.cpp: Removed. |
| * inspector/InspectorCounters.h: Removed. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::start): |
| (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline): |
| (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/protocol/Timeline.json: |
| * platform/ThreadGlobalData.cpp: |
| * testing/Internals.cpp: |
| (WebCore::Internals::numberOfLiveNodes): |
| (WebCore::Internals::numberOfLiveDocuments): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove console.profiles from window.console API |
| https://bugs.webkit.org/show_bug.cgi?id=116883 |
| |
| Reviewed by Timothy Hatcher. |
| |
| console.profiles has been removed or never implemented by other |
| browsers. We should remove it as well. However, since tests |
| rely on it, keep it as window.internals.consoleProfiles. |
| |
| * WebCore.exp.in: |
| * page/Console.idl: |
| * testing/Internals.cpp: |
| (WebCore::Internals::consoleProfiles): |
| * testing/Internals.h: |
| * testing/Internals.idl: |
| |
| 2014-02-26 Martin Hock <mhock@apple.com> |
| |
| Create SessionID value-style class for session IDs. |
| https://bugs.webkit.org/show_bug.cgi?id=129141 |
| |
| Reviewed by Sam Weinig. |
| |
| * GNUmakefile.list.am: |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/Page.cpp: Add SessionID member. |
| (WebCore::Page::Page): |
| (WebCore::Page::sessionID): Retrieve sessionID or use settings if not set. |
| * page/Page.h: |
| (WebCore::Page::isSessionIDSet): |
| (WebCore::Page::setSessionID): |
| * page/SessionID.h: Session ID class consisting solely of its uint64_t session ID. |
| (WebCore::SessionID::SessionID): |
| (WebCore::SessionID::isValid): Not empty. |
| (WebCore::SessionID::isEphemeral): |
| (WebCore::SessionID::sessionID): |
| (WebCore::SessionID::operator==): Value-based equality. |
| (WebCore::SessionID::operator!=): |
| (WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue. |
| (WebCore::SessionID::defaultSessionID): |
| (WebCore::SessionID::legacyPrivateSessionID): |
| * page/SessionIDHash.h: |
| (WTF::SessionIDHash::hash): Just the casted session ID (low order bytes) |
| (WTF::SessionIDHash::equal): |
| (WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID. |
| (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value. |
| (WTF::HashTraits<WebCore::SessionID>::isDeletedValue): |
| |
| 2014-02-26 Eric Carlson <eric.carlson@apple.com> |
| |
| Fix builds that don't define IMAGE_CONTROLS. |
| |
| * page/ContextMenuContext.cpp: |
| (WebCore::ContextMenuContext::ContextMenuContext): |
| |
| 2014-02-26 Eric Carlson <eric.carlson@apple.com> |
| |
| Build fix for OS X after r164720. |
| |
| * page/ContextMenuContext.cpp: |
| |
| 2014-02-26 Brady Eidson <beidson@apple.com> |
| |
| Pipe experimental image controls menu up to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=129339 |
| |
| Reviewed by Simon Fraser. |
| |
| Handle events for the image control, starting down the context menu code path if appropriate: |
| * html/shadow/mac/ImageControlsRootElementMac.cpp: |
| (WebCore::ImageControlsRootElementMac::defaultEventHandler): |
| * html/shadow/mac/ImageControlsRootElementMac.h: |
| |
| Add a class to hold a HitTestResult and addition info about the current ContextMenu invocation: |
| * page/ContextMenuContext.cpp: Added. |
| (WebCore::ContextMenuContext::ContextMenuContext): |
| * page/ContextMenuContext.h: Added. |
| (WebCore::ContextMenuContext::hitTestResult): |
| (WebCore::ContextMenuContext::isImageControl): |
| |
| Update ContextMenuController to work with ContextMenuContext instead of HitTestResult directly: |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::showContextMenu): |
| (WebCore::ContextMenuController::createContextMenu): |
| (WebCore::ContextMenuController::contextMenuItemSelected): |
| (WebCore::ContextMenuController::populate): |
| (WebCore::ContextMenuController::addInspectElementItem): |
| (WebCore::ContextMenuController::checkOrEnableIfNeeded): |
| (WebCore::ContextMenuController::showImageControlsMenu): |
| * page/ContextMenuController.h: |
| (WebCore::ContextMenuController::contextMenu): |
| (WebCore::ContextMenuController::setContextMenuContext): |
| (WebCore::ContextMenuController::context): |
| (WebCore::ContextMenuController::hitTestResult): |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-02-26 Zan Dobersek <zdobersek@igalia.com> |
| |
| REGRESSION(r162947): Document::topDocument() returns an incorrect reference for cached Documents |
| https://bugs.webkit.org/show_bug.cgi?id=128175 |
| |
| Reviewed by Antti Koivisto. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::topDocument): Fall back to pre-r162947 way of determining the top document |
| when the Document is in page cache or is in the middle of having its render tree destroyed. |
| In the first case, the determined top document is actually the document currently loaded in the |
| Frame to which the cached document is still connected, which is obviously not desired. In the |
| second case the top document is similarly incorrectly deduced, leading to non-deletion of the |
| proper top document's AXObjectCache. Because of this AccessibilityRenderObjects are not detached |
| which results in assertions in RenderObject destructor where the objects are found to be still |
| flagged as in use by the AX cache. |
| |
| 2014-02-26 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Remove unused method RenderFlowThread::updateLayerToRegionMappings() |
| https://bugs.webkit.org/show_bug.cgi?id=129368 |
| |
| Reviewed by Andrei Bucur. |
| |
| Remove unused code, no new tests. |
| |
| * rendering/RenderFlowThread.h: |
| |
| 2014-02-26 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GTK] Regression when showing the captions menu |
| https://bugs.webkit.org/show_bug.cgi?id=129106 |
| |
| Reviewed by Martin Robinson. |
| |
| In some cases, when clicking the captions button the menu was not |
| shown. |
| |
| Updated test: media/video-controls-captions-trackmenu.html |
| |
| * Modules/mediacontrols/mediaControlsGtk.js: |
| (ControllerGtk.prototype.buildCaptionMenu): |
| (ControllerGtk.prototype.showCaptionMenu): Specify sizes in |
| pixels. |
| |
| 2014-02-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Avoid unnecessary HTML Collection invalidations for id and name attribute changes |
| https://bugs.webkit.org/show_bug.cgi?id=129361 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Before this patch, setting id and name attributes resulted in traversing all the ancestors to invalidate |
| HTML collections on those nodes whenever we had more than one HTMLCollection alive. |
| |
| Avoid the traversal when HTMLCollections don't have any valid id and name map caches by making each |
| HTMLCollection explicitly call collectionCachedIdNameMap and collectionWillClearIdNameMap when it caches |
| or clears the id and name map. |
| |
| Inspired by https://chromium.googlesource.com/chromium/blink/+/5b06b91b79098f7d42e480f85be32198315d2440 |
| |
| * dom/Document.cpp: |
| (WebCore::Document::registerCollection): Takes a boolean to indicate whether collection has a valid cache |
| for the id and name map. |
| (WebCore::Document::unregisterCollection): Ditto. |
| (WebCore::Document::collectionCachedIdNameMap): Added. |
| (WebCore::Document::collectionWillClearIdNameMap): Added. |
| * dom/Document.h: |
| |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::adoptDocument): Call invalidateCache on HTML collections after, not before, |
| calling unregisterCollection and registerCollection since collections' owner nodes have already been |
| moved to the new document here and invalidateCache uses owner node's document to call |
| collectionWillClearIdNameMap. So calling invalidateCache before calling unregister/registerCollection |
| would result in collectionWillClearIdNameMap getting called on a wrong document. |
| |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollection::HTMLCollection): |
| (WebCore::HTMLCollection::~HTMLCollection): |
| (WebCore::HTMLCollection::invalidateCache): |
| (WebCore::HTMLCollection::invalidateIdNameCacheMaps): Added the code to uncount itself from the number |
| of live node lists and HTML collections that need to be invalidated upon id and name attribute changes. |
| (WebCore::HTMLCollection::updateNameCache): |
| |
| * html/HTMLCollection.h: |
| (WebCore::HTMLCollection::invalidateCache): |
| (WebCore::HTMLCollection::hasIdNameCache): Renamed from hasNameCache. |
| (WebCore::HTMLCollection::setHasIdNameCache): Renamed from setHasIdNameCache. |
| |
| * html/HTMLFormControlsCollection.cpp: |
| (WebCore::HTMLFormControlsCollection::updateNameCache): |
| |
| 2014-02-25 Frédéric Wang <fred.wang@free.fr> |
| |
| Add support for minsize/maxsize attributes. |
| https://bugs.webkit.org/show_bug.cgi?id=122567 |
| |
| Reviewed by Chris Fleizach. |
| |
| This change implements the minsize/maxsize attributes of the mo element. |
| We also switch stretch sizes from int to LayoutUnit to improve accuracy. |
| |
| Tests: mathml/presentation/stretchy-minsize-maxsize-dynamic.html |
| mathml/presentation/stretchy-minsize-maxsize.html |
| |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::SetOperatorProperties): |
| (WebCore::RenderMathMLOperator::stretchTo): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::layout): |
| |
| 2014-02-25 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Small clean-up of flow threads accelerated compositing code |
| https://bugs.webkit.org/show_bug.cgi?id=129312 |
| |
| Reviewed by Andrei Bucur. |
| |
| Some clean-up for the code used for regions in accelerated compositing functionality: |
| 1. Rename updateRenderFlowThreadLayersIfNeeded -> updateFlowThreadsLayerToRegionMappingsIfNeeded |
| as the function updates the mapping between the flow threads layers and their corresponding regions |
| 2. Remove RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded and move the code in place |
| at call site since the function body does not require a dedicated function. |
| |
| No new functionality, no new tests. |
| |
| * rendering/FlowThreadController.cpp: |
| (WebCore::FlowThreadController::updateFlowThreadsLayerToRegionMappingsIfNeeded): |
| Now that the regions are always layers, we do not need to iterate backwards. |
| * rendering/FlowThreadController.h: |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateCompositingLayers): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2014-02-25 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Ensure consistent border painting width. |
| https://bugs.webkit.org/show_bug.cgi?id=129259 |
| |
| Reviewed by Simon Fraser. |
| |
| Border edges are painted as (semi)independent rectangles. When snapping an edge rectangle |
| to device pixels, its painted dimensions depend on its size and its fractional position. |
| Specific combination of position and border width can result in painting edges sized differently. |
| Using device snapped border width to calculate inner/outer rectangles helps to maintain |
| uniform border width. |
| |
| Currently not testable. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::BorderEdge::BorderEdge): |
| (WebCore::BorderEdge::shouldRender): |
| (WebCore::BorderEdge::presentButInvisible): |
| (WebCore::BorderEdge::widthForPainting): |
| (WebCore::BorderEdge::getDoubleBorderStripeWidths): |
| (WebCore::RenderBoxModelObject::paintOneBorderSide): |
| (WebCore::calculateSideRect): |
| (WebCore::RenderBoxModelObject::paintBorderSides): |
| (WebCore::RenderBoxModelObject::paintBorder): |
| (WebCore::RenderBoxModelObject::drawBoxSideFromPath): |
| (WebCore::calculateSideRectIncludingInner): |
| |
| 2014-02-25 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel layout: Remove explicit static_cast<LayoutUnit> conversions. |
| https://bugs.webkit.org/show_bug.cgi?id=129359 |
| |
| Reviewed by Simon Fraser. |
| |
| No testable change in behavior. |
| |
| * css/LengthFunctions.cpp: |
| (WebCore::minimumValueForLength): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::forceLayoutForPagination): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::paintFillLayer): |
| * rendering/InlineFlowBox.h: |
| (WebCore::InlineFlowBox::logicalLeftVisualOverflow): |
| (WebCore::InlineFlowBox::logicalRightVisualOverflow): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::isSelected): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeColumnCountAndWidth): |
| (WebCore::getBPMWidth): |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::adjustForBorderFit): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): |
| * rendering/RenderFieldset.cpp: |
| (WebCore::RenderFieldset::paintBoxDecorations): |
| * rendering/RenderTable.h: |
| (WebCore::RenderTable::borderSpacingInRowDirection): |
| * rendering/RenderTextControlMultiLine.cpp: |
| (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth): |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::beforeAnnotationsAdjustment): |
| (WebCore::RootInlineBox::ascentAndDescentForBox): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::resolveLengthAttributeForSVG): |
| |
| 2014-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Build fixes. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| |
| 2014-02-25 Benjamin Poulain <bpoulain@apple.com> |
| |
| Build fix for OS X after r164690 |
| |
| * WebCore.exp.in: |
| |
| 2014-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Rename WebCore::VisitedLinkProvider to WebCore::VisitedLinkStore |
| https://bugs.webkit.org/show_bug.cgi?id=129357 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/VisitedLinkState.cpp: |
| (WebCore::VisitedLinkState::determineLinkStateSlowCase): |
| * loader/HistoryController.cpp: |
| (WebCore::addVisitedLink): |
| * page/DefaultVisitedLinkStore.cpp: Renamed from Source/WebCore/page/DefaultVisitedLinkProvider.cpp. |
| (WebCore::DefaultVisitedLinkStore::create): |
| (WebCore::DefaultVisitedLinkStore::DefaultVisitedLinkStore): |
| (WebCore::DefaultVisitedLinkStore::~DefaultVisitedLinkStore): |
| (WebCore::DefaultVisitedLinkStore::isLinkVisited): |
| (WebCore::DefaultVisitedLinkStore::addVisitedLink): |
| * page/DefaultVisitedLinkStore.h: Renamed from Source/WebCore/page/DefaultVisitedLinkProvider.h. |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore::Page::visitedLinkStore): |
| * page/Page.h: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::visitedLinkStore): |
| * page/PageGroup.h: |
| * page/VisitedLinkStore.cpp: Renamed from Source/WebCore/page/VisitedLinkProvider.cpp. |
| (WebCore::VisitedLinkStore::VisitedLinkStore): |
| (WebCore::VisitedLinkStore::~VisitedLinkStore): |
| * page/VisitedLinkStore.h: Renamed from Source/WebCore/page/VisitedLinkProvider.h. |
| |
| 2014-02-25 Enrica Casucci <enrica@apple.com> |
| |
| [WebKit2] Form controls handling. |
| https://bugs.webkit.org/show_bug.cgi?id=129344 |
| <rdar://problem/16053643> |
| |
| Reviewed by Simon Fraser and Joseph Pecoraro. |
| |
| Adding some exports. |
| |
| * WebCore.exp.in: |
| |
| 2014-02-25 Samuel White <samuel_white@apple.com> |
| |
| Add accessibility search predicate support for AXOutlines |
| https://bugs.webkit.org/show_bug.cgi?id=123748 |
| |
| Reviewed by Chris Fleizach. |
| |
| Added new AXOutlineSearchKey to support finding elements with aria role=tree. |
| |
| No new tests, updated existing search-predicate.html test to cover AXOutlineSearchKey. |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex): |
| * accessibility/AccessibilityObject.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (createAccessibilitySearchKeyMap): |
| |
| 2014-02-25 Mark Lam <mark.lam@apple.com> |
| |
| Need to initialize VM stack data even when the VM is on an exclusive thread. |
| <https://webkit.org/b/129265> |
| |
| Not reviewed. |
| |
| No new tests. |
| |
| Relanding r164627 now that <https://webkit.org/b/129341> is fixed. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::commonVM): |
| |
| 2014-02-25 Mark Lam <mark.lam@apple.com> |
| |
| JSDOMPromise methods should acquire VM lock before calling into JS. |
| <https://webkit.org/b/129341> |
| |
| Reviewed by Geoffrey Garen. |
| |
| No new tests. |
| |
| * bindings/js/JSDOMPromise.h: |
| (WebCore::DeferredWrapper::resolve): |
| (WebCore::DeferredWrapper::reject): |
| (WebCore::DeferredWrapper::resolve<String>): |
| (WebCore::DeferredWrapper::resolve<bool>): |
| (WebCore::char>>): |
| (WebCore::DeferredWrapper::reject<String>): |
| |
| 2014-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Simplify visited link style invalidation |
| https://bugs.webkit.org/show_bug.cgi?id=129340 |
| |
| Reviewed by Dan Bernstein. |
| |
| Get rid of the static Page::allVisitedStateChanged and Page::visitedStateChanged |
| member functions and add functions to invalidate all styles on a single page or the style |
| for a single link hash on a single page. |
| |
| * WebCore.exp.in: |
| * page/Page.cpp: |
| (WebCore::Page::invalidateStylesForAllLinks): |
| (WebCore::Page::invalidateStylesForLink): |
| * page/Page.h: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::addVisitedLink): |
| (WebCore::PageGroup::removeVisitedLink): |
| (WebCore::PageGroup::removeVisitedLinks): |
| |
| 2014-02-25 Andreas Kling <akling@apple.com> |
| |
| Remove unused ThreadSpecificInspectorCounters. |
| <https://webkit.org/b/129337> |
| |
| We were keeping count of all the JS event listeners in every thread |
| to support an old Chromium feature that's no longer relevant. |
| |
| Removing this gets rid of expensive thread-local storage lookups. |
| |
| Reviewed by Anders Carlsson. |
| |
| * bindings/js/JSEventListener.cpp: |
| (WebCore::JSEventListener::JSEventListener): |
| (WebCore::JSEventListener::~JSEventListener): |
| * inspector/InspectorCounters.cpp: |
| * inspector/InspectorCounters.h: |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::setDOMCounters): |
| * inspector/protocol/Timeline.json: |
| * platform/ThreadGlobalData.cpp: |
| (WebCore::ThreadGlobalData::ThreadGlobalData): |
| (WebCore::ThreadGlobalData::destroy): |
| * platform/ThreadGlobalData.h: |
| |
| 2014-02-25 Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> |
| |
| display:table with padding and/or borders in border-box calculates height incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=126576 |
| |
| Reviewed by David Hyatt. |
| |
| Based on blink issue https://codereview.chromium.org/25206002/ |
| |
| Tests: fast/box-sizing/css-table-collapse.html |
| fast/box-sizing/css-table-no-collapse.html |
| fast/box-sizing/table-collapse.html |
| fast/box-sizing/table-no-collapse.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computePositionedLogicalHeightUsing): |
| |
| 2014-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of VisitedLinkStrategy |
| https://bugs.webkit.org/show_bug.cgi?id=129324 |
| |
| Reviewed by Dan Bernstein. |
| |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/PlatformStrategies.h: |
| (WebCore::PlatformStrategies::PlatformStrategies): |
| * platform/VisitedLinkStrategy.h: Removed. |
| |
| 2014-02-25 Alexey Proskuryakov <ap@apple.com> |
| |
| Rolling out http://trac.webkit.org/changeset/164611, because it broke |
| WebKit2.PrivateBrowsingPushStateNoHistoryCallback API test |
| |
| The change was for: |
| |
| https://bugs.webkit.org/show_bug.cgi?id=129141 |
| Create SessionID class |
| |
| 2014-02-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r164627. |
| http://trac.webkit.org/changeset/164627 |
| https://bugs.webkit.org/show_bug.cgi?id=129325 |
| |
| Broke SubtleCrypto tests (Requested by ap on #webkit). |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::commonVM): |
| |
| 2014-02-25 Anders Carlsson <andersca@apple.com> |
| |
| DefaultVisitedLinkProvider can just call into the page group directly |
| https://bugs.webkit.org/show_bug.cgi?id=129320 |
| |
| Reviewed by Andreas Kling. |
| |
| * page/DefaultVisitedLinkProvider.cpp: |
| (WebCore::DefaultVisitedLinkProvider::isLinkVisited): |
| (WebCore::DefaultVisitedLinkProvider::addVisitedLink): |
| |
| 2014-02-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r164638. |
| http://trac.webkit.org/changeset/164638 |
| https://bugs.webkit.org/show_bug.cgi?id=129321 |
| |
| Broke Windows build. (Requested by bfulgham on #webkit). |
| |
| * dom/ContainerNode.h: |
| (WebCore::ChildNodesLazySnapshot::takeSnapshot): |
| (WebCore::ChildNodesLazySnapshot::hasSnapshot): |
| * dom/Element.cpp: |
| (WebCore::ensureAttrNodeListForElement): |
| (WebCore::Element::attributes): |
| * dom/ElementIteratorAssertions.h: |
| (WebCore::ElementIteratorAssertions::ElementIteratorAssertions): |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::create): |
| (WebCore::ElementRareData::setAttributeMap): |
| * dom/MutationObserverRegistration.cpp: |
| (WebCore::MutationObserverRegistration::create): |
| (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach): |
| (WebCore::MutationObserverRegistration::clearTransientRegistrations): |
| (WebCore::MutationObserverRegistration::addRegistrationNodesToSet): |
| * dom/MutationObserverRegistration.h: |
| * dom/NamedNodeMap.h: |
| (WebCore::NamedNodeMap::create): |
| (WebCore::NamedNodeMap::NamedNodeMap): |
| * dom/Node.cpp: |
| (WebCore::Node::ensureRareData): |
| (WebCore::Node::didMoveToNewDocument): |
| (WebCore::Node::ensureEventTargetData): |
| (WebCore::Node::mutationObserverRegistry): |
| (WebCore::Node::registerMutationObserver): |
| (WebCore::Node::unregisterMutationObserver): |
| (WebCore::Node::notifyMutationObserversNodeWillDetach): |
| * dom/Node.h: |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::create): |
| (WebCore::NodeListsNodeData::NodeListsNodeData): |
| (WebCore::NodeMutationObserverData::create): |
| (WebCore::NodeMutationObserverData::NodeMutationObserverData): |
| (WebCore::NodeRareData::create): |
| (WebCore::NodeRareData::clearNodeLists): |
| (WebCore::NodeRareData::ensureNodeLists): |
| (WebCore::NodeRareData::ensureMutationObserverData): |
| (WebCore::NodeRareData::NodeRareData): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::rebuildPresentationAttributeStyle): |
| |
| 2014-02-25 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Show status image when playing video to external device |
| https://bugs.webkit.org/show_bug.cgi?id=129277 |
| |
| Reviewed by Jer Noble. |
| |
| * Modules/mediacontrols/mediaControlsApple.js: |
| (Controller.prototype.handleEvent): Restructure the code so it is possible to handle events |
| that target the video element which aren't in the HandledVideoEvents array. |
| |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS.prototype.currentPlaybackTargetIsWireless): webkitCurrentPlaybackTargetIsWireless |
| is an attribute, not a function. |
| (ControllerIOS.prototype.updateWirelessPlaybackStatus): Fix style. |
| (ControllerIOS.prototype.updateWirelessTargetAvailable): Ditto. |
| (ControllerIOS.prototype.updateProgress): Ditto. |
| (ControllerIOS.prototype.handleWrapperTouchStart): Show the controls if the wireless status |
| display is touched. |
| (ControllerIOS.prototype.handleFullscreenButtonClicked): Fix style |
| (ControllerIOS.prototype.handleWirelessPlaybackChange): Ditto. |
| (ControllerIOS.prototype.handleWirelessTargetAvailableChange): |
| (ControllerIOS.prototype.handleWirelessPickerButtonClicked): Ditto. Stop even propagation. |
| |
| Move "playback target" logic into HTMLMediaSession. |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::~HTMLMediaElement): Call media session. |
| (WebCore::HTMLMediaElement::loadResource): Tell media session to apply media player |
| restrictions now that it has a url. |
| (WebCore::HTMLMediaElement::invalidateCachedTime): Only log when cached time is not |
| already invalie. |
| (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Call media session. |
| (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Ditto. |
| (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto. |
| (WebCore::HTMLMediaElement::addEventListener): Ditto. |
| (WebCore::HTMLMediaElement::removeEventListen): Ditto. |
| (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto. |
| (WebCore::HTMLMediaElement::createMediaPlayer): Ditto. |
| |
| * html/HTMLMediaSession.cpp: |
| (WebCore::restrictionName): Log new WirelessVideoPlaybackDisabled restriction. |
| (WebCore::HTMLMediaSession::showingPlaybackTargetPickerPermitted): Return false if there |
| is no page, or if wireless playback is disabled. |
| (WebCore::HTMLMediaSession::currentPlaybackTargetIsWireless): New, logic from HTMLMediaElement. |
| (WebCore::HTMLMediaSession::showPlaybackTargetPicker): Ditto. |
| (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets): Ditto. |
| (WebCore::HTMLMediaSession::wirelessVideoPlaybackDisabled): Ditto. |
| (WebCore::HTMLMediaSession::setWirelessVideoPlaybackDisabled): Ditto. |
| (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Ditto. |
| (WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): New, apply media player specific |
| restriction. |
| * html/HTMLMediaSession.h: |
| |
| Move "playback target" logic into HTMLMediaSession. |
| * html/HTMLVideoElement.cpp: |
| (WebCore::HTMLVideoElement::parseAttribute): Call media session. |
| (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Call media session. |
| |
| * platform/audio/MediaSessionManager.h: |
| (WebCore::MediaSessionManager::showPlaybackTargetPicker): New method, does nothing in base class. |
| |
| * platform/audio/ios/MediaSessionManagerIOS.h: |
| * platform/audio/ios/MediaSessionManagerIOS.mm: |
| (WebCore::MediaSessionManageriOS::showPlaybackTargetPicker): Add non-functional stub. |
| |
| Implement wireless playback control and status API. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Dispatch TargetIsWirelessChanged. |
| (WebCore::MediaPlayerPrivateAVFoundation::playbackTargetIsWirelessChanged): Pass through to |
| media element. |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize |
| m_allowsWirelessVideoPlayback. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Remove "externalPlaybackActive" observer. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): Fix broken logging. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Add "externalPlaybackActive" observer, |
| set initial wireless playback. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer): Fix broken logging. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless): New. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled): New. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled): New. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackTargetIsWirelessDidChange): New. |
| (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with |
| externalPlaybackActive. |
| |
| 2014-02-24 Brent Fulgham <bfulgham@apple.com> |
| |
| [Win] Gracefully recover from missing 'naturalSize' parameter for media |
| https://bugs.webkit.org/show_bug.cgi?id=129278 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add declaration for |
| missing function call. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus): Don't treat missing 'naturalSize' |
| as a fatal error. |
| (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Handle case of asset track |
| not being available yet. |
| (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged): If the 'naturalSize' is empty, |
| use the Player Item's 'presentationSize' instead. |
| (WebCore::AVFWrapper::processNotification): Add missing handler for duration changed. |
| |
| 2014-02-25 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Add ENABLE flag |
| https://bugs.webkit.org/show_bug.cgi?id=129153 |
| |
| Reviewed by Simon Fraser. |
| |
| Added ENABLE_CSS_GRID_LAYOUT feature flag. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::isLayoutDependent): |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSGridTemplateAreasValue.cpp: |
| * css/CSSGridTemplateAreasValue.h: |
| * css/CSSParser.cpp: |
| (WebCore::CSSParserContext::CSSParserContext): |
| (WebCore::operator==): |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSParser.h: |
| * css/CSSParserMode.h: |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): |
| * css/CSSPropertyNames.in: |
| * css/CSSValue.cpp: |
| (WebCore::CSSValue::equals): |
| (WebCore::CSSValue::cssText): |
| (WebCore::CSSValue::destroy): |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| * css/StyleProperties.cpp: |
| (WebCore::StyleProperties::getPropertyValue): |
| * css/StylePropertyShorthand.cpp: |
| (WebCore::shorthandForProperty): |
| (WebCore::matchingShorthandsForLonghand): |
| * css/StyleResolver.cpp: |
| (WebCore::equivalentBlockDisplay): |
| (WebCore::StyleResolver::adjustRenderStyle): |
| (WebCore::StyleResolver::applyProperty): |
| * css/StyleResolver.h: |
| * dom/Document.cpp: |
| * dom/Document.h: |
| * rendering/RenderElement.cpp: |
| (WebCore::RenderElement::createFor): |
| * rendering/RenderGrid.cpp: |
| * rendering/RenderGrid.h: |
| * rendering/style/GridCoordinate.h: |
| * rendering/style/GridLength.h: |
| * rendering/style/GridPosition.h: |
| * rendering/style/GridTrackSize.h: |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::changeRequiresLayout): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| * rendering/style/StyleAllInOne.cpp: |
| * rendering/style/StyleGridData.cpp: |
| * rendering/style/StyleGridData.h: |
| * rendering/style/StyleGridItemData.cpp: |
| * rendering/style/StyleGridItemData.h: |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| |
| 2014-02-25 Jer Noble <jer.noble@apple.com> |
| |
| [EME][Mac] Fix a few issues in CDMSessionMediaSourceAVFObjC. |
| https://bugs.webkit.org/show_bug.cgi?id=129310 |
| |
| Reviewed by Eric Carlson. |
| |
| Only send a 'keyerror' event if an actual error code was returned, not just |
| when no key was added: |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::addKeyTimerFired): |
| |
| The 'length' parameter to a typed ArrayBufferView is the number of entries |
| in the array, not the byte length: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): |
| |
| The return value of streamingContentKeyRequestDataForApp:contentIdentifier:trackId:options:error |
| is autoreleased; do not wrap it in an adoptNS: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): |
| |
| 2014-02-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [MediaStream] Adding mock implementation of UserMediaClient |
| https://bugs.webkit.org/show_bug.cgi?id=129274 |
| |
| Reviewed by Eric Carlson. |
| |
| * platform/mock/UserMediaClientMock.h: Added. |
| (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): |
| * testing/Internals.cpp: |
| (WebCore::Internals::Internals): |
| |
| 2014-02-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Tighten bitfields in live NodeLists and HTMLCollections |
| https://bugs.webkit.org/show_bug.cgi?id=129300 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Reduce the number of bits used for m_rootType and m_type in LiveNodeList. |
| Also use enum class for LiveNodeList types. We keep "Type" suffix not to |
| confuse old-ish compilers. |
| |
| * dom/ClassNodeList.cpp: |
| (WebCore::ClassNodeList::ClassNodeList): |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getElementsByTagName): |
| (WebCore::ContainerNode::getElementsByName): |
| (WebCore::ContainerNode::getElementsByClassName): |
| (WebCore::ContainerNode::radioNodeList): |
| * dom/LiveNodeList.cpp: |
| (WebCore::LiveNodeList::collectionFirst): |
| (WebCore::LiveNodeList::collectionTraverseForward): |
| * dom/LiveNodeList.h: |
| (WebCore::LiveNodeList::LiveNodeList): |
| * dom/NameNodeList.cpp: |
| (WebCore::NameNodeList::NameNodeList): |
| * dom/NameNodeList.h: |
| (WebCore::NameNodeList::create): |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::namedNodeListKey): |
| * dom/TagNodeList.cpp: |
| (WebCore::HTMLTagNodeList::HTMLTagNodeList): |
| * dom/TagNodeList.h: |
| (WebCore::TagNodeList::create): |
| (WebCore::HTMLTagNodeList::create): |
| * html/HTMLCollection.h: |
| * html/LabelableElement.cpp: |
| (WebCore::LabelableElement::labels): |
| * html/LabelsNodeList.cpp: |
| (WebCore::LabelsNodeList::LabelsNodeList): |
| * html/LabelsNodeList.h: |
| * html/RadioNodeList.cpp: |
| (WebCore::RadioNodeList::RadioNodeList): |
| * html/RadioNodeList.h: |
| (WebCore::RadioNodeList::create): |
| |
| 2014-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Make it possible to set the visited link provider on a per page basis |
| https://bugs.webkit.org/show_bug.cgi?id=129288 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebCore.exp.in: |
| Export symbols needed by WebKit2. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Make VisitedLinkProvider a private header. |
| |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| Take the visited link provider from the PageClients object. |
| |
| (WebCore::Page::visitedLinkProvider): |
| If the page has a visited link provider set, return it. |
| |
| * page/Page.h: |
| Add VisitedLinkProvider to Page and PageClients. |
| |
| 2014-02-25 Morten Stenshorne <mstensho@opera.com> |
| |
| [New Multicolumn] -webkit-column-break-inside:avoid doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=129299 |
| |
| Reviewed by Andrei Bucur. |
| |
| adjustForUnsplittableChild() simply forgot to check whether we |
| were inside flow thread based multicol. |
| |
| Test: fast/multicol/newmulticol/avoid-column-break-inside.html |
| |
| * rendering/RenderBlockFlow.cpp: |
| (WebCore::RenderBlockFlow::adjustForUnsplittableChild): |
| |
| 2014-02-25 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions] Remove unused function RenderFlowThread::regionForCompositedLayer |
| https://bugs.webkit.org/show_bug.cgi?id=129303 |
| |
| Reviewed by Andrei Bucur. |
| |
| Cleanup, no funtionality change, no new tests. |
| |
| * rendering/RenderFlowThread.h: |
| |
| 2014-02-25 Mihai Tica <mitica@adobe.com> |
| |
| [CSS Blending] -webkit-mix-blend-mode should force transform-style: flat. |
| https://bugs.webkit.org/show_bug.cgi?id=126158 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| As stated in the http://www.w3.org/TR/css3-transforms/#propdef-transform-style, an element with blending |
| should force transform-style: flat. |
| |
| Test: css3/compositing/blend-mode-transform-style.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): If blending is detected, set transform-style to flat. |
| |
| 2014-02-25 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move to using std::unique_ptr for Element, Node and related classes |
| https://bugs.webkit.org/show_bug.cgi?id=129058 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replace uses of OwnPtr and PassOwnPtr in Element, Node and the related |
| classes with std::unique_ptr and move semantics. |
| |
| * dom/ContainerNode.h: |
| (WebCore::ChildNodesLazySnapshot::takeSnapshot): |
| (WebCore::ChildNodesLazySnapshot::hasSnapshot): |
| * dom/Element.cpp: |
| (WebCore::ensureAttrNodeListForElement): |
| (WebCore::Element::attributes): |
| * dom/ElementIteratorAssertions.h: |
| (WebCore::ElementIteratorAssertions::ElementIteratorAssertions): |
| * dom/ElementRareData.h: |
| (WebCore::ElementRareData::setAttributeMap): |
| * dom/MutationObserverRegistration.cpp: |
| (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach): |
| (WebCore::MutationObserverRegistration::clearTransientRegistrations): |
| (WebCore::MutationObserverRegistration::addRegistrationNodesToSet): |
| * dom/MutationObserverRegistration.h: |
| * dom/NamedNodeMap.h: |
| (WebCore::NamedNodeMap::NamedNodeMap): |
| * dom/Node.cpp: |
| (WebCore::Node::ensureRareData): |
| (WebCore::Node::didMoveToNewDocument): |
| (WebCore::Node::ensureEventTargetData): |
| (WebCore::Node::mutationObserverRegistry): |
| (WebCore::Node::registerMutationObserver): |
| (WebCore::Node::unregisterMutationObserver): |
| (WebCore::Node::notifyMutationObserversNodeWillDetach): |
| * dom/Node.h: |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::NodeListsNodeData): |
| (WebCore::NodeRareData::NodeRareData): |
| (WebCore::NodeRareData::clearNodeLists): |
| (WebCore::NodeRareData::ensureNodeLists): |
| (WebCore::NodeRareData::ensureMutationObserverData): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::rebuildPresentationAttributeStyle): |
| |
| 2014-02-25 Andreas Kling <akling@apple.com> |
| |
| Prune dead code for Web Inspector memory instrumentation. |
| <https://webkit.org/b/129286> |
| |
| This was leftover code from Chromium's inspector. It's not used by |
| today's WebKit inspector. |
| |
| Reviewed by Sam Weinig. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * inspector/InspectorAllInOne.cpp: |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| * inspector/InspectorController.h: |
| * inspector/InspectorMemoryAgent.cpp: Removed. |
| * inspector/InspectorMemoryAgent.h: Removed. |
| * inspector/InspectorTimelineAgent.cpp: |
| (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): |
| * inspector/InspectorTimelineAgent.h: |
| * inspector/WorkerInspectorController.cpp: |
| (WebCore::WorkerInspectorController::WorkerInspectorController): |
| * inspector/protocol/Memory.json: Removed. |
| |
| 2014-02-24 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Support abbr, acronym |
| https://bugs.webkit.org/show_bug.cgi?id=128860 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| Expose the data in <abbr>, <acronym> and <th abbr=""> as an |
| alternateTextValue() parameter. |
| |
| Test: platform/mac/accessibility/abbr-acronym-tags.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::hasTagName): |
| * accessibility/AccessibilityObject.h: |
| (WebCore::AccessibilityObject::alternateTextValue): |
| (WebCore::AccessibilityObject::supportsAlternateTextValue): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::alternateTextValue): |
| (WebCore::AccessibilityRenderObject::supportsAlternateTextValue): |
| * accessibility/AccessibilityRenderObject.h: |
| * accessibility/AccessibilityTableCell.cpp: |
| (WebCore::AccessibilityTableCell::alternateTextValue): |
| (WebCore::AccessibilityTableCell::supportsAlternateTextValue): |
| * accessibility/AccessibilityTableCell.h: |
| * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: |
| (AXAttributeStringSetAlternateTextValue): |
| (AXAttributedStringAppendText): |
| (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| |
| 2014-02-24 Martin Robinson <mrobinson@igalia.com> |
| |
| [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files |
| https://bugs.webkit.org/show_bug.cgi?id=128417 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * bindings/gobject/GNUmakefile.am: Generate a config file for webkitdom documentation generation. |
| |
| 2014-02-24 Mark Lam <mark.lam@apple.com> |
| |
| Need to initialize VM stack data even when the VM is on an exclusive thread. |
| <https://webkit.org/b/129265> |
| |
| Reviewed by Geoffrey Garen. |
| |
| No new tests. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| - Added an assertion to ensure that we are holding the JSLock. |
| * bindings/js/JSDOMWindowBase.cpp: |
| (WebCore::JSDOMWindowBase::commonVM): |
| - Updated to use the new VM::setExclusiveThread(). |
| |
| 2014-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Add a DefaultVisitedLinkProvider and route visited link actions through it |
| https://bugs.webkit.org/show_bug.cgi?id=129285 |
| |
| Reviewed by Dan Bernstein. |
| |
| DefaultVisitedLinkProvider currently just forwards everything to the visited link strategy, |
| but will soon take over the responsibilities of visited link handling from PageGroup. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/VisitedLinkState.cpp: |
| (WebCore::VisitedLinkState::determineLinkStateSlowCase): |
| * loader/HistoryController.cpp: |
| (WebCore::addVisitedLink): |
| (WebCore::HistoryController::updateForStandardLoad): |
| (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): |
| (WebCore::HistoryController::updateForClientRedirect): |
| (WebCore::HistoryController::updateForSameDocumentNavigation): |
| (WebCore::HistoryController::pushState): |
| (WebCore::HistoryController::replaceState): |
| * page/DefaultVisitedLinkProvider.cpp: Copied from Source/WebCore/page/VisitedLinkProvider.h. |
| (WebCore::DefaultVisitedLinkProvider::create): |
| (WebCore::DefaultVisitedLinkProvider::DefaultVisitedLinkProvider): |
| (WebCore::DefaultVisitedLinkProvider::~DefaultVisitedLinkProvider): |
| (WebCore::DefaultVisitedLinkProvider::isLinkVisited): |
| (WebCore::DefaultVisitedLinkProvider::addVisitedLink): |
| * page/DefaultVisitedLinkProvider.h: Copied from Source/WebCore/page/VisitedLinkProvider.h. |
| * page/Page.cpp: |
| (WebCore::Page::visitedLinkProvider): |
| * page/Page.h: |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::PageGroup): |
| (WebCore::PageGroup::visitedLinkProvider): |
| * page/PageGroup.h: |
| * page/VisitedLinkProvider.h: |
| |
| 2014-02-24 Jeremy Jones <jeremyj@apple.com> |
| |
| WK2 AVKit fullscreen doesn't display video. |
| https://bugs.webkit.org/show_bug.cgi?id=128564 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebCore.exp.in: |
| Export WebCore::PlatformCALayer::platformCALayer() |
| |
| * platform/ios/WebVideoFullscreenInterface.h: |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.h: |
| Remove SetVideoLayerID(). |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::setVideoLayer): |
| Wrap make video layer look like an AVAVPlayerLayer with WebAVPlayerLayer |
| |
| * platform/ios/WebVideoFullscreenModelMediaElement.mm: |
| (WebVideoFullscreenModelMediaElement::setMediaElement): |
| Pass along the videoLayer before borrowing it so the interface will be ready to |
| catch the transaction that removes it. |
| |
| 2014-02-24 Samuel White <samuel_white@apple.com> |
| |
| AX: AccessibilityObject::findMatchingObjects should never include 'this' in results. |
| https://bugs.webkit.org/show_bug.cgi?id=129243 |
| |
| Reviewed by Chris Fleizach. |
| |
| Fix removes the container object from the search results when searching backwards. This |
| makes backwards & forwards search results consistent with each other. |
| |
| Test: platform/mac/accessibility/search-predicate-container-not-included.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::findMatchingObjects): |
| |
| 2014-02-24 Samuel White <samuel_white@apple.com> |
| |
| AX: findMatchingObjects backwards start position inconsistent with forwards start position when startObject == nullptr. |
| https://bugs.webkit.org/show_bug.cgi?id=129266 |
| |
| Reviewed by Chris Fleizach. |
| |
| When searching forward with no start object, the first thing considered is the first child of |
| the container. However, when searching backwards with no start object nothing in the container |
| is considered; this basically negates the search. This patch makes backwards searching without |
| a start object start from the last child of the container to match forward search expectations. |
| |
| Test: platform/mac/accessibility/search-predicate-start-not-specified.html |
| |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::findMatchingObjects): |
| |
| 2014-02-24 Andreas Kling <akling@apple.com> |
| |
| Prune dead code for Web Inspector canvas instrumentation. |
| <https://webkit.org/b/129269> |
| |
| This was leftover code from Chromium's inspector. It's not used by |
| today's WebKit inspector. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSHTMLCanvasElementCustom.cpp: |
| (WebCore::JSHTMLCanvasElement::getContext): |
| * inspector/InjectedScriptCanvasModule.cpp: Removed. |
| * inspector/InjectedScriptCanvasModule.h: Removed. |
| * inspector/InspectorAllInOne.cpp: |
| * inspector/InspectorCanvasAgent.cpp: Removed. |
| * inspector/InspectorCanvasAgent.h: Removed. |
| * inspector/InspectorCanvasInstrumentation.h: Removed. |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::InspectorController): |
| (WebCore::InspectorController::didBeginFrame): |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): |
| (WebCore::InspectorInstrumentation::didCommitLoadImpl): |
| * inspector/InspectorInstrumentation.h: |
| * inspector/InstrumentingAgents.cpp: |
| (WebCore::InstrumentingAgents::InstrumentingAgents): |
| (WebCore::InstrumentingAgents::reset): |
| * inspector/InstrumentingAgents.h: |
| |
| 2014-02-24 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides |
| https://bugs.webkit.org/show_bug.cgi?id=128693 |
| |
| Reviewed by David Hyatt. |
| |
| When we don't have space next to the floating container, but we have space inside the floating-container next |
| to the defined shape-outside, we should wrap around the shape-outside. This patch fixes the behavior both for |
| cases when there is no space to fit at the first line, and for the additional lines cases. |
| |
| Test: fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html |
| |
| * rendering/line/BreakingContextInlineHeaders.h: |
| (WebCore::BreakingContext::handleText): |
| (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded): |
| * rendering/line/LineWidth.cpp: |
| (WebCore::availableWidthAtOffset): |
| (WebCore::LineWidth::updateLineDimension): Added new helper. |
| (WebCore::isWholeLineFit): Added new helper. |
| (WebCore::LineWidth::wrapNextToShapeOutside): Added new helper. |
| (WebCore::LineWidth::fitBelowFloats): Add optional parameter for the function. |
| * rendering/line/LineWidth.h: |
| |
| 2014-02-24 Martin Hock <mhock@apple.com> |
| |
| Create SessionID value-style class for session IDs. |
| https://bugs.webkit.org/show_bug.cgi?id=129141 |
| |
| Reviewed by Brady Eidson. |
| |
| * GNUmakefile.list.am: |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/Page.cpp: Add SessionID member. |
| (WebCore::Page::Page): |
| (WebCore::Page::sessionID): Retrieve sessionID or use settings if not set. |
| * page/Page.h: |
| (WebCore::Page::setSessionID): |
| * page/SessionID.h: Session ID class consisting solely of its uint64_t session ID. |
| (WebCore::SessionID::SessionID): |
| (WebCore::SessionID::isValid): Not empty. |
| (WebCore::SessionID::isEphemeral): |
| (WebCore::SessionID::sessionID): |
| (WebCore::SessionID::operator==): Value-based equality. |
| (WebCore::SessionID::operator!=): |
| (WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue. |
| (WebCore::SessionID::defaultSessionID): |
| (WebCore::SessionID::legacyPrivateSessionID): |
| * page/SessionIDHash.h: |
| (WTF::SessionIDHash::hash): Just the casted session ID (low order bytes) |
| (WTF::SessionIDHash::equal): |
| (WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID. |
| (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value. |
| (WTF::HashTraits<WebCore::SessionID>::isDeletedValue): |
| |
| 2014-02-24 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm |
| https://bugs.webkit.org/show_bug.cgi?id=128372 |
| |
| Reviewed by David Hyatt. |
| |
| From Blink r165692 by <svillar@igalia.com> |
| |
| The spec defines a different code path for the computeUsedBreadthOfGridTracks algorithm |
| http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks. |
| |
| Basically the track breadth is different when the available size is undefined and thus, |
| cannot be taken into account during the computations. |
| The available size is undefined whenever the height is auto or the grid element has a |
| shrink-to-fit behavior. |
| |
| It was also renamed the function to match the specs so the function name starts with |
| 'compute' instead of 'computed'. |
| |
| No new tests, but added new cases to some of them. |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeIntrinsicLogicalWidths): |
| (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): |
| (WebCore::gridElementIsShrinkToFit): |
| (WebCore::RenderGrid::computeNormalizedFractionBreadth): |
| (WebCore::RenderGrid::layoutGridItems): |
| * rendering/RenderGrid.h: |
| |
| 2014-02-24 Roger Fong <roger_fong@apple.com> |
| |
| [Windows] Unreviewed pre-emptive build fix. |
| |
| * WebCore.vcxproj/WebCoreCommon.props: Add replay directory to include path. |
| |
| 2014-02-24 Brady Eidson <beidson@apple.com> |
| |
| Break out ImageControls style into an external stylesheet |
| https://bugs.webkit.org/show_bug.cgi?id=129273 |
| |
| Reviewed by Jer Noble. |
| |
| * DerivedSources.make: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| * css/CSSDefaultStyleSheets.cpp: |
| (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement): |
| * css/CSSDefaultStyleSheets.h: |
| |
| * html/shadow/mac/ImageControlsRootElementMac.cpp: |
| (WebCore::ImageControlsRootElementMac::maybeCreate): |
| |
| * html/shadow/mac/imageControlsMac.css: |
| (.x-webkit-imagemenu): |
| (.x-webkit-imagemenu:hover): |
| |
| * rendering/RenderTheme.h: |
| (WebCore::RenderTheme::mediaControlsScript): |
| (WebCore::RenderTheme::imageControlsStyleSheet): |
| * rendering/RenderThemeMac.h: |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::imageControlsStyleSheet): |
| |
| 2014-02-24 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> |
| |
| [WebRTC] Validating RTCConfiguration according to the spec |
| https://bugs.webkit.org/show_bug.cgi?id=129182 |
| |
| Reviewed by Eric Carlson. |
| |
| Spec states that: |
| - iceServers should not be an empty list |
| - the entry in the configuration dictionary is "urls", instead of "url" |
| - urls can be either a list or a string |
| Fixing all that in RTCConfiguration validation when creating a RTCPeerConnection |
| |
| Existing tests were updated. |
| |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::appendIceServer): Added. |
| (WebCore::processIceServer): Added. |
| (WebCore::RTCPeerConnection::parseConfiguration): |
| |
| 2014-02-24 Radu Stavila <stavila@adobe.com> |
| |
| [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile |
| https://bugs.webkit.org/show_bug.cgi?id=129254 |
| |
| Reviewed by Antti Koivisto. |
| |
| The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted |
| because that would prevent all the layer's children from being painted. |
| |
| Another problem this patch addresses is that clipping should also be performed when the clip rect is empty, |
| which is what happens when painting in a tile in which the flowed element would normally be painted |
| if it wasn't clipped by the region. |
| |
| Test: fast/regions/content-relative-next-tile.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments): |
| |
| 2014-02-24 Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> |
| |
| Get rid of the unused 'immediate' parameters from repaint related functions |
| https://bugs.webkit.org/show_bug.cgi?id=129111 |
| |
| Reviewed by Simon Fraser. |
| |
| Removing the 'immediate' parameters from repaint related functions - accoring |
| to the FIXME in RenderView::repaintViewRectangle() - since they have no effect. |
| |
| No new tests are necessary because there is no behavior change |
| |
| * dom/Element.cpp: |
| (WebCore::Element::setActive): |
| * loader/EmptyClients.h: |
| * page/Chrome.cpp: |
| (WebCore::Chrome::invalidateRootView): |
| (WebCore::Chrome::invalidateContentsAndRootView): |
| (WebCore::Chrome::invalidateContentsForSlowScroll): |
| * page/Chrome.h: |
| * page/ChromeClient.h: |
| * page/Frame.cpp: |
| (WebCore::Frame::tiledBackingStorePaintEnd): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::invalidateRect): |
| (WebCore::FrameView::scrollContentsFastPath): |
| (WebCore::FrameView::repaintContentRectangle): |
| (WebCore::FrameView::shouldUpdate): |
| * page/FrameView.h: |
| * platform/HostWindow.h: |
| * platform/ScrollView.cpp: |
| (WebCore::ScrollView::scrollContents): |
| (WebCore::ScrollView::scrollContentsSlowPath): |
| (WebCore::ScrollView::repaintContentRectangle): |
| (WebCore::ScrollView::updateOverhangAreas): |
| (WebCore::ScrollView::addPanScrollIcon): |
| (WebCore::ScrollView::removePanScrollIcon): |
| (WebCore::ScrollView::platformRepaintContentRectangle): |
| * platform/ScrollView.h: |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::repaintLayerRectsForImage): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::repaintRectangleInRegions): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): |
| * rendering/RenderLayer.h: |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::repaintFlowThreadContent): |
| * rendering/RenderMultiColumnSet.h: |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::repaintUsingContainer): |
| (WebCore::RenderObject::repaint): |
| (WebCore::RenderObject::repaintRectangle): |
| (WebCore::RenderObject::repaintSlowRepaintObject): |
| * rendering/RenderObject.h: |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::repaintFlowThreadContent): |
| (WebCore::RenderRegion::repaintFlowThreadContentRectangle): |
| * rendering/RenderRegion.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::repaintViewRectangle): |
| (WebCore::RenderView::flushAccumulatedRepaintRegion): |
| (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): |
| * rendering/RenderView.h: |
| * svg/graphics/SVGImageChromeClient.h: |
| |
| 2014-02-24 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> |
| |
| Code cleanup: remove leftover ENABLE(WORKERS) macros and support. |
| https://bugs.webkit.org/show_bug.cgi?id=129255 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| ENABLE_WORKERS macro was removed in r159679, but r161589 added back some occurrences. |
| Support is now also removed from xcconfig files. |
| |
| No new tests needed. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * platform/ThreadGlobalData.cpp: |
| * platform/ThreadGlobalData.h: |
| * platform/Timer.h: |
| (WebCore::TimerBase::isActive): |
| * platform/ios/wak/WebCoreThread.mm: |
| (RunWebThread): |
| (StartWebThread): |
| |
| 2014-02-24 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> |
| |
| [CMake] Get rid of "FIXME: The Blackberry port ..." from WebCore/CmakeLists.txt |
| https://bugs.webkit.org/show_bug.cgi?id=129152 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * CMakeLists.txt: |
| |
| 2014-02-24 David Kilzer <ddkilzer@apple.com> |
| |
| Remove redundant setting in FeatureDefines.xcconfig |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-02-24 Mihai Tica <mitica@adobe.com> |
| |
| [CSS Blending] An element having -webkit-mix-blend-mode should only blend with the contents of the parent stacking context |
| https://bugs.webkit.org/show_bug.cgi?id=129154 |
| |
| Reviewed by Dean Jackson. |
| |
| The blending operation of an element having -webkit-mix-blend-mode should be restricted to the parent stacking context. |
| This change isolates blending, preventing it from blending with other underlying elements besides the parent stacking context. |
| |
| Tests: css3/compositing/blend-mode-isolated-group-1.html |
| css3/compositing/blend-mode-isolated-group-2.html |
| css3/compositing/blend-mode-isolated-group-3.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::RenderLayer): Initialize added members to false. |
| (WebCore::RenderLayer::updateBlendMode): Check if a blend mode was set or unset. If so, set the m_updateParentStackingContextShouldIsolateBlendingDirty to true. |
| (WebCore::RenderLayer::updateParentStackingContextShouldIsolateBlending): Traverse to the parent stacking context and update the |
| m_isolatesBlending member accordingly. |
| * rendering/RenderLayer.h: |
| - Add isolatesBlending() as a condition for creating a transparency layer in the paintsWithTransparency method. |
| - Add m_updateParentStackingContextShouldIsolateBlendingDirty member. |
| - Add m_isolatesBlending member and getter. |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call updateParentStackingContextShouldIsolateBlending. |
| |
| 2014-02-24 Krzysztof Czech <k.czech@samsung.com> |
| |
| [ATK] Wrong selected element at a given index in a list box. |
| https://bugs.webkit.org/show_bug.cgi?id=129039 |
| |
| Reviewed by Chris Fleizach. |
| |
| Test: accessibility/select-element-at-index.html |
| |
| The selected element at a given index was wrong. One should be considered among the |
| all children of a list box, not only selected ones. |
| |
| * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp: |
| (core): |
| (listObjectForSelection): |
| (optionFromList): |
| (optionFromSelection): |
| (webkitAccessibleSelectionRefSelection): |
| |
| 2014-02-23 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Allow ANGLE to initialize unused varyings |
| https://bugs.webkit.org/show_bug.cgi?id=129240 |
| <rdar://problem/15203342> |
| |
| Reviewed by Sam Weinig. |
| |
| Covered by: conformance/glsl/misc/shaders-with-varyings.html |
| |
| * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
| (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): |
| Add SH_INIT_VARYINGS_WITHOUT_STATIC_USE to compiler flags. |
| |
| 2014-02-23 Sam Weinig <sam@webkit.org> |
| |
| Update FeatureDefines.xcconfig |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-02-23 Dean Jackson <dino@apple.com> |
| |
| Sort the project file with sort-Xcode-project-file. |
| |
| Rubber-stamped by Sam Weinig. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-02-23 Sam Weinig <sam@webkit.org> |
| |
| Fix incorrectly commented out code. |
| |
| * platform/TelephoneNumberDetector.h: |
| |
| 2014-02-23 Sam Weinig <sam@webkit.org> |
| |
| Extract platform specific parts of telephone number detection |
| https://bugs.webkit.org/show_bug.cgi?id=129238 |
| |
| Reviewed by Dean Jackson. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): |
| (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): |
| * platform/TelephoneNumberDetector.h: Added. |
| * platform/cocoa/TelephoneNumberDetectorCocoa.cpp: Added. |
| (WebCore::TelephoneNumberDetector::phoneNumbersScanner): |
| (WebCore::TelephoneNumberDetector::isSupported): |
| (WebCore::TelephoneNumberDetector::find): |
| Move code to TelephoneNumberDetector. |
| |
| 2014-02-23 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Change a url parameter type with URL in NavigatorContentUtils |
| https://bugs.webkit.org/show_bug.cgi?id=129202 |
| |
| Reviewed by Sam Weinig. |
| |
| It would be good if we use *URL* for url parameters instead of using String. |
| |
| Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458. |
| |
| * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: |
| (WebCore::verifyCustomHandlerURL): |
| (WebCore::NavigatorContentUtils::registerProtocolHandler): |
| (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered): |
| (WebCore::NavigatorContentUtils::unregisterProtocolHandler): |
| * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h: |
| |
| 2014-02-23 Dean Jackson <dino@apple.com> |
| |
| Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4 |
| https://bugs.webkit.org/show_bug.cgi?id=129232 |
| |
| Reviewed by Brent Fulgham. |
| |
| New files added, derived sources compiled directly, and generated |
| steps removed for both EFL and GTK, with much-needed help from |
| Sergio Correia. |
| |
| * CMakeLists.txt: |
| * GNUMakefile.am: |
| |
| 2014-02-23 Sam Weinig <sam@webkit.org> |
| |
| Move RenderMathMLMenclose.h/cpp to the right place in the Xcode project and sort. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-02-23 Sam Weinig <sam@webkit.org> |
| |
| Move telephone number detection behind its own ENABLE macro |
| https://bugs.webkit.org/show_bug.cgi?id=129236 |
| |
| Reviewed by Dean Jackson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| Add ENABLE_TELEPHONE_NUMBER_DETECTION. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| * dom/Document.h: |
| * html/parser/HTMLConstructionSite.h: |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): |
| * html/parser/HTMLTreeBuilder.h: |
| Use ENABLE(TELEPHONE_NUMBER_DETECTION). |
| |
| * platform/mac/SoftLinking.h: |
| Remove PLATOFORM(IOS) from SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL, it is not iOS specific. |
| |
| 2014-02-23 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Fix bleed avoidance subpixel calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=129225 |
| |
| Reviewed by Simon Fraser. |
| |
| static_cast<LayoutUnit>(int value) only produces the desired result when subpixel is off. |
| |
| Currently not testable. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): |
| (WebCore::shrinkRectByOneDevicePixel): |
| (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance): |
| (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| * rendering/RenderBoxModelObject.h: |
| |
| 2014-02-23 Zalan Bujtas <zalan@apple.com> |
| |
| Subpixel rendering: Add devicepixel based computation to BorderEdge class. |
| https://bugs.webkit.org/show_bug.cgi?id=129224 |
| |
| Reviewed by Simon Fraser. |
| |
| To produce correct width (and type) results, BorderEdge class needs to take device pixel ratio into account. |
| |
| Currently not testable. |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::BorderEdge::BorderEdge): |
| (WebCore::BorderEdge::obscuresBackgroundEdge): |
| (WebCore::BorderEdge::getDoubleBorderStripeWidths): this does not always produce the same |
| result as before, but the sum of inner and outer is not different. |
| (WebCore::BorderEdge::borderWidthInDevicePixel): |
| (WebCore::RenderBoxModelObject::getBorderEdgeInfo): |
| |
| 2014-02-22 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com |
| https://bugs.webkit.org/show_bug.cgi?id=129227 |
| |
| Reviewed by Eric Carlson. |
| |
| Reverted r164507. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| * inspector/PageDebuggerAgent.cpp: |
| (WebCore::PageDebuggerAgent::breakpointActionLog): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| * page/Console.cpp: |
| (WebCore::internalAddMessage): |
| (WebCore::Console::profile): |
| (WebCore::Console::profileEnd): |
| (WebCore::Console::timeEnd): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::postMessage): |
| |
| 2014-02-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove some unreachable code (-Wunreachable-code) |
| https://bugs.webkit.org/show_bug.cgi?id=129220 |
| |
| Reviewed by Eric Carlson. |
| |
| * html/parser/HTMLTreeBuilder.cpp: |
| (WebCore::HTMLTreeBuilder::processCharacterBuffer): |
| (WebCore::HTMLTreeBuilder::processEndTag): |
| The only tricky case. Here there was a break inside the |
| #if, but not the #else, and a break after the #endif. |
| Remove the break inside the #if, and always use the |
| break after the #endif. |
| |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::modeToString): |
| * bindings/js/JSTrackCustom.cpp: |
| (WebCore::toJS): |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::functionForUniform): |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkOne): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::parseAttribute): |
| * page/CaptionUserPreferencesMediaAF.cpp: |
| (WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode): |
| |
| 2014-02-22 Dean Jackson <dino@apple.com> |
| |
| Letterpress effect disabled for synthetic italic |
| https://bugs.webkit.org/show_bug.cgi?id=129218 |
| <rdar://problem/15997846> |
| |
| Reviewed by Dan Bernstein. |
| |
| There was no need to guard against synthetic italics and letterpress. |
| |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::drawGlyphs): Remove !useLetterpressEffect from conditional. |
| |
| 2014-02-21 Sam Weinig <sam@webkit.org> |
| |
| Expose phase and momentum phase as SPI on DOMWheelEvent |
| <rdar://problem/16110871> |
| https://bugs.webkit.org/show_bug.cgi?id=129184 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Export core(DOMWheelEvent). |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Make DOMWheelEventInternal.h available in WebKit. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::dispatchWheelEvent): |
| * dom/WheelEvent.cpp: |
| (WebCore::determineDeltaMode): |
| (WebCore::WheelEvent::WheelEvent): |
| (WebCore::WheelEvent::initWheelEvent): |
| (WebCore::WheelEvent::initWebKitWheelEvent): |
| Move PlatformWheelEvent -> DOMWheelEvent conversion to DOMWheelEvent. |
| |
| * dom/WheelEvent.h: |
| (WebCore::WheelEvent::create): |
| (WebCore::WheelEvent::phase): |
| (WebCore::WheelEvent::momentumPhase): |
| Store phase and momentumPhase on the WheelEvent. |
| |
| 2014-02-22 Alexey Proskuryakov <ap@apple.com> |
| |
| Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey |
| https://bugs.webkit.org/show_bug.cgi?id=129121 |
| |
| Reviewed by Sam Weinig. |
| |
| * bindings/js/JSCryptoKeySerializationJWK.cpp: |
| (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated to newer names. |
| (WebCore::addUsagesToJSON): Ditto. |
| (WebCore::JSCryptoKeySerializationJWK::serialize): rsa-oaep-key-manipulation test |
| started ot fail, because RSA-OAEP with 2048 bit key and sha-1 can only encrypt |
| 214 bytes, and the new longer names made JSON serialization slightly longer. |
| Compensate by not doing any indentation in JSON. |
| |
| 2014-02-22 Frédéric Wang <fred.wang@free.fr> |
| |
| Only skip stretchy operators when determining the stretch height. |
| https://bugs.webkit.org/show_bug.cgi?id=126842 |
| |
| Reviewed by Chris Fleizach. |
| |
| The MathML code only takes into account non-mo children for the computation of the stretch size. This change includes non-stretchy mo in that computation. A new test is added into mathml/presentation/stretchy-depth-height.html. |
| |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::layout): |
| |
| 2014-02-22 Frédéric Wang <fred.wang@free.fr> |
| |
| Implement asymmetric/symmetric stretching of vertical operators. |
| https://bugs.webkit.org/show_bug.cgi?id=124827. |
| |
| Reviewed by Chris Fleizach. |
| |
| The MathML code stretches vertical operators asymmetrically by default. This patch takes into account the symmetric attribute or the symmetric property of the operator dictionary to stretch operators symmetrically. |
| |
| Test: mathml/presentation/stretchy-depth-height-symmetric.html |
| |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::stretchTo): |
| (WebCore::RenderMathMLOperator::updateFromElement): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| |
| 2014-02-22 Frédéric Wang <fred.wang@free.fr> |
| |
| Bug 119043 - Large stretch size error for MathML operators. |
| https://bugs.webkit.org/show_bug.cgi?id=119043 |
| |
| Reviewed by Chris Fleizach. |
| |
| The MathML code used some arbitrary gOperatorExpansion factor for the |
| stretch size and 2/3 1/2 constants for the baseline. This change tries |
| to consider height/depth of siblings of the stretchy operator so that |
| the stretchy operator now matches its target. |
| |
| Test: mathml/presentation/stretchy-depth-height.html |
| |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isRenderMathMLTable): |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::RenderMathMLOperator): |
| (WebCore::RenderMathMLOperator::stretchTo): |
| (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| (WebCore::RenderMathMLOperator::firstLineBaseline): |
| (WebCore::RenderMathMLOperator::computeLogicalHeight): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::layout): |
| |
| 2014-02-22 Frédéric Wang <fred.wang@free.fr> |
| |
| Unreviewed, rolling out r164534. |
| http://trac.webkit.org/changeset/164534 |
| https://bugs.webkit.org/show_bug.cgi?id=119043 |
| |
| missing tests |
| |
| * rendering/RenderObject.h: |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::RenderMathMLOperator): |
| (WebCore::RenderMathMLOperator::expandedStretchHeight): |
| (WebCore::RenderMathMLOperator::stretchToHeight): |
| (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| (WebCore::RenderMathMLOperator::firstLineBaseline): |
| (WebCore::RenderMathMLOperator::computeLogicalHeight): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::layout): |
| |
| 2014-02-22 Frédéric Wang <fred.wang@free.fr> |
| |
| Bug 119043 - Large stretch size error for MathML operators. |
| https://bugs.webkit.org/show_bug.cgi?id=119043 |
| |
| Reviewed by Chris Fleizach. |
| |
| The MathML code used some arbitrary gOperatorExpansion factor for the |
| stretch size and 2/3 1/2 constants for the baseline. This change tries |
| to consider height/depth of siblings of the stretchy operator so that |
| the stretchy operator now matches its target. |
| |
| Test: mathml/presentation/stretchy-depth-height.html |
| |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isRenderMathMLTable): |
| * rendering/mathml/RenderMathMLBlock.h: |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::RenderMathMLOperator): |
| (WebCore::RenderMathMLOperator::stretchTo): |
| (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): |
| (WebCore::RenderMathMLOperator::updateStyle): |
| (WebCore::RenderMathMLOperator::firstLineBaseline): |
| (WebCore::RenderMathMLOperator::computeLogicalHeight): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLRow.cpp: |
| (WebCore::RenderMathMLRow::layout): |
| |
| 2014-02-21 Zalan Bujtas <zalan@apple.com> |
| |
| REGRESSION(r164412): Pixel cracks when zooming in to any web content. |
| https://bugs.webkit.org/show_bug.cgi?id=129195 |
| |
| Reviewed by Simon Fraser. |
| |
| Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents(). |
| Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer, |
| RenderView and TileController. |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::paintContents): |
| (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin): |
| |
| 2014-02-21 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed Mac build fix after r164529. |
| |
| Replace the string-to-array algorithm with a archictecture-independant |
| one. |
| |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: |
| (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): |
| |
| 2014-02-21 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC |
| https://bugs.webkit.org/show_bug.cgi?id=129166 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing |
| media-source-backed media elements to play protected content. |
| |
| Add a new CDMSessionMediaSourceAVFObjC class: |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Added. |
| (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): |
| * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Added. |
| (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): |
| (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a |
| key request until the certificate data has been added via update(); |
| (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op. |
| (WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been |
| added, assume the incoming message contains it. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem. |
| (WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate. |
| * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: |
| (WebCore::MediaSourcePrivateAVFObjC::createSession): Added. |
| (WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer. |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: |
| * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: |
| (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): |
| Added, pass through to SourceBufferPrivate. |
| (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): |
| (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember |
| which track is requesting the key, and pass the request to MediaSourcePrivate. |
| |
| Add new files to the project. |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| 2014-02-21 Alexey Proskuryakov <ap@apple.com> |
| |
| CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code |
| https://bugs.webkit.org/show_bug.cgi?id=129193 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: |
| (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code. |
| |
| 2014-02-21 Brent Fulgham <bfulgham@apple.com> |
| |
| Extend media support for WebVTT sources |
| https://bugs.webkit.org/show_bug.cgi?id=129156 |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::outOfBandTrackSources): Added. |
| * html/HTMLMediaElement.h: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::outOfBandTrackSources): Added. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::outOfBandTrackSources): Added. |
| * platform/graphics/PlatformTextTrack.h: |
| (WebCore::PlatformTextTrack::create): Update for new constructor signature. |
| (WebCore::PlatformTextTrack::createOutOfBand): Added. |
| (WebCore::PlatformTextTrack::url): Added. |
| (WebCore::PlatformTextTrack::isDefault): Added. |
| (WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and |
| 'isDefault' arguments. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::mediaDescriptionForKind): Added. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any |
| WebVTT tracks supplied by the web page. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band |
| WebVTT tracks returned by the media engine to avoid double-counting tracks. |
| |
| 2014-02-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Inner text element should not use -webkit-user-modify |
| https://bugs.webkit.org/show_bug.cgi?id=129035 |
| |
| Reviewed by Andreas Kling. |
| |
| To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements |
| instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl. |
| |
| Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since |
| RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle. |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM |
| isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via |
| updateFromControlElementsAncestorDisabledStateUnder. |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so |
| that HTMLTextFormControl could override it to call updateInnerTextElementEditability. |
| (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto. |
| * html/HTMLFormControlElement.h: |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating |
| shadow DOM for the current input type. |
| (WebCore::HTMLInputElement::updateType): Ditto. |
| (WebCore::HTMLInputElement::parseAttribute): Ditto. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability. |
| |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since |
| the editability of the inner text element depends on disabled-ness of the element. |
| (WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element. |
| (WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added. |
| * html/HTMLTextFormControlElement.h: |
| |
| * rendering/RenderTextControl.cpp: |
| (WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to |
| compute the appropriate EUserModify value instead of hard-coding it here. |
| * rendering/RenderTextControl.h: |
| |
| 2014-02-21 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| [GTK] Support WEBGL_draw_buffers extension. |
| https://bugs.webkit.org/show_bug.cgi?id=129143 |
| |
| Reviewed by Dean Jackson. |
| |
| Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs |
| are exposed for WebGLRenderingContext to access them properly. |
| |
| Covered by fast/canvas/webgl/webgl-draw-buffers.html |
| |
| * platform/graphics/OpenGLShims.cpp: |
| (WebCore::initializeOpenGLShims): |
| * platform/graphics/OpenGLShims.h: |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| (WebCore::Extensions3DOpenGL::drawBuffersEXT): |
| |
| 2014-02-21 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=128803 |
| |
| Reviewed by Dean Jackson. |
| |
| Merge mac port implementation of ANGLE_instanced_arrays into common code. |
| |
| No new tests, no functionality changed. |
| |
| * platform/graphics/mac/GraphicsContext3DMac.mm: |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::drawArraysInstanced): |
| (WebCore::Extensions3DOpenGL::drawElementsInstanced): |
| (WebCore::Extensions3DOpenGL::vertexAttribDivisor): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::vertexAttribDivisor): |
| |
| 2014-02-21 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| After copy and paste, cursor may appear to be above the bottom of content |
| https://bugs.webkit.org/show_bug.cgi?id=129167 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adding a clear:both to the end of content. |
| |
| I can't handle the case of the cursor appearing above the bottom of |
| absolutely positioned divs (of the case of floats inside absolutely |
| positioned divs) because you can't know where the bottom of a div |
| will end up being rendered (it is affected by things like browser |
| window width and text size settings). Therefore, the only case I |
| can handle is the case where there is a floating div in the same |
| level as the document itself. |
| |
| Test: editing/pasteboard/copy-paste-inserts-clearing-div.html |
| |
| * editing/EditingStyle.cpp: |
| (WebCore::EditingStyle::isFloating): |
| * editing/EditingStyle.h: |
| * editing/markup.cpp: |
| (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): |
| (WebCore::StyledMarkupAccumulator::appendElement): |
| (WebCore::createMarkupInternal): |
| |
| 2014-02-21 Dean Jackson <dino@apple.com> |
| |
| [iOS Media] Wireless target UI |
| https://bugs.webkit.org/show_bug.cgi?id=129189 |
| <rdar://problem/15349928> |
| <rdar://problem/16100060> |
| |
| Reviewed by Eric Carlson. |
| |
| Implement a prototype UI for wireless playback targets. The UI |
| doesn't currently work, but can be simulated via a class variable |
| in ControllerIOS. |
| |
| * Modules/mediacontrols/mediaControlsiOS.css: |
| (audio::-webkit-media-controls-panel button): Reset the default style of |
| button elements, to avoid getting a border. |
| (audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing |
| the user that the media is playing on another target. |
| (audio::-webkit-media-controls-wireless-playback-status.hidden): |
| (audio::-webkit-media-controls-wireless-playback-picker-button): The button to |
| trigger selection of targets. |
| (audio::-webkit-media-controls-wireless-playback-picker-button.active): |
| (audio::-webkit-media-controls-panel): This needs to be position absolute for |
| the wireless playback status to fill the viewport. |
| * Modules/mediacontrols/mediaControlsiOS.js: |
| (ControllerIOS): Check for targets. |
| (ControllerIOS.prototype.addVideoListeners): |
| (ControllerIOS.prototype.removeVideoListeners): |
| (ControllerIOS.prototype.UIString): New method to return localized strings (with |
| a FIXME). |
| (ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless |
| target. |
| (ControllerIOS.prototype.currentPlaybackTargetIsWireless): |
| (ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content, |
| replacing the device name if it is available. |
| (ControllerIOS.prototype.updateWirelessTargetAvailable): |
| (ControllerIOS.prototype.createControls): |
| (ControllerIOS.prototype.configureInlineControls): |
| (ControllerIOS.prototype.handleWirelessPlaybackChange): |
| (ControllerIOS.prototype.handleWirelessTargetAvailableChange): |
| (ControllerIOS.prototype.handleWirelessPickerButtonClicked): |
| |
| 2014-02-21 Jer Noble <jer.noble@apple.com> |
| |
| Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/. |
| https://bugs.webkit.org/show_bug.cgi?id=129164 |
| |
| Reviewed by Eric Carlson. |
| |
| Move the session created by CDMPrivateAVFoundation into platform, and rename |
| CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want |
| to support a keysystem from within the media engine can create their own |
| CDMSession as part of the MediaPlayerPrivate interface. |
| |
| * Modules/encryptedmedia/CDM.cpp: |
| (WebCore::installedCDMFactories): |
| (WebCore::CDM::createSession): |
| * Modules/encryptedmedia/CDM.h: |
| * Modules/encryptedmedia/CDMPrivate.h: |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed. |
| * Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp. |
| (WebCore::CDMPrivateMediaPlayer::supportsKeySystem): |
| (WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType): |
| (WebCore::CDMPrivateMediaPlayer::supportsMIMEType): |
| (WebCore::CDMPrivateMediaPlayer::createSession): |
| * Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h. |
| (WebCore::CDMPrivateMediaPlayer::create): |
| (WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer): |
| (WebCore::CDMPrivateMediaPlayer::cdm): |
| (WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer): |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h. |
| (WebCore::CDMSessionClient::~CDMSessionClient): |
| (WebCore::CDMSession::CDMSession): |
| (WebCore::CDMSession::~CDMSession): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::createSession): |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::createSession): |
| * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h. |
| (WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC): |
| * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm. |
| (WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC): |
| (WebCore::CDMSessionAVFoundationObjC::generateKeyRequest): |
| (WebCore::CDMSessionAVFoundationObjC::releaseKeys): |
| (WebCore::CDMSessionAVFoundationObjC::update): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createSession): |
| * testing/MockCDM.cpp: |
| (WebCore::MockCDMSession::setClient): |
| (WebCore::MockCDM::createSession): |
| * testing/MockCDM.h: |
| |
| 2014-02-21 Jer Noble <jer.noble@apple.com> |
| |
| Add a supportsKeySystem media engine factory parameter. |
| https://bugs.webkit.org/show_bug.cgi?id=129161 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new parameter to the MediaPlayerFactory to allow registered media |
| engines to be queried for keySystem support: |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayerFactory::MediaPlayerFactory): |
| (WebCore::MediaPlayer::supportsKeySystem): |
| * platform/graphics/MediaPlayer.h: |
| |
| Support this new field in MediaPlayerPrivateAVFoundationObjC: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): |
| (WebCore::keySystemIsSupported): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): |
| |
| Add an empty field for SupportsKeySystem to the remaining media engines: |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): |
| * platform/graphics/ios/MediaPlayerPrivateIOS.mm: |
| (WebCore::MediaPlayerPrivateIOS::registerMediaEngine): |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: |
| (WebCore::MockMediaPlayerMediaSource::registerMediaEngine): |
| |
| 2014-02-21 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix WebCore's internals after r164505 |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505. |
| |
| 2014-02-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JSContext inspection should report exceptions in the console |
| https://bugs.webkit.org/show_bug.cgi?id=128776 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Include some clean up of ConsoleMessage and ScriptCallStack construction. |
| |
| Covered by existing tests. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| Simplify code now that createStackTraceFromException handles it. |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| ScriptCallStack can give us the first non-native callframe. |
| |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| * inspector/PageDebuggerAgent.cpp: |
| (WebCore::PageDebuggerAgent::breakpointActionLog): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| * page/Console.cpp: |
| (WebCore::internalAddMessage): |
| (WebCore::Console::profile): |
| (WebCore::Console::profileEnd): |
| (WebCore::Console::timeEnd): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::postMessage): |
| |
| 2014-02-21 Benjamin Poulain <benjamin@webkit.org> |
| |
| jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument |
| https://bugs.webkit.org/show_bug.cgi?id=128893 |
| |
| Reviewed by Darin Adler. |
| |
| The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter. |
| Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString |
| to make the call. |
| |
| This had two negative consequences: |
| -The call sites were ref-ing the ID's atomic string for no reason. |
| -When there is no ID associated with the input string, an atomic string was created for the sole |
| purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing |
| AtomicString for the input, there is no reason to query anything. |
| |
| * WebCore.exp.in: |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::findAtomicString): Update this after the rename. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): |
| * bindings/scripts/IDLAttributes.txt: |
| Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString* |
| is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString. |
| |
| * dom/Document.idl: |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::getElementById): |
| When getting an AtomicString, the case of a empty string is not important, use isNull() instead. |
| When getting a String, get the corresponding AtomicString if any and use that for getting the element. |
| |
| * dom/TreeScope.h: |
| * html/FTPDirectoryDocument.cpp: |
| (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): |
| Solve the ambiguous call. |
| |
| * svg/SVGAElement.cpp: |
| (WebCore::SVGAElement::defaultEventHandler): |
| This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since |
| the new getElementById never create any AtomicString. |
| |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::getElementById): |
| It looks like there are opportunities to get faster here, Ryosuke should have a look. |
| |
| * svg/SVGSVGElement.h: |
| * xml/XMLTreeViewer.cpp: |
| (WebCore::XMLTreeViewer::transformDocumentToTreeView): |
| Unrelated cleanup: noStyleMessage was useless. |
| |
| 2014-02-21 Daniel Bates <dabates@apple.com> |
| |
| COL element in table has 0 for offsetWidth |
| https://bugs.webkit.org/show_bug.cgi?id=15277 |
| |
| Reviewed by David Hyatt. |
| |
| Implements offset{Left, Top, Width, Height} for table columns and column groups |
| per section Extensions to the HTMLElement Interface of the CSSOM View spec, |
| <http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013). |
| |
| For now, we fail almost all of the offset{Height, Top} sub-tests in the included test |
| for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>. |
| |
| Test: fast/table/col-and-colgroup-offsets.html |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height. |
| We cache these offsets since they are the same for all columns in the table. |
| (WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map. |
| (WebCore::RenderTable::invalidateCachedColumnOffsets): Added. |
| (WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height |
| of one or more sections may have changed. |
| (WebCore::RenderTable::updateColumnCache): Modified to build effective column index map. |
| (WebCore::RenderTable::effectiveIndexOfColumn): Added. |
| (WebCore::RenderTable::offsetTopForColumn): Added. |
| (WebCore::RenderTable::offsetLeftForColumn): Added. |
| (WebCore::RenderTable::offsetWidthForColumn): Added. |
| (WebCore::RenderTable::offsetHeightForColumn): Added. |
| * rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const. |
| * rendering/RenderTableCol.cpp: |
| (WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn(). |
| (WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn(). |
| (WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn(). |
| (WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn(). |
| * rendering/RenderTableCol.h: |
| |
| 2014-02-21 Enrica Casucci <enrica@apple.com> |
| |
| Build fix for iOS after r164498. |
| |
| Unreviewed. |
| |
| * platform/graphics/ios/MediaPlayerPrivateIOS.mm: |
| (WebCore::MediaPlayerPrivateIOS::buffered): |
| |
| 2014-02-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Disallow the use of -webkit-user-modify on shadow pseudo elements |
| https://bugs.webkit.org/show_bug.cgi?id=129144 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements. |
| |
| We've already had rules to do this in html.css but just hard code it into the engine |
| in order to eliminate the all uses of -webkit-user-modify in html.css. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::adjustRenderStyle): |
| * css/html.css: |
| (input::-webkit-textfield-decoration-container): |
| (input::-webkit-clear-button): |
| (input[type="search"]::-webkit-search-cancel-button): |
| (input[type="search"]::-webkit-search-decoration): |
| (input[type="search"]::-webkit-search-results-decoration): |
| (input[type="search"]::-webkit-search-results-button): |
| (input::-webkit-inner-spin-button): |
| (input::-webkit-input-speech-button): |
| (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder): |
| (input[type="file"]::-webkit-file-upload-button): |
| (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): |
| (input[type="range"]::-webkit-slider-runnable-track): |
| (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): |
| (input[type="color"]::-webkit-color-swatch-wrapper): |
| (input[type="color"]::-webkit-color-swatch): |
| (::-webkit-validation-bubble): |
| (::-webkit-validation-bubble-message): |
| (::-webkit-validation-bubble-text-block): |
| (::-webkit-validation-bubble-heading): |
| (::-webkit-validation-bubble-arrow): |
| (::-webkit-validation-bubble-arrow-clipper): |
| (meter::-webkit-meter-inner-element): |
| (meter::-webkit-meter-bar): |
| (meter::-webkit-meter-optimum-value): |
| (meter::-webkit-meter-suboptimum-value): |
| (meter::-webkit-meter-even-less-good-value): |
| (progress::-webkit-progress-inner-element): |
| (progress::-webkit-progress-bar): |
| (progress::-webkit-progress-value): |
| |
| 2014-02-21 Eric Carlson <eric.carlson@apple.com> |
| |
| Fix TimeRanges layering violations |
| https://bugs.webkit.org/show_bug.cgi?id=128717 |
| |
| Reviewed by Jer Noble. |
| |
| No new tests, no functionality changed. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: Add PlatformTimeRanges. |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges. |
| * Modules/mediasource/MediaSource.h: |
| |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&. |
| |
| * WebCore.exp.in: Update for signature changes. |
| |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges. |
| (WebCore::HTMLMediaElement::buffered): Ditto. |
| (WebCore::HTMLMediaElement::seekable): Ditto. |
| |
| * html/MediaController.cpp: |
| (MediaController::buffered): TimeRanges* -> TimeRanges&. |
| (MediaController::seekable): Ditto. |
| (MediaController::played): Ditto. |
| |
| Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*. |
| * html/TimeRanges.cpp: |
| (WebCore::TimeRanges::create): Move to .cpp from .h. |
| (WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable. |
| (WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges. |
| (WebCore::TimeRanges::end): Ditto. |
| (WebCore::TimeRanges::invert): Ditto. |
| (WebCore::TimeRanges::copy): Ditto. |
| (WebCore::TimeRanges::intersectWith): Ditto. |
| (WebCore::TimeRanges::unionWith): Ditto. |
| (WebCore::TimeRanges::length): Ditto. |
| (WebCore::TimeRanges::add): Ditto. |
| (WebCore::TimeRanges::contain): Ditto. |
| (WebCore::TimeRanges::find): Ditto. |
| (WebCore::TimeRanges::nearest): Ditto. |
| (WebCore::TimeRanges::totalDuration): Ditto. |
| * html/TimeRanges.h: |
| |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges. |
| (WebCore::MediaPlayer::buffered): Ditto. |
| (WebCore::MediaPlayer::seekable): Ditto. |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/MediaPlayerPrivate.h: |
| |
| * platform/graphics/MediaSourcePrivateClient.h: |
| |
| * platform/graphics/PlatformTimeRanges.cpp: Added. |
| * platform/graphics/PlatformTimeRanges.h: Added. |
| |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges. |
| (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log |
| FunctionType notifications. ASSERT when passed an unknown notification. |
| |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges): TimeRanges -> PlatformTimeRanges. |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto. |
| (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto. |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
| |
| * platform/graphics/ios/MediaPlayerPrivateIOS.h: |
| * platform/graphics/ios/MediaPlayerPrivateIOS.mm: |
| (WebCore::MediaPlayerPrivateIOS::buffered): Ditto. |
| |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::buffered): Ditto. |
| |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto. |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: |
| |
| * platform/graphics/wince/MediaPlayerPrivateWinCE.h: |
| |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: |
| (WebCore::MockMediaPlayerMediaSource::buffered): Ditto. |
| (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto. |
| * platform/mock/mediasource/MockMediaPlayerMediaSource.h: |
| |
| 2014-02-21 Enrica Casucci <enrica@apple.com> |
| |
| Support WebSelections in WK2 on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=127015 |
| <rdar://problem/15211964> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Adding some exports. |
| |
| * WebCore.exp.in: |
| |
| 2014-02-21 Benjamin Poulain <bpoulain@apple.com> |
| |
| 'mouseenter' mouse compat event not fired when listeners for touch events |
| https://bugs.webkit.org/show_bug.cgi?id=128534 |
| |
| Reviewed by Andreas Kling. |
| |
| The code dispatching mouseenter and mouseleave events was making the assumption that |
| only mouse move would cause Document::updateHoverActiveState. |
| |
| This is not true in some cases. In the case of this bug, the first touch handler sets |
| the hover state. From there, the code handling enter/leave is in an inconsistent state. |
| |
| This patch changes the delivery of mouse enter/leave events to be done through the regular |
| processing of mouse events. The update is done with the mouseover and mouseout events. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::prepareMouseEvent): |
| (WebCore::Document::updateHoverActiveState): |
| * dom/Document.h: |
| * page/EventHandler.cpp: |
| (WebCore::nearestCommonHoverAncestor): |
| (WebCore::hierarchyHasCapturingEventListeners): |
| (WebCore::EventHandler::updateMouseEventTargetNode): |
| |
| 2014-02-21 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Crash reloading page with position: fixed content |
| https://bugs.webkit.org/show_bug.cgi?id=129119 |
| <rdar://problem/16127090> |
| |
| Reviewed by Brent Fulgham. |
| |
| Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html |
| |
| * page/scrolling/ScrollingTree.cpp: |
| (WebCore::ScrollingTree::removeDestroyedNodes): |
| Check the node's ID against the latched node's ID before the node is |
| removed from the tree. |
| |
| 2014-02-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Revert r164486, causing a number of test failures. |
| |
| Unreviewed rollout. |
| |
| 2014-02-21 David Kilzer <ddkilzer@apple.com> |
| |
| StyleResolver::loadPendingImage() should take a reference to StylePendingImage |
| <http://webkit.org/b/129021> |
| |
| Reviewed by Brent Fulgham. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::loadPendingImage): Change pendingImage |
| parameter to a reference. |
| (WebCore::StyleResolver::loadPendingShapeImage): Update to use |
| references. |
| (WebCore::StyleResolver::loadPendingImages): Ditto. |
| * css/StyleResolver.h: |
| (WebCore::StyleResolver::loadPendingImage): Change pendingImage |
| parameter to a reference. |
| |
| 2014-02-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JSContext inspection should report exceptions in the console |
| https://bugs.webkit.org/show_bug.cgi?id=128776 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Include some clean up of ConsoleMessage and ScriptCallStack construction. |
| |
| Covered by existing tests. |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::reportException): |
| Simplify code now that createStackTraceFromException handles it. |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| ScriptCallStack can give us the first non-native callframe. |
| |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::buildInitiatorObject): |
| * inspector/PageDebuggerAgent.cpp: |
| (WebCore::PageDebuggerAgent::breakpointActionLog): |
| * inspector/TimelineRecordFactory.cpp: |
| (WebCore::TimelineRecordFactory::createGenericRecord): |
| * page/Console.cpp: |
| (WebCore::internalAddMessage): |
| (WebCore::Console::profile): |
| (WebCore::Console::profileEnd): |
| (WebCore::Console::timeEnd): |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::gatherSecurityPolicyViolationEventData): |
| (WebCore::ContentSecurityPolicy::reportViolation): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::postMessage): |
| |
| 2014-02-21 Martin Hodovan <mhodovan@inf.u-szeged.hu> |
| |
| Fixing the !ENABLE(SVG_FONTS) build |
| https://bugs.webkit.org/show_bug.cgi?id=129150 |
| |
| Reviewed by Anders Carlsson. |
| |
| No new tests required. |
| |
| * svg/SVGAltGlyphElement.cpp: |
| * svg/SVGAltGlyphElement.h: |
| * svg/svgtags.in: |
| |
| 2014-02-21 Radu Stavila <stavila@adobe.com> |
| |
| [CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible |
| https://bugs.webkit.org/show_bug.cgi?id=128599 |
| |
| Reviewed by Andrei Bucur. |
| |
| Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible. |
| Move named flow specific methods from RenderRegion to RenderNamedFlowFragment. |
| |
| No new tests required. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::renderNamedFlowFragment): |
| (WebCore::Element::webkitRegionOverset): |
| (WebCore::Element::webkitGetRegionFlowRanges): |
| * dom/Element.h: |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::InspectorCSSAgent::buildArrayForRegions): |
| * rendering/PaintInfo.h: |
| (WebCore::PaintInfo::PaintInfo): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::paint): |
| (WebCore::RenderBlock::paintObject): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::paintBoxDecorations): |
| (WebCore::RenderBox::pushContentsClip): |
| (WebCore::RenderBox::layoutOverflowRectForPropagation): |
| * rendering/RenderBox.h: |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintMaskForTextFillBox): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| * rendering/RenderBoxModelObject.h: |
| * rendering/RenderInline.h: |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paint): |
| (WebCore::RenderLayer::paintLayer): |
| (WebCore::RenderLayer::paintLayerContents): |
| (WebCore::RenderLayer::paintLayerByApplyingTransform): |
| (WebCore::RenderLayer::updatePaintingInfoForFragments): |
| (WebCore::RenderLayer::paintTransformedLayerIntoFragments): |
| (WebCore::RenderLayer::paintBackgroundForFragments): |
| (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): |
| (WebCore::RenderLayer::paintOutlineForFragments): |
| (WebCore::RenderLayer::paintMaskForFragments): |
| (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderLayer.h: |
| * rendering/RenderNamedFlowFragment.cpp: |
| (WebCore::RenderNamedFlowFragment::getRanges): |
| * rendering/RenderNamedFlowFragment.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::updateWritingMode): |
| (WebCore::compareRenderNamedFlowFragments): |
| (WebCore::addFragmentToList): |
| (WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread): |
| (WebCore::RenderNamedFlowThread::addRegionToThread): |
| (WebCore::RenderNamedFlowThread::removeRegionFromThread): |
| (WebCore::RenderNamedFlowThread::computeOversetStateForRegions): |
| (WebCore::RenderNamedFlowThread::checkInvalidRegions): |
| (WebCore::RenderNamedFlowThread::getRanges): |
| (WebCore::RenderNamedFlowThread::checkRegionsWithStyling): |
| (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle): |
| * rendering/RenderNamedFlowThread.h: |
| * rendering/RenderRegion.cpp: |
| * rendering/RenderRegion.h: |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::shouldPaint): |
| * rendering/RenderReplica.cpp: |
| (WebCore::RenderReplica::paint): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::paint): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::paintReplaced): |
| |
| 2014-02-21 Andrei Bucur <abucur@adobe.com> |
| |
| [CSS Regions] Regions don't paint correctly in new-multicol elements |
| https://bugs.webkit.org/show_bug.cgi?id=120711 |
| |
| Reviewed by David Hyatt. |
| |
| This patch implements basic support for regions inside multi-column elements. |
| Currently, the painting and hit-testing logic of CSS Regions is not aware of |
| enclosing multi-column elements. The change is integrated at a layer level by |
| making use of the pre-computed layer fragments during the painting and hit-testing |
| phases for regions. |
| |
| There are limitations such that self painting layers found inside the named flow |
| thread layer will not be correctly processed because they don't go through the |
| layer fragment collection step. This is not trivial to implement because the enclosing |
| pagination layer provided by the multi-column element is not visibile from inside |
| the named flow thread layer and they reside in different coordinate systems. |
| |
| A side effect of this patch is the fix of regions incorrect clipping in certain |
| cases (when both a region and its container clip their overflow, the region's |
| content is visible outside the container). |
| |
| Tests: fast/regions/region-clipping.html |
| fast/regions/regions-in-multicol-bt.html |
| fast/regions/regions-in-multicol-hover-overflow.html |
| fast/regions/regions-in-multicol-hover.html |
| fast/regions/regions-in-multicol-lr.html |
| fast/regions/regions-in-multicol-rl.html |
| fast/regions/regions-in-multicol.html |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerContents): |
| (WebCore::RenderLayer::hitTestLayer): |
| (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments): |
| (WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments): |
| * rendering/RenderLayer.h: |
| |
| 2014-02-21 Mihai Tica <mitica@adobe.com> |
| |
| [CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode |
| https://bugs.webkit.org/show_bug.cgi?id=128805 |
| |
| Reviewed by Dean Jackson. |
| |
| The spec defines the mix-blend-mode property. This means that the |
| prefixed version should be -webkit-mix-blend-mode, instead of |
| -webkit-blend-mode. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::ComputedStyleExtractor::propertyValue): |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSPropertyNames.in: |
| * css/DeprecatedStyleBuilder.cpp: |
| (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): |
| |
| 2014-02-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Bindings tests rebaseline after r164473. |
| |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: |
| (-[DOMTestObj mutablePoint]): |
| (-[DOMTestObj immutablePoint]): |
| (-[DOMTestObj mutablePointFunction]): |
| (-[DOMTestObj immutablePointFunction]): |
| * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: |
| (-[DOMTestTypedefs immutablePointFunction]): |
| |
| 2014-02-21 Tim Horton <timothy_horton@apple.com> |
| |
| Remove removed symbol from exports list. |
| |
| * WebCore.exp.in: |
| |
| 2014-02-20 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| Rename EXT_draw_buffers to WEBGL_draw_buffers |
| https://bugs.webkit.org/show_bug.cgi?id=128894 |
| |
| Reviewed by Dean Jackson. |
| |
| I noticed the related spec has changed. Accordingly chromium also changed its implementation |
| to meet the spec. So here I'd like to apply it to webkit as well. |
| |
| Merged from Blink (patch by bajones): |
| https://src.chromium.org/viewvc/blink?revision=152065&view=revision |
| |
| Test: fast/canvas/webgl/webgl-draw-buffers.html |
| |
| * CMakeLists.txt: |
| * DerivedSources.cpp: |
| * DerivedSources.make: |
| * GNUmakefile.list.am: |
| * WebCore.vcxproj/WebCore.vcxproj: |
| * WebCore.vcxproj/WebCore.vcxproj.filters: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * html/canvas/EXTDrawBuffers.idl: Removed. |
| * html/canvas/WebGLDrawBuffers.cpp: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.cpp. |
| (WebCore::WebGLDrawBuffers::WebGLDrawBuffers): |
| (WebCore::WebGLDrawBuffers::~WebGLDrawBuffers): |
| (WebCore::WebGLDrawBuffers::getName): |
| (WebCore::WebGLDrawBuffers::create): |
| (WebCore::WebGLDrawBuffers::supported): |
| (WebCore::WebGLDrawBuffers::drawBuffersWEBGL): |
| (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements): |
| * html/canvas/WebGLDrawBuffers.h: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.h. |
| * html/canvas/WebGLDrawBuffers.idl: Added. |
| * html/canvas/WebGLExtension.h: |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::drawBuffersIfNecessary): |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getParameter): |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): |
| (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): |
| (WebCore::WebGLRenderingContext::supportsDrawBuffers): |
| * html/canvas/WebGLRenderingContext.h: |
| |
| 2014-02-20 Ryosuke Niwa <rniwa@webkit.org> |
| |
| m_ancestorDisabledState should never be unknown |
| https://bugs.webkit.org/show_bug.cgi?id=129084 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In order to resolve the bug 129035, a text form control elements needs to synchronously change |
| its inner text element's editability by setting or unsetting contenteditable content attribute. |
| Before this patch, we could not do this because editability of a text form control dependent on |
| its disabled-ness which was only computed lazily via updateAncestorDisabledState(). |
| |
| This patch makes HTMLFieldSetElement and HTMLFormControlElement update this state synchronously. |
| To avoid O(k) DOM traversal, where k is the depth of the tree, in insertedInto and removedFrom of |
| HTMLFormControlElement on most pages, a new document-level flag, m_disabledFieldsetElementsCount, |
| has been added to indicate whether the document contains any disabled fieldset or not. |
| |
| Also renamed the misleadingly named disabledAttributeChanged to disabledStateChanged, and added |
| new function of the same name (disabledAttributeChanged) to be used by HTMLFieldSetElement |
| for keeping the document-level flag up-to-date upon disabled attribute changes. |
| |
| Tests: fast/forms/fieldset/fieldset-disabled-2.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::Document): Initializes newly added m_disabledFieldsetElementsCount. |
| (WebCore::Document::~Document): Assert that we've done house keeping right. |
| * dom/Document.h: |
| (WebCore::Document::hasDisabledFieldsetElement): Added. |
| (WebCore::Document::addDisabledFieldsetElement): Added. |
| (WebCore::Document::removeDisabledFieldsetElement): Added. |
| |
| * html/HTMLFieldSetElement.cpp: |
| (WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): Removes itself from the owner document. |
| |
| (WebCore::updateFromControlElementsAncestorDisabledStateUnder): Added. Updates startNode and |
| its descendants' ancestor disabled flag. We don't update controls under another disabled |
| fieldset element since disabled-ness of those controls aren't affected by startNode. |
| |
| (WebCore::HTMLFieldSetElement::disabledAttributeChanged): Call addDisabledFieldsetElement and |
| removeDisabledFieldsetElement to update the owner document's flag. |
| |
| (WebCore::HTMLFieldSetElement::disabledStateChanged): Renamed from disabledAttributeChanged. |
| Enable form control elements under the first legend element and disable or enable other |
| descendent form controls in accordance with the presence of disabled content attribute. |
| |
| (WebCore::HTMLFieldSetElement::childrenChanged): Update disabled-ness of form controls under |
| child legend elements because controls aren't disabled in the first legend element, and adding |
| or removing child elements may have changed the first legend element. |
| |
| (WebCore::HTMLFieldSetElement::didMoveToNewDocument): Update the flag on the owner document. |
| * html/HTMLFieldSetElement.h: |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::HTMLFormControlElement::HTMLFormControlElement): |
| (WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor): Returns boolean instead of |
| updating m_ancestorDisabledState internally. Also renamed from updateAncestorDisabledState. |
| |
| (WebCore::HTMLFormControlElement::setAncestorDisabled): Replaced ancestorDisabledStateWasChanged. |
| This function updates m_disabledByAncestorFieldset and calls disabledAttributeChanged as needed. |
| |
| (WebCore::HTMLFormControlElement::disabledAttributeChanged): Added. Calls disabledStateChanged. |
| (WebCore::HTMLFormControlElement::disabledStateChanged): Renamed from disabledAttributeChanged. |
| |
| (WebCore::HTMLFormControlElement::insertedInto): Update m_disabledByAncestorFieldset if there is |
| a possibility (i.e. the document contains any disabled fieldset element) that this form control |
| is inserted under a disabled fieldset element. |
| |
| (WebCore::HTMLFormControlElement::removedFrom): If this form control element is not disabled by |
| a fieldset ancestor, then there is nothing to do. If it is, then check to see if the element is |
| still disabled now that we've lost some ancestors. |
| |
| (WebCore::HTMLFormControlElement::isDisabledFormControl): No longer updates m_ancestorDisabledState |
| lazily since m_disabledByAncestorFieldset is never ambiguous now. |
| |
| * html/HTMLFormControlElement.h: |
| (WebCore::HTMLFormControlElement::disabledByAncestorFieldset): Added. |
| |
| 2014-02-20 Zalan Bujtas <zalan@apple.com> |
| |
| Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible. |
| https://bugs.webkit.org/show_bug.cgi?id=129137 |
| |
| Reviewed by Simon Fraser. |
| |
| No change in behavior. |
| |
| * editing/DeleteButtonController.cpp: |
| (WebCore::DeleteButtonController::createDeletionUI): |
| * page/Page.cpp: |
| * page/Page.h: |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::GraphicsContext::GraphicsContext): |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::platformInit): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| (WebCore::RenderBoxModelObject::drawBoxSideFromPath): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::imageSizeForError): |
| (WebCore::RenderImage::paintReplaced): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::drawPlatformResizerImage): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::drawLineForBoxSide): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintProgressBar): |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem): |
| |
| 2014-02-20 David Kilzer <ddkilzer@apple.com> |
| |
| Stop generating Objective-C bindings for the SVG DOM |
| <http://webkit.org/b/129107> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Bug 114076 stopped compiling the Objective-C bindings for the |
| SVG DOM, but we continued to generate the header and source |
| files after that landed in r147822. This patch also stops |
| generating the unused header and source files. |
| |
| * DerivedSources.make: |
| - Split BINDING_IDLS into NON_SVG_BINDING_IDLS and |
| SVG_BINDING_IDLS so that they may operated on separately. |
| - Define BINDING_IDLS again as the full list of IDL files. |
| - Rename DOM_CLASSES to JS_DOM_CLASSES so that JavaScript |
| bindings are still generated for all IDL files. |
| - Add OBJC_DOM_CLASSES so that Objective-C bindings are only |
| generated for non-SVG IDL files. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GetBaseClass): |
| (GetPropertyAttributes): |
| (AddIncludesForType): |
| (GenerateHeader): |
| (GenerateImplementation): |
| - Remove support for SVG classes. |
| |
| 2014-02-20 Simon Fraser <simon.fraser@apple.com> |
| |
| RenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles |
| https://bugs.webkit.org/show_bug.cgi?id=129075 |
| |
| Reviewed by Dean Jackson. |
| |
| updateShapeOutsideInfoAfterStyleChange() showed up on profiles in content |
| with no shapes. Avoid calling this if no style has shapeOutside(). |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::styleDidChange): |
| |
| 2014-02-20 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| Remove unused chromium stuff in Extensions3D |
| https://bugs.webkit.org/show_bug.cgi?id=129086 |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove GL_CHROMIUM_copy_texture and GL_CHROMIUM_flipy interfaces since they are used nowhere. |
| |
| No new tests since no functionality changed. |
| |
| * platform/graphics/Extensions3D.h: |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| * platform/graphics/opengl/Extensions3DOpenGL.h: |
| * platform/graphics/opengl/Extensions3DOpenGLES.cpp: |
| * platform/graphics/opengl/Extensions3DOpenGLES.h: |
| |
| 2014-02-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] Assert / crash trying to draw empty checked input |
| https://bugs.webkit.org/show_bug.cgi?id=129138 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: fast/forms/checkbox-empty-size.html |
| |
| * rendering/RenderThemeIOS.mm: |
| (WebCore::shortened): |
| Avoid a divide by 0, but checking for the condition upfront. |
| |
| 2014-02-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| Start fixing the view states driven by the WKScrollView |
| https://bugs.webkit.org/show_bug.cgi?id=129140 |
| |
| Reviewed by Tim Horton and Simon Fraser. |
| |
| * platform/graphics/ca/mac/TileController.mm: |
| (WebCore::TileController::scaledExposedRect): |
| That comment was more confusing than helping. FrameView-relative coordinates should not need |
| scaling. |
| |
| 2014-02-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Start to use std::unique_ptr for DragImageLoader |
| https://bugs.webkit.org/show_bug.cgi?id=129078 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| As a step to use std::unique_ptr, this patch replace uses of OwnPtr and PassOwnPtr |
| in the DragImageLoader class with std::unique_ptr. Besides DragImageLoader is set to |
| non-copyable class. |
| |
| * dom/Clipboard.cpp: |
| (WebCore::Clipboard::setDragImage): |
| * dom/Clipboard.h: |
| |
| 2014-02-20 Brady Eidson <beidson@apple.com> |
| |
| Move the image controls setting to Settings.in |
| https://bugs.webkit.org/show_bug.cgi?id=129126 |
| |
| Reviewed by Tim Horton. |
| |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| * page/Settings.in: |
| |
| 2014-02-20 Brady Eidson <beidson@apple.com> |
| |
| Add very basic image control rendering |
| https://bugs.webkit.org/show_bug.cgi?id=129080 |
| |
| Reviewed by Tim Horton. |
| |
| Test: fast/images/image-controls-basic.html |
| |
| This patch is groundwork that adds a very basic image control that can render on top of images. |
| |
| * dom/Node.h: |
| (WebCore::Node:: isImageControlsRootElement): Returns false, unless you are an ImageControls object. |
| * html/HTMLAttributeNames.in: |
| |
| Teach HTMLImageElement how to understand an experimental attribute to install controls, |
| how to actually build the DOM to attach to the shadow root, how to tear that DOM down, |
| and how to make sure that Renderers are created for that DOM: |
| * html/HTMLImageElement.cpp: |
| (WebCore::HTMLImageElement::HTMLImageElement): |
| (WebCore::HTMLImageElement::parseAttribute): |
| (WebCore::HTMLImageElement::didAttachRenderers): |
| (WebCore::HTMLImageElement::updateImageControls): |
| (WebCore::HTMLImageElement::createImageControls): |
| (WebCore::HTMLImageElement::destroyImageControls): |
| (WebCore::HTMLImageElement::hasImageControls): |
| (WebCore::HTMLImageElement::childShouldCreateRenderer): |
| * html/HTMLImageElement.h: |
| (WebCore::HTMLImageElement::hasShadowControls): For RenderImage to query when it is constructed. |
| |
| Add a generic, platform independent ImageControls root element that does nothing: |
| * html/shadow/ImageControlsRootElement.cpp: Added. |
| (WebCore::ImageControlsRootElement::maybeCreate): |
| (WebCore::ImageControlsRootElement::ImageControlsRootElement): |
| (WebCore::ImageControlsRootElement::~ImageControlsRootElement): |
| * html/shadow/ImageControlsRootElement.h: Added. |
| |
| Add a Mac-specific ImageControls root element that renders a 20x20 red box (for now): |
| * html/shadow/mac/ImageControlsRootElementMac.cpp: Added. |
| (WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac): |
| (WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac): |
| (WebCore::ImageControlsRootElement::maybeCreate): |
| (WebCore::ImageControlsRootElementMac::maybeCreate): |
| * html/shadow/mac/ImageControlsRootElementMac.h: Added. |
| |
| Since much of the RenderMedia::layout() method is now required for RenderImage as well, |
| move the logic to RenderImage. The extra work is controlled by a bool flag that will always |
| be set for RenderMedias but will only be set for certain RenderImages: |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::RenderImage): |
| (WebCore::RenderImage::canHaveChildren): |
| (WebCore::RenderImage::layout): |
| (WebCore::RenderImage::layoutShadowControls): |
| * rendering/RenderImage.h: |
| (WebCore::RenderImage::setHasShadowControls): |
| (WebCore::RenderImage::shadowControlsNeedCustomLayoutMetrics): |
| |
| * rendering/RenderMedia.cpp: |
| (WebCore::RenderMedia::RenderMedia): |
| * rendering/RenderMedia.h: |
| (WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics): |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| == Rolled over to ChangeLog-2014-02-20 == |