⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 13, 2014:

11:58 PM Changeset in webkit [174671] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK][CMake] Non-ninja build is broken since r174422
https://bugs.webkit.org/show_bug.cgi?id=137656

Reviewed by Philippe Normand.

Make WebKit2-forwarding-headers depend only on static,
non-generated sources.

  • CMakeLists.txt:
  • PlatformGTK.cmake:
9:43 PM Changeset in webkit [174670] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Paint Flashing button does not match page state after reload
https://bugs.webkit.org/show_bug.cgi?id=137680

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):
Make paint flashing a frontend setting. Enable it when the inspector
is opened if it was previously enabled.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
(WebInspector.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
Have the paint flashing button always match the global setting.

6:31 PM Changeset in webkit [174669] by benjamin@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add test coverage for the more complex cases of :not()
https://bugs.webkit.org/show_bug.cgi?id=137671

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-13
Reviewed by Andreas Kling.

Those tests cover the future CSS JIT support of :not(). I'll to the implementation
split over multiple patch, better put the tests first.

  • fast/selectors/not-backtracking-expected.txt: Added.
  • fast/selectors/not-backtracking.html: Added.
  • fast/selectors/not-boundaries-expected.txt: Added.
  • fast/selectors/not-boundaries.html: Added.
6:30 PM Changeset in webkit [174668] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Source/WebCore:
Web Inspector: Remove unused stale Page protocol methods
https://bugs.webkit.org/show_bug.cgi?id=137678

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::canShowDebugBorders): Deleted.
(WebCore::InspectorClient::setShowDebugBorders): Deleted.
(WebCore::InspectorClient::canShowFPSCounter): Deleted.
(WebCore::InspectorClient::setShowFPSCounter): Deleted.
(WebCore::InspectorClient::canContinuouslyPaint): Deleted.
(WebCore::InspectorClient::setContinuousPaintingEnabled): Deleted.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::canShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::setShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::canShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::setShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::canContinuouslyPaint): Deleted.
(WebCore::InspectorPageAgent::setContinuousPaintingEnabled): Deleted.

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Source/WebInspectorUI:
Web Inspector: Improve appearance of alpha color swatches
https://bugs.webkit.org/show_bug.cgi?id=137627

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/InspectorWeb-iOS-8.0.json:
6:16 PM Changeset in webkit [174667] by jer.noble@apple.com
  • 2 edits in trunk/Tools

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Andy Estes.

Follow up patch; bail out of the test early (without failing) if the platform does not support MSE.

  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::isMSEEnabledCallback):
(TestWebKitAPI::TEST):

5:22 PM Changeset in webkit [174666] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

[iOS] Refactor AirPlay monitoring code
https://bugs.webkit.org/show_bug.cgi?id=137645
<rdar://problem/18444817>

Reviewed by Jer Noble.

Refactor AirPlay route change monitoring code:
+ Have MediaSessionManager register/unregister for route changes depending on the state of

all sessions so it does the right thing when there is more than one media element.

+ Make HTMLMediaElement unregister with MediaSession as soon as the media player is cleared

because there can be no wireless playback without a player.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement): Call mediaSession->setHasPlaybackTargetAvailabilityListeners

when there are target availability changed listeners.

(WebCore::HTMLMediaElement::clearMediaPlayer): Ditto.
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): New, media session client method.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession): Initialize m_hasPlaybackTargetAvailabilityListeners.
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Remember whether or not

the client has a target availability listener and tell the media session manager to reconfigure
itself instead of telling it to start or stop listening for route changes so it does the
right thing when there is more than one media element.

  • html/HTMLMediaSession.h:

(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Return true when the client

has a target availability listener, false otherwise.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::wirelessRoutesAvailableDidChange): Inform the client that routes have changed.

  • platform/audio/MediaSession.h:

(WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::MediaSessionClient::wirelessRoutesAvailableDidChange):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Implement it.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManager::sessions):
(WebCore::MediaSessionManager::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes): Deleted.

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Start or stop monitoring

for route changes depending on client state.

(WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes): Deleted.

4:46 PM Changeset in webkit [174665] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG
https://bugs.webkit.org/show_bug.cgi?id=137677

Reviewed by Simon Fraser.

The return value of createImageSourceOptions() was leaked in
ImageSourceCG.cpp. It was returning a CFDictionaryRef created using
CFDictionaryCreate(). Therefore, the return value should have been
released but wasn't.

This patch makes createImageSourceOptions() return a
RetainPtr<CFDictionaryRef> to make sure the CFDictionaryRef properly
gets released after use.

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::createImageSourceOptions):
(WebCore::imageSourceOptions):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):

4:10 PM Changeset in webkit [174664] by Brent Fulgham
  • 15 edits
    4 adds in trunk

[Win] Implement a page load profiling tool
https://bugs.webkit.org/show_bug.cgi?id=137673

Reviewed by Dean Jackson.

Source/WebKit/win:

Add a new predicate (isMainFrame) to the IWebFrame interface so
that we can make decisions about a frames position in the page
load hierarchy in client programs.

  • Interfaces/IWebFrame.idl: Added new isMainFrame

predicate to interface definition.

  • WebFrame.cpp:

(WebFrame::isMainFrame): Added.

  • WebFrame.h:

Tools:

Add a tool to capture and summarize page load statistics.

  • WinLauncher/Common.cpp:

(parseCommandLine): Move from WinMain.cpp so that it can
be shared with internal tools.

  • WinLauncher/PageLoadTestClient.cpp: Added.

(PageLoadTestClient::PageLoadTestClient):
(PageLoadTestClient::pageLoadStartedAtTime):
(PageLoadTestClient::didStartProvisionalLoad):
(PageLoadTestClient::didCommitLoad):
(PageLoadTestClient::didFirstLayoutForMainFrame):
(PageLoadTestClient::didHandleOnLoadEvents):
(PageLoadTestClient::didFinishLoad):
(PageLoadTestClient::didFailLoad):
(PageLoadTestClient::didInitiateResourceLoad):
(PageLoadTestClient::didEndResourceLoad):
(PageLoadTestClient::pageLoadEndedAtTime):
(PageLoadTestClient::endPageLoad):
(PageLoadTestClient::clearPageLoadState):
(PageLoadTestClient::shouldConsiderPageLoadEnded):
(PageLoadTestClient::maybeEndPageLoadSoon):
(PageLoadTestClient::setPageURL):
(PageLoadTestClient::dumpRunStatistics):

  • WinLauncher/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::createWebViewWithRequest): Handle
nullptr URL properly.

  • WinLauncher/ResourceLoadDelegate.cpp: Added.

(ResourceLoadDelegate::QueryInterface):
(ResourceLoadDelegate::AddRef):
(ResourceLoadDelegate::Release):
(ResourceLoadDelegate::identifierForInitialRequest):
(ResourceLoadDelegate::willSendRequest):
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
(ResourceLoadDelegate::didCancelAuthenticationChallenge):
(ResourceLoadDelegate::didReceiveResponse):
(ResourceLoadDelegate::didReceiveContentLength):
(ResourceLoadDelegate::didFinishLoadingFromDataSource):
(ResourceLoadDelegate::didFailLoadingWithError):
(ResourceLoadDelegate::plugInFailedWithError):

  • WinLauncher/ResourceLoadDelegate.h: Added.

(ResourceLoadDelegate::ResourceLoadDelegate):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::WinLauncher): Accept argument to indicate we want to capture
page loading statistics.
(WinLauncher::setFrameLoadDelegatePrivate): Get rid of stub implementation
and set private load delegate state.
(WinLauncher::setResourceLoadDelegate): Replace stub with a full implementation
that sets the view's resource load delegate.
(WinLauncher::loadURL): If no URL is passed, load the test document.

  • WinLauncher/WinLauncher.h:

(WinLauncher::pageLoadTestClient):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj: Updated for new source files.
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters: Ditto.
  • WinLauncher/WinLauncherWebHost.cpp:

(WinLauncherWebHost::updateAddressBar): Hook into page load statistics routine.
(WinLauncherWebHost::loadURL): Moved 'SendMessage' call to its own method so that
it could be used from other source files.
(WinLauncherWebHost::didFinishLoadForFrame): Added overload to capture statistics.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Ditto.
(WinLauncherWebHost::didFailLoadWithError): Ditto.
(WinLauncherWebHost::didHandleOnloadEventsForFrame): Ditto.
(WinLauncherWebHost::didFirstLayoutInFrame): Ditto.
(WinLauncherWebHost::didFinishDocumentLoadForFrame): Ditto.
(WinLauncherWebHost::didFirstVisuallyNonEmptyLayoutInFrame): Ditto.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Deleted.

  • WinLauncher/WinLauncherWebHost.h:
  • WinLauncher/WinMain.cpp:

(wWinMain): Create and use new delegates for gathering page load data.

  • WinLauncher/stdafx.h: Need to add <wtf/Platform> include for various macros used in build.
3:46 PM Changeset in webkit [174663] by Yusuke Suzuki
  • 7 edits
    2 adds in trunk

CSS JIT: Implement :visited pseudo class
https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

Source/WebCore:

This patch implements CSS JIT for :visited. And it makes :not(:link) JIT-ed.
Following the design discussed at the other bug[1], implemented :visited JIT
without tracking VisitedMatchEnabled state.

In this patch, we change the semantics of :visited / :link
inside functional pseudo classes for further CSS Selector Level 4 extensions.

Edge cases are tested by the existing tests.
:not(:link)

fast/history/link-inside-not.html

:not(:visited)

fast/history/visited-inside-not.html

:-webkit-any(:link)

fast/history/link-inside-any.html

:-webkit-any(:visited)

fast/history/visited-inside-any.html

[1]: https://bugs.webkit.org/show_bug.cgi?id=135639

Test: fast/history/link-inside-not-inside-any.html

To cover the :-webkit-any(:not(:link)), added new tests.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRightmostTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement):

LayoutTests:

To cover the :-webkit-any(:not(:link)), added new tests.

  • TestExpectations:
  • fast/history/link-inside-not-expected.txt:
  • fast/history/link-inside-not-inside-any-expected.txt: Added.
  • fast/history/link-inside-not-inside-any.html: Added.
  • fast/history/link-inside-not.html:
3:44 PM Changeset in webkit [174662] by Simon Fraser
  • 5 edits in trunk

Improve the test image diffs page
https://bugs.webkit.org/show_bug.cgi?id=137674

Reviewed by Alexey Proskuryakov.

Tools:

Don't treat the input file as a format string, otherwise we have to escape special
characters. Just do a couple of replaces.

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.write_image_diff_files):

LayoutTests:

New version of the image diff page that has the diff images in-place, and allows
for control of the image toggling.

  • fast/harness/image-diff-template-expected.txt:
  • fast/harness/image-diff-template.html:
3:35 PM Changeset in webkit [174661] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use modern loops in RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=137670

Reviewed by Simon Fraser.

Use modern range for-loops in RenderLayerCompositor.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::resetTrackedRepaintRectsRecursive):
(WebCore::RenderLayerCompositor::layerHas3DContent):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::registerAllScrollingLayers):
(WebCore::RenderLayerCompositor::unregisterAllScrollingLayers):

3:30 PM Changeset in webkit [174660] by Antti Koivisto
  • 2 edits in trunk/Source/WTF

Add StringCapture helper for thread-safe lambda capture
https://bugs.webkit.org/show_bug.cgi?id=137664

Reviewed by Anders Carlsson.

There is currently no clean way to capture a String in a thread-safe manner. This will now work:

StringCapture stringCapture(string);
auto lambdaThatRunsInAnotherThread = [stringCapture] { String string = stringCapture.string(); ... }

This type won't be necessary with C++14 initialized lambda capture: [string = string.isolatedCopy()].

  • wtf/text/WTFString.h:

(WTF::StringCapture::StringCapture): Create isolated copy in copy-constructor.
(WTF::StringCapture::string):

2:58 PM Changeset in webkit [174659] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r174555.

  • public/include/manifest.php:

(ManifestGenerator::generate): Assign an empty array to $repositories_with_commit when there are no commits.

  • tests/admin-regenerate-manifest.js: Fixed the test case.
2:33 PM Changeset in webkit [174658] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop unnecessary overlapMap null checks in computeCompositingRequirements()
https://bugs.webkit.org/show_bug.cgi?id=137668

Reviewed by Andreas Kling.

Drop unnecessary overlapMap null checks in computeCompositingRequirements().
The function is never called with a null overlapMap so we can make the
argument a reference and drop all the null checks.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):

  • rendering/RenderLayerCompositor.h:
1:59 PM Changeset in webkit [174657] by Chris Dumez
  • 19 edits in trunk/Source

Use is<>() / downcast<>() for PlatformCALayer subclasses
https://bugs.webkit.org/show_bug.cgi?id=137661

Reviewed by Simon Fraser.

Source/WebCore:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

No new tests, no behavior change.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateReplicatedLayers):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::fetchCloneLayers): Deleted.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::TileCoverageMap):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::ensureTilesForRect):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::clone):
(PlatformCALayerMac::appendSublayer):
(PlatformCALayerMac::insertSublayer):
(PlatformCALayerMac::replaceSublayer):
(PlatformCALayerMac::adoptSublayers):
(PlatformCALayerMac::copyFiltersFrom):

  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:

(WebCore::CACFLayerTreeHost::setRootChildLayer):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::clone):
(PlatformCALayerWin::rootLayer):
(PlatformCALayerWin::appendSublayer):
(PlatformCALayerWin::insertSublayer):
(PlatformCALayerWin::replaceSublayer):
(PlatformCALayerWin::adoptSublayers):
(PlatformCALayerWin::copyFiltersFrom):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::insertSublayer):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:

Source/WebKit/win:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::enterFullscreen):

Source/WebKit2:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::setSublayers):
(WebKit::PlatformCALayerRemote::appendSublayer):
(WebKit::PlatformCALayerRemote::insertSublayer):
(WebKit::PlatformCALayerRemote::replaceSublayer):
(WebKit::PlatformCALayerRemote::adoptSublayers):
(WebKit::PlatformCALayerRemote::setMask):
(WebKit::PlatformCALayerRemote::copyFiltersFrom):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction):

11:50 AM Changeset in webkit [174656] by clopez@igalia.com
  • 2 edits in trunk/Tools

[XvfbDriver] Regular expression used to match running X servers fails on Fedora 21.
https://bugs.webkit.org/show_bug.cgi?id=137659

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._next_free_display): Update the regular expression to also match Xorg.bin

11:46 AM Changeset in webkit [174655] by ap@apple.com
  • 3 edits in trunk/Tools

Add more detailed wait time information to EWS metrics
https://bugs.webkit.org/show_bug.cgi?id=137649

Reviewed by Daniel Bates.

Added average and worst time (we used to only have median), and also a percentage
of patches that took a non-trivial time to start. Non-trivial is defined as 3 minutes.

There is always some wait due to the polling nature of the queues, which is well understood
and doesn't need to be measured. What needs to be measured is whether there is enough
bot machines to process patches as soon as they are submitted.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer.prototype._analyzeBubblePerformance):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js:

(MetricsBubbleView.prototype._update):

11:28 AM Changeset in webkit [174654] by Chris Dumez
  • 17 edits in trunk/Source

Use is<>() / downcast<>() for Filter / FilterOperation subclasses
https://bugs.webkit.org/show_bug.cgi?id=137644

Reviewed by Darin Adler.

Use is<>() / downcast<>() for Filter / FilterOperation subclasses.

Source/WebCore:

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):

  • platform/graphics/filters/Filter.h:
  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::DefaultFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::blend):

  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::outsets):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):

  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:

(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):

  • svg/graphics/filters/SVGFilter.h:

(isType):

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FilterOperation>::encode):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

11:21 AM Changeset in webkit [174653] by Chris Dumez
  • 26 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for Table render objects
https://bugs.webkit.org/show_bug.cgi?id=137641

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for table-related render objects and clean
up the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::removeNode):

  • editing/TextIterator.cpp:

(WebCore::shouldEmitTabBeforeNode):
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::parseAttribute):
(WebCore::HTMLTableCellElement::cellAbove):

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::parseAttribute):

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::shouldScaleColumns):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::addChild):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::firstColumn):
(WebCore::RenderTable::recalcSections):
(WebCore::RenderTable::sectionAbove):
(WebCore::RenderTable::sectionBelow):
(WebCore::RenderTable::bottomSection):

  • rendering/RenderTable.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::table):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::nextCell):
(WebCore::RenderTableCell::previousCell):
(WebCore::RenderTableRow::firstCell):
(WebCore::RenderTableRow::lastCell):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::table):
(WebCore::RenderTableCol::enclosingColumnGroup):
(WebCore::RenderTableCol::nextColumn):

  • rendering/RenderTableCol.h:

Make updateFromElement() public to allow the callers to use tighter
typing and devitualize the call as the class is final.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::addChild):

  • rendering/RenderTableRow.h:

(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):
(WebCore::RenderTableRow::nextRow):
(WebCore::RenderTableRow::previousRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::paintCell):

  • rendering/RenderTableSection.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::writeTextRun):
(WebCore::writeSimpleLine):

10:56 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:49 AM Changeset in webkit [174652] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Darin Adler.

Source/WebCore:

When a new AVAsset is returned out of the AVStreamDataParser, notify the HTMLMediaElement that
characteristics of the player may have changed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::characteristicsChanged):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Added.
  • TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Added.
10:44 AM Changeset in webkit [174651] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Stop listening for wireless playback target availability when the default controls are hidden.
https://bugs.webkit.org/show_bug.cgi?id=137633

Reviewed by Dean Jackson.

In order to minimize the excess bandwidth and power consumption required for actively listening
for wireless playback target availablity, unregister for those notifications while the controls
are hidden due to playback, or when the element's document is hidden.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createBase): Register for document visiblity change notfications.
(ControllerIOS.prototype.setControlsType): Call updateShouldListenForPlaybackTargetAvailabilityEvent()

instead of setShouldListenForPlaybackTargetAvailabilityEvent()

(ControllerIOS.prototype.hideControls): Ditto.
(ControllerIOS.prototype.showControls): Ditto.
(ControllerIOS.prototype.updateStatusDisplay): Ditto.
(ControllerIOS.prototype.handleVisibilityChange): Ditto.
(ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent): Added. Only listen

for target availability when the video has no errors, is not in the initial "big play button"
controls state, and when the controls are not hidden.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Explicitly set the discoveryMode to "disabled"

rather than waiting for the autoreleasepool to destroy our routing controller.

10:33 AM Changeset in webkit [174650] by Simon Fraser
  • 6 edits in trunk

iOS DRT snapshots are limited to the page visible area
https://bugs.webkit.org/show_bug.cgi?id=137650

Reviewed by Daniel Bates.
Source/WebCore:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setEntireWindowVisibleForTesting:]):
(-[WAKWindow _visibleRectRespectingMasksToBounds:]):

Tools:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(dumpWebViewAsPixelsAndCompareWithExpected): Drive-by RetainPtr fix.

  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithLayer:]): Call setEntireWindowVisibleForTesting:YES
for the DRT window.

9:08 AM Changeset in webkit [174649] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Gardening.

  • platform/mac/TestExpectations:
7:33 AM Changeset in webkit [174648] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions] Make RenderNamedFlowFragment::computeStyleInRegion const
https://bugs.webkit.org/show_bug.cgi?id=137604

Reviewed by Andrei Bucur.

The method computeStyleInRegion should be const as it does not modify
the state of the RenderNamedFlowFragment instance. Make pointers to
the region used for styling const along the way. No new tests as no
change in functionality.

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):
(WebCore::ElementRuleCollector::setRegionForStyling):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleForElement):

  • css/StyleResolver.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::computeStyleInRegion):

  • rendering/RenderNamedFlowFragment.h:
5:16 AM Changeset in webkit [174647] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.1

WebKitGTK+ 2.6.1

4:59 AM Changeset in webkit [174646] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.1.
4:56 AM Changeset in webkit [174645] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Fix make distcheck.

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:

Tools:

  • TestWebKitAPI/PlatformGTK.cmake:
2:19 AM Changeset in webkit [174644] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174639 - [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

1:44 AM Changeset in webkit [174643] by svillar@igalia.com
  • 7 edits in trunk

[CSS Grid Layout] Pass the valid set of tracks to grow beyond growth limits
https://bugs.webkit.org/show_bug.cgi?id=137253

Reviewed by Darin Adler.

Source/WebCore:

Section 10.4 of the specs describe how to resolve content based
track sizing functions. Among others it describes the "distribute
extra space" algorithm. The 3rd bullet of that algorithm specifies
how to distribute (and also the target tracks) the extra space
once all the tracks have reached their growth limits.

Our implementation had 2 problems. First we were not passing a
valid subset of tracks (instead we were always using all of
them). Now we use a function that filters the right tracks to be
the target of the extra space distribution depending on whether
we're computing the min track function or the max track function.

Secondly the algorithm that was distributing the extra space was
not using that list of passed in tracks (it iterated over all of
them). From now on it will use the set of tracks selected using
the filter function described above.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:

Oct 12, 2014:

11:46 PM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
11:39 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:48 PM Changeset in webkit [174642] by Simon Fraser
  • 2 edits in trunk/Tools

Page not fully rendered in iOS DRT snapshots
https://bugs.webkit.org/show_bug.cgi?id=137638

Reviewed by Tim Horton.

In iOS DumpRenderTree, we need to wait for a cycle of the WebThread runloop
to ensure that the page has laid out and is rendered by the time we take
the snapshot.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DumpRenderTree _webThreadEventLoopHasRun]): Moved.
(-[DumpRenderTree _webThreadInvoked]): Moved.
(-[DumpRenderTree _waitForWebThreadThenDump]):
(dump): Use a performSelectorOnMainThread:withObject:waitUntilDone:NO to wait
for a cycle of the WebThrewd runloop. We can't just call _waitForWebThread because
that blocks on a delegate callback, and we can't dispatch_async because _waitForWebThread
relies on dispatch_async too, and the inner block won't complete until the outer block
has completed.
(dumpTestResults): Move the guts of dump() here.
(runTest): Whitespace.

11:48 AM Changeset in webkit [174641] by ap@apple.com
  • 4 edits in trunk

Adding svn:ignore so that .pyc files don't show up as new.

Source/JavaScriptCore:

  • inspector/scripts/codegen: Added property svn:ignore.

Tools:

  • Scripts/webkitpy/xcode: Added property svn:ignore.
5:55 AM Changeset in webkit [174640] by mkwst@chromium.org
  • 4 edits
    10 adds in trunk

Referrer Policy: Update <meta name="referrer"> values to match the spec
https://bugs.webkit.org/show_bug.cgi?id=137635

Reviewed by Jochen Eisinger.

Source/WebCore:

The Referrer Policy specification ([Working Draft][WD], [Editor's
draft[ED]) defines different keywords than we originally
implemented. We should support them in the interests of clarity and
interoperability with other browsers implementing the specification.

[WD]: http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
[ED]: http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta

This patch is a port of Blink's https://codereview.chromium.org/607433002/

Tests: http/tests/security/referrer-policy-conflicting-policies.html

http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-https-no-referrer.html
http/tests/security/referrer-policy-https-unsafe-url.html
http/tests/security/referrer-policy-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-no-referrer.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):

LayoutTests:

  • http/tests/security/referrer-policy-https-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-https-no-referrer.html: Added.
  • http/tests/security/referrer-policy-https-unsafe-url-expected.txt: Added.
  • http/tests/security/referrer-policy-https-unsafe-url.html: Added.
  • http/tests/security/referrer-policy-invalid-expected.txt: Update the error message with new keywords.
  • http/tests/security/referrer-policy-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-no-referrer.html: Added.
2:32 AM Changeset in webkit [174639] by svillar@igalia.com
  • 3 edits in trunk/Source/WebKit2

[SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

2:18 AM Changeset in webkit [174638] by Carlos Garcia Campos
  • 18 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174632 - [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=137485

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use GThreadSafeMainLoopSource for GStreamer sources, since they
can be used from different threads. Also update GMutexLocker
usages, since it's now a template.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

We made GMainLoopSource thread safe, but in most of the cases we
know the sources are used by a single thread, which has an impact
in the performance (mutex, GCancellable, etc.). The new class
GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
the new virtual methods and calling the parent for the common code.
GMutexLocker now supports recursive mutexes, it's a template that
can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
recursive mutex using the new GMutexLocker API.

  • wtf/PlatformEfl.cmake: Add new file to compilation.
  • wtf/PlatformGTK.cmake: Ditto.
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::cancelWithoutLocking): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/gobject/GThreadSafeMainLoopSource.h: Added.

Tools:

Update GMainLoopSource tests. Most of the tests are now run twice,
first with a GMainLoopSource and then with a
GThreadSafeMainLoopSource, since both should have the same
behaviour. The threading test uses GThreadSafeMainLoopSource and
the delete on destroy test uses GMainLoopSource. The tests
themselves haven't changed, since there's no change in behaviour.

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

1:35 AM Changeset in webkit [174637] by commit-queue@webkit.org
  • 9 edits
    9 adds in trunk

Support activation behavior of link element
https://bugs.webkit.org/show_bug.cgi?id=137597

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-10-12
Reviewed by Benjamin Poulain.

Source/WebCore:

Support activation behavior of link elements as defined in [1],
i.e. to follow the hyperlink created by the link element when it is fully active.

[1] https://html.spec.whatwg.org/multipage/semantics.html#the-link-element

Tests: fast/dom/html-link-element-activation-behavior-on-element-click.html

fast/dom/html-link-element-activation-behavior-on-mouse-click.html
fast/dom/html-link-element-activation-behavior-url-is-null.html

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::triggerActivationBehavior):

  • dom/MouseEvent.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::isLinkClick): Deleted.

  • html/HTMLAnchorElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::defaultEventHandler):
(WebCore::HTMLLinkElement::handleClick):

  • html/HTMLLinkElement.h:
  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

LayoutTests:

Add test cases for link element activation behavior.

  • fast/dom/html-link-element-activation-behavior-on-element-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-element-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-element-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-mouse-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-target.html: Added.
12:15 AM Changeset in webkit [174636] by ryuan.choi@gmail.com
  • 12 edits
    11 adds
    1 delete in trunk

[EFL] Introduce EWebKit_Extension
https://bugs.webkit.org/show_bug.cgi?id=134921

Reviewed by Gyuyoung Kim.

Source/WebKit2:

EWebKit2 does not provide the functionality to extend WebProcess.
Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs,
application developers can not make bundle object without touching WK APIs
which ewebkit2 does not expose.

This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess.

  • PlatformEfl.cmake:

Added files for the EWebKit_Extension and install them properly.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(bundlePathForExtension):
(EwkContext::create):
(EwkContext::getInjectedBundleInitializationUserData):
(EwkContext::setMessageFromInjectedBundleCallback):
(ewk_context_new_with_extensions_path):
Deleted because ewebkit2 does not have a way to make injected bundle.
Instead, Ewk_Extension will cover the same functionalities.
(ewk_context_new_with_injected_bundle_path): Deleted.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:

(EwkContext::extensionsPath):

  • UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample):
(EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp.
  • UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path.

(TEST_F):

  • WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added.

(EwkExtension::append):
(EwkExtension::remove):
(ewk_extension_client_add):
(ewk_extension_client_del):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added.

(EwkExtension::EwkExtension):
(EwkExtension::~EwkExtension):

  • WebProcess/efl/ExtensionManagerEfl.cpp: Added.

(WebKit::ExtensionManagerEfl::shared):
(WebKit::ExtensionManagerEfl::ExtensionManagerEfl):
(WebKit::ExtensionManagerEfl::initialize):

  • WebProcess/efl/ExtensionManagerEfl.h: Added.
  • WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added.

(WKBundleInitialize):

  • efl/ewebkit2-extension.pc.in: Added.

Tools:

  • MiniBrowser/efl/main.c: Added x option to test extension path.

(window_create):
(elm_main):

  • Scripts/webkitpy/common/config/watchlist:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFLWebKit2PublicAPI.

  • Scripts/webkitpy/style/checker.py:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFL exceptions.

Note: See TracTimeline for information about the timeline view.